Audio Finally Came to Life in Biomancer šŸŽ§


For a while now, Biomancer has been able to load audio assets—music, sound effects, heavy files on disk—but that was about it. The engine knew what a sound was, it just couldn’t do anything with it yet.

This changed, I finally wired up the missing half of the pipeline: runtime audio control. Now Biomancer can actually play audio it loads, and not just play it, but control it the way a real game engine should.

1. Play / Pause / Resume / Stop

At the core, I added a small audio playback controller to the engine. For every sound or music resource, the engine can now:

  • Play: start the sound/music instance.

  • Pause: suspend playback without destroying the instance.

  • Resume: continue from where it paused.

  • Stop: fully stop and release / mark it for reuse.

This sounds basic, but it’s the foundation for everything else—menus, cutscenes, ambient tracks, SFX chains, you name it.

2. Runtime Parameters: Volume, Pan, Pitch

Once playback worked, I exposed a few realtime parameters:

  • Volume – for obvious reasons.

  • Pan – to push a sound left/right in the stereo field.

  • Pitch – super useful for UI variation, creature sounds, or just making the same SFX feel less repetitive.

Being able to tweak pitch at runtime is one of those tiny things that makes a game feel way more ā€œalive,ā€ especially when you randomize it slightly.

3. Bioscript Integration 🧬

Because Biomancer is meant to be procedural and live-editable, I hooked all of this into Bioscript.

That means scripts can now do things like:

  • start a sound when an event happens

  • pause all music when the game is paused

  • lower volume during dialogue

  • change pitch dynamically based on gameplay

(Exact function names might change, but the idea is: scripts now control audio instances directly.)

4. 3D Sounds 🌐

Flat audio is fine for UI, but for an engine that supports 3D scenes, we need spatial audio.

I added support for 3D sounds, meaning sounds can now be positioned in world space. The engine can then pan/attenuate them based on the listener’s position.

This unlocks:

  • footsteps that move across the scene

  • ambient emitters (machines, lava, portals)

  • spatial UI cues in 3D environments

Right now it’s the core functionality—position → pan/volume—but it’s the start of proper spatialization in Biomancer.

5. Pre-Load Stage for Heavy Assets

One problem with audio (especially music) is that large files can cause hitches if you load them right when the game needs them.

So I added a pre-load stage to Biomancer.

Before the game actually starts, the engine can now pre-load heavy resources—like music tracks or bigger SFX—so that during gameplay we only play them, we don’t load them.

It also fits nicely with Bioscript: you can define ā€œthings to have readyā€ before the scene boots.

Why this matters

Up to now, Biomancer had audio in theory (the loader existed), but not audio in practice (the game couldn’t actually play or control it). With this update:

  • audio is interactive,

  • scriptable,

  • spatial, and

  • performance-aware (preload).

That means the engine is a lot closer to being able to run a real game loop with proper moment-to-moment feedback.

Want more?

Since today's devlog is not graphical here is a offtopic screenshot of me making a temple-like structure in Biomancer:


Join our Discord Server and download all Builds of Biomancer!

Get Biomancer

Leave a comment

Log in with itch.io to leave a comment.