Tech Retrospective: Super Stardust HD
The behind-the-scenes story of PlayStation 3's first great shooter.
"We received the kits a few months after the development had begun," explains Tikkanen. "We had already tried to guess the best possible implementation approach and were pretty much locked to it at that point. So basically, we made the most important technical decisions just by reading the documentation. A couple of weeks after we got the kits we had a version of the game running on PS3 hardware and the results were not spectacular. The game ran at maybe 15FPS with 25 per cent of the stuff on screen that we needed to make the game fun. This was as expected, but still pretty daunting. After that we began to transfer as many of the game systems as we could to the SPUs and learned how to effectively use the RSX. Finally, with some great support from Sony, we pretty much got the kind of game out we wanted without any major compromises."
With little experience using the actual hardware, there were many challenges in handling the PS3 architecture but, as Housemarque says on its own website, many things just seemed to click into place as development progressed.
"Multi-core programming had been coming for some time at that point, but we had not been doing it extensively. That was a major change," says Harri Tikkanen. "Cell is a variation of a multi-core CPU with its own strengths and peculiarities. At that point our multi-core support was limited only to places where we absolutely needed it... Our engine was in pretty good shape and we had a very talented and motivated team. Besides that, we took many lucky guesses and basically we didn't need to rework any of the major systems as we got them right the first time."
Tikkanen was also impressed with the low-level access they had to the RSX graphics core within the PlayStation 3.
"The PS3 libraries allow us to control RSX almost directly with a very low overhead," he says. "This is something we really appreciate. Basically we learned how to control RSX efficiently and made sure we could feed in enough stuff to the PPUs and SPUs to keep them busy. We made sure that we used every available RSX cycle and used them efficiently."
Optimisation of the game code came - not surprisingly - through intelligent usage of the SPU satellite processors unique to the PS3. Tantalisingly, there is the suggestion that there is far more raw horsepower available than Housemarque were able to tap during the development of Super Stardust HD.
"We had specific separate tasks such as collisions, physics and visibility using the SPUs," Tikkanen explains. "We could have taken many other tasks to SPUs as we had plenty of processing reserves still available for us, but we simply didn't have the time to do it."
Few arcade-style games get 1080p support on the PlayStation 3, but Super Stardust HD was one of them, even if a proportion of its 'Full HD' magic is achieved via the RSX's horizontal hardware scaler. Bearing in mind the combination of effects and the amount of objects on-screen, combined with the compressed development schedule, it was quite remarkable to see the game maintaining its solid 60 frames per second.
"We had kind of promised that we would have 1080p support to our producer... so we had to do it," Tikkanen says. "I also had to make sure that the game was fun, so I prioritised that aspect. Basically we completed the game mostly testing it with 720p only, and when it was really coming together and we felt that the game was starting to be fun and enjoyable we tried the 1920x1080 mode. It did not run that well. At that point, late in development, we didn't have that many options left. We optimised the last loose cycles out from pixel shaders and wrote a system that draws the objects in optimal order and we got some gains. 1920x1080 was still out of reach, but we got 1280x1080 mode working. As the image is only scaled one way it looks surprisingly good and it's still 1.5 times the amount of resolution compared to 720p."
By April 2005, very slick-looking release-quality preview code had made its way to selected European journos, including myself. The final game, improved in many ways over the playable sampler, was released in June, where I awarded it an overwhelmingly positive 9/10. In the lifecycle of a typical game that would most likely be the end of the story, but in a sense the Super Stardust HD phenomenon had only just begun.
Housemarque's debut PS3 project is a game that offered plenty of 'firsts' during its history. It was the first PSN game to be launched simultaneously across the globe, while the core codebase itself was regularly updated - a process that made it the first PS3 game to support Trophies. More than that, similar to Burnout Paradise, the game evolved through the use of additional downloadable content.
"I'm pretty sure that the DLC idea came from our producer Phil Gaskell," says Harri Tikkanen. "I liked it, as we could add new game modes quite rapidly. Making a sequel would have taken much longer. As we were developing the DLC it was pretty straightforward to add the Trophy support as we had the team in place."
"The theory was that adding more content to a successful game would give an expanded experience to the fans of the game, having more exposure, and extending the sales curve of the game," adds Kuittinen. "We also had a stroke of luck when our game happened to be the first and only game to feature Trophies when the system update launched, so this helped a lot. All this has worked out really well and is still proving to us that the long tail of sales is possible in our case. Over 300,000 unique gamers have posted a high score in our global high score list. On top of that, over one third of those players have also played one of the expansion packs as well."
New solo modes and also split-screen were added to Super Stardust HD as it evolved, and while the codebase was improved, a lot of the changes were cunning re-implementations of the existing tech.
"We did some optimisations but mostly the performance was already there," says Harri Tikkanen. "With the new game modes we used more small, single-piece asteroids. In the original Arcade mode we had huge asteroids which actually consisted of hundreds of pieces. We wanted the player to be able to shoot and split them in any way they like. So when we used those hundreds of pieces as separate objects it really looked pretty impressive. Actually the biggest change was the level editor which allowed us to spawn large numbers of enemies in cool patterns easily."