On Backtracking

Back in the old days, developers were held back by hardware. They dreamed big, but the ROM packages they sold them on, be they NES cartridges, 8-inch floppies, or CDs, simply didn’t have enough space to fit their visions. This led to a lot of neat tricks. In the original Super Mario, the bushes and the clouds actually use the same sprite, just color-swapped. When Nintendo wanted an epic Zelda adventure for the SNES, they figured out they could make the world twice as big by making an alternate version of the original world. I think backtracking became popular in games for the same kind of reason: it pads games out without taking up too much memory.

I feel like the first game to really make backtracking work from a gameplay/design perspective – at least in the popular consciousness – is Super Metroid. I didn’t have a Super Nintendo growing up. My dad had an NES from before my parents got married and from there I moved straight on to the N64, which I got right when it came out, in the holiday season of 1996. The first game I got that was really mine was probably Super Mario 64. Super Mario 64 was also designed for some backtracking, but not really as much. The first level is designed with one or two stars that you don’t necessarily need the wing cap for, but it sure helps, and you don’t get it until quite a bit later. Come to think of it, the wing cap is actually totally missable. It’s the only thing, at least that I remember, that you need to enter first-person view for, which is something you could totally forget about and mistakenly write off as completely useless.

Mario emphasizes replayability of its levels though, which I don’t think is the full potential of backtracking as realized by Super Metroid. Backtracking in Super Metroid is all about making the player feel powerful. The player enters a new area, and everything feels a little bit too hard. You can’t jump high enough to get where you need to go. You can’t move around in water. The enemies take too many hits. Then you get the next item, and it’s just what the doctor ordered. After doing things the hard way, the area feels trivial now. But it also opens the way to the next challenge.

Maybe some RPGs did this before 1994. It wouldn’t surprise me. I feel like a lot of RPGs like the trick of “visit an old area, and it’s super easy now because you’re level a million” (although Oblivion surely didn’t). That might be missing the point though. In other games, progress and power are gradual, but in Super Metroid, they’re quantized. When you level up in Super Metroid, you don’t get a little better at everything, you become able to do something you couldn’t do at all previously. In contrast, when Mario gives you new abilities, they feel more like toys than tools. And that works for Mario.

Right now, I’m imagining the player’s progress in Sethian being divided into steps where more of the game’s dictionary is unlocked. In this system, the player will have to go through certain topics before they can begin to talk about other topics. It also limits what the player can ask about certain topics. And here’s where backtracking comes in. As you go, your conversations leave questions unanswered, but when you gain a greater command of the language later on, you can return to those questions. And just as in Super Metroid completed challenges lead to new challenges, answers lead to more questions.

Balancing where the tiers fall is hard. In the tutorial, I don’t really go into two-symbol words, but I had always intended to use them. They’re sort of the default in Chinese. If we assume that all the vocabulary in the game is either one symbol or two different ones used to make one word, the number of words the player can make is the summation from n = 1 to x of n, where x is the number of symbols in the dictionary. For x = 20, this is 210 words, for x = 40, 820, for x = 60, 1830, for x = 80, 3240, and for x = 100, 5050. There’s a lot of caveats here though. First, this assumes that every combination of two symbols makes sense, which is certainly not going to be the case. This calculation also assumes that switching the order of two symbols doesn’t yield a new word (if it does, add the summation of n – 1). We’re also only taking two-symbol words with different symbols. If we can repeat the same symbol twice to get a new word, we want the summation of n + 1.

But now here’s an interesting question: do I give the player an equal number of new symbols every time the dictionary is expanded, or an equal number of words? My primary concern here is actually as regards learning the game. How much can the player learn at once without feeling overwhelmed? How much do I need to space it out? Breaking it up into five groups might not even be enough.

My other idea is about where these points of progress in learning the language fall in terms of progress through the game’s story, or rather backstory. In my current five-part model, the first piece the player starts focuses on the height of planet’s people. The second part turns to when things start to take a turn for the worse, then the third part goes to their long decline, with the fourth going back to the beginning. Each of these opens up opportunities for backtracking and talking about old topics in more depth. Then the last part focuses entirely on teasing out more details. Will it work? I have no idea. It’s something we’ll figure out in playtesting.

Published by:


Creator of Sethian. My personal email is grantkuning at gmail. Kickstarter: https://www.kickstarter.com/projects/1158657297/sethian-a-sci-fi-language-puzzle-game Facebook: https://www.facebook.com/sethiangame Twitter: https://twitter.com/sethiangame

Leave a comment

Leave a Reply

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

WordPress.com Logo

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

Google photo

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

Twitter picture

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

Facebook photo

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

Connecting to %s