There was a big upcoming assignment for school. I came up with the idea of mixing Half-Life 2 and Hotline Miami in my sleep, and I had to choose between redoing Super Hotline from the ground up or making Half-Line Miami. I chose the latter, because I wanted to do something new, and it had to be physics-driven.

Uniting Hotline Miami and Half-Life 2

Half-Line Miami

It’s tough making a mashup. You alter peoples favourite games, but they might not like it. I’ve heard a lot of people criticize the game for being too little of Hotline Miami. You must however analyze the game on all its properties, not just the visuals. You will definitely “feel” the Hotline Miami in there.

There’s really no secret, you just have to do it by intuition and experiment. Don’t be afraid to scrap a day’s worth of work if it just doesn’t feel nice.

Creating the Engine

Half-Line Miami Gameplay

It’s not my own engine, it’s an engine that was made by the teachers of my school, although quite a few modifications have been made by me. It’s a purely C++ engine, one that draws bitmap and has a Box2D wrapper. There’s a lot of plug-and-play engines out there, but I needed more control. Going with a pure C++ engine without any restrictions was a good idea. Not only did it allow me more control over the way the game feels, but it was a good learning experience too. I made a lot of mistakes in the process, and learned a lot.

Figuring Out the Gameplay

The game is not very serious. It wasn’t supposed to be a complete makeover of Half-Life 2 in 2D, there’d be no point in that. The gravity gun was fun to use, and guns would be too overpowered.

It brings with it some level design complications. You need to give the player enough room to pick up and shoot objects, but if you make the playing field too big, the player becomes disoriented and will be shot by enemies off screen. You can use these limitations to your advantage sometimes too, or bend the rules a little.

Creating Levels

Half-Line Miami Editor

Making a map requires some technical/artistic skill. It’s not like Hotline Miami’s upcoming editor. You make the ground bitmap in software like GIMP or photoshop, and you create the hitbox in a vector graphics editor, like Inkscape. You use the inbuilt editor to place gameplay items, like enemies, physics objects, and pickups. A big plus is that you can change any bitmap into a physics object. You can read all about it once the game is done, there will be a few tutorials.

Feedback from Hotline Miami Team and Valve

I haven’t heard much actually. Hotline Miami’s twitter account tweeted at me, but didn’t say much. Valve are known to be careful with their words. Maybe when the game releases.

Building the Community

There’s a forum/subreddit in place where people can upload their custom maps if they want. It’s reddit.com/r/HLM. You can just download a map and place it in the Levels folder, no problem.

Half-Line Miami Maps

I can’t release the source files of the game, because of the engine, but the game is mostly loaded from files. Someone could go in a replace all the images used in the game, like the menu text, sprites, the fonts, etc, and recreate a Half-Life 2 episode, or a whole different game! I would love to see that happen. Steam might happen, but I can’t quite say at this point. First I’ll release the game on Itch.io. For free, of course.

Half-Line Miami Sprites