Halo: Intangible Triumph

What is it?

Halo: Intangible Triumph is a top-down shooter set in the universe of Bungie’s Halo games. I created it during my first year of high school, back in 2007, using Game Maker 6.1.

Progress

My focus was mostly on building the engine, with the plan that once that was done I could flesh out a proper campaign-style story mode via a sequence of levels. However, things did not get that far – as I left it, I had three draft levels done:

  • Training: a quick level where the user is introduced to gameplay and can test out moving, shooting, and other basic mechanics.
  • Defence of Alpha Camp: Where you defend a marine encampment on Sigma Octanus against several waves of enemy attack.
  • Cote d’ Azur: Where you proceed from the defended camp and attack the Covenant forces that have taken the nearby city.

In addition to these campaign levels, there was also a basic scored “arena” mode in which you fight waves of enemies within a small area, and a hidden bonus scrolling shooter style minigame, where the player pilots a Covenant Banshee aircraft and takes on waves of enemy ships.

Reflection

While Game Maker does allow for drag-and-drop style programming, this was my first big project that was primarily built around typed code. I had worked on a few smaller code-based projects in the year or so before this, but this project was an order of magnitude larger in scope.

I didn’t have any proper education in programming at the time – my first formal programming class would be years later, in 2012 – so a lot of the code I wrote was pretty ugly. I had a few basic attempts at implementing some form of inheritance, but Game Maker does not have the most object-oriented language to begin with, and I really had no idea what I was doing – so most things were accomplished with a tremendous amount of duplicated code.

It would be a fun project to work through the old code and tidy it up with what I know now. I expect that the actual amount of code could probably be reduced to something like 20-30% of its current size.

Current State

In 2018, I found a backup copy of the original game files, and decided it would be a fun project to get the game up and running again (from Windows Vista onwards, old Game Maker 6.1-generated .exe files stopped working).

Patching the project to work with a more modern version of GameMaker, I was able to generate an updated version that is once again playable – both on Windows as a .exe, and in-browser via HTML5.

For more information on the rescue of this old project, see the GitHub page here.