I’m a day late in posting this, as the weather here was shocking enough yesterday that I didn’t even turn my computer on. But it’s really worth mentioning that Terry Cavanagh has just released his epic platformer VVVVVV. There are already a good number of lavish reviews on the net, so I’ll just give the very basics here, before diving into a discussion of interesting points in the game’s design and implementation.
“Doing Things The Hard Way”
VVVVVV is a platformer of the classic style, with the exception that instead of a “jump” ability, you have a “flip gravity” ability, which can only be used when you’re standing on a solid surface. In the screenshot above, you enter from the spike-lined shaft on the left, and want to collect an optional trinket which was on the right, where I’m standing in this screenshot (sorry it’s not visible, I’ve already collected it). The little computer terminal you can see to the left helpfully informs you that collecting the trinket is impossible. A quick pair of gravity flips gets you over the hole in the floor to the right of the terminal, and to that ‘C’, which is a checkpoint. Then the only thing separating you from the trinket is that tiny pink block sticking up from the floor by less than half your height.
But since you can’t jump, you can’t simply leap over that little block; no, the only option is to flip gravity, and fall up that wider hole, dodging your way through six vertical screens’ worth of spike-covered tunnels, before you reach the very top, land on a single, tiny, quickly disintegrating platform, flip gravity again, and fall all the way back down those six screens, making sure to land to the right of that tiny pink block. A single touch of any spike is deadly, and sends you back to that checkpoint on the left to start the challenge all over again.
I spent just over an hour attempting this challenge today, before finally succeeding. I estimate that on average, I died about once every six seconds during that time. That’s about 600 deaths in total during that hour (which seems about right, judging against my precisely 1000 deaths overall so far.) With that sort of level of failure, you’d expect the game to feel frustrating and painful, and yet.. I was having a blast. How could that be?
To a first glance, VVVVVV looks like a lot of other indie platformers; it has old-school big-pixel graphics, 8-bit chiptune music, very simple controls, and a Metroidvania-style world.
In brief, a Metroidvania game generally has a single large contiguous game world that can be freely traveled through, but with some parts of it “gated off” until you’ve acquired some necessary ability from the unlocked portion of the world. For example, you might require missiles to get through missile doors, or a double-jump to reach high platforms, or etc.
Typically a Metroidvania game consists of a large, wide-open overworld which the player can travel through freely more or less from the very start. Connected to this overworld are several linear, themed “challenge” sections, each culminating in a power-up which allows the player to enter another of the linear “challenge” sections branching from the overworld. The player proceeds from one of these “challenge” areas to another until he wins the game by completing the final challenge area.
The sequence in which the user must attack these gated areas is generally extremely linear; you must complete challenge “A” to get the key which allows you to attempt challenge “B”, which once completed will give you the key to enter challenge “C”, and so on. This is such a strongly enforced ordering of challenges that Metroidvania fans and speedrunners are often extremely interested in “sequence breaks”; tricks or bugs which allow some of the challenge sections to be completed out of their intended order.
There have been dozens, if not hundreds of Metroidvania games over the years, and it’s certainly one of the genres most frequently used by modern indie developers.
Like those other games, VVVVVV has a large overworld to explore (not visible in the free demo), which links to linear, themed “challenge” sections. But there’s one big difference between VVVVVV and these other Metroidvanias, and it’s this: the player gains no new abilities during the game. Your controls at the end of the game are precisely the same as they were at the start of the game.
This means that the “gates” in VVVVVV‘s Metroidvania-style world are exclusively locked based upon the player’s own skill; if you’re skillful and clever enough, you can get through the gate. If you’re not, you’ll need to explore the overworld some more, find a different gate (hopefully more in line with your level of skill), and test yourself against the challenges in that other linear section, before returning to that difficult gate, once you’ve improved your skills.
In an earlier game design post, I talked about the game industry’s slow movement from “games are about building the player’s skill at doing something” (as seen in early games such as Space Invaders and Pac-Man), toward “games are about building the avatar’s skill at doing something” (as seen in most recent, upgrade-centric game designs, such as God of War and World of Warcraft). In a lot of ways, VVVVVV, like Demon’s Souls and other recent games, is a reaction against this trend; from their viewpoint, it’s perfectly okay to make a game that’s difficult for the player, as long as it’s fair, and the player never feels that the game has cheated him out of victory. If the player can learn and improve his skill, and feel that he’s making progress, that’s better than giving the player’s avatar a taller jump or a grenade launcher.
And having spent several hours with VVVVVV, I’m inclined to agree.
Dying is fun!
In the Dwarf Fortress community, a common mantra is that Losing is fun. There’s a similar sentiment amongst players of NetHack. It’s not surprising that players of these games would have these sentiments, as both games contain many dangers which can cause death without much warning at all. These games get away with this “sudden, unexpected death” approach because they have computer-generated worlds; while you do have to start a new game right from the beginning after dying, it’s a different beginning than the one you already played through.
VVVVVV, on the other hand, has just one, lovingly hand-crafted world. As such, it’s a much tighter and well-focused game than either Dwarf Fortress or NetHack, but it means that frequent deaths in this type of game can’t be shrugged off as easily as they are in more randomised games. VVVVVV takes four steps to mitigate this “frequent death frustration” problem:
- Well-composed, upbeat music. I can’t stress this enough; having catchy music always makes a game far less frustrating. There are many commercial games which do quite well for themselves solely on the basis of their music.
- Frequent checkpoints. There are checkpoints in almost every room, meaning that you’re never sent very far back. (Exception: the challenge I mentioned at the start of this article, which has a stretch of six rooms with no checkpoints.. and since you travel through each room twice, it’s actually twelve rooms you travel through before you reach a checkpoint)
- Quick restart after death. When you die, you’re back playing again in just under a second. If you were stuck for several seconds watching a “You died” screen, or if there was a loading screen involved, this would make deaths extremely frustrating. Instead, you don’t really care when you die; you just lose a second or two of progress, and get to continue from almost precisely where you were before dying.
- Treat the player fairly. No sudden deathtraps, as are seen in I Wanna Be The Guy. VVVVVV always has a safe spot for the player to stop and figure out how to best attempt a challenge, and even in a major non-stop challenge such as the six-room-long challenge I mentioned above, it lets the player see the whole course as often as he wants, before ever attempting it. And it lets the player bypass the challenge entirely, with no penalties (beyond missing out on the bragging rights), if he’s not feeling up to it.
- Amusing names for rooms. Again in the case of the six-room-long challenge, despite being a purely optional challenge, I stuck with it for a full hour primarily because of the game’s room names; rooms with names like “Your Bitter Tears… Delicious”, and “Getting Here is Half the Fun” (used for the topmost room, at which you can finally turn around and begin to fall back downward through the same set of rooms). These brief glimpses behind the curtain and into the mind of the author give a gentle wink and nod that even while Terry’s presenting himself as your opponent, he knows you’re up to the challenges being presented, and he’s on your side.
“Will you read me a story?”
“Read you a story? What fun would that be? I’ve got a better idea: let’s tell a story together.”
Buffing the real player’s stats
When I started writing this post, I decided that I needed to have a screenshot to go along with it, and I spent a few minutes, trying to decide what the shot should be of. I soon realised that the shot had to be of “Doing Things the Hard Way”, and that I should be on the right side of that little bump in the floor.
Unfortunately, it was several hours ago that I had reached that point in the game. Traveling there again in order to take a screenshot would mean having to do that whole challenge over again. The challenge that took me an hour, and 600 deaths to accomplish, before.
Making my way through the challenge this second time took me about a minute in total, and I had only two failed attempts. No epic flying mount earned in a Space Bar Game could possibly be as satisfying as having that challenge — previously impossibly difficult — suddenly become a relative breeze. Not because I’d gone up several levels and now had a rocket pack which boosted my wisdom stat by 6 points, but because I personally had gotten better at the game.
This isn’t the sort of game that I typically make.. but I’m really glad that Terry made it. It reminds me of what gaming can be, when we’re not being afraid to challenge our players, instead of merely entertaining them.