October 20, 2012
Replaying my own games, part 1
I've never been one to replay my own games; once they are accepted by Sony or Microsoft or whomever, I set them aside and move on to other things¹, and until a couple of months ago I had never played the retail version of one of my games for myself. But I've been playing through my PlayStation 2 library and the first title on my shelves I hadn't yet finished was "Star Wars: Starfighter," which released in early 2001.
It was a bit of a trip down memory lane, and I tended to be most critical of the most visible work I had done on the project, the flight AI. This was my first project, and my role settled into writing flight models, mission logic support (an event-driven framework of "when x happens do y" for controlling missions, using our simple imperative interpreted script commands), collision response, front-end UI support, and of course, the AI flying the ships and driving the tanks². Basically, if it was a 3D model and it moved, I had programmed how it moved both from the physical movement and the way the AI would control the same. The designers provided the data as to how fast things moved and who should target what and when.
As soon as I finished I wanted to dig out the source code and start "fixing" it. I've become a much better programmer since then, I hope, as that was my first real job and the first time I had been exposed to any sort of software architecture and engineering. I came to LucasArts straight from graduate school; I was a self-taught programmer starting from the age of 10 or so with various languages on the Apple ][, and it's fair to say that the graduate-level code I was exposed to was cobbled together rather than architected. Playing the game I felt like the flaws in the AI were all mine and very fixable, particularly the ways in which various ships would wobble back and forth when nearing their intended flight vectors.
That said, it was fun to return to the game and experience it almost as a new player after more than a decade away from it. From the design side, my biggest criticisms are of the difficulty and the narrative.
I can remember handing the controller to people to show them the game back when it came out, and how hard it would be for non-gamers to approach. Even our first "training" mission, which serves as a bit of a tutorial, was entirely too difficult -- and not because of being shot at, but fully due to the twitchiness of the controls and the very close canyon walls through which the player had to fly. Add to that a hand-crippling combination of shoulder buttons to manage speed and collisions that would inevitably send you caroming off into another wall for a killing follow-up collision, and it's a wonder anyone over the age of 18 could play it at all.
Even as a seasoned player returning to it after years, I thought I'd find it entirely easy -- I played hundreds of hours of this game when I was building it, testing new features and fixing bugs, reproducing issues to understand them, all the normal to and fro of game development. But there were still what we referred to as "wall missions," missions that were just so tough that we worried that only dedicated players would get through them. One such was "Heart of the Storm," which has you playing as pirate Nym trying to protect his base from the invading Trade Federation and having to beat a retreat -- in a way, this was our Battle of Hoth, and I must have played it a dozen times this time out trying to make my way through it. The other was the final mission, which has the player controlling Rhys Dallows³ having to fly into the interior of a Droid Control Ship, as in the Phantom Menace. Many times I found myself cursing the names of Jesse Moore and Troy Mashburn, who designed those levels, as I'd wait for the level to reload.
The other thing that hasn't aged well is the storyline. Back when we were coming up with the idea, I worked with our first production manager, Wayne Cline, to come up with ideas for a story. I really supported the idea of having multiple characters and therefore ships that the player could control in intersecting plotlines; that seemed then (as now) to be very "Star Warsy". But either as a result of being too close to the project ourselves or due to having to cut seven missions about nine months out from ship to be able to get the game out in the fiscal year and the PS2's launch window, the resulting story is almost unintelligible to me now. I found myself not really knowing what was going on in the story, but as a gamer, I didn't really care. I just kept shooting at the red targets.
The big flaws in the story come from distance and reinforcement. For example, the big baddie you're trying to kill at the end of the game was responsible for the death of your wingmate in the first few missions, Essara Till. But he's just a voice over the comms for the entirety of the game, and there's several hours of gameplay between that encounter and the final one. I'm fairly certain some of the cut missions would have reinforced this guy as our villain, but the game that shipped simply doesn't draw the connection very clearly. He's meant to be a pirate who's somewhat at odds with another lead character, Nym; Nym was originally envisioned as having a five mission story arc at the beginning of the game that established his bona fides as a scoundrel and pirate making money off the Trade Federation until they got mad enough to come after him, and the big villain would have reflected that.
Many of these things we addressed in the sequel, which had a shorter development time, and which I'll discuss in part 2.
¹With the occasional exception of showing the game to someone else, but then I'm acting more like a host than a player.
²When I consider the amount of specialization involved in gameplay these days, from pathing to animation to planning, it does seem like I wore a lot of hats back then.
³The whiny stand-in for Star Wars heroes of the Skywalker lineage -- he was our young pilot from Naboo. As bad as his voice acting is, some of the other auditions were even worse. It seems like they were all either channeling Luke saying, "But I wanted to go to Toshen Station!" or in one memorable audition reel, Casey Kasem.