Orbit Swarm devlog #4: Sound and art, written in code
Synthesized sound effects, music composed as code, sprites that build our store art, and a test that plays the whole game.
Orbit Swarm is a small project, so we looked for ways to keep the audio and branding consistent without a large team.
Sound effects
Sound effects are synthesized, not recorded. A Python script describes each sound, like the laser, the explosion, the dash or the alarm, as a short recipe of waveforms, pitch slides and noise, in the spirit of classic retro sound generators. Changing a sound means editing a few numbers and running the script again, and every sound stays in the same retro family.
Music
Music works the same way. Four loops (menu, battle, boss and shop) are composed as note patterns in code and rendered with filters and reverb. The tricky part was making them loop seamlessly: the reverb tail at the end of each track is wrapped back onto its beginning, so there's no click or gap when the loop restarts.
Art
The ships, enemies and weapons are pixel art created with PixelLab and then curated for the game. The game draws at 640×360 and scales up to your screen, so the pixels stay sharp on any display.
Branding
The game icon, logo, splash screen, Android adaptive icon and even our store graphics are generated from the game's own sprites. The emblem is the Vanguard ship inside a ring of orbiting weapons: the game's core idea in one picture. When a sprite changes, one command rebuilds every image.
Testing
An automated test plays through the game: it opens every menu, flies through waves, fights every Guardian, opens crates and shops, and saves screenshots along the way. A full pass takes about three minutes, and looking through the pictures is the fastest way to spot a broken screen.