Hey there! It's been a while, hasn't it?
Back in March 2018 I released a mod called Hotline Miami: Redux. The idea of said mod was to improve upon things that I felt Hotline Miami 1 could have done better. As the only programmer working on the mod, I was extremely fatigued during the weeks leading to its release, I was 16 years old at the time and I spent my entire summer vacation (which here in South America starts in December and ends in March) sitting at the computer and ignoring everything (and everyone) else that was going on because I wanted to make this mod and I wanted to make it fast (as I felt I wouldn't have time to continue working on it when school started again).
Due to a number of factors (mainly just my own incompetence), despite being my most downloaded project according to Itch.io's stats, the mod wasn't received well by the community. I'll never forget the following day, I was extremely tired so I went to sleep as soon as the game finished uploading, when I woke up I pulled up my phone before getting out of bed and the very first thing I did was check the comments on the Itch page. I felt completely devastated. First comment I read was someone saying I had ruined Hotline Miami.
2 years later, I graduated from High School, moved to a different city, made new friends, a lot has changed since then, but I still haven't gotten over Redux's reception. It haunts me because Hotline Miami is a game that's very important to me, what Dennaton Games did inspired the course of my life and is what made me want to become a game developer. So I started taking notes of what I did wrong with Redux, as how I handled the project was a major embarrassment, and began working on the next update for it.
Why am I telling you this? What does this have to do with Bloodlife?
With me being the main programmer of both mods, there's a lot of overlap between what I do in Redux and what I do in Bloodlife.
One thing I immediately noticed was wrong with Redux was the inability to play through the whole game in one sitting due to memory leaks. This wasn't an issue exclusive to Redux as it was also present in Bloodlife
Why did this happen?
Hotline Miami was developed in Game Maker 7, which is the latest and most up to date release of the Game Maker engine.
if you live in 2007.
By the time Hotline Miami 1 came out, Game Maker 7 was already outdated by 5 years. This caused a lot of problems for Dennaton as the game would consistently and constantly crash on Windows 8 and it meant the game wouldn't be able to receive console ports. Those who played Hotline Miami back in 2012 might recall experiencing a plethora of errors (and quite possibly a disdain towards one "objDevolver")
Reasonably, Dennaton Games and Devolver Digital chose to port the game to a more stable engine in 2013 with the help of Abstraction Games, which is the version that by now most people are familiar with.
This 2013 re-release of the game (referred in the game's launcher as "Updated") runs on PhyreEngine, which is a proprietary engine developed by Sony Interactive Entertainment aimed towards game development for the PlayStation consoles, but does support other platforms such as PC.
Unfortunately, the community doesn't have access to this version of the game (and never will, unless Sony decides to give people access to it, which is not a very smart move as PhyreEngine is still supported and will be for a while) and therefore can not be modified, so any mods for Hotline Miami have to be made using the buggy Game Maker 7 release of it.
By now, Game Maker 7 is 13 years old. This is what YouTube looked like 13 years ago:
Nostalgic? Sure (If anyone has a CSS theme for Stylus that makes YouTube look like this pls hit me up). Usable by today's standards? Adobe Flash doesn't even exist anymore.
So of course, when making a Hotline Miami mod it is borderline required to port your mod to a newer version of GameMaker and for a while that was GameMaker: Studio 1.4.
GameMaker: Studio 1.4 fixes a lot of the very glaring issues with the Game Maker 7 release of Hotline Miami, but introduces newer ones. Among many, the biggest and ugliest of them all is the introduction of memory leaks. This is something that seems to be an inherent problem with this version of the engine, as it is an issue that presents itself in many GameMaker: Studio 1.x games
So of course the solution is to then again port the game to the newer GameMaker Studio 2.
For a while I was hesitant to make the jump to GameMaker Studio 2 because of the massive differences in GUI, which I was afraid would negatively impact my workflow. But after some tweaking and using it for a while I grew accustomed to it.
So lately I've been working on getting Bloodlife and the next Hotline Miami: Redux update running on GameMaker Studio 2
GameMaker Studio 2 changed how a lot of things worked from the development side of things. While you can import a GameMaker: Studio 1.x game and reasonably expect it to work right off the bat, developing one part of a game in Studio 1 and then finishing it in Studio 2 requires you to re-structure a lot of the game in order to take advantage of (and in some cases, just use) Studio 2.
For example: GameMaker Studio 2 changed how tiles work, sure it'll display the tiles that I put back in Studio 1, but if they break then I have to re-tile the entire game with the new system (which I might or might not have to do...)
The point of this update
I hope this update was useful so that you guys understand more about the problems that arise when it comes to developing Hotline Miami mods as well as the tools I have to fight with daily and why things are the way they are. I don't want to make a buggy game, no developer wants that. And I want to ensure that my mods can be enjoyed without the player having to jump through hoops of crashes and bugs.
Sadly that means taking more time to develop the game...
"mfw when" when people ask me if the mod is still being developed. (It is, I've already spent 5 years on it, I'm not going to stop until it's finished)
If you're disappointed by how infrequent my updates are here on ModDB, I have a Discord server at Discord.gg , there we can chat about Hotline Miami, game dev, give each other feedback and stuff like that.
I also have a Twitter account at @Pi0h1 which I want to start using for less shitposting/retweeting and instead to post more updates regarding my projects