Tech Interview: Trials HD
Sebastian Aaltonen and Antti Ilvessuo discuss the technology behind this year's top XBLA game.
In the four weeks since it launched, RedLynx's Trials HD on Xbox Live Arcade has swiftly become one of the most fantastic success stories in the history of Microsoft's digital delivery platform, selling over 300,000 copies. Combining ultra-addictive gameplay with a bespoke, highly advanced physics and graphics engine, Trials HD takes a decidedly retro game concept and updates it in spectacular fashion for the Xbox 360 generation.
In this exhaustive technical interview, we talk with two of the guiding lights behind the game's development. RedLynx's lead programmer Sebastian Aaltonen (aka sebbbi in online circles) is one of the technically gifted coders currently working on the Microsoft console, and has created a graphics engine that exercises and indeed re-purposes the unique architecture to produce a truly unique-looking game. Not only that, but Trials HD is a masterpiece of memory management. There is no loading - access to all content is instant. The 210MB download uncompresses to around 400MB internally, with each level taking a mere 8K (yes, 50 per cent of the memory of a low-end ZX Spectrum) while tournament options occupy a mere 100 bytes (!).
Put simply, the chance to interview sebbbi is the chance to fully geek-out, so expect plenty of in-depth talk on topics including deferred lighting, pixel formats and render targets. Where appropriate, clickthrough links have been strategically inserted to help with some of the terminology.
Also taking part in this feature is RedLynx co-founder and creative director, Antti Ilvessuo, weighing in on non-tech based matters. The guys have given their all in helping to put this piece together, but the 9/10-rated Trials HD is a game more than deserving of their - and our - best efforts. In addition to the interview content, you'll also find an exclusive video made just for this feature: a compilation of some of the best Trials HD gameplay from the world's best players, plus snapshots of RedLynx's development environment are included for your viewing pleasure.
Enough small talk. Let's get going.
The previous game in the Trials series, Trials 2: Second Edition for PC, already had a feature set that was a perfect fit for Xbox Live Arcade. It had arcade-style gameplay, direct support for the Xbox 360 pad, achievements, leaderboards, data storage on leaderboards (replays and ghost), global ranking, etc. It was really a natural progression to expand the Trials game series to Xbox Live Arcade and there was a huge demand for a console version. The Microsoft people really were gamers; that also helped us to make our mind up on Xbox Live Arcade. They were truly enthusiastic about Trials, and the support we were promised and we hoped for... we got it from them. Everything was in place to focus on developing a simply great game.
The most important change is the unified physics model we use in Trials HD. A highly developed physics model has always been the core feature of Trials games, but until Trials HD the bike physics have been modelled with our own simple 2D physics engine.
In our previous game, Trials 2 SE, only the moving physics obstacles and the rider ragdoll were simulated using a real 3D physics engine. In Trials HD everything is simulated using a fully featured 3D physics engine. Full 3D physics allowed us to create levels that were not possible before and the physics interaction between different types of objects feels more natural, and the amount of physics glitches are reduced greatly.
In Trials 2, the bike collision model for example was just two spheres (bike tyres) connected to a centre sphere (the bike's engine) and a front sphere (the bike's handle bar). Obstacles often got stuck between the separate bike parts and the physics response felt a bit unnatural. In Trials HD the bike is a real 3D entity and its collision model is very precisely modelled to match the graphics model. We also have physically modelled springs and shock absorbers on the bike, and the rider physics are now also simulated when he sits on the bike. The rider pulls the handlebars for real when you lean forward; it's not just a baked animation and a faked impulse like it used to be in the past.
The graphics engine was also improved greatly. The shadows and lighting were changed the most. Now we have universal real-time soft shadows cast from each object, including translucent shadows (windows, fences, glass, etc). All object materials are modelled with pixel-perfect precision, and we have parallax mapping on each surface adding the highly needed extra bit of detail to the rough warehouse surfaces.
Graphics engine optimisation was the single task that required the most work. The result is stunning, however: we achieve a constant full 60 frames-per-second representation all the time. The game rendering is also vertical-refresh-locked to produce absolutely tearless graphics output - a thing we rarely see even in current generation retail console games.
We wanted Trials HD to be as streamlined and polished as possible - to include only the features that were important for the gameplay experience, and implement those features really well. In comparison, Trials 2 SE development was more ad-hoc and partly also experimental, with lots of learning points we could now utilise in Trials HD. All kinds of small features were added constantly, even a few days before the launch. Needless to say, Trials 2 SE was patched several times after the release before we got it perfected. Quality standards required in console games are much higher, and we really wanted Trials HD to be perfect at the launch day. We are really happy about the end result.
Some of the features like the exotic camera angle options were removed because nobody at our office was using anything else than the default camera mode. It's almost impossible to ride the bike using a first-person camera, a cinematic checkpoint camera or a camera mounted to the side of the bike. Instead of making 10 flashy but mostly unusable camera modes, we decided to make one really polished and fine-tuned camera mode.
The excessive statistics that were shown all the time on the upper part of the Trials 2 game screen were also removed. Nobody really had the time to look how many flips he made, how many meters he was doing wheelies or how long he was airborne while he was trying to beat the selected player's time in a racing track leaderboard.
The bones broken counter was funny, but we made a separate game mode for all the hardcore bone-breakers out there. It was a really good decision to separate all these special actions and statistics to their own mini games, and show only the information the player needs for the game mode he is playing. Now the in-game UI is much more elegant and friendly towards the new players. All information shown is actually relevant.