Building A Music Engine
Building A Music Engine

Building A Music Engine

Tags
Owner
Justin Nearing
🎶
This is part of a ongoing series called Building A Music EngineBuilding A Music Engine

It’s basically me documenting the process of smashing my head against the keyboard as I build a game prototype called LETSGOLETSGO

It’s gotten long enough to break into several sections:

🎵Designing Sound

How do you even begin to start turning Music into a Game?

🔢Programming Music: Constant Data

All music is math. Computers are good at math.

💥Unreal C++

This chapter is brought to you by PAIN

⌨️Actually Writing Some Damn Code

Now that my code editor works with Unreal, I can actually implement a thing.

Pointers Are Hard

First contact with un-trivial programming task in Unreal.

Days of pain grokking Unreal’s pointer system, mostly due to poor official documentation.

Figured it out though, which is an un-trivial milestone in Unreal development.

🥁Building the Drum Machine

Building the actual thing ended up being really easy once I figured the hard part out.

🌋Quietly Going Insane With Tools & Automation

A burst of creativity setting up a workflow that’s aligns with my day job.

Was a lot of fun, despite eventually resulting in failure.

🧵Strings, Actually, Do Not Exist

For the first time had to use foundational computer science topics.

Reddit had no chill with this one.

Although it did get me unironically on PCJ so that’s kind of an accomplishment in its own right.

Suffering: The First Two Weeks Of Zig

Bah gawd progress was depressingly slow.

Ultimately threw in the towel because making the actual game seems more fun.

Got to compiling, working executable, but got fed up with it.

➡️Unreal Blueprints to C++

Coming back into LETSGOLETSGO codebase after several months.

Simple refactor that made a real improvement, done quickly.

Highly gratifying after the slow, research-heavy Zig project.

Designing The Core Gameplay LoopDesigning The Core Gameplay Loop

Use all the power of software design I can muster to turn this prototype into an actual game.

Refactor the Old Before Creating the NewRefactor the Old Before Creating the New

Before I can build an actual game, I need to refactor an existing feature. I do it with great aplomb.

🔨Building The Core Gameplay Loop

Actually build the thing? How about more refactoring and then build the thing.