The following blog post, unless otherwise noted, was written by a member of Gamasutras community.

The thoughts and opinions expressed are those of the writer and not Gamasutra or its parent company.

I like Kung Fu Panda. It's a great movie. It showcases the reasons why animated features can do so well. The story is nothing we haven't seen before a thousand thousand times, but it's done with the utmost care and skill. There are no cynical short cuts or sudden, nonsensical twists. It's genuine and earnest. As the hero of one of these movies would say, "it has a lot of heart." It also has the skill to armor all that heart.

Po, a Loveable Loser and panda, is revealed to be the Dragon Warrior, a Kung Fu prodigy or some such, much to the chagrin of Shifu, the deuteragonist (big word literary word that means "second most important character") and red panda, as well as his students, the Furious Five. The movie isn't about Po being the Dragon Warrior. It doesn't matter that he is. "Dragon Warrior" is an impressive title that means nothing. The movie is about Po being okay with himself. Discovering he's been a Kung Fu Prodigy all along and what he wanted was acceptance for who he is.

That's a metaphor - the Dragon Warrior thing. The movie is filled with them. Dozens and dozens. Po and Shifu. Po, a big, goofy, cuddly, enthusiastic little idiot panda, is tormented by the small, sharp, grim, pain-in-the-ass red panda, AKA Shifu. Both find peace with themselves at the end of the narrative, mostly by interacting with the other. Ying and Yang. Balance. Metaphor.

