Game Developer Interview: Alex Norton – Game Programmer
Brisbane has had a lot of success with indie games over the past few years. From Halfbricks’ Fruit Ninja and Jetpack Joyride to Defiant Developments’ Ski Safari just a couple of weeks ago. Hoping to follow this success, Alex Norton has just started a Kickstarter campaign for his game, Malevolence. I decided to interview Alex to see how his project is a little different to the typical Indie game.
- Firstly could you introduce yourself, tell us a bit about what you are working on and what your favourite games are?
Hey, I’m Alex Norton, Creative Director and Lead Developer of Visual Outbreak, a Brisbane indie group that’s been around longer than most people would realise. We started out back in 2003 when we released Dungeon Master Pro, a web client for playing Dungeons and Dragons with people online while still using all of the books and whatnot. It got to version 3 and had quite a big following, and I think some people still use it… Anyway, now we’re working on an RPG for the PC called Malevolence:
The Sword of Ahkranox which we’re hoping will both shake the games industry and revitalize an old genre. It’s played like the old classic RPGs of the early 90s (such as Might & Magic, Eye of the Beholder, Wizardry, etc) but is set in an infinite, persistent world, populated by procedural locations, enemies, items, quests and more. When we’re not working on that, though (which isn’t very often) we’ll generally play team strategic combat games such as Battlefield 1942, Rainbow 6: Vegas and S.W.A.T, switching to Diablo II and NWN when we feel like something a bit more laid back. When playing on my own these days I usually just hook up to the Battlefield 3 servers and see what’s going on. I generally hate playing online, but BF3 is still pretty fun.
- What game engine are you using for Malevolence?
It’s called the Hellfire II engine, and it has been custom written by myself and my team. The original Hellfire engine was written as a proof-of-concept for a project at QANTM about six years ago, and it had gathered dust until 2010 when we cleaned it up and expanded on it. The new version allows persistent interaction with an infinite 3D world that isn’t constrained by upper and lower limitations of data types (like other procedural games are, such as Minecraft). Like most crazy ideas it started with us being told that it wasn’t possible, so we accepted that as a challenge.
- If you started over again, would you build your own engine or would you use an existing engine (like Unity or Unreal)
That’s a hard question to answer, to be honest. I’ve always been a very strong believer in re-inventing the wheel wherever possible. So many people always say “don’t reinvent the wheel!” but if you never do then you never give yourself the oppourtunity to make the wheel better. Writing the game’s engine from scratch definitely has slowed down the game development process a great deal, and has caused more frustrations than any other part of the game’s construction, however that could also be attributed to there being only one coder on the whole project! I think if I was presented with a game engine that was powerful enough to do what I needed it to do, and yet open enough for me to go in and tweak what I needed to, then perhaps I would take it on. But it’d have to be pretty damn convincing!
- Why is Malevolence unique?
Many reasons! It’s unique amongst todays games because it is both first person and turn-based, which is something you don’t see very often in games these days. The grid-based movement of Malevolence was extremely popular in FPRPGs (First Person Role Playing Games) of the 90’s, and more modern games such as Legend of Grimrock make use of it, but aren’t turn-based as well.
In addition to that, however, the in-game world of Malevolence is infinite. Not just infinite, but persistent as well. You can walk for a billion miles in one direction, then head back the way you came and everything will still be there, just as you left it. Items and monsters, however, do change as our procedural algorithm uses a time coefficient to establish “volatile” world components. But an infinite world can get boring after a while, so we’ve also made the item generation system procedural to give the player an infinite number of items to find, and also infinite weapons as well. We’ve gone one step further with the weapons and made the actual weapon graphics be procedurally generated as well, so you can keep finding new weapons, and they’ll keep looking different as well as having different stats and abilities.
On top of that we also have a procedural quest generation system, which links in heavily with our procedural dialogue system. The NPCs in the game use an AI system we’ve developed which follows a six-degrees-of-separation methodology, meaning that if you’re talking to someone in Town A, they may know someone in Town B who needs some help, but the person in Town B may have forgotten where the dungeon where they lost their favourite dagger is, so you’ll have to ask around to see if anyone knows a local map-maker or ranger to help you find it. The game does all of this procedurally and on its own, ensuring that you never run out of things to do.
- Haven’t procedural game worlds been done before?
Yes, and much further back than many people realise! Some older gamers will remember earlier games such as Sentinel and Elite, which used procedural generation to create their game worlds. In more recent history, earlier RPGs such as the Diablo series and TES: Daggerfall used procedural generation, but always within limitations, which was a real shame. It seems that many developers are scared of making a game with a fully realised INFINITE world because it will cease to be interesting. We’re set to prove that theory wrong.
- How do you achieve an infinite world?
That’s the big secret! We’ve had lots of people want to know, but frankly, if we just handed out how we managed do it, we wouldn’t be very good salesmen! I’ll tell you a bit about it, though. Yes, The Sword of Ahkranox’s in-game world is quite literally infinite. No, I’m not exaggerating. The engine makes use of a new type of procedural generation that I invented myself. No fractals, no Perlin noise, no blobs, no diamonds. Instead it makes use of a hyperbolic paraboloid generating seeds which are used to create the world in four dimensions. X, Y and Z co-ordinates as well as a time coefficient. Changes that the player makes to the world as they move through it are stored in a temporary database but are then reset after the player has given enough time and distance between them. So, if you empty a chest in one dungeon, then travel across the world, eventually that chest will re-fill, however, due to the time coefficient, the seed that generates the content of that chest will now be different, thus putting different content in that chest.
The AI of NPCs and monsters also follows this procedural generation, so people won’t just sit in one spot, but will travel around the world while you play, depending on their role.
This generation accounts for almost everything in the game. Spell creation, item creation, weapon creation, potion creation, NPC dialogue system, even the spell effects that happen on the screen. Due to this, the world that the player explores will be ever-changing and infinite. They won’t keep finding the same old weapons or items, there will be no end to the number of spells they can find or use, they won’t even keep having the same conversations with NPCs. “That’s impossible!” I hear you cry. Well, it’s already working just fine 🙂
- Have you had any difficulties in attempting to revive a relatively extinct genre?
Augh, if we had a dollar for every time we’ve had to explain the notion of the game to someone… Unfortunately, a good proportion of gamers out there are quite young (18 and under) and they were born into a world of GTA, Morrowind and Mass Effect. So when they see Malevolence and see the 3D, shaded graphics, they assume that we’re trying to be the next Skyrim because they simply don’t know what Wizardry is, or Might & Magic, or Eye of the Beholder, or Dungeon Master. We get inundated with questions like “Why is the movement grid-based?”, “Why is the gameplay turn-based?”, “Why is the view distance so small?”, “Why can’t I see my weapon on the screen?”. The worst part is that most people have been ignoring the technological breakthroughs of this game and focusing on the way the game is played, because they simply don’t understand, much as we try and explain it. The sad fact is, Joe Public thinks he is entitled to have his say on how your game is made, but we’re making this game because it NEEDS to be made, not because we want to appease people and make money. This game is the 90s era RPG that never was, and we’re determined to give it life.
- What if people want to get involved?
We actually have a team of 39 people working on the game, so new team members aren’t really needed. The biggest thing people can do is donate to the project via the FAQ page on the website or via our crowdfunding. Though the game is getting close to done, we’ve launched a KickStarter page going over the next month to raise funds to add some serious polish to the game. People should definitely go and check it out at this link.
To be honest, though, if you want to keep up to date on everything to do with the game, just like us on Facebook (www.facebook.com/malevolencegame) as we update it regularly with links to everything that’s going on, wether it’s new blog posts, crowdfunding sources, screenshots, gameplay videos, the lot!