The latest issue of Gamasutra sister publication Game Developer magazine
includes a creator-written postmortem on the making of Square Enix's Final Fantasy Crystal Chronicles: My Life As a King
, the company's first WiiWare effort.
These extracts reveal how the team faced development obstacles on a project of smaller scale than its typical RPG epics, due to the tight size and budget limits, but how those restrictions and some early development choices ended up streamlining the process and encouraging creativity.
Team lead programmer Fumiaki Shiraishi crafted the postmortem, which was introduced in Game Developer
"Final Fantasy Crystal Chronicles: My Life As a King
was a WiiWare launch title in Japan, and sits somewhere between a strategy game and a god game. In this technically-oriented postmortem, lead programmer Fumiaki Shiraishi shares the ups and downs of implementing scripting for designers, the benefits of small file sizes, and the trouble with overblown AI."
Using A Lightweight Language...Heavily
Starting out the in-depth postmortem, Shiraishi describes how the team settled on the Squirrel language to code its game, an unusual decision for a Square Enix project, but one which paid off in its flexibility:
"At Square Enix, we usually allow planners (which are similar to game designers in North America) to use lightweight languages or scripts to implement cutscenes, which we usually refer to as events. Programmers at Square Enix only use assembly, or C, or maybe C++.
"We knew that
My Life as a King was going to be a different kind of game compared to our usual titles. So for our development process, we wanted to have flexibility above all else, and we hoped to gain that by relying on a script language. After a little bit of testing, we decided to use Squirrel.
My Life as a King, all the engine aspects are implemented in C++. This includes graphics, sound, collision detection, camera, and data IO. Everything else, such as AI, user interface, game play, and cutscenes are implemented in Squirrel. The actual main loop and all the transition control is also written in Squirrel.
In bytes of code, approximately 89 percent of the code is in Squirrel and 11 percent in C++. In terms of CPU time, our C++ took about 85 to 95 percent. This is reasonable, considering this included matrix calculations, sound, and collision detection.
"All of our programmers agree that this game would have been completely different if it were not for Squirrel. The programming of My Life as a King required a lot of rewrites and a lot of throwing away. One of the benefits of scripts is that rewriting them is faster and easier. There is also less of a psychological barrier in throwing away code.
This actually makes a big difference. I know from experience that Squirrel code feels a lot easier to throw away than C++ code. The result is that I am a lot more open to game design changes when they are needed, and for this game, the small design changes made all the difference."
Not Seeing The Forest For The Trees
Moving on, Shiraishi comments on how, at points throughout the development process, the team focused on certain design components at the exclusion of the project as a whole, before realizing larger-scale iteration was necessary:
"One of the buzz words in the industry is 'iteration,' and we definitely tried to iterate parts of our game. However, we spent too much time iterating small parts of the game before we knew exactly what the whole should look like.
"Very early in the development cycle, for example, we invested a lot of time iterating our battle system and the battle report design. We thought at the time that the game would be fun if the battle reports were interesting. We focused on trying to make the battle reports as short as possible while also fun to read.
"Two or three months after we thought we were done with the battle system, we finally had the rest of the game in place. That was when we realized that anyone playing this game was not going to read the battle reports.
From our play testing, we saw that players read the reports only when they really had to, and even then only very briefly. Rather than needing to be fun, we realized that the reports needed to be easy to read at a glance. We ended up having to redo the battle system from scratch.
"What we learned the hard way was the importance of being aware of the 'big picture.' We wrongly assumed that if the battle reports were fun, then the whole game would be fun. We learned only afterwards that the battle system was only a small part of the playerâ€™s experience, and much of the iterating that we did turned out to be wasted.
"We were fortunate enough to have ample time to iterate some more once we did see the big picture, so iteration did prove to be important. The lesson learned was to not iterate a small piece of the game too early and just for the sake of iterating."
A New Development Model
In the end, Shiraishi was pleased with the experience of working on a small WiiWare title, whose constraints opened up new types of development and design that would not have been obvious choices with a larger, triple-AAA budget. He summed it up as follows:
"WiiWare, like many other download platforms, offers a market for medium-sized gamesâ€"not as large as boxed games, but not as small as cell phone games or some of the simpler casual games. As the industry moves forward, the lines separating all these types of games will blur.
"As game developers, our challenge is to create the right game for the right platform for the right market, but in order to do that we need the skills, the infrastructure, and a development process flexible enough to adapt quickly. I am hoping that our project was a small step in the right direction.
The full postmortem, including a great deal more insight into Final Fantasy Crystal Chronicles: My Life As a King
's development with "What Went Right" and "What Went Wrong" reasoning, is now available in the June/July 2008 issue of Game Developer magazine
The issue also includes an analytical study of 3D brawlers, an examination of the free-to-play MMO market, and an interview with acclaimed Grasshopper Manufacture composer Masafumi Takada (Killer7, No More Heroes
) - plus tool reviews, special career sections, and columns from Bungie's Steve Theodore, Lucasarts' Jesse Harlin, and Maxis's Soren Johnson.
Yearly print and digital subscriptions to Game Developer are now available
, and all digital subscriptions now include web-browsable and downloadable PDF versions of the magazine back to May 2004, as well as the digital version of the Game Career Guide special issue.
In addition, the June/July 2008 issue of Game Developer is available in digital form
(viewable in a web browser, and with an associated downloadable PDF).