Devlog

Orbit Swarm devlog #4: Sound and art, written in code

Devlog Orbit Swarm 1 min read

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.

Keep reading

More from the devlog

Release Orbit Swarm

Orbit Swarm is out now on Google Play

Our pixel-art space roguelite has landed on Android. Pick a ship, chart the Star Map and fight through 30 waves to the Overlord.

1 min read
Devlog Mutaspire

Mutaspire devlog #3: The Rot, and why the doors open at 70%

A roguelite needs pressure, but pressure that kills you feels cheap. How the Rot keeps you moving without being unfair — and the "kill everything" rule that playtesting talked us out of.

2 min read
Devlog YARIK: Idle Boss Hunt

YARIK devlog #3: Into the Rift

The main game plays itself. The Rift doesn't. Thirty seconds, one character, no auto-attacks — how we turned a too-easy side mode into the most active part of YARIK.

4 min read