Joy Machine (2016-2018)
I started Joy Machine to make games the way I seem them their best: dynamic, interactive, evolutionary, surprising, and challenging players just enough. Joy Machine’s first game was Steel Hunters. Despite being put on an indefinite hold in September 2018, the work I did on Steel Hunters over the two years of its development (alongside contracting) was both the best and most challenging work I’ve done. It required me to bring everything I’ve done over my career together, create a holistic design, and execute on that design. I do not advise, however, past Trent’s idea to “start a game studio with no money”.
I have characterized the work on Steel Hunters as: getting six years of experience over the course of two years. Everything in Steel Hunters — aside from third-party textures and meshes — was done by me. Summary: I learned a lot from research and way more from putting it to practice in content, art pipeline, gameplay code, complex physics and collision detection/response (custom player controller), engine/rendering work, and so on. The most fundamental code-side work — both project-side and Unreal Engine 4-side — was lovingly branded the “Joy Engine”.
The design for the game, however, was what always kept me going. I have this thing for Systems Design (best summarized in an article I wrote for VentureBeat), and this was where I got to combine my years of experience with all those years spent writing about and researching game and systems design in ways I never was able to put into practice. The result was a focus customization for players to define their own style of play within a game world driven by flexible game systems all built to respond to each other in physically-consistent ways; my go-to example being the grass that catches on fire, spreads due to heavy winds, eventually reaching an ammunition crate and the fireworks created by the ignition of piles after piles of bullets. Long-story short: the gameplay goals led to the design and development of what I [very unoriginally] called the “Simulation Core”: a project-independent backend to facilitate the creation of robust, flexible systems in a game/simulation. Basically: architecture to encourage systems-based project development at a design and implementation level to help ensure consistent behavior with common workflow for designers (in and out of game). Anyway. That was a neat thing.