I make free and open source tools for game developers and other creatives. Empowering other creative people feels like a perfect way to spend my own talents. In the past I've made several plugins for the Godot game engine and its editor. These days I'm making standalone apps.
Bosca Ceoil is a beloved music-making app, made with Flash before the platform's inevitable demise. With a blessing from Terry Cavanagh, the tool's original creator, I remade it from the ground up using a modern technological stack with a handful of usability improvements and fixes!
Porting a project from Flash and ActionScript to C++ and Godot was quite an undertaking. The especially laborious part was porting the underlying software synthesizer, SiON. But armed with a plan and a strong belief that everything that the Flash runtime can do, C++ can do as well, I managed to do it.
On the front end of the application, I carefully recreated the entire look and feel that the original Bosca had. And then I made a number of long-requested improvements, such as confirmations after changes and the action history (a.k.a. the undo system). The initial release of Bosca Ceoil Blue is fully compatible with the original, but the work continues with more improvements, including breaking ones, being on their way.
While working on Bosca Ceoil Blue I had to recreate the software synthesizer that the original Bosca used. The port of it became GDSiON, a software synthesizer library and an extension for the Godot engine. And what's the best way to showcase the synth, if not by making a sound effect/sample generator tool with it! Which is how Glasan FX was born.
My vision was to make an app that is fun to play around with, full of controls and widgets which are pretty and interactive. I went for an unusual approach, where every widget used shaders for its interactive elements. Various knobs, buttons, and rollers are all drawn by the GPU, they look good at every scale, and feature smooth and pleasant transitions.
My love for games extends beyond just playing them in my spare time. As a creator, an interactive medium provides such a unique opportunity to communicate with your audience, even if "your audience" is often just your friends and family! So from this font, the following projects have been born.
Released: July 2020
Tech: Godot
Platforms: Linux, macOS (unnotarized), Windows
After garnering a bit of experience using a game engine, I wanted to challenge myself into making a videogame in a short span of time. So in about 2 weeks I made Town Developer, a tower-defense puzzle game where you have to balance public and private transportation with their ecological impact and your own resources. It's simplistic, but it's short and free, with 14 somewhat balanced levels to beat.
I was pretty proud of myself, figuring out a way to make vehicles turn alongside their predefined path, using nothing but hand-drawn pixel sprites. My friends quickly figured out how to abuse the game's systems to win certain levels, so I embraced them to make harder levels. And if your friends had fun, then it's not a bad first outing!
Released: June 2022
Tech: Godot
Platforms: Linux, macOS (unnotarized), Windows
My second ever videogame, Voxurbis is a very casual score attack game focusing on the root of all evil in life: old politicians! As a player you represent the citizens of a little town that tries to grow and become better. Your only leverage is your voting power, as you decide who hold the office — one for each district, and the mayoral one as well. Young and promising city managers quickly turn into a stagnant and degenerative force, so be careful who you pick as your leaders!
I really wanted to make a game that would have trivial mechanics, so a casual player would be able to pick it up easily. Given the subject matter, I'm not entirely sure that I have succeeded with that. I have some thoughts on how the UI could've been improved too, upon some reflection.
Still, this game was interesting enough to get featured in the Godot showcase video of 2022, and I had fun creating the tiles and the politician aging system. And you should definitely check out my start-of-the-level animation!
I just enjoy programming in general. Even in my spare time I can come up with some problem or idea, which turns into a coding experiment or a passion project. This led me to work with languages I didn't need for my day job, to create mods for games for my friends, to learn about language parsers and IDE extensions, to build browser plugins for a niche but dedicated audience.
Here are some of the fun side projects from my past!