Gladiabots is a fresh-on-the-scene “Capture The Flag” style game, with an interesting twist.
Instead of players controlling an in-game avatar directly, they create command patterns for their team of robots using a simplified version of a common AI programming method called “behavior trees”.
Using a sizable list of commands you build out and modify these behavior trees for individual robots on your team and then play the match and watch as your AI does what it’s told, to the T. Trees are executed from left to right, and the first statement that reads as “TRUE” executes.
If you’re unfamiliar with programming, rest assured this isn’t some super-complex “you have to type everything and know your zeroes and ones” kind of thing. You’re building trees that can range from simple to complex, and it’s relatively easy to understand how everything works after a quick trip through the tutorial.
Let’s take a look at a basic tree that the game provides, so you can get a feel for how this works:
From left to right, we have four commands. Like I said before, the game will run through this tree until it finds the first command that returns as true. These commands are simple “if/then” statements, which means “if X is TRUE, do this thing”.
The first command on the left is a great example:
This translates to “if my shield is empty, do the next thing in this branch”, and the next thing in the branch just happens to be “get me the heck outta here”.
After you’ve built out branches like these for each robot, then hit the run command for the match, it’ll play out automatically with your little AI minions following their programming exactly as you applied it. If you’re some kind of witch, it’ll go flawlessly on the first try! But, as is the nature of programming, you’ll often have to make tweaks and try again. Sometimes it’s to optimize or re-prioritize certain behaviors, and other times you’ll be trying to fix bugs and glitches with your trees.
It’s honestly pretty remarkable how the majority of Gladiabots is entirely within these commands. It’s a lot like a Zachtronics game (Infinifactory, Shenzhen I/O, Exapunks) in that every level is a puzzle with a whole slew of potential solutions that never feels like a slog, but instead a toybox.
What’s extra cool about Gladiabots is that it has a whole multiplayer component that allows players to put their tree-building skills to the test against others in pure, straight-on Capture The Flag style. It was after I discovered this multiplayer side (and got my ass fully stomped a few times) that I decided to reach out to Sébastien Dubois, the developer of Gladiabots, to ask a few questions about this game and its origins.
“Well the concept was actually an original idea I had 8 years ago while working on a tactical game,” Sébastien says about Gladiabots’ inspirations, “I was in charge of developing the AI of the NPCs and was doing the tests myself. It was fun at first but quickly became tedious to have to play several minutes between each improvement or fix.” After who knows how much manual testing, Sébastien figured he’d just plug the AI systems into the player’s team as well to just see what would happen and let the game unfold. “The advantage was I could drink my coffee while watching them kill each other but also I could expose the system to a much wider range of scenarios and see bugs emerge earlier. But most of all it was fun to watch, change team A's AI, replay, see them crush team B, change team B, etc.”
Four years later Sébastien had developed the idea for Gladiabots enough to work on the first real prototype. Looking into games like Carnage Heart, the gambit systems in Final Fantasy XII, and the various Zachtronics titles out there, he set out to make a game set between the depth of Carnage Heart and the simplicity of the gambit systems while still maintaining a level of open-endedness similar to that of Zachtronics games.
From the very beginning of this project, Sébastien says he was aiming to create something educational- something to expose people of all levels with the world of programming, “The day you write your first "hello word!" lines of code, you step into a world where you know virtually anything is possible. The thing is that a lot of people think it's something boring and anyway reserved to an elite of geeks.” In his mind, programming is something anyone with enough interest can get into- it’s just that you need to try it to realize it’s a lot like learning an “actually simple foreign language you can learn with time” that gives people the keys to create whatever they can imagine.
“My idea was if I could give a glimpse into this realm to a few non-programmer players, they may discover they actually like it and decide to go further!”
Like with making Gladiabots educational, Sébastien knew from the start that he wanted this game to be focused on multiplayer, as “that’s the most interesting part of the game to be honest”.
Gladiabots is designed as a strategy game first, and a puzzle game second. Both are important to the way the game feels, and the missions created to play against AI are very much a puzzle of figuring out what specific strategy you can create to defeat the specific, kinda dumb AI of the NPCs in that level but, when you step into multiplayer, things change.
“Something more challenging, more interesting in my opinion, is to craft one AI that can beat a wide range of strategies. Being alone on the project and given the unlimited number of combinations you can achieve with the programming system, the best way to offer a large variety is to compete against other players' AIs.”
And here’s where Sébastien gets really clever. Since you don’t need player inputs actually during a match, Sébastien figured the matches could be “played at any time,” leading to the implementation of an asynchronous PvP multiplayer- “You can play against the AI of anyone who played the game without requiring her to be connected at the same time,” meaning when you play a match of Gladiabots multiplayer there are “hundreds of thousands of past opponents” waiting for you, so you’ll always be able to find a match- even if the active player count is low.
There’s so much about Gladiabots that’s immeasurably clever, and it’s fun to play while also being challenging, educational, and a great bit of insight into the world of AI programming. It’s another example of a fantastic educational game that feels as much like a game as it does like learning- which is really the best way to go about it, in my opinion.
If you or someone you know is interested in programming or AI, check this one out! Heck, even if you’re just looking for an incredibly unique strategy (or puzzle) game, give it a look.