Very few game developers primarily focus on bringing back classic games. Over the past few years, Nightdive Studios has successfully introduced modern gamers to dozens of retro gems and I recently had the opportunity to ask their team a few questions.
[A.J.] Forsaken Remastered runs fantastically on Xbox One. How much effort in updating games is focused on performance?
[James Haley - Software Engineer] Quite a bit, due to the fact we want to use the newest rendering techniques. For Forsaken in particular, we took the time to reorganize our Kex Engine so that it supports multithreaded execution, allowing the game logic and the renderer to run in parallel. This solved many issues we had previously.
[Samuel Villarreal - Engine Programmer] Forsaken itself was already designed for performance but there were still some things to consider when bringing it over to consoles. Forsaken Remastered was re-coded from the ground up to take more advantage of parallelisation, which consoles are primarily designed for. Surprisingly, dynamic vertex lighting was one of those things that actually caused the Xbox One to dip slightly under 60 FPS, despite that this is a 1998 game! The game was originally designed with one CPU core in mind so a lot of the workload on the Xbox One was being done on just one core. Also a lot of other things from third party libraries, or other features were also being used on the main core, which was already exhausting a lot of its resources.
To take advantage of the other cores, parallelisation was utilized on certain elements that benefited it the most, which in this case, the dynamic vertex lighting. Also a lot of this has to do with how modern GPU APIs (DirectX, OpenGL, etc) operate. Nowadays everything must be done with vertex buffers, and Forsaken relies on updating vertices in its world a lot. So systems had to be made to better manage vertex buffers and be smart about what exactly needs to be updated to keep performance up.
Modern rendering features like post processing effects has also improved since the Turok remasters such as ambient occlusion, which wasn't possible to do on the Xbox One. A lot of lessons were learned during development on the Turok remasters so many of these features were improved. Most of the focus on post processing optimizations was done after the game itself was completed. Forsaken was probably the easiest game to optimize versus the Turok remasters.
[A.J.] Very cool. Besides performance, what other areas does your team spend most of their time on when updating a game?
[James] Dotting all the i's and crossing all the t's to make sure that we have accurately and completely recreated the original experience while offering additions and enhancements on top of that core.
[A.J.] Your studio mostly worked on PC games before the release of Turok Remastered on Xbox One. Are there any additional complications to bringing a game to console?
[James] Making sure that we meet all of the platform's certification requirements always gives us an extra list of "to-do" items to cross off, but with experience on two previous titles, we found the experience went more smoothly this time around.
[Edward Richardson - Network Programmer] The Xbox One is similar enough to the PC that a lot of the code is reusable, even DirectX 11, and Kex Engine 3 was purpose-built for porting games to arbitrary platforms. But there were a few snags.
Probably the most notable problems we come across are related to multiplayer and the Xbox's standby mode. If the console goes into standby, you have to suddenly drop everything mid game, and with our rendering on a different thread, it's complicated to catch every scenario because during that time, we cannot call a single rendering operation. There's nothing on the PC that quite matches that scenario.
The multiplayer is troublesome but for different reasons. While the Xbox has very useful APIs that make developing multiplayer easy, it wasn't meant for our kinds of games which at their core, can even run over direct IP connections and we can't run our own services to be able to do our own thing. There's code that basically says, "Forget everything you know about the lobby. You see that guy? Talk to only that guy and no-one else." It's not exactly square-peg-round-hole but it's clear that the environment was expecting a different network design approach, one more approachable to the average indie developer, than what 90's games tend to provide.
[A.J.] Speaking of console releases, do you have plans to release any updated classic games for PlayStation 4 or Nintendo Switch at some point down the road?
[Samuel] Personally I'd like to do a PS4 port of Forsaken Remastered, but that is up to the top dogs.
[Edward] The Nintendo Switch looks like a fantastic platform for our games, but I think that the answer that we are supposed to give is "wait and see".
[Stephen Kick - CEO] We can't discuss specifics of our roadmap, but the short answer is yes, with the understanding that your question included the words "at some point".
[A.J.] So far, all of your console releases are from Acclaim's library. Are there any other Acclaim games that your team would like to revive for modern gamers to enjoy?
[Stephen] We'd love to revisit Shadowman, which we already publish, but we've had some trouble tracking down the source code. The Extreme-G series is also something we'd love to remaster.
[A.J.] Aside from Acclaim, which classic gaming companies' libraries would you be most interested in remastering if it were possible?
[Stephen] It's no secret, but we'd love to work a number of classic Monolith titles such as Claw, Blood, Shogo: Mobile Armor Division, and of course - No One Lives Forever.
[A.J.] Has your team ever put hidden Easter eggs in any of your game remasters? If so, are there any that you're particularly proud of?
[James] If you've acquired a copy of Noctropolis in a "not-so-legit" fashion, you may find that your character is always thrown into prison when you get a game over, rather than whatever animation would usually occur.
Whatever Nightdive Studios decides to do next, it's bound to be cool. I'm personally hoping for more console releases!