Skip to content

JesTheii/JesDeepDarkSector

Repository files navigation

JesDeepDarkSector ♂

A Starsector combat damage sound mod that brings the "Aniki" to the Sector.

Add ship hull damage (Pain) and destruction (Death) sounds with iconic Aniki scream.

♂ Key Features

  • 60+ Aniki Scream Samples: A wide variety of pain and death screams, processed with high-pass, low-pass, and distortion filters to simulate cockpit radio transmissions.
  • Dynamic Mob Voice Logic: Concurrent sound counts scale with ship size.
    • Fighters & Frigates: 1 to 4 concurrent voices.
    • Destroyers, Cruisers & Capitals: 4 to 8 concurrent voices for a truly chaotic chorus.
  • 3D Positional Audio: All samples are converted to Mono to support Starsector's 3D sound engine. You will hear the "Aniki" from the exact direction where the ship exploded.
  • Hot-Edit: Adjust the volume multiplier in settings.json\"aniki_sound_volume_multiplier": 0.30 and see the changes in-game without restarting Starsector.
  • Optimized Performance: Uses silent streams and memory-efficient listeners to ensure zero impact on your combat FPS.

♂ Installation

  1. Download the latest release from the Releases page.
  2. Extract the ZIP file into your Starsector mods folder.
  3. Ensure the final folder structure looks like this:
    Starsector/
    └── mods/
        └── JesDeepDarkSector/
            ├── data/
            ├── sounds/
            ├── jars/
            └── mod_info.json
    
  4. Enable JesDeepDarkSector in the Starsector launcher.

♂ Configuration

You can fine-tune the experience by editing data/config/settings.json:

{
    "aniki_sound_volume_multiplier": 1.0
}
  • Value Range: 0.0 (0% Mute) to 2.0 (200% Double Volume).
  • Reloading: Save the file while the game is running; the mod will update the volume automatically during combat.

♂ For Developers

This mod is written in Java using the Starsector API.

  • Source Code: Available in the src/ directory.
  • Build System: Uses the standard Starsector modding setup.
  • Key Classes:
    • AnikiDamageListener: Handles damage detection and concurrent sound logic.
    • AnikiSoundsModPlugin: Handles silent hot-reloading and asset loading.

♂ Modding Tools & Audio Pipeline

To maintain "Aniki Radio Transmissions," this mod includes a custom-built audio pipeline. You can use these tools to add your own sounds without touching a single line of JSON.

1. The Audio Transformer (convert.to.ogg.radio.effect.bat)

This tool applies the "Magic Sauce" to any raw audio file. It simulates a high-resonance equalizer boost and a Fruity Limiter squash.

  • What it does:
    • Radio Filter: Cuts mud (<300Hz) and hiss (>4000Hz).
    • The Crunch: Applies a massive +30dB boost at 1200Hz for that iconic "peaked" radio feel.
    • Safe Ceiling: Limits the output to -3dB to prevent actual speaker damage while maintaining perceived loudness.
    • Mono Conversion: Automatically mixes stereo to Mono, which is mandatory for Starsector's 3D positional audio.
  • How to use:
    1. Ensure ffmpeg is installed in your System PATH.
    2. Drag and Drop your .wav or .mp3 files directly onto the .bat file.
    3. A new _radio.ogg file will be generated in the same folder.

2. The JSON Automator (run_update_sounds.py.bat)

Writing sounds.json manually is for real Aniki. This Python script handles the bureaucracy for you.

  • What it does:
    • Scans the sounds/ directory.(where you have to put your own sound in)
    • Automatically generates data/config/sounds.json (The Game Registry).
    • Automatically generates data/aniki_sound_list.json (The Mod's Internal List).
    • Assigns unique IDs based on folder names (e.g., aniki_death_01).
  • How to use:
    1. Place your processed .ogg files into the appropriate category folders inside /sounds (e.g., /sounds/aniki_death/).
    2. Double-click run_update_sounds.py.bat.
    3. The script will refresh all JSON files instantly.
    • Requires Python 3.x installed.

♂ Pro-Tip

If you want to add a new sound:

  1. Drop it on the converter(convert.to.ogg.radio.effect.bat).
  2. Move the resulting .ogg to a subfolder in /sounds.
  3. Run the update script(run_update_sounds.py.bat).
  4. Profit. The Chief Copy-Paste Officer (Jes) approves of this workflow. ♂

♂ Credits

  • Google Gemini 3 Flash Preview: For doing the actual "thinking," architecting the logic, solving the Starsector security sandbox nightmares, and providing the mathematical precision for the Deep Dark ♂.
  • Jes: Ctrl+C and Ctrl+V.
  • The Gachimuchi Ancestors: For the timeless vocal samples. ♂
  • Starsector Devs: For making the sector deep enough to be dark♂.

May your journey in the Sector be truly Deep and Dark.