invicticide UT2004 Mod 2004

Designed and directed by Josh Sutphin. Art and environments by Bradley ‘Nutter’ Jones and Erik Exeter. Additional contributions by ChookWoods, Mr. Lane, and Trauts.

NOTE: Gem Feeder requires a valid, licensed copy of Unreal Tournament 2004 to play.

Gem Feeder is a gametype modification for Unreal Tournament 2004. Two teams compete for control of several gems (usually three). When all the gems are brought to your base, your team scores a point. It sounds like a cross between CTF and Bombing Run, but it’s certainly not that simple.

Gem Feeder is a wild and chaotic game that requires focus and teamwork to win. It’s great teamplay and includes full bot support. An in-game editor even allows you to convert any map over to Gem Feeder in a matter of minutes, perfect for trying out crazy new custom maps!

Gem Feeder was a finalist in the 2004 Make Something Unreal Contest.

Download (Main)
Download (Patch)

Lessons learned

I had to learn a lot of technical stuff about the second-generation Unreal Engine to make this project happen.

This was my first foray into the JavaScript-like programming language UnrealScript, which was what they used to use before UE3 introduced the visual scripting system “Kismet” (which later evolved into UE4’s Blueprints). I had prior experience with C++ but UnrealScript was a very different beast. UE2’s gameplay framework also leaned heavily on inheritance and polymorphism, concepts with which I was familiar but had only previously encountered in far smaller and simpler codebases.

This was also my first experience writing AI behavior. Fortunately I had Unreal Tournament’s fantastic combat AI to lean on for moment-to-moment gameplay, so I only had to concern myself with the high-level strategic decision-making that was particular to Gem Feeder’s unique objectives. This was essentially a weight-driven state machine – a bunch of possible behavior states get a score, and the highest score wins – which was fine at the time, but I would later learn about GOAP and Behavior Trees and realize that my approach on Gem Feeder was hilariously unsophisticated. (It did work, though!)

Despite my personal preference for solo play, it was important to make sure Gem Feeder was playable over the network, so this was also the first time I had to figure out how to do network replication. UnrealScript provided a network replication scheme that’s still surprisingly similar to what we see today in UE4, so it’s here that I learned about things like server/client architecture, variable replication, remote procedural calls, lag compensation, etc.

Trivia

Four years later, several of the core design ideas from Gem Feeder made their way into the “Collection” game mode in Warhawk: Operation Fallen Star, the third and final DLC pack for Warhawk, for which I was the lead designer.