For today's discussion, though, I want to focus on a specific scene: Tai Lung's prison escape. I love this scene. Aside from any with Oogway (the tortoise, Kung Fu's discoverer, and Randall Duk Kim), it's my favorite.

Tai Lung has been held there for twenty years, chained and weighted to the bottom of a cavern, surrounded by pointlessly arrogant javan rhino guards, armed and eager to taunt him. Tai Lung is so completely and utterly trapped that it's ridiculous. Who is this guy? Why lock him here? Why not just kill him? Or lock him up and never visit? This doesn't make any sense, unless the prison itself has meaning.

Good news! It does.

His personal, tailor-made rhino guarded hellhole is a specific kind of metaphor, which are often called tropes, named "The Alcatraz." More in line with the spirit of that fort-turned-prison-turned-attraction and not the actual place, "The Alcatraz" trope is about a massive, gruesome object that keeps the worst parts of something away from everything else. Why have such a thing? Why put people in there? Even terrible incarnations of pride and violence? In fiction, the reason for these structures and metaphors are often personal and come from a specific character. In this case, Shifu.

Shifu loves Tai Lung like his own son. Like he loves his other half. His Yin. But he also kind of hates him. Tai Lung is proof that grim, serious people (like Shifu) can't run the world alone. See what happens? They make Tai Lungs, who go on rampages, attack people, destroy homes. That's out of balance (to say the least). And so Shifu has Tai Lung locked away. It would be easier to kill him, especially after Oogway rendered the ferocious snow leopard immobile, but Shifu doesn't. He locks his student away because he loves Tai Lung too much.

Shifu is hoping that Tai Lung will change and find peace. He's hoping the anger and pride and all that raw aggression boiling in Tai Lung will wither away under years of motionless, constant, isolation. That if left with nothing but himself, Tai Lung will turn inward and resolve his issues and leave the prison a tranquil warrior-poet.

Tai Long does not. Instead, he obsesses. He's got nothing else to do. He's a Kung Fu master. He's the Dragon Warrior, in every way but name. He has complete control of his body and mind. He's surviving of the "dew of a single gingko leaf and the energy of the universe." He'll never sleep or get bored. He'll never die. He will just wait. He will get the Dragon Scroll. He will kill everyone in his way. Then he will kill everyone else. Shifu and Po better figure their Odd Couple routine before Tai Lung gets out.

Spoiler alert: he escapes! Before they do! And with a feather!

This is not surprising so much as it is dramatic. The audience knew he was getting out. Otherwise there'd be no movie. This movie isn't about Po going to the prison to face Tai Lung. It's about meeting trouble on trouble's terms and overcoming it anyway. The scene is dramatic because we learn a lot, we experience Kung Fu Power, and then fear and anxiety. Look at this guy, and what he does.

He is never challenged. The guards, and their weapons and traps, are nothing. Not even bumps. They're how he climbs out the place. And at the end, when the rhinos have their last stand on a tiny bridge with explosives, Tai Lung proves that he's not only a bad ass, he's smart. We're watching it and we're impressed and we're terrified. Our heroes have their hands full.

It's worth a rewatch. Go ahead, take five minutes.



Good right? Just so well done. Smooth, focused, intense, fun to watch. Now imagine you wanted to tell the same story of that scene, and of the entire movie, in a video game. A Kung Fu Panda video game.

(I know one already exists, it's not relevant to this discussion. Move along.)

How do we make the movie a game? Something a person could say, "I played that game" and not "I watched that movie." It's already a movie. Now we're making a game. We want communicate the same metaphors and perspectives and arcs, but in a video game. How do we do that?

With that weird piece of plastic and wires in a player's hands, often called a "controller," "gamepad, or "piece of shit."

The buttons on that controller can mean anything. They don't have to always mean "forward" and "punch" and "use item." They're the video game equivalent of a simile.

Do we all remember what a simile is? Too bad, I don't believe you: a simile is a specific kind of metaphor, not because of what it conveys (like the Alcatraz) but because of how the comparison is made. A simile always has "like" or "as" in it. The player will (almost) always interact with that button by pressing it. What it connects that press to can be anything.

So in the Tai Lung prison escape scene, what should the button presses to do? He does do a lot of punches and kicks, and a lot of jumps. Running, too. It'd be easy to just do that here. The stick moves him, the buttons throw punches and snap kicks. He can grab rhinos, throw them, jump thirty feet. It could be done as a Quick Time Event, but that's just taking camera control away from the player. It could be a cuter, fluffier version of a God of War sequence. A sprawling 3D level with incredible set pieces, dozens of enemies and traps, plenty of obstacle and difficulty.

But that's a problem. Remember the scene? Does Tai Lung look like he's having a difficult time? I don't think so, either.

The scene isn't about feeling powerless or defeated, or even challenged. For the rhinos it is but, unfortunately for them, they exist in the Kung Fu Panda narrative so Tai Lung can demonstrate his ferocity to the audience. He does so here. The level in the hypothetical game could be about stalling Tai Lung's escape or facing the inevitability of rhinos' defeat, but those are different metaphors and perspectives. They mean different things. In this level, to communicate the depth of power Tai Lung has and instill the proper sense of drama in the audience, the player should control Tai Lung.

This is also the reason the scene in the movie starts on Tai Lung and stays with him. The audience doesn't need see the rhinos assembling and readying their traps, just the traps. The important narrative element is that Tai Lung gets out, not that the rhinos can't stop him.

Which highlights another problem, especially in games with strong narratives. What happens when a player's fingers don't do what they should? How does the game deal with mistakes? Save files and game overs? Checkpoints? A life meter? None of those options fit the purpose of the scene.

Tai Lung wouldn't fail escaping. He doesn't. In the one example available, he escapes. That's a small data set, but it's better than nothing. I doubt any player could make it out of the prison on a first attempt. I also doubt any player has a prehensile tail to flick the goose feather that picks the turtle shell lock. What does a player do then? Designing it as a sprawling action level akin to Super Mario 64 or Devil May Cry is thematically and mechanically inconsistent with what the scene is about.

What I'm dancing around here is that the buttons a player presses, and when they're pressed, are irrelevant. The scene has no fail state. The game isn't telling the story of Tai Lung's totally-awesome-except-when-he-fell escape from prison. It's telling the story of Po becoming the Dragon Warrior. For that story to be told the way Kung Fu Panda wants to tell it, Tai Lung has to break out of prison, and he has to break out without breaking a sweat.

So the player isn't going to fail. There aren't any right or wrong buttons to press, with good or bad times to press them. Every button pressed, however, does something. It should carry Tai Lung closer to the exit. When the player flips the control stick or presses a button, Tai Lung's tail whips or flips the feather pushes a pin in place on his tortoise shell manacles. After a few more flicks the shell pops off. The players next button presses and stick wriggles stretch and flex the now free Tai Lung. Then they block, dodge, and deflect the massive bolts loosed at him from above. Then they jump him five screens up to a ledge or he dashes around the walls of the cavern to the next level. He looks amazing doing no matter what he's doing. He wins every fight, clears every obstacle.

The player's use of the controller isn't to respond to events the game creates, but instead to control the events of the story as they happen or to trigger the events themselves. A button isn't mapped to "jump," for example. It's not really mapped to any single, specific command. Instead, a button is mapped to "Tai Lung jumps from the platform to a crossbow bolt in the wall" and later to "Tai Lung jumps from falling stalactite to falling stalactite." The buttons are mapped within specific contexts. Maybe, during the stalactite jumping sequence, every button is mapped to jumping to a specific, random stalactite while always jumping closer to the top. During a fight each button press doesn't punch or kick, but rather it punches a rhino already on screen, then in dodges an off screen rhino's charging attack (because there weren't enough frames left to start a new jump or jump but there were enough to go into a punch-dodge sequence) or something else fun and stylish. Another sequence of button mashes throw a combination of punches, kicks, and tricks that pummel a group of rhinos streaming in from off screen and hurl the last one through a doorway Tai Lung has been breezily fighting his way toward all along.

This might be pretty fuzzy right now. How the hell does that work?

A game's software is aware of lots of things during any nanosecond of a game. Things like:

"Player is at X location, facing X-North."

"Player pressed button 1."

"Player is pressing button 5."

...and so on.

It can also keep track of things like how long a button's been pressed, what buttons were pressed before that specific button was pressed, what those buttons did before that one button was pressed, where the player was when they were pressed, where enemies were before the button was pressed, if they could be affected by the button's action, and on and on and on. Fighting games have been doing this for decades.

Software can't run on assumptions. Those are glitches and bugs and Stop Errors. So even if the game doesn't care that a player has pressed button 1 for four seconds (because it has no charge attacks, or rapid fire stuff) the software still knows the button has been pressed. It has to know this. Because what if it wasn't pressed, then pressed again really quickly? Like tapping? Maybe those are light, super quick attacks. With a few lines of code, a clever programmer could pull that data from the software. A clever game designer would take that data and make it do something neat.