Hotline Miami Collection

Possibly the most unique I’ve worked on. The Hotline Miami Collection was basically an old version of GameMaker which is converted into C++ and built with our in-house multi-platform engine/middleware. The goal was simple: port the game to Xbox One, provide an updated release on desktop platforms with support for Metal and Vulkan, and finally provide the publisher with an SDK which they can use to update the game.

My role was very much to be a jack-of-all-trades, completely reworking the input & controller management system in our engine to accommodate the needs of the Xbox One, dealing with suspend/resume crashes, fixing the broken save system, ensuring achievements unlock correctly, etc.

Very quickly I noticed inefficiencies in our project generation and build pipelines. Internally we had our own C# “build tool” which worked with XML-like scripts. I took charge of extending the tool and reworking our in-house scripts to accelerate development. This resulted in me implementing support for Visual Studio Linux project generation, even to the point where we were able to use Windows Subsystem for Linux to compile the Linux version on our Windows development machines before remotely deploying and debugging the game on real Linux machines. I was very happy with what I accomplished for our Linux functionality because at the time the Linux support in Visual Studio had very little documentation and was not very functional out of the box.

Finally I ended up being the primary maintainer of the Mac version of the game. I’d never developed on/for Mac before but it was simple enough to pick up. The experience I gained from this also allowed me to upgrade the build system so that we could produce Mac builds automatically with the Windows, Linux and Xbox One builds by remotely compiling the application on our in-house Mac Mini on demand.

  • The game was so difficult that initially the QA team had a tough time testing many levels. However, as the project progressed they would time how long it took them to complete the game in a single pass, celebrating whenever they achieved a new record!

  • Windows, Mac, Linux, Xbox One

  • 5 months

  • 3-5 people

  • DevOps, Console Development, Engine Programming, Tools Programming

  • C++, C#, GameMaker Language, Powershell, Windows Subsystem for Linux, Visual Studio, Xcode, Git LFS, Bitbucket, Jira

Previous
Previous

Civilization VI (Android)

Next
Next

PixARK (Nintendo Switch, Playstation 4, Xbox One)