FHH Desktop
The origins of Fantasy Hip Hop came from a web-based variation on the Fantasy Sports model. We wanted to expand on that idea, bringing it to live in a 3D desktop MMORPG, where the player runs a record label in an explicitly virtual, simulated world, much like The Matrix. It was an ambitious goal, especially for a small team! We managed the scope in a number of ways: focusing on creating a vertical slice first, aiming to release content in chapters, and keeping a modest low-poly art style to target as many devices as possible.
We worked in a game-oriented language called BlitzMax, a variation of BASIC. It offered some interesting benefits: it was cross-platform, open-source, and easy to learn. But also had its shortcomings, the most startling of which we learned rather late in the PROJECT. When running in multi-threaded mode, the garbage collector didn't work properly and leaked memory! We started switching over to two single-threaded processes linked by inter-process communication. We ended up pivoting to making mobile games in Unity shortly thereafter for other reasons, but I learned a lot the dangers of choosing the wrong technology stack. Nowadays, when I'm evaluating third-party technologies, I push past the fancy features or what I'm comfortable with and dig for the risks. Technology that's less widely used is less likely to have ample documentation, users who have already solved the problems I'm bound to run into, or the resources available to fix their internal issues and maintain the library for as long as I need it. Mitigating these risks is crucially important, even if it means sacrificing some nice-to-have features.
In building out this world, I got to work on a wide variety of features. After implementing player movement, I added in a mountable hoverboard and configuring the collision system to allow it to ride on surfaces the player alone couldn’t. I also worked on some simple AI and pathfinding to make enemies follow and attack the player once they were within range. I set up dialogue conversation trees to provide the story driving the world. The vertical slice we created with these mechanics earned us another round of funding and acceptance into a video game startup accelerator.
KimYe / Roman's Rage
Two of the other games we made, KimYe and Roman’s Rage, were essentially light-hearted dating-sim-style games played through a text-messaging-esque UI. For these, I got to play game designer a bit, drafting spreadsheets of item costs and stats to try to dial in the length of gameplay.