Game Development

Blog 815: The Next Level

The Exon Academy is complete! The first level of the first campaign of Exon is fully playable, a self-contained lump of quests along with the tentpole minigame of The Arena. Bookended by the “Insert Disc 2” notice that appears if you actually try to leave the area, it could be shipped as a demo — give or take any traditional bugs that still linger.

But I’m not going to do that just yet, because with the first level complete, it’s now time to… make more levels.

Continue reading “Blog 815: The Next Level”
Game Development

Blog 813: Closing the Loop

I am currently finding myself in a weird position with Exon. The first level — the Exon Academy and surrounding environs — is almost done, and so I’m starting to really want to move on to different levels… but I also don’t want to start making more levels until I’ve really, truly finished something. Especially when that something is very conveniently packagable as, oh I don’t know, a first release maybe?

The eternal temptation.

Continue reading “Blog 813: Closing the Loop”
Game Development

Blog 809: Raiding the Datavault

I was starting to flesh out the third section of the tutorial when I realised I was missing a screen. (What do you mean, I keep getting distracted from the minimum shippable vertical slice level?) One of the primary ways you’ll be able to get into places you’re not supposed to be is by finding the codes to keypad locks, except… well, then you need somewhere to store those codes, so you don’t forget them. You need a Notepad.

Then I realised that there was another missing piece of the datavault: the area map. How can you find your way around without a map? (Quite easily, my levels are not going to be particularly large, but indulge me, please.)

Continue reading “Blog 809: Raiding the Datavault”
Game Development

Blog 808: The Trigger Editor (Part 2)

The saga of me wrangling Unity into my personal level editor continues. A few weeks ago I started using Polymorphic Serialisation for my trigger conditions and actions and — so far — this is actually holding up pretty well. There was one annoyance, however, in that adding an action using the list controls created an unsightly empty/null element that you… couldn’t actually do anything with.

Except now I’ve worked out how to do something with it, and it’s simplified a whole heap of other stuff!

Continue reading “Blog 808: The Trigger Editor (Part 2)”
Game Development

Blog 803: Getting Stacked

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.

Continue reading “Blog 803: Getting Stacked”
Game Development

Blog 802: Buffs

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?

Ahahahaha.

Continue reading “Blog 802: Buffs”
Game Development

Blog 773: Kill Your Darlings

Since long before I started work on Exon, I was gripped by one action-RPG ideal: that if your sword intersected an enemy, then it should damage them. I suspect this arose from the likes of Morrowind‘s secretly dice-roll-based combat, where visually hitting somebody was no guarantee of actually hitting them.

Exon is broadly a game of melee attacks, so obviously when I started building the game I immediately implemented a system that does exactly that: using physics colliders, sword blades deliver damage as soon as they intersect a viable target.

Objective achieved, job done. So why does this system cause me so much concern?

Continue reading “Blog 773: Kill Your Darlings”

Game Development

Blog 761: RDZ’s Grand Guide to Saving and Loading

When I was looking for pointers on how to do saving and loading, I was frustrated at the lack of depth in the tutorials that I found. I couldn’t find anything that went beyond explaining PlayerPrefs and serialisation. I mean, yes, duh, I have to read and write the data — but how should I structure it? How should I find it? What’s the best way to put it together again? What did you see?!

Thus, having recently finished a fully armed and operational saving and loading system in my own game, Exon, here is a complete run-down of how it works and why. Although I would expect saving and loading to be personal to the architecture of a particular game, I feel like I’ve ended up with a very flexible and generic system, so hopefully this dump will give future people a decent idea of how to approach this most important of features. Plus some reassurance — it’s actually not that scary!

Continue reading “Blog 761: RDZ’s Grand Guide to Saving and Loading”