No description
  • GDScript 96.3%
  • GDShader 2%
  • Shell 0.8%
  • Python 0.6%
  • HTML 0.3%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Loïc Wisniewski 940540d60c #146: shots, deaths and collapses are heard
Three events get a sound: a shot leaving a gun, a vessel dying, a structure
coming down.

The sounds are SYNTHESISED rather than downloaded - audio/make_sfx.py
generates all three from scratch, and is committed alongside them. The
ticket asked for free sources and the good ones are in its comments
(Kenney's CC0 packs, OpenGameArt's CC0 sets, Freesound filtered to CC0),
but a generated sound has no licence to track, no attribution to keep, and
no binary in the repository whose provenance nobody can check a year from
now. It also makes the sounds DATA: too sharp a shot is a number in that
file and a re-run, not a hunt through a library. Dropping in a pack file
later means replacing a .wav and nothing else.

A voice POOL, not a player, because these overlap constantly - a fleet
firing is several shots inside one shot's length. Twelve voices, and when
they are all busy the one furthest through its own sound is recycled, which
is the one with the least left to lose.

Parented to the tree root, for the reason that matters: every one of these
sounds is started by something that is being freed on the same frame. A
dying ship cannot own the sound of its own death.

Levels are per sound rather than shared - a shot fires constantly and a
death happens once, so equal volumes are not proportionate ones - and shots
get a little pitch spread so a stream of them does not flatten into one
machine-gun note. The deaths get none: a wobbling explosion sounds broken
rather than varied.

The test goes at the failures a play-through would hide for weeks: firing
three times the pool size must leave exactly the pool's worth sounding and
no leaked voices, and the ship-death case is checked from a node that really
has been freed on that frame.
2026-08-29 13:05:47 +02:00
android Initial commit: SpaceshipTest, a top-down space RTS in Godot 4.7.1 2026-08-10 18:41:58 +02:00
audio #146: shots, deaths and collapses are heard 2026-08-29 13:05:47 +02:00
buildings #146: shots, deaths and collapses are heard 2026-08-29 13:05:47 +02:00
controllers #147: one resource per line, and the price back under its button 2026-08-29 13:05:46 +02:00
core #145, #144, #143: a quest that could not be finished, and two boxes that overhung 2026-08-29 12:51:09 +02:00
enemies #114: the enemy bomber flies, and its bombs arrive 2026-08-23 21:58:56 +02:00
fonts Skill tree, node-based building animation, bigger UI, and a 19x faster test suite 2026-08-11 15:00:41 +02:00
logistics Add the .uid files Godot generated for the newest scripts 2026-08-24 12:10:41 +02:00
planets #129 (#131, #132, #133): a quest chain, and a World Ship out of reach 2026-08-28 14:41:03 +02:00
PlanetSetups #84: move 215 root files into a folder hierarchy 2026-08-21 19:44:14 +02:00
resources #84: move 215 root files into a folder hierarchy 2026-08-21 19:44:14 +02:00
shaders Add the .uid files for the newest tests 2026-08-24 20:50:51 +02:00
shots Remove the one-way ore API superseded by the transfer menu 2026-08-12 13:07:52 +02:00
surface #140: the objective moves behind a button next to the map's 2026-08-28 15:37:13 +02:00
tests #146: shots, deaths and collapses are heard 2026-08-29 13:05:47 +02:00
ui #147: one resource per line, and the price back under its button 2026-08-29 13:05:46 +02:00
vessels #146: shots, deaths and collapses are heard 2026-08-29 13:05:47 +02:00
vfx #130, #135: a vessel's death takes a moment, and leaves an interceptor 2026-08-28 15:05:02 +02:00
world #140: the objective moves behind a button next to the map's 2026-08-28 15:37:13 +02:00
.gitignore Add a WSL path to the test runner 2026-08-22 14:40:44 +02:00
export_presets.cfg Fix the web build: a wasm trap on integer % 0, and buttons that never fired 2026-08-19 01:08:09 +02:00
icon.svg Initial commit: SpaceshipTest, a top-down space RTS in Godot 4.7.1 2026-08-10 18:41:58 +02:00
icon.svg.import Initial commit: SpaceshipTest, a top-down space RTS in Godot 4.7.1 2026-08-10 18:41:58 +02:00
project.godot #84: move 215 root files into a folder hierarchy 2026-08-21 19:44:14 +02:00
ui_theme.tres Skill tree, node-based building animation, bigger UI, and a 19x faster test suite 2026-08-11 15:00:41 +02:00
web_shell.html Fix the web build: a wasm trap on integer % 0, and buttons that never fired 2026-08-19 01:08:09 +02:00