I’ve had the first pass at Exon‘s inventory screen up and running for a while now, so it’s high time I refined it further. I was using a Slug Rifle the other day and realised that while I put this gun on sale, I didn’t actually put any ammunition for it on sale, and that led me to questions of how ammunition should be handled at all. Which in turn led me to item stacking.
Item stacking is a fun one because, on the face of it, it’s very easy: you just assign a number of “charges” to a particular item, count them up as you find copies of the same item, and count them down with each use.
Oh, my sweet summer child.
For those that didn’t grow up modding Warcraft III: a “buff” is some lasting effect that is applied to a unit, such as it being stunned or on fire. Needless to say, Exon has lasting effects too. It’s not all impact-and-forget; mechs need to get stunned and corroded and all sorts of other things I haven’t thought of yet.
How hard can it be? You just stick the thing in a list and count down the timer until you turn it off… right?
Gosh, it’s been a while, hasn’t it? The good news is that, after changing jobs, I’m down to 4 days a week again. That means Exon is back on the menu for Fridays.
That means I need to pick up… wherever I left off.
… Where did I leave off?
Ah yes: the Datavault.
So I have a level editor for Exon. It’s still a bit sketchy around the edges, but it does the job: I can place decorations and modify terrain and live happily ever after.
But in a singleplayer RPG, decorations and terrain are only half the battle. These things have no life but the life I build into them, and that means I need a level scripting system.
Can you see where this is going? Oh yes.
The wonderful world of Unity editor tools is one of the most complex and irritating worlds I’ve ever had the pleasure to explore. Alas, it is one that I have to explore because I want to make it very easy to build levels for Exon. I want it to be as easy as farting out Warcraft III maps was, back in the day. Once I’ve built the engine and all the relevant bits, I want to shut Visual Studio down and never write another line of code for the rest of my life.
To get even close to that ideal, I have to go through a whole WORLD of pain — and the realisation that maybe, just maybe, one bloke in his bedroom can’t hold a candle to one of the greatest engineering marvels of the videogame world. Whatever happens here, nobody will be building the next DotA inside Exon.
I’ve made no secret of the fact that Exon‘s core loop is based on Westwood’s classic and criminally-underrated action-RPG Nox. This manifests itself most clearly in the movement system: hold the right mouse button to cause your hero to walk towards the cursor, leading them around the world like a little mouse following the cheese.
Similarly, I took the melee attack system, where each click causes a single sword slash, damaging whatever has the poor fortune of standing in your blade’s path.
Except then I realised that, actually, I didn’t. Nox has a more complex and interesting “stamina” system controlling its attacks than my naive cooldown attempt, and it contributes immensely to all the feelings I had been struggling to recapture.
It’s been a while since I last wrote anything, that’s for sure. Before I get to rambling about the reasons (excuses?) for that, here’s a new video of Exon: from starting the game to playing an Arena match to indulging in the side-questy exploration that will make up… the actual game. Some glimpses of the inventory, journal, shop windows and even a surprisingly seamless performance of the save/load system are included!
The natural counterpart to the inventory screen is the shop. It’s one thing to be able to pick up, equip and drop loot, but that is only half of the ecosystem. The other half is offloading that loot so you can
hoard your wealth and never spend it because the best items are actually always in the world buy better things.
This week, I have been building shops… and quests, so you’ll have some money to spend in them (without me having to litter the train station with gold ingots).