« I Should Have Finished... Maximo: Ghosts to Glory | Main | The Worst Thing »

March 03, 2013

Replaying my own games, part 2

A few months ago I posted about Star Wars: Starfighter, my first title, and now I've gotten to the point in playing old games I hadn't finished where I've run up against my second game, which came out a year later, Star Wars: Jedi Starfighter.

By and large we made some significant improvements over the first. The introduction of large capital ships and Force Powers to the basic formula of Starfighter are welcome ones, and make it feel more Star-Warsy than the original. The storytelling is better, too, with ties to the film largely cut away¹ and some clear continuity in the missions, particularly Nym's story arc, which ties together several missions in the construction of a moon-based cannon to provide cover as they retake the base they lost in the first game.

It had some similar issues with difficulty as the first, just a substantially strange curve, though in this case it tended to err on the side of being too easy at points, particularly at the end where, owing to the ability to slow down time using the Force, you can pretty much knock off the final boss in a matter of a few seconds².

My job on this one was different from the original, my first time out as a lead programmer, and so I think of it differently. I was an active lead, as the only programmer from the first game to return, and took on different responsibilities³. As a sequel done in roughly a year of development, we started from the original game's code and focused on higher performance and adding features such as the Force powers, additional weapons, and co-operative play throughout the main missions. Several of the designers from the first game returned, and their knowledge about the tools and performance characteristics of the engine made for a very stable development cycle; as I recall, this game went through six months of QA with fewer than 400 bugs4.

The one fixed constant through development was the schedule; due to whatever reasons, this product had to ship in the fiscal year, which ended at the end of March. So we adopted a strategy whereby we reviewed paper mission designs early. The format of the meetings was simple; there'd be 10 minutes of the level designer describing the mission and answering brief questions, 5 minutes each from art and tech describing risks they saw with the design, and finally 10 minutes revising the mission or coming up with approaches that would help ameliorate the risk.

For example, the sixth mission of the game as described was originally meant to take place around a truly immense mountain, so high that you couldn't see the ground, and really a cloud cover would provide the visual reference of the direction of gravity. There were obvious difficulties with this and as a production team we allotted a small amount of time to prove out the risk artistically; in the end, it was scaled back to the large but not truly immense landmark that actually shipped. Similarly, a mission that was to take place on a small moon would require gravity that attracted bombs to a point, rather than along an axis, and the recommendation to the designer in that case was to build it in such a way as to have most of the mission take place on the side of the moon which would already align with the way things worked in our ground missions (and in this case, tech was able to give the designer what he was looking for, but the risk was largely avoided by design). Every mission was reviewed in this way.

Certain aspects certainly could be improved:

  • To provide replayability, every mission has bonus and hidden objectives, with the thought that multiple plays would unlock rewards and such, and this lack of information can be frustrating, so it may have been a good idea to unhide them once you finished the game.
  • There's no notification when you receive a new weapon or Force Power, so players may not even realize they have them5.
  • We should have better instructed the player about various elements of the controls, particularly with regard to controlling wingmen, ground units, and in the final mission, the giant space cannon.

Surely there are other issues, but on this revisiting, those are the things that stood out.

It was fun to take the old Jedi Starfighter out for a spin again and remember that frenzied production, which included a dramatic rewrite of the plot after the events of September 11th the year before it came out. I really enjoyed working on those games, and I'll always remember them fondly. Between the two I had so many firsts, including the first time I ever got to be on a production set for a commercial, about a poor Jedi who loses his keys.

¹With the exception of the Jedi Starfighter itself, and a few lines here and there about events on Geonosis while you tackle a mission there... On the other hand, I may just be missing the references, since I skipped the second and third prequel films on the strength of the first.
²It's quite amusing, too, since he ends up playing all of his lines one right after the other, the "I'm at 75% health" line, and the "I'm at 50%" line, all of which are basically along the lines of how feeble I am compared to him, how inevitable my defeat is, how the world will soon be his, yadda yadda yadda, ended with a dying yell.
³This was, for example, my first time professionally programming at the system level, as I made substantial changes to the resource system.
4Here again we had the benefit of a well-built code base and development strategy; the original Starfighter went through a bit longer QA cycle with just around 1000 bugs.
5Indeed, I was nearly at Nym's final mission when I remembered some of the advanced secondary weaponry he had, and I built the damned thing. =) After every project I did with lead designer Tim Longo, I'd ask him what he thought we most missed, and in the case of JSF, it was the planned but cut for time feature of announcing new weaponry at the end of each mission. I can't disagree, in this case.

Posted by Brett Douville at March 3, 2013 08:08 AM