I spent Christmas and New Years Eve somewhere in the German country side in my sister’s house. I brought music equipment, writing and painting utensils ready to lock myself in and only get out, once some art was created.
Then I got sick for 5 days and almost missed Christmas. As I recovered, I woke up one night with a game idea and started scribbling notes, which turned into this prototype.
I recently rewatched The Legend Of Korra and played Ron Gilbert’s Death by Scrolling. The game is beautiful pixelart and such a simple, but engaging premise. It has this “anyone could build this, but building it first not anyone can”. It got me thinking of a 2D roguelike based around elemental powers and how the Avatar premise lends itself so well to some interesting gameplay and progression. Having the premise for a (somewhat) open world would be fun, but also way exceeded the scope I could realistically tackle. So as a tech-demo I started looking at the Pro Bending matches from The Legend of Korra instead.

I have known DragonRuby for at least 5 years. A game toolkit written in Ruby, that comes with a ton of sample games showing core mechanics. Any previous attempt of getting something started always failed, as DragonRuby has an unfamiliar dialect of Ruby and is written almost functional-programming like – think Elixir or Go. I couldn’t fit my thinking into the given data structures. I was lacking a scaffold that matched my brainwires.
Draco enters the room. Build upon DragonRuby, it is a slim Entity-Component-System, that provided exactly the structure I needed. Small in footprint, easy to get started, but easy scalable. An Entity is build from reusable Components, who store data and state. Systems are called with every frame tick and perform actions on entities being composed from the selected components. It lends itself really well for Ruby. So I got started.

I spend the last 6 weeks learning more about Entity-Component-Systems, disassembled Draco and wrote extensions and Pull-Requests. Got my prototype started and refactored it twice. My to-do list grew to 100+ items, half of which are done at this point. I spent hours collecting assets from OpenGameArt and Itch.io. I had to get out my old text books from university and learn about traditional game AI (steering behaviors, path finding & decision making). I broke my brain on seemingly simple mechanics and spent way too much time on unimportant stuff like transitions, menus, and ever more elaborate mock-up art.

So am I done? Not yet. The first build slowly gets to a shareable version soon.
‘ll write about the game mechanics another day.
