When the Sony’s PlayStation 4 was set to launch in November 2013, all eyes were on the big names. Killzone: Shadow Fall. Knack. DriveClub, before the eventual delay. Housemarque was only known at the time for having developed twin stick shooter Dead Nation for the PlayStation 3, which was an impressive game in its own right. But what would Resogun offer, especially since it was the sole indie release developed exclusively for the PS4 at the time?
As it turns, a lot. Resogun became the highest rated PS4 launch title and even gave competition to the Xbox One’s launch lineup. Despite its relative length, the game was beautiful, addictive and still an incredibly engrossing experience for shooter fans.
Housemarque is now busy on DLC for Resogun that is reportedly awesome. But how did it all begin? Did Housemarque wake up one day and decide to make an awesome game? Community manager Tommaso De Benetti penned an exclusive dev journal for GamingBolt in which he discusses the inspiration and development of Resogun from the concept stage, along with how the developer went about using the PS4′s power to bring it to life.
Overall development from the concept stage to code:
In the beginning there were voxels. Everything started from the technology. At the time, our Creative Director Harri Tikkanen and the tech team came up with an idea: “Wouldn’t it be cool to build a game entirely out of voxels?”. So we started working on that concept, and from that three games emerged, all based on the idea of being built with voxels. One became Resogun (interestingly enough, that has been the name for the project since the start), one became the iOS project we are currently working on (with rather drastic changes, as voxels are not the main thing anymore), and one didn’t make it out of the prototype stage.
The name “Resogun” was chosen because we wanted to make a game that would bring to mind the 2D shooters of yesteryear. Those games had such an impact on everybody’s imagination because of their bitmap graphics, and since voxels are 3D pixels, we crafted the “Reso” prefix thinking about “resolution”. The “Gun” was more about attitude, as we knew it was a game about blowing stuff up.
Resogun started as platform agnostic. While in the prototype stage, we were running some code on PC and targeting different Sony platforms. As we proceeded, it became more and more clear that to fully express what we had in mind we would need a lot of raw power. Building all levels and enemies out of voxels turned out to be really expensive in terms of computational power, especially when you consider that there are no “fake physics” in Resogun.
Early mesh concept. Open the images in a new tab to see it in full screen.
Every cube behaves according to a specific set of physics rules, and each one of them enjoys its own lighting. When I talk about a “specific set” of physics rules I mean that we had to decide what was good for gameplay and readability and what was not. For example, it’s possible to blow up the entirety of a level, but that wouldn’t be very fun, since after a few explosions there would be very little standing up to work as a background. For the same reason we decided that if you destroy the bottom of a building, the rest of it doesn’t immediately collapse on itself.
For quite a long time the game didn’t feature the graphics you see in the final product. We went through several concepts: some were more retro, some much more colorful. The original prototype we used to pitch the game to Sony relied a lot on red and blue hues. Nailing the visual style was a long process, and we had several meetings with Sony XDev Europe, the publisher, before we hit the sweet spot of what Resogun is nowadays. There were some concerns regarding the “retro” aspect of it: we wanted it to bring to mind old games, but we didn’t want it to look old and unappealing, especially when we had this really amazing voxel technology that worked so well with lighting effects.
So, while hard at work on the way the game looks, the team was also down to the nitty gritty iterations of gameplay. Over the months things have changed quite a bit in all the key areas of the game. There have been builds featuring “options” (like Gradius or R-type), meaning some small drones circling around the ship and adding firepower to your ship. For a long time we only had one central tower where the player had to deposit both humans and green energy cubes to generate power ups.
In this version the humans run around a treadmill and build the weapons for you – that idea was abandoned because it made the gameplay gravitate too much around the same spot. Experiments with a weapon shop worked great, but the idea was abandoned because it slowed gameplay too much between phases. We were also planning a World Map to track players’ progresses – that was axed because it felt like an unnecessary layer between the player and the action.
The gameplay elements associated with humans have evolved over time as well: for instance we used to have “normal” humans, “special” humans, and even “expiring humans” – all that is pretty much gone now, with the possible exception of the Throwing Human button, born as part of a “refill-human-energy” mechanic and kept because it was just fun to use.
One of the most crucial choices we had to make involved the “twin-stickness” of Resogun: we experimented with the possibility to shoot at 360°, but it didn’t feel right because it turned the player into some sort of “moving turret” – move a bit, shoot in every direction, move again – so in the end we settled for left and right. If we had made the opposite choice back then, you’d be playing a very different game now.
The more the development advanced, the more we started to feel the need for a powerful hardware: to realize our vision any other platform wouldn’t cut it. The concept itself – a cylindrical world around which the player has to pick up humans and fend off aliens – can work pretty much on any hardware, but not when you throw into the mix voxels, physics, lighting, 1080p and 60fps. So the more we talked with Sony, the more we agreed that Resogun needed to be on PS4.
Creation of high definition assets optimized for 1080p:
Despite the similar appearances, the levels and enemies in Resogun are built in different ways. Levels appear to be aligned to a rigid grid – that fits with the architecture style of the game; enemies are built following another logic entirely: first of all they tend to show organic shapes such as curves, plus we needed to make sure that they appear as clearly as possible as elements of the gameplay – avoiding the possibility of them being confused with the background.
Talking about 1080p, the lack of SD limitations means that we were allowed to design enemies, humans and pick ups in a specific way, using maximum contrast between blocks, shadows, etc. To make a long story short, if the game was working at a lower resolution, all these elements would literally look different in shape. The same is true for texts and particle effects: at 1080p we were able to communicate effectively abstract concepts without stealing estate from the gameplay.
Because of their importance in the game, we couldn’t use pre-exsisting photographic skyboxes. So we started to do them by hand, trying to convey that feeling you have when you look at an open sky through your eyes rather than through a camera – a wide, baroque stretch of clouds.
The level backgrounds were created using first simple meshes, then converted to hollow cube geometries. The final touches were done by hand, so we could make things look the way we wanted.
Physics and particle engine Insights and GPU usage:
All of Resogun physics is directly offloaded to the PS4 GPU using compute shaders. As mentioned earlier, for gameplay and readability purposes we didn’t opt for a 100% realistic physic model, but we clearly needed something powerful enough to calculate all voxel collisions.
Regarding particles, there’s not many of them in the game. Examples are the effect used for the Overdrive – which is a mix of compute shaders and point sprites – and some of the things flying in the background. For the explosions we opted for a legacy particle system used in previous games, one that doesn’t involve the GPU at all.
Use of unified memory and how it helped offloading the tasks:
Using Unified Memory means that the CPU and the GPU share the same memory. The main advantage of this setup is making the game code communicate with the compute shaders much faster, like we did in the case of particles and voxels. Another way we used it was for the enemies’ code: that was written in the Unified Memory, so the GPU could read it directly.
Challenges faced due to PS4′s slower CPU speed/Core Speed and targeting 60fps
One of the main advantage of consoles over PC is that, independently from the CPU speed, the console-specific libraries are usually much faster than comparable libraries on PC. Reaching 60fps was our goal from the beginning, because it makes the gameplay so much more fluid. It wasn’t a terribly hard result to achieve: all game code is heavily multithreaded, so all available PS4 CPU cores were put to good use.
The goal of the original Resogun soundtrack – composed and played by our friend and collaborator Ari Pulkkinen – was to reflect the arcade history of gaming, combining modern electronic genres and styles. The main references include Daft Punk’s Tron Legacy OST, M83′s score for Oblivion, and the Transformers score by Steve Jablonsky. The Super Stardust HD soundtrack was also used as a reference, even though we knew Resogun was darker in tone and needed something a bit different from its “spiritual prequel”.
We started from a couple of concepts: it had to sound like a tribute to “old school” games (namely, those from the C64/Amiga era) and we wanted it to sound chiptune. Over time, the songs changed to reflect the changes in art style: the darker the game became, the less we relied on chiptune as an inspiration, moving progressively into more modern electronic soundscapes.
No real instruments were used. It took Ari about 3 months to make it sound just right – some things made it just in time, for example the boss themes were completed just before release, together with the final visuals for the bosses themselves. When all was ready, we mastered it at the famous Finnish studio “Chartmakers”, which among their clients features artists such as Rammstein, Amorphis, Sonata Arctica, The Rasmus and a bunch of other bands. A lot of fans expressed their desire to purchase the OST: we should finally be able to make it available this year – more info about that in the next few weeks.
When it comes to sound design, Ari and his collaborator Alexander Dmitriev created over 1000 unique sounds effects. On average, the game mixes about 100 different sounds at any moment. The approach was what they call “oldskool chip-board sound design”, and it was heavily influenced by what old school games have done in that regard. The final mix for the sounds took almost two weeks: obtaining the perfect result required heavy iteration.
A lot of effort was put into the LFE channel. We wanted the bass to kick ass – and hopefully you can hear that! One final note on the female voice giving hints: she seems to have a lot of supporters, and yes, she’s the same “voice” you can hear in both Super Stardust HD and Dead Nation. Unfortunately, no further details on her origin are available, – for now, that will have to remain a mystery.
Resogun was awarded Best PS4 Sound Design by IGN last year, so all in all I think our efforts paid some dividends.
Adjusting and fine-tuning the gameplay, and controller input for the console:
The last few months of development were mostly dedicated to fine-tuning the gameplay, finalizing the UI and wrapping up the bosses. We knew the main game mechanics were in place, we just needed to take some decisions regarding the scoring systems, multiplier, amount of humans per level, etc.
When you make intense games with a high replay value, the most important thing is iteration. Test an idea, judge the result, then try to change it up and see how that works. Rinse and repeat. That’s what we usually do in the final stages of development, until we can’t find any room for improvement or, most likely, time runs out. When it comes to Resogun, even now that we are working on additional content, we have a new build each day, each one slightly different from the previous one. The team compiles an iteration, then gathers with Internal QA to play it, and then everybody goes back to their desks to work on a better, improved build.
Just before its GamesCom debut, the guys were literally banging on the keyboards minutes before the taxi that was supposed to take us to the airport arrived, and the same scenario pretty much repeated itself when we sent Resogun for final QA.
When it comes to the PS4 controller, we realized that the embedded speaker was to be used to communicate important events to the player when distraction was out of question. If you have played Resogun at the hardest difficulty levels, you know there are some parts you have to face while being “in the zone”: hesitate for half a second and the score is ruined. In retrospect we feel that the announcer speaks a bit too much, often prioritizing things out of context. So, one thing you’ll notice in future updates will be less speaking and more focused audio feedback.
As a developer, there’s never enough time, and there’s always something you can do better. And indeed, the months since the launch of Resogun have shown that we could still do a lot to improve the overall gaming experience. Most likely you’ll see the results of the extra development time very soon. As the saying goes, the devil is in the details: getting a shippable product is not the hard part, being happy with the fine-tuning… that’s another matter entirely. Luckily for us, players seems to like what we shipped, and I have no doubt they will love what’s coming next.