Game Development

Blog 768: Vertical Slice

So, a few months ago, I paused work on Exon’s main campaign to focus on building the Arena. This approach came with some risks but I decided to swallow them because this felt like it would be the fastest route to something genuinely playable.

I was right, because that was about three months ago and for the last few weeks I’ve had it out at local game dev events and being played by real human beings. It is by no means a finished game, but it is a fully-functioning, self-contained scenario that stresses the breadth of the game’s core combat mechanics. A vertical slice. Objective complete!

It’s funny because my mechs’ primary attacks are vertical slices.

Vertical Slice

The best thing is that I actually had this vertical slice working about a month ago, with a smaller arena and only four combatants, but it’s taken a while to sink in. It’s such a big deal because I’ve never before had anything to demo at events — the thing about proper singleplayer missions is that they only really work when they’re narratively complete. The Arena, however, works in this small way as a pure deathmatch scenario, and will continue to work as I expand it with more features and objectives.

Yes, the Arena isn’t going to just be a straight deathmatch scenario. If you’re at all familiar with my work in Warcraft III then you’ll know, oh yes, trash-talking bots is only the beginning.

A three- or four-way fight never ends well, even with an ally in tow.

It has to be said that although I have had people playing the game, and even seeming to enjoy themselves while they’re at it, few have actually had enough time to get good at it. As evidenced by the video, even I’m not that great at it. The Arena is a bit of a high-intensity introduction — it’s Exon at full pelt, not Exon as most of the campaign will play out. It will be a side quest in which to let loose, not the sum total of the experience, so I expect players in reality to have a slightly better grounding before they get battered.

The other aspect is that the bots are chosen randomly right now, and I haven’t implemented all of their personality traits yet. A few simple factors vary, like whether they walk or run by default, and what threshold their health falls below before they run away, but I’m intending to add preferences for ranged weapons and limits on how often they use special abilities. I’m hoping this will add a natural difficulty gradient through behavioural changes, without the need to fudge hit points or damage output.

(… I have also increased the cooldown on the rocket charge, reduced its running speed slightly, and decreased its damage so it doesn’t overkill you quite as hard. Plus I’ve littered the Arena with health packs and armour packs so you can stay in the fight without having to run all the way home.)

I haven’t made kill combos give points yet, otherwise I’d have won this match MUCH sooner.

Working on the Arena has been a bit strange. Most of the systems behind it were in place, having been honed over all the years I’ve been building the game; so my focus has been on the very surface-level parts that slot it all together. A system to select combatants, a system for respawning and scoring — these are all fairly simple systems with few moving parts. All the hard bits, the way units are built and navigate, were done (or at least passable)… well, years ago. Even the trash-talking is just the bark system I built for NPCs to chat idly and enemies to broadcast their moods, with dialogue trimmed to a single set of “on kill” messages.

The hardest part is probably the artwork, mostly because I’m still bootstrapping my art assets from very close to zero. It’s easy to forget when you’re modding something like Warcraft III, where there are thousands of decorations and characters all ready to play with, that somebody had to build all of those things — but, for this project, that’s me. I’ve been slowly advancing my texturing game recently and starting to produce results that I’m genuinely happy with, in as much as they look an awful lot like Unreal Tournament textures but are actually freshly-baked from royalty-free assets.

Yaaaas, finally getting good! (… or have I just made it easy enough?)

So what’s next?

The fiction for this particular arena is that it’s an exon training ground. The proprietor lets every new exon have one shot at his assault course, in exchange for them competing in an arena match at the end. You, a fresh-faced new exon, get a much-needed controlled space to get used to your mech’s controls, and he, a grizzled ex-exon, makes his money selling tickets to the matches. The complex itself is an abandoned non-specific industrial complex (aren’t they all?) that’s been refitted for the purpose.

This scenario, then, is how the campaign will begin. Even though I’ve paused work on the full-on RPG levels (the hub area, the wilderness areas, the climactic first big mission), working on the Arena is still working towards that true goal. As I build out the Arena’s surroundings, then I’ll be bringing in more of the RPG elements, and the bite-sized easily-demoable battle at the heart will remain but become more clearly part of something larger.

And, well, um, maybe I should start looking at audio now that I have an… uh… complete level…

And you tell me...

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.