Everything Ira Glass does tries to be crap, but he just won't let it.
Note: This is the second in a five-part series of blog posts discussing the lessons we learned while making our first game, FAST FAST LASER LASER. It was originally posted on UtahRaptorGames.com
We'd just installed code for artificially intelligent computer opponents (bots) in FAST FAST LASER LASER, and I was having great fun parrying attacks and dodging lasers from the AI players. Finally, after months of one-on-one matches against the game's lead programmer, FFLL was being played the way it was always mean to: with four players dashing around the screen, filling the arena with multi-colored lasers.
Suddenly, the green guy stopped in his tracks. He stood still for a moment, and then turned to face a wall near the edge of the arena. Ignoring other dangers around him, he began firing rapidly at the wall, where his laser blasts immediately dissipated. After 10 or so shots, he holstered his blaster and ran at the wall--and passed right through it.
Free from the boundaries of the level, the green guy left the screen entirely, sprinting into the dark void of space. Although I could no longer see him, I could hear him firing his blaster in vain, and the game's UI showed that he was alive and well despite his environment.
Your video game hates you. Every time you add a new feature, three others will break, often in hilarious ways. Pieces don't work the way they're supposed to. Nothing is balanced properly the first time. Textures get stretched. Music files trigger at the wrong time. Bugs. Glitches. Maybe you make the game successfully and it turns out to not be any fun at all.
Here's a typical conversation between me and JB (the game's lead programmer) while working on FFLL.
"Hey dude, the purple guy just flipped inside out and exploded, and the game crashed and the Xbox system menu popped up with a message telling me to kill myself."
"That shouldn't be possible."
"No, it happened, I swear. "
"How do we fix it?"
"I don't know. Let's watch Jerry Springer."
Fact: Jerry Springer can solve any dispute of any magnitude within exactly three commercial breaks.
Ira Glass, host of the incomparable radio journalism show This American Life, is well-known for a series of Youtube videos in which he talks candidly about the creative process, and the trials facing anyone trying to do something creative. He speaks about it in terms of his experience in radio, but his wisdom can apply to any other creative medium (like video games) as well.
"Anything you put on tape… it's trying to be really bad," Glass says. "It's trying to be unstructured, it's trying to be pointless, it's trying to be digressive. You have to prop it up aggressively at every stage of the way if it's going to be really good."
Aggression might be the key term here. Half of game development (possibly far more) is spent banging your head against a wall, screaming at a piece of inanimate, godless software that won't do the thing you want it to do. It's annoying, but this has far broader implications; you'll find yourself not accomplishing things in the time-frame you intended them. Deadlines get stretched, expectations get lowered.
We first started work on FFLL in September of 2011. This is a game that we're selling for $1 on a marketplace with barely any users, so we were really hoping to have things all wrapped up within three, four months tops. And yet, here I am 14 months later, and we've only just recently wrapped things up.
I've interviewed scores of other independent developers, and their experiences often align with ours. It's common for schedules to get blown out or multiplied in length by three, and the effects can be financially devastating. Even people who have shipped a game before sometimes fail to understand how seriously their games hate them. Games do not want to get made. They want to break, and be infested with bugs, and just suck in general. Making a great game is a fight against the game.
I'll give you another example. Normally, when a player dies in FFLL, they flip up into the air, land on their backs, and then a laser warps them out to Space Heaven so they can go live with Space Jesus. If they have remaining lives, Space Jesus kicks them out and they're shot back down to earth via another warp laser.
This is the second-weirdest image that comes up if you do a Google Search for "Space Jesus." The other one is a picture of Jesus taking out some UFOs with holy laser beams shooting out of his holy eyes.
But, it doesn't always work that way (or so we learned). Right before we submitted the game for approval on the Xbox Live Indie Games site, we noticed that something odd happened if you quit a game right when a player died.
JB started up a new game as the purple guy, and right at the start of the match one of those respawn lasers shot down from the sky and crashed into the blue bot. Suddenly, the bot had the ability to run at twice his normal speed, and he had more ammo than normal. Every time after that, whenever JB killed him, a clone would appear in the location of his death, and multiple warp-in/warp-out beams would scream across the screen.
The game didn't get submitted that day. Or the next. When we finally fixed the problem and submitted it for approval two days later, things were looking up. I tweeted my excitement over having the game finished, and within 12 hours a follower alerted me to a fatal flaw in the game's code. We pulled it from submission, and were prevented from re-submitting for a full week thanks to Microsoft's rules.
FAST FAST LASER LASER hates me, but I've almost beaten it.