Nanok, Defender of Earth

2009, August 17th 8:24 AM

Here we go again! Download installer here, or download ZIP version here.

The original Experimental Gameplay Project has started up again and I've decided to follow it. This month's theme is "Bare Minimum".

You may notice that the main character is a bear.

Get it? Get it?

Besides the obvious pun, I also applied the theme to the game mechanics themselves. Once again I'm mucking about with difficulty mechanics (I really need to stop this) and once again I've tried a new tactic (at least I'm making progress.)

At the beginning of the game you're given the option to buy upgrades. Depending on how many upgrades you end the game with, you get a better ending – the goal is to finish the game with the bare minimum of upgrades. (On your bear. Get it?) I've explicitly said "hey here is your ending, here is how you go about getting a better one" in as many places as I could. In general, people seem to be figuring it out – at least, when they put any thought into the game. A few people seem to be taking the tactic of clicking wildly, ignoring the dialog, and them complaining that they didn't get the game. I'm not sure there's much I can do about this.

What Worked

I made a level editor before starting this game. Oh man. Made everything so much easier. As part of the level editor I also put together a UI framework, which also proved invaluable – I used it for pretty much all the non-game UI to get stuff done vastly faster than I otherwise would have.

I tried a new method of doing art – sketching on paper, scanning in, and tracing the lines, then doing fills from there. It worked a whole lot better. My paper art is crummy, but it's not as awful as my non-paper art. I also ordered a small tablet, so we'll see whether that works even better for next time. I deeply love the picture I came up with for the Ringmaster.

I do have a vague, unnerving feeling that Nanok and No Such Thing exist in the same universe. They just have a similar feeling. And I'm pretty sure the Ringmaster is a major figure in that universe. He may be revisited.

The game's fun. I actually enjoy leaping around and shooting things. I'm not sure anyone besides me has beat it on the hardest mode, so, y'know, go and try it. Tell me how hard it is.

What Didn't Work

I'm starting to push my knowledge of OpenGL rendering. That's good, because I'm learning. That's bad, because I spent probably a day or two just mucking with obscure OpenGL issues and trying to make it run acceptably fast.

While the new method of doing art does produce better and more interesting art, it's also a lot slower. I'm not sure what the tradeoff here is. Part of me thinks I should have ground out some cheap art and then done something better late, but every minute I spend working on art that I eventually replace is a minute I've effectively wasted. Not ideal. Making a game that looks and plays appropriately is really important for analyzing the gameplay value, just because of how critical graphics are, but I feel like I'm missing the balance point rather badly.

I should have put a little more work into the editor. I got it ready for this project thinking "hmm, I also want a few more features, but I probably won't need them immediately." Natch, needed 'em immediately. I spent some time working around them and some time implementing them – more things that cut into my limited time budget.

I'm not sure if I didn't prioritize well, or if I just picked up something too ambitious, or if I just got screwed by SNAFU. For the first time, I was not able to make the game I wanted to. I wanted more detail in the world, I wanted more detail in the spaceship. I did not want the player to end up walking around in a world of purple blocks. That was not my goal. And yet, here we are – purple blocks. Ugh.

I still want parallax (seriously, goddamn, I wanted that *last* game) and I also want some basic music. I don't even know where to start with the latter part.

The Bottom Line

With No Such Thing and Fluffytown I was a lot more focused than with Nanok. I need to regain that focus – when I'm making the game, the most important thing is to finish the game. Putzing around with tools and with new techniques is something that should be done before and after the week, not during the week. I fucked that up.

I'm spending way too much time with this single game mechanic and I need to go into something more interesting. I've got a few possible ideas for next game – I'll see what the game theme for next month is, then see if that inspires anything.

On top of that I think I know enough to make a longer-form game now. It's still going to be short, but it'll be a little more thorough and a little more flavorful. Yes, it will be a sidescroller. Yes, I really like sidescrollers.

Nanok is fun, but it could have been better. Still, I'm eagerly awaiting people's reactions.

And yes, this game does have some slight resemblance to Iji.

Fluffytown Postmortem

2009, July 31st 5:19 PM

Alright, time for the postmortem.

The Technical Side

Qualified success.

I intentionally used a small loophole in the rules – I spent a few days beforehand building a capable platformer library named Scaffold. I've never actually written a platformer before, so I wanted to give myself a bit of leeway to fuck things up. This was probably a good idea, since without that I would have had to cut stuff that I wanted to put in. I don't feel bad about this at all, since I'm going to be using the library for other games in the future (in fact I'm already working on some much-needed improvements and tweaks to it).

I spent about three days working on the game design – after the third day, the level fundamentally didn't change. I spent about two days on the intro cutscene, ending cutscene, art, and sound, and one day rebuilding some of my libraries and tracking down an awful bug that was causing crashes. Turned out to be a library error with Luabind, with the only fix currently available on a mailing list. Sigh. So a total of five game-related days and one SNAFU-related day.

I keep pushing myself to do wackier and weirder stuff with Lua. I split the game code into two files and tried to make a good connection between the two. I'm pretty sure I failed on this, and that's where the data leaks and slowdowns come from. Something to fix with Scaffold v2.

I'm abusing coroutines more and more as I go, and they just keep getting better. Coroutines are absolute gold. If you're trying to do any kind of scripting or AI in a language without them, just stop now and find a language that has them. I'm serious here, I whipped out things in five minutes that would have taken an hour or two in C++. My code is grim and nasty, but shockingly maintainable and compact, so as far as I'm concerned the coding of this is a great success, at least on the Learning Experience front, which is why it's kind of a qualified success for the actual game.

The Artistic Side

You may have noticed there's just a little bit more custom art in this than in No Such Thing.

No Such Thing had a total of 23 images, totaling 177kb, with 159kb of this being the backgrounds. Fluffytown has 76 images, 226kb, 187kb being backgrounds of various sorts. Fluffytown also has those images divided roughly into 14 animations (No Such Thing's only animation was the explosion) and contains 17 sound effects compared to NST's four.

And yet, I spent about the same amount of time on art and sound. I'm getting better at this, clearly.

I botched the resolution a little bit. I'd meant to make it a 320×240 game, only I got confused sometime between making the hearts and the elephants, and I ended up making it 640×480. That was a mistake – in retrospect I think 640×480 is exactly the wrong resolution. At higher resolutions you can get away with solid colors and aliased shapes, at lower resolutions you can get away with more abstraction. 640×480 is this annoying little niche where you can't do Iji-style art and you can't do Spelunky-style art. I'm not going to make that mistake again.

I have a lot of trouble with shapes. I am just flat-out not good at doing shapes on a computer. As bad as I am with pencil and paper art – and I'm pretty damn bad – I can at least get shapes to do what I intend after a few tries, and I just can't get that working on the computer. I've ordered a cheap scanner and I'll be trying to do sketches, scanning them in, and tracing from there for my next project (assuming I do sprite art, I'm seriously considering just doing opengl effects for whatever comes next.)

All that said, I'm rather proud of the art. For someone who sucks at art it's not bad at all.

I was hoping to include several parallax layers in this level, as I consider parallax to be one of those real easy things you can do with incredible results. My "level editor" was not up to the task, however (if you go to line 341 in main.lua you can see what I mean by a "level editor" – I recommend using a monospaced font with word wrapping off). Also, while my engine supports non-grid-aligned objects, my "level editor" fundamentally does not. I'll be putting something better together for Scaffold v2. I want my parallax.

The Gameplay Side

Alright, here's the interesting bit :)

The weirdest thing about this game is the fact that none of my testers figured out the gimmick. Not one. I was ready to write it off as a failure of a test, only once I posted it, a ton of people figured it out – some even before the end screen. I'm not quite sure what happened here. Maybe my testers, thanks to me being right there online waiting for a response, didn't bother trying to look into it too deeply. Maybe the addition of more sound effects and more thorough graphics – which my testers didn't have – made it immersive enough that people started noticing the details, and not just the gameplay. Or maybe my testers are just kinda dumb :v:

The gimmick is indeed the fact that it tracks exactly what you kill and leaves appropriate piles of bleeding coffins on the side of the screen once you end the game, as well as removing the corresponding happy living creatures.

After No Such Thing I found myself thinking a lot about gimmicks that somehow encourage the player to do something counterintuitive. In NST, you merely tried to avoid getting hit, but it was kind of bizarre because getting hit gave you a more awesome weapon. A lot of people just wanted a really big weapon, and so my encouragement of score just flat-out did not work for them.

In Fluffytown I was going for a much subtler incentive. I wanted to see if I could get people to challenge themselves without being explicitly told "hey you should go try this". I also wanted to challenge myself – I tend to want to force the player to play the game "the right way", and in Fluffytown . . . well, if you want to go on a homicidal rampage, that's A-OK. Besides a lot of bloody coffins, the game will let you, and if you find the sight of a blood-soaked hill pleasing and enjoyable, more power to ya.

Overall, I think this actually worked quite well. Some people went back and tried to do it "the hard way", some didn't notice and just flat-out beat the game. I'm actually fine with this. At some point, you have to acknowledge that your players might not notice all the cute subtleties and jump through all your flaming hoops. Everyone seemed to have fun with the game – some people just extended their fun further than others.

That's cool. I like that.

In terms of difficulty, I got a lot of comments that the game was pretty tough. Amusingly, these were invariably followed by "but I beat it anyway". I think this means it was exactly the right toughness.

Summary

After some testing, I was pretty sure it was going to be an epic flop. After reading a bunch of comments, it wasn't. Clearly I need to have more confidence in people. I think there's a self-balancing aspect with obtuse plotlines – if the plot or the Ultimate Ending is obscure or difficult, the people who figure it out will really love it. (See: Cave Story.) By beating your player over the head with it like No Such Thing did, alright, everyone's going to see it, but nobody's going to care about it. Fluffytown got people emotionally invested.

Now I need to figure out what game to do next – I've got two ideas, both of which I'm pretty sure I'm not able to do justice to yet.

Liberación de Fluffytown

2009, July 27th 9:32 AM

Here we go again! Experimental Game #2!

dead elephants make everything better

KABOOM

I'm not giving much commentary on this yet, since I need to get more responses unbiased by my comments. So: grab the game! Play it! Tell me everything you think.

No Such Thing As Too Many Guns

2009, June 24th 8:34 AM

Here it is. Experimental Game #1.


(Download for Windows)

I've already shared this around to some friends, so I'm just going to post my postmortem right now.

It all comes down to my mom.

My mom is not very good at games. She's better than she thinks she is, but she has a real hard time working through any kind of roadblock. Super Mario World? Can't get to a save point – can't even beat the second level. Braid? Well . . . it turns out she's actually pretty dang good at Braid.

The difference is the "game over" screen. She hates the Game Over screen. She hates being told "well, you're doing better . . . but *not good enough*!" Super Mario World has that failure screen. Braid doesn't – you just hit the rewind button and try it again.

No Such Thing is impossible to lose.

Seriously. You cannot do it. If you get hit, you lose your current gun and instantly get a better gun. Eventually, you will kill the final boss, and win the game.

The challenge is in seeing how far you can make it without being hit, and it's self-balancing in the sense that, if you can sling more firepower around, you can avoid being hit better.

I'd hoped people – even people who were bad at games – would find this interesting enough to give the game a few playthroughs. I'd hoped people wouldn't be scared of it – sure, you got shot, but all you got was a better gun! No worries! Keep on truckin'!

In the end, the game took about five days to make. I considered adding one to three more levels but I couldn't think of any interesting level gimmicks that wouldn't take a solid day just to code (walls, for example, or enemies that couldn't be described easily as circles) and it just didn't seem worth it. The gimmick was the interesting part, and the game is developed enough to test the gimmick.

What Worked

The game design itself seems to be rather effective. People enjoy it, and seem to frequently try several times to get a better score. That's what I was hoping for! Even people who are traditionally very bad at action games seem to enjoy giving it a few shots – sure, they're bad at it, but they get better at it rapidly. And since they're competing against themselves, rather than against a fixed "ha ha you are terrible at games" metric, they can see their progress in a more useful way than moving from #722,857 to #618,004 on a gigantic leaderboard.

So the idea seems to be a success.

Another goal for this game was to try out the game framework I put together. The framework is also a success. All the game and UI logic is in Lua, and that worked stunningly. (Coroutines and upvalues are golden.) I was worried about performance issues, but I flat-out haven't had any – the only performance problem I had was when I had a bug keeping bullets from being culled, so every bullet you fired flew forever. I cannot recommend Lua enough. You should be using it.

The framework was a little rocky at times – there were inevitable bugs – but I probably spent only a day or so overall fixing them.

SFXR turned out to be great for sound, and I'm actually quite satisfied with the sound in this game. For the amount of time I spent on it, it's perfect.

What Didn't Work

Originally I'd planned for the weapon types to upgrade as well. It seems to be a common issue in my games that I end up changing "upgrade weapon types" into "upgrade firerate" – this is the second time I've done it. I tend to do it because it's easy to tell which weapons are better if you do it this way, and it's easier to make a level that behaves interestingly, but the character suffers as a result. I need to stop doing this. Varied weapon behavior is more fun than just turning a slow-fire weapon into a rapid-fire weapon.

My art, while better than I feared, is pretty damn awful. I need to work on that more. Practice will help.

I'm still, fundamentally, afraid of OpenGL. I think my next project may have to involve a lot more flashy OpenGL effects that cannot be expressed with "draw some sprites", because I'm basically limiting myself to "draw some sprites". As with my art, that's making the graphics suffer, and graphics are an important part of the experience.

I still need to figure out some better patterns for making Lua do what I want. Things went great until I set it up so you could start over, or start another level, and then they degenerated into murk. I've got some ideas to fix this also, but I'm going to have to research Lua semantics more than I'd hoped.

Speaking of Lua semantics, I had a constant war with getting useful stack traces. I'm going to have to sit down and make a good stack trace library so I can get Lua stacktraces easily. It all works great until you involve coroutines, and then it melts down. It's solvable – it'll just take a day or two.

Taking a week to do some other stuff, then working on my dev framework a little . . . then moving on to another game.

Let me know what you thought of this one.

God of War Dissection: Myth and Story

2009, January 22nd 5:58 PM

I'm afraid I've lied to you all.

In a previous entry I explained in depth why game worlds need to make sense – not just in terms of Game, but in terms of World. I claimed that your world needed to be consistent, to feel like a living, breathing, realistic location, not like it was summoned out of the ether to provide a backdrop for a half-naked Greek dude to violently slaughter things.

This is actually a load of horse hockey.

But it's important to realize when it's a load of horse hockey.

God of War. It's one of the more successful recent franchises. God of War 1 was a Playstation 2 game, in which you played Kratos, a half-naked Greek dude who violently slaughtered things. I'm going to assume I don't need to continue the joke here – you can probably figure out what God of War 2, God of War: Chains of Olympus, God of War: Betrayal, and the upcoming God of War 3 are about.

The important thing to realize about the God of War series, which sets it about as far away from Dead Space as is possible for it to be set, is that God of War is a myth. It's not about some average-Joe engineer, thrust into a terrifying situation against his will. It's about a living legend. Kratos, the Ghost of Sparta. Kratos, the Hand of the Gods. Kratos, the God of War. Kratos is the main character in a world which fundamentally revolves around him – he is Revenge, he is Fate, he is Destruction.

On top of that, Kratos is the main character in a game that is, itself, fundamentally about fate and gods. Scratch that – fundamentally about Fate and Gods. Both of those tend to bend the laws of probability around them. Unlikely things become expected when prophecy is involved. When Kratos makes his way through a half-destroyed forest of columns, swinging from one to another as they topple around him, we don't think "ha ha, how silly, why were they all so precariously balanced in the first place, this game sucks" – we think "this is a test, we will vanquish the test and fulfill our destiny". When you realize that half of the puzzles involve destroying large blocks of stone, thereby proving that the puzzle has never before in the history of the universe been solved, and that some of them actually rely on certain parts of the puzzle being age-worn and easily shatterable, we don't think "ha ha, are we seriously expected to believe that Kratos was the first one here?" – we think "see how everything falls into place! Truly, we are the chosen one, and we cannot be stopped!"

This wouldn't work in Dead Space. Dead Space is not a myth – Dead Space is a story. Isaac isn't a Chosen One. Isaac is an unfortunate man in an unfortunate situation. The world does not care if Isaac lives or dies – Isaac can be shredded by industrial machinery, or devoured by zombies, or simply freeze to a cold lonely death in space, and fundamentally, nobody in that game will care (besides, obviously, Isaac.) Isaac isn't being pushed through by the Forces of Fate, there is no greater being controlling his actions – he's just a guy, trying to survive.

And this, incidentally, is one of the curious things about Star Wars. Star Wars is a myth about a random guy. On one hand, it is a myth – Luke Skywalker is the Chosen One. But on the other hand, Luke Skywalker is just some backwards hick from Tatooine. Most of the time, Star Wars feels like a story about some poor teenage dude who's way, way, way in over his head. Luke gets his hand cut off. Han gets frozen in carbonite. Luke gets beat up. Luke gets dropped into a fighter cockpit and told "we're all counting on you!" and, holy shit, they're all counting on him! Even when Luke is being ridiculously badass and slaughtering dozens of stormtroopers, you kind of get the feeling he's not quite sure what he's doing here.

And then he ends up in the Emperor's quarters, and everything shifts a little . . . and suddenly it's not a story about Luke Skywalker, Desert Farmer, it's a myth about Luke Skywalker, Jedi Knight, and oh hey lookit that, there's a reactor vent in just the right spot. What a coincidence! Almost as if it were fated to happen.

I'm not entirely convinced that shift was intentional. I think it was a lucky accident, and that the writers never sat down and said "okay, and here we change from story into myth". I think they just wanted to throw the Emperor into a reactor core. If anything, this is what I want people to get out of this:

Myth is good. Story is good. But you have to understand which form you're writing, and why.

And for bonus credit:

Arguably, I lied to you again. Sorry. Figure out where, and explain why it doesn't matter. (You'll need to know one of the two games I talked about in order to do so.) I'll post more about this later.

Games, movies, and magic have one major thing in common – misdirection. Show people one thing, then indicate to them that they saw another, and usually they'll believe you. In magic, it's harder because they're trying to figure out what you're doing while you're doing it. In movies, it's easier because the person is really just going along for the ride. In games, it's really easy, because the player is being assaulted by zombies and doesn't have any attention to spare.

At least, they don't the first time they play the game.

The second time, they're probably paying a lot more attention to what's going on around them. The zombies attacking, yeah, sure, they're a problem – but we've dealt with them before. Let's look at the other things around us!

This is when they discover how careful the game is at showing you exactly what they want you to see, and keeping you from doing anything besides what you're supposed to.

Not supposed to go through a door yet? It's locked. Got a cutscene to watch? I can guarantee every door leaving that room is locked – even if you just came through it ten seconds earlier. You can walk through a door, have it lock behind you, and then have the very same door unlock the instant you're done with a cutscene or a movie. Happens all the time.

Sometimes they even force you to look in certain directions. Sometimes, this is to make you look at something you're supposed to see. Sometimes, this is to make you look away from something you're not supposed to see. In the first level, there's an exploding shuttle. I bet you remember seeing it explode, right? It was really cool? No! You didn't. Because you can't have. The camera is jerked away from it at the last second, and when you turn back to it, it's already exploded. You're carefully prevented from seeing the exact moment it explodes.

The reason for that, of course, is that animating something large exploding in a realistic manner is expensive and hard. It's easier to just not show it. And it works great . . . up until the person realizes what's going on and decides to try exploring the boundaries.

This is a common issue in games. There are a good number of games out there that pretend you're given choices, but actually prevent all choice. The Half-Life 2 series is a perfect example – the first time you play it feels like an exploration, but every time after that you realize, hey, wait, I'm not allowed to go anywhere else! That exploration feeling was a ripoff!

I should mention that this is not necessarily a bad thing. The fact is that most people will never start a second playthrough – in fact, many people won't even finish the first. It's arguably kind of silly to triple your budget by making content that 95% of your users will never even see. (It's also arguably not. I'll post an entry about this someday.) But it does mean that going through the game a second time is kind of like being invited backstage at a live performance, or having the magician explain his tricks – all those cute things you noticed the first time turn out to be your own fevered imagination running a bit too fast.

Solution? There isn't one, besides solving the hard AI problem and writing programs that can generate content for us. Unfortunately, this is a ways off, and if we ever do solve it, we've put ourselves out of a job.

All I can say is: be aware of it, and try hard to keep the player from feeling constrained. At least, on the first playthrough.

Dead Space takes place on board the the USG Ishimura, a colossal "Planet Cracker"-class mining ship. It's a ship designed to literally rip apart planets to feast on the tasty, tasty ore inside. The ship's architecture varies from tight constricted maintenance corridors to huge open industrial spaces. At various points you visit the hydroponics bay, personal quarters, the medical bay, the bridge, and pretty much the entire set of possible important ship locations.

Most of the places you travel make sense in context of the ship's purpose. There's equipment suitable for its purpose, the layout is at least plausible, the lighting looks like it would be acceptable before zombies smashed up the place, etc. Some of the places do not make such sense. The ship is weirdly infested with inexplicable circuitous corridors. There are industrial areas that can best be described as mazes of walls. Why is there a maze in this ship? Did the crewmen just want a maze in their ship? There are strangely-placed high-speed trams that lead from one near-dead-end to another (the asteroid cannon being the most notable WTF moment). Why isn't, you know, there just a door which is closer? Are you seriously saying there aren't any other corridors within a kilometer? Overall, a good chunk of the ship just plain doesn't make sense.

Now, if the ship were designed by zombies – yeah, sure, go for it, zombies are crazy, who knows how they'd design it. But they aren't. It was designed by people. And when you're told that you're walking throughout a human-designed spaceship, and 3/4 of the ship makes perfect logical sense, those moments when you find yourself thinking "wait, why does this area even exist?" are painfully jarring. Why does this maze exist? Well, it exists because the game plans called for a maze, and by gum, we're putting a maze in!

What's the fix?

The only fix I can think of is to be excruciatingly careful that each location makes perfect sense, both for the game and in the context of the universe. It's hard, it's really hard, but I think it's important. This isn't an issue that's restricted to games – it's something movies get constantly wrong as well (please, explain to me why the Emperor's chamber on board the Death Star has a hole leading directly to the reactor core without even a guard rail) – but that's not an excuse, it just means we get more people to laugh at when we finally get good enough to avoid it.

For each zone, for each object in the game, you have to answer two questions. Why does the game contain this? Why does the world contain this?

If you can't come up with good answers to both questions, get rid of it.

Traditional game animation is (mostly) pregenerated. An animator sits at a computer and carefully poses the motion of each limb. Eventually, you have a spider that crawls across the ceiling and shoots acid in your face. Done!

In motion, this looks pretty good. In death, it's problematic. First, unless you've gone to the trouble of multiple death animations, creatures always die the same way. If you kill five hundred Basic Guards, you'll end up with five hundred identically-posed corpses lying around. Uncool. Second, death animations have nothing to do with the weapon you kill them with. Poke them a thousand times with a needle? He'll scream, fall over, and lie with his face on the ground. Shoot him with a portable nuclear warhead launcher? He'll scream, fall over, and lie with his face on the ground. Uncool. Third, death animations tend to "snap" from other animations. Basic guard takes a flying leap, jumps at you, you kill him midair . . . and suddenly he plays the Death Animation, which involves him instantly standing up in midair, then screaming, falling over, and lying with his face on an imaginary ground, while his corpse eventually falls into a pit. Uncool.

There's a solution to this. Games have gotten sophisticated enough that most modern 3d games include a basic physics engine. You don't need perfect physics for this, something simple is pretty effective. Animations are already based on a simple skeletal model – arms have two "bones", legs also have two "bones", etc – and it's easy enough to allow these bones to just move via the laws of inertia and behave properly on impact.

So you kill someone on a tower of boxes, his corpse will tumble down the boxes. You shoot someone with an air cannon while he's standing in front of a railing, he'll backflip over the railing. Rocket launcher to the feet? Flying guard corpse! Cool.

There's problems. (Of course there's problems. You think I'd be writing about it if it really were that simple?)

Ragdolls tend to be used only for actual death. It's just too hard to recover from a ragdoll collapse if the creature isn't actually dead. You knock a Basic Guard into a pile of boxes and he gets jackknifed between two – how does your Basic Guard recover from this? He doesn't, but now there's a living Basic Guard jammed uncomfortably into a pile of boxes. It doesn't work well. So ragdolls are only used for death.

But that introduces a new, irritating problem. Ragdolls can be used to detect death. Dead Space includes a gun that fires a shockwave which knocks things down. When knocked down, a lot of the zombies will cheerfully play dead, only to eviscerate you when you turn your back on them. However, it's trivial to determine if they're dead or not. See, when you knock them down, they always fall on their backs, with their legs facing you, and their left leg (from your perspective) slightly lower than their right leg. I know this very well from knocking down dozens and dozens of zombies this way.

When I see them fall down this way, I know they're just going to get up again in a few seconds. When I see them fall down any other way, I know the ragdoll mechanic kicked in, therefore I know they're dead, and therefore I can forget about them.

It's not very suspenseful.

I'm not sure what the solution is. It really is incredibly hard to recover smoothly from a ragdoll-based collapse. On the other hand, unless you have your artists make dozens of death animations, it'll always be easy to distinguish a "real" ragdoll death from a "fake" non-ragdoll death.

But it's a problem, and in a game like Dead Space, where detecting Proper Death is a very valuable skill, it's distracting like you wouldn't believe.

Change, No-Win Situations, and Zombies

2008, October 30th 4:19 PM

There are, as I see it, two main forces involved in the plot development of MMORPGs. They are the Force of Awesome and the Force of Progress.

The Force of Awesome is the group that wants new, exciting things to occur. They want the world to be torn asunder by eldritch powers beyond the ken of any current player (and then they want to level up and wipe the floor with said eldritch powers.) They want something new. The Force of Awesome is not named so because it's a superior, more awesome force, but because of what it represents. "Sure! Change everything! Let's have a global invasion! It'll be fuckin' sweet!"

The Force of Progress is the opposing force. They do not want change. They want to keep doing the same thing they've been doing for months, and continue making progress along the same lines that they have grown accustomed to. High Tinker Mechanopants over in Dwarfholm wants you to retrieve 18 bear butts, and by gum, we're going to go find those bear butts! (This will probably involve killing at least 60 bears. Surprisingly, most bears don't have butts. This is a different article that I will write someday.) This desire isn't necessarily a bad thing – the player just has goals in mind, and those goals do not involve eldritch powers besides their own.

The problem with reconciling these two viewpoints is that neither of them is wrong. There's no way to say that either one makes for a better or worse game – they just make for different games. Most of the time, MMORPG staff looks at this, realizes that following the Force of Awesome costs money, and lets the game go entirely unchanged.

Last week, the entire game of World of Warcraft was under assault by zombies.

At the beginning of the week you couldn't get infected unless you actually tried. Infected boxes appeared off in the middle of nowhere – you could fly over to them, wait ten minutes, wander around as a zombie while attacking people, and quickly get killed. You could in theory infect other people, but it took about ten minutes for them to become zombies as well (minus five seconds every time you hit them, which was rather inconsequential), any Shaman or Paladin could cure them before they became a zombie, there were NPC healers littering every major city, and overall force-conversion just wasn't practical. Fun, for a while. But that's it.

By the end of the week, things were different. There were infected boxes, infected cockroaches, and infected rats in every major city. Infection took one minute, not ten . . . minus five seconds every time you were hit, which suddenly became a serious issue. Cures had perhaps a 10% chance of working. The NPC healers were almost entirely gone, and the few remaining ones were frequently swarmed and slain by dozens of zombies. Entering a major city would result in zombification in minutes at most, frequently seconds, and even minor cities were often zombie-infested wastelands.

It. Was. Awesome.

I imagine you can see where I'm going with this.

As awesome as the zombie invasion was, people who simply wanted to level their characters found this impossible. You couldn't enter major cities, you could barely enter minor cities. If you weren't level 70, or near to it, you expected to die instantly if you got anywhere near civilization. Realistic for a zombie assault, perhaps. Not fun for World of Warcraft.

There were complaints like you could not imagine. Wars on the forums. Screaming matches in trade channels. One group of players claimed it was the worst thing the developers had ever done, one group claimed it was the best thing. (And then the latter group attacked and zombified the former group, which didn't really help matters.) Amusingly, the latter group was divided on its own – some people set about zombifying everything they could, some went on a zombie-hunting and disease-cleansing rampage, with righteous anger flung between both groups whenever possible. Every group insisted that their method was the One True Way To Play The Game.

Skeletons carpeted the ground. Literally.

Then a cure was discovered, and the zombies vanished, never to be seen again (unless they repeat the event next year.)

It remains to be seen whether it was a savvy business decision.

Hundreds (if not thousands) of people posted loudly that they were canceling their subscription for World of Warcraft. I imagine most of them have quietly resubscribed by now, though certainly not all. Some people still grumble, of course, about the wasted time and the wasted money spent repairing equipment.

But then others tell war stories.

We held them off for two hours – Alliance and Horde, side-by-side, no common language but a common goal.

I entered Ironforge not knowing what to expect. I barely escaped with my life.

We started the infection in the Spirit Rise. Within half an hour, the city was infested. I personally converted two dozen guards. All hail the Lich King.

The cockroaches are gone, the corpses removed, but the sky is still black, the air still smoky.

The Argent Dawn set up a place of worship. We knelt, and prayed for the horror to end. A wave of the Scourge would attack, and we would raise our weapons against them. Afterwards, the survivors knelt again.

And that's why the Force of Awesome is a force to be reckoned with.

I imagine they lost a few subscriptions from the Progress camp – but I imagine they've gained a few as well, from people hoping to see, and participate in, the next zombie invasion.

Last Panel Hook: Keeping the Player Interested

2008, September 30th 3:51 AM

There's a very common comic-book writing technique focusing on the last panel on a page.

The idea is that the last panel is incredibly important. People reach that panel, and they have two options. They can turn the page and see what's next. Or they can stop reading. Now, technically, you can stop reading at any point – but how many people stop reading in the middle of a page? Nobody does. You reach the last panel and you decide then.

Therefore, you want that last panel to encourage the reader to turn the page. There is something exciting on the next page! You'll never know unless you turn that page! You have to see it! And, of course, once you do . . . well, you have to finish the page . . . and then, well, one more page won't hurt. Right?

I imagine there's a similar concept involving movie scenes. It's not much of a stretch to imagine a playwright equivalent. Books are trickier, as there's no particularly obvious "common break point" besides the end of the page, and there are a lot of pages in a book.

Extrapolating to video games isn't hard either.

I've been playing Ratchet and Clank Future: Tools of Destruction. It's a science-fiction action game, broken up into somewhere around 15 levels. Each level takes place on a unique planet – you travel to a planet, walk around killing things, then travel to the next planet.

There is almost no hook to keep you playing the game.

Oh, sure, there's another planet out there. Maybe this planet has a superpowerful world-destroying device on it! Maybe the next planet will contain some crazy alien artifact! But you quickly realize that the plot of the game has no effect whatsoever on the gameplay. You could be playing Ratchet and Clank's Grand Tour of the Galaxy for all the gameplay cares. That superpowerful device? It'll only factor in as a plot point, it's not like you'll get to use it yourself. Crazy alien artifact? Bet it'll just tell you where another planet is! Oh look it did, guess we'll go there now. Ratchet and Clank is still a fun game, but I never once found myself saying "one more planet", "one more quest", "one more zone", because the only reward to "another planet" is the ability to go to the next planet.

Start at point A, travel to point B. Find new planet. Repeat. It's a very linear game.

Conversely, there's a game called The World Ends With You. TWEWY is divided into "days". You have tasks to complete each day, and when you've finished them, the day ends, whether you want it to or not. Then the next day begins. There's no going back, at least until the end of the game.

TWEWY goes to incredible lengths to put a hook on the end of each day. Sometimes it's just a plain cliffhanger ending. Sometimes it's such a huge cliffhinger you can't imagine how the game can even continue after the events of that day. Isn't, like, the game over? Aren't we done? No. No, you are not done.

And sometimes – I love these – sometimes they show you half of the end-of-day events. Then the day ends, leaving you confused and wanting to know what actually happened. (Save your game! Continue to the next day? yes/no) The next day begins, and you get maybe five minutes of gameplay at most, and then they have a flashback to the section you just completed showing you what actually happened. And then the next day's plot seriously begins.

But, wait, you're already playing the next day! You can't stop now. You'll have to wait until the following day to turn the game off.

Start at the beginning of the day, go to the end of the day. Start another day. Repeat. TWEWY is an even more linear game than Ratchet and Clank is – and yet, it's far more interesting, and it does a far better job of making you want to play more. I'd argue that a lot of this is simply due to TWEWY's end-of-day hooks.

When it comes to game design, it's easy to spend too much effort on the game design part itself. Combat mechanics. Stats. Interfaces. It's important to remember that, with few exceptions, games also involve plot and writing. Weak writing can kill a game, and we don't actually know much about how games should be written yet – so we'd better steal as much as we can from other mediums.