Postmortem: ngmoco/Demiurge Studios' WordFu
August 5, 2009 Page 3 of 4
What Went Wrong
1. New Technology Hiccups
Not only were we completely new to the platform, the platform itself is relatively new. We encountered a few problems as a result of being unfamiliar with it.
Old habits die hard, and in our initial stages, converting primarily PC users to the Mac OS seemed like enough of a problem. Just getting over the fact that Ctrl+C didn't copy and F3 didn't find the next instance of something took a while to retrain the muscle memory. After many years of using Visual Studio, switching to Xcode also took some getting used to.
Next came the real problems. We were crashing a lot, due to running out of memory. When we learned how to use the Instruments tool, it showed us quickly where the memory was being sucked up. It turned out we weren't allocating memory efficiently, and we could see that audio was the main offender. Using this tool, we could pinpoint problems and optimize the game accordingly.
The UI Kit system for making Apple buttons and lists didn't integrate well with OpenGL, and we didn't discover this until relatively late in the project. We had to redo a lot of the way the UI was handled to make things run smoothly. Had we known the systems didn't work well together from the start, we would have planned differently.
Another problem was that provisioning profiles, developer IDs, and app signing was hard to get right and ended up being a huge hassle. It took us a long time to figure out how to setup the project so it could be run by multiple developers right out of source control without any changes.
While none of these issues were specifically anticipated, any project on an unfamiliar platform is expected to have some bumps in the road. Most of them were relatively low-impact on the schedule, and we've learned our lessons on the platform for future projects.
2. New Kids on the Block
In addition to having issues with the hardware itself, being new to the platform was also difficult since we didn't have an established development process.
One major obstacle was the art pipeline. It was very inefficient, since it required an artist to pass the assets to an engineer, see it in game, decide what changes to make, and then go back to his machine to make the revisions.
Not only did this slow down artists, it sidetracked engineers who had to stop what they were doing to help artists. This process is usually much more streamlined, allowing artists to develop, review, and tweak assets within their own environment.
Due to the lack of artist tools, art had to be built by an engineer, and also didn't allow multiple artists to simultaneously add assets to the project. If we decide to commit to the platform for future releases, a new pipeline will definitely need to be developed.
3. Lost in Translation
Our third update to WordFu was creating localized versions for German, French, and Spanish. Localizing the game was more complex than normal due to font limitations on the iPhone. The text in WordFu is a custom font, and many of the words are rotated at various angles. Since the iPhone doesn't allow developers to use custom fonts, nor does it support text rotation, we had to have most of the text in the game be in art assets.
This starts to get very expensive when every instance of every piece of text has to be recreated for each supported language, rather than simple string replacements. It rapidly increases the amount of localization work because it now involves artists, and it also increases the amount of space the game takes up.
The assets that need to be localized take up about 11MB of space, so keeping all available languages in one SKU was out of the question. We had to set up our own build process, since Apple's localization system only supports one build with all assets. Propagation of changes had the potential to be a large problem, since each language SKU was separate. This problem was diverted as a result of our custom build process.
The issue wasn't lack of foresight -- we knew the consequences of pursuing this art direction would be costly before we even started localization. The Asian-themed font and slanted angles were integral in creating a unique style for WordFu, so in the end it was worth the extra effort in the localization process.
Page 3 of 4