Hey Giggle Horse fans! Welcome back to another blog about the development of the coolest game I have ever had the privilege to work on; the point-n-click adventure game Absolute Zero. I’ve mentioned in earlier blogs, that I would get around to how the game itself is made, but had to first lay the foundation. So if you missed the blog about the Cortex engine, you might want to read that first before reading this blog. For those that missed it, click here —> Cortex Blog
Now that you’re all caught up on the Cortex engine, you know that it holds the basics of all 2D and 3D components needed for making games. However, it doesn’t have the capabilities to perform all the procedures and tasks required by a point-n-click game. These are things like a subsystem for saving, loading, as well as a subsystem for keeping track of items the player has and how those items can be combined and used to make new items…an inventory system. Also there is infrastructure that is common to all point-n-clicks such as walking, getting, and using items. So to keep from making a monolithic game (meaning a one off game) I created a plugin for the Cortex engine that would allow us to create many point-n-click adventure games. That plugin is called Legend. Mainly because I wanted a cool sounding name that was steeped in a mist of adventure sappy huh?
The first thing I did before I started, because I’ve been a software engineer for 20+ years, is create a prototype layout of the game to try and get it as user friendly as possible. Above you can see a Visio prototype I created to get a feel for how I wanted the editor laid out. Keep in mind, this is only one of about 20 such prototype screens. I designed Legend so that each scene of the game can be constructed by flowing from left to right on the toolbar. After you finish each part on the left, you move to the next. So, I will normally start with the “Walk” mode selected, and fill out the constraints of a scene along with all the triggers that transition to other scenes. Then I move to the “Look” mode for a scene and complete all the information required for that portion and so on.
I wanted the Legend editor to allow for planning of the game prior to asset creation as well. For example, I can map out the entire game and its scenes in advance, and put storyboard graphics in place until the real scene is created. The player can still walk freely from one scene to another, it will just be storyboards. This helps with getting the flow of the game worked out. As you can see below, the storyboard for the bar scene on the Absolute Zero gets replaced with the actual scene, fleshed out, and tested. Which brings me to another cool thing about Legend, the lightning deployment feature.
Legend is designed to run in parallel with the Cortex build environment. So after I complete each scene, I am able to deploy the scene directly to the project, run it and test it in seconds. That is what the lightning bolt button does! KaPow!
Keep in mind that Legend is a plug-in to Cortex, and integrates itself dynamically at run time. Legend has two parts, the editor which I just talked about, and the plugin itself. The plugin, like the engine, is a deterministic finite automata AI matrix. It can handle a massive amount of things that I would not want to pull-off using a top down programming paradigm for sure. It makes things like combining objects with other objects, and then combining the combined objects with other objects ad nauseam that would prove cumbersome and complicated, become a cake walk!
So that is pretty much it in a super tiny nutshell. Legend the editor allows us to build adventure games in a WYSIWYG (what you see is what you get) fashion, and the Legend plugin binds with the Cortex engine to handle all the information created by the editor to bring you the most super stupid dumb fun you can possibly have playing an adventure game!