Sony's big first party game for the holiday season is a remaster - but not just any remaster. Uncharted: the Nathan Drake Collection is a beautiful recreation of three of PlayStation 3's finest games, upgraded not just with higher resolutions and smoother frame-rates, but with top-to-bottom improvements of the original artwork, with enhancements made across the board. This works in combination with new gameplay modes along with a comprehensive re-evaluation core gameplay systems. We've previously dissected Drake's Fortune, Among Thieves and Drake's Deception in depth, but we still wanted to learn more about how this exceptional project was put together.
Happily, the developers at Bluepoint Games were more than happy to talk about the efforts they put into the game, and as expected, there's a remarkable story to tell here. Marco Thrush - Bluepoint owner and CTO - talks us through the development, from the firm's efforts to improve the original games so that they're as good as you remember them, through to the techniques employed in improving the original titles.
There are some surprises here. For example, Naughty Dog's work on The Last of Us Remastered could only go so far, as the original game was based on the Uncharted 2 engine, making it unsuitable for the Uncharted 3 port. There are also details on the lighting enhancements that improved the classic Uncharted 2. And we get answers on just how Bluepoint managed to cram three Blu-ray-based PS3 games onto one PS4 disc. It's a unique insight into the creation of a remarkable project and we're happy to share it with you.
Digital Foundry: Remaster or remake? We're not entirely sure how to pigeon-hole the Nathan Drake Collection - what's your take on this?
Marco Thrush: Our goal was definitely to do a remaster of these games, meaning that we enhance what we can to present an updated and unified collection. We didn't set out to rebuild any assets from the ground up. When you think about the Uncharted titles, they pushed the boundaries at their individual times on the PS3. We improved and created a bunch of new assets, and focused on art, tech, and gameplay changes that would make the games feel like they play the way you remember playing them, and feel good playing in any order in a collection.
Digital Foundry: How did the timelines work out? Bearing in mind how vast the scope of this project is, we must be talking about a development timeline akin to a full AAA project.
Marco Thrush: We started the day The Last of Us Remastered shipped in June 2014, so that would make it 15 months from start to release. It was definitely our longest project so far, but it was also three full games.
Digital Foundry: What was the extent of the core material you had to work with from Naughty Dog?
Marco Thrush: We had the shipped disk images, access to all source code and all source data that still remained available at this point.
Digital Foundry: Can you talk us through how the relationship with Naughty Dog worked throughout development? You've made some subtle and some enormous changes to their work - did you talk through the changes at you worked on them, or did they essentially leave it to you and provide feedback at the milestone stages?
Marco Thrush: Yeah, we collaborated with Sony and Naughty Dog throughout the whole project. We worked with the leads of different departments over at ND, and when it came to gameplay tweaks we all played and tweaked based upon our interpretation of what felt best while being guided by Naughty Dog's and Sony's feedback. It was pretty cool to get feedback directly from Evan Wells on the UDF grenade throws! All of the enhancements to the music were done by the same awesome sound group at Sony who worked with Naughty Dog on the Uncharted PS3 titles.
Digital Foundry: How did you organise the overall workflow - were all three titles remastered in parallel, or did you move from one game to the next? In short, what was the best way to tackle a project of this magnitude from a logistical perspective?
Marco Thrush: We initially unified the games as much as possible to allow us to only change things in one place. To initially get the games running on PS4, we started with Uncharted 2, then Uncharted 1 and finally Uncharted 3. After that came the improvement phase, we focused on Uncharted 2 first and then switched to Uncharted 1, with Uncharted 3 running in parallel to both. Final tweaks continued on all three games until the very end.
Digital Foundry: Can you give us some idea of the size of the team that handled the Nathan Drake Collection and how that number is divided amongst the various departments?
Marco Thrush: At the peak we had 48 people: 13 engineers, 17 artists, four production/design, nine internal QA and lots of other helping hands.
Digital Foundry: Bearing in mind the mind-boggling attention to detail in the improved assets, to what extent were the art upgrades outsourced outside of Bluepoint?
Marco Thrush: All of the work on the game assets were completed in-house.
Digital Foundry: We're talking about three different games that essentially encompass the entirety of Naughty Dog's progression on PS3. What implications did that have for your remasters? Does everything run from your port of the Uncharted 3 engine?
Marco Thrush: It was definitely tricky. A lot changed between U1 and U2 in the ND codebase. ND started from scratch for U1 and built upon it for U2 by rewriting a bunch of systems. U3 was built upon U2 with more improvements to systems and some brand new stuff added in to keep things interesting. U1 used its own collision/physics system, where as U2 and U3 used Havok - just to name one example.
The three games don't run on the same engine, you can't just switch U1 over to use Havok and expect the gameplay to remain the same. Each game has its own version of the engine ported to PS4 and only the parts that are truly the same (or parts we changed to operate the same with thorough testing) are actually shared across the three games.
Digital Foundry: Naughty Dog's GDC 2015 presentation on bringing TLOUR to PS4 talked about a massive effort in reorganizing CPU tasks - parallel fibres run off single threads attached to each core, splitting CPU work between frames in order to get maximum parallelisation. To what extent was TLOUR useful in getting the Uncharted titles to run at 60fps?
Marco Thrush: The TLOU code base itself was actually an evolved version of U2 (not U3), meaning it didn't have some of the functionality required to make U3 work. Still, having access to the TLOU engine for reference helped a lot. Once the PS4 versions were initially running (using all the knowledge the TLOU engine could provide) we were hovering at ~30 fps. At the end of the day each of the games are running in their own engines that have been individually optimised to get to 60fps.
Digital Foundry: There's an almost generational leap in quality between the original Uncharted and Uncharted 2. Playing the PS3 games again, Uncharted doesn't hold a candle to the sequels from a technological perspective. Obviously it would need the most work to bring it up to par in the Nathan Drake Collection. Can you talk us through your objectives here?
Marco Thrush: Overall, we tried to get all games as close as possible to the same visual target. Mainly, we didn't want there to be a jarring experience between the first two games given the context of the collection.
Digital Foundry: From a technological standpoint, to what extent was there cross-pollination of code and systems between each title?
Marco Thrush: We always want players to get the game they remembered. So whenever we were faced with making changes to achieve consistency across the games, we kept that in mind. While adding the ability to throw back grenades would have theoretically been possible we realised it would have the potential to change the gameplay too much. In other cases, such as the dynamic difficulty adjustment in U1 and the "bullet sponginess" we had the benefit of lots of players' time and comments to be comfortable with making adjustments.
Digital Foundry: Is the dramatic improvement in Drake's Fortune a result of a concerted push to do more on that title, or a product of a consistent remastering process applied to all three titles?
Marco Thrush: U1 definitely needed the most love to get it to the state of "how you remember it" from the PS3 days. Our goal was to spend time to make the earliest game feel at home in the collection with the other two games. Some additions such as SSAO, ambient specular, and object motion blur got us a tiny bit closer. The lighting improvements we made to U1 are essentially the same changes we made to U2. Art had to put a lot more effort into U1, updating world and character textures, adding normal maps, adding more geo detail and replacing particle effects.
Digital Foundry: Gameplay-wise, Drake's Fortune is transformed - more so in terms of basic mechanics than its sequels. How difficult was that to achieve from a technological standpoint? Did any other gameplay systems need to change to in order to accommodate the new systems?
Marco Thrush: Some of the tweaks we made were quite difficult to get right; some of the fundamental player systems between U1 and the other games are quite different, so it wasn't quite as simple as trying to transplant some game code from later games to make them feel the same.
Digital Foundry: Did you draw a line in the sand on how far you would improve the game? Were there any ideas you didn't implement?
Marco Thrush: Lots of ideas (such as being able to throw grenades back) were discarded early on, mostly because they would change the way the games are balanced. We tried to shy away from making any changes that alter the game substantially from the original unless the desire from Sony/ND was that it should be changed. Other than that, we look at how we remember the games, and how that memory is different from what you see now if you played it on PS3. Then we figure out what we need to do to get it to look good as a game in the present time.
Digital Foundry: You've added additional modes to all Uncharted titles to add variety and replayability, but are there any more subtle gameplay tweaks made to the sequels? From our perspective, there's the sense that you've normalised aiming around Uncharted 2 for example, with the effect that Uncharted 3 actually feels more precise.
Marco Thrush: We've done a significant amount of work, unifying the games and improving aspects of control and aiming. We worked on bringing U1 and U3 closer to U2, but we incorporated some global improvements such as reducing the dead zones, and making analogue aiming more responsive and precise across all three games. We also allow players to increase aiming sensitivity beyond the maximum values in the original PS3 versions. Uncharted: Drake's Fortune had the most drastic set of changes, such as including grenade control and functionality that more closely matches U2.
Almost every system in U1 was touched, from aim assists, switching to cover, toggling weapons, throwing grenades, increasing pick-up radius all the way to improving DDA (Dynamic Difficulty Adjustment) and increasing the size of the collision on enemies' heads, so that headshots feel more fair and satisfying to achieve. We could write pages and pages on how many subtle gameplay tweaks we've made to all three games but in a nutshell we tried to make the games feel like you remember them playing instead of how they functionally were. The goal was to update and improve the systems while still keeping the integrity of the originals.
Digital Foundry: Are you using v-sync with double-buffering for the Nathan Drake Collection? Triple-buffering had a huge impact on image integrity on Uncharted 2 and 3, but there's a sense that it added to the input lag. The crispness and precision in the controls is a real highlight in the remaster.
Marco Thrush: We're not. Obviously running double-buffered would reduce latency even more, but that gain is significantly less when running at 60fps. Bad order of processing logic such as processing input after letting the player logic update, deferred player movement due to physics or other less obvious things can easily add multiple frames of latency to player response.
Digital Foundry: The art upgrades across the board are quite remarkable, to the extent where even incidental environmental detail cloaked in depth of field and on-screen for mere seconds can receive geometry and texture upgrades. Can you talk us through the approach to improving assets?
Marco Thrush: For U1 and U2 (U3 being a visual target), our artists opened up every single asset in the game, looked at it and improved the ones that they felt could benefit from improving. We also had a full suite of side-by-sides for all the cinematics in the game that were automatically generated, and we stepped through those frame by frame to find assets we wanted to give extra attention to.
Digital Foundry: Few remasters even attempt to improve geometry - the improvements in the Nathan Drake Collection occur across the board. Was it literally a case of taking the original assets and improving them all by hand, or was there another process involved?
Marco Thrush: Yes, all assets were improved by hand by our artists.
Digital Foundry: On a game-by-game basis, what was the approach taken in terms of revamping the lighting? Even in the later games, some of the changes can seem quite radical, while often the overall look is rather than subtle than the originals.
Marco Thrush: A lot of the lighting differences are due to the fact that the earlier games used a 'fake' ambient specular term. We essentially replaced that with an IBL [image-based lighting] specular approach that is more common these days, and revamped the specular lighting model on the materials to be more physically correct. Then we went in and created new textures to control the specular lighting for every texture. The result of that is a more realistic looking specular which reflects the environment. This means that in some cases you see more specular lighting than before, and in other cases it means you get less specular because it shouldn't have been there in the first place. On a regular basis we would capture PS3/PS4 side-by-side images to compare the differences in lighting and rein in when things were starting to look too different.
Digital Foundry: One of the biggest questions we had pre-launch concerned the pre-rendered cut-scenes and how you would fit all three games onto one Blu-ray. Obviously you could lose the 3D encodes from Uncharted 3, but beyond that, just how did everything fit onto one disc?
Marco Thrush: Better compression for both audio and video. Removing video content: S3D movies for U3, bonus content for all games, credits movies (we rendered the credits at runtime to save disk space). Removing multiplayer assets helped as well. Lastly, a lot of streaming games improve load time by reducing seek-time overhead and by duplicating assets to place data physically close on the Blu-ray. With all data being installed onto the hard drive (with much faster seek times), we're able to get away with just storing a single copy of each texture and still have everything load in time (or even faster than the PS3). One question we've seen come up is: Why don't you just render the cinematics in real time? The reality is that all the geometry and texture data required to render the cut-scenes takes up way more room than the movies.
Digital Foundry: Did you use the h.264 codec? If so, what target bitrate did you use? Could you use variable bitrate to save space or would that interfere with background streaming?
Marco Thrush: We did indeed use variable bitrate h.264 for all movies.
Digital Foundry: Naughty Dog famously used networked debug PS3s to render in-engine cut-scenes. What was the approach with the Nathan Drake Collection?
Marco Thrush: We made the pipeline more automated and implemented it into our PS4 version. We had a set of build machines connected to dedicated PS4's that would render out the frames. Then we automated the whole process of compositing all the cinematics. We ran this every time we deemed necessary. We ended up with ~20 revisions of each cut-scene movie; might be interesting to look at a time-lapse one of these days to see how the cinematics changed over time.
Digital Foundry: Where in the timeline did the cut-scene creation take place? Take Uncharted 2, for example. The original FMVs featured motion blur, but the PS4 renders don't. At the same time, the option is there to run with motion blur enabled in gameplay.
Marco Thrush: Since storing multiple movies was obviously out of the question, we opted for the cinematics to not have camera motion blur because that matches the default.
Digital Foundry: Naughty Dog's strategy for getting the most out of the PS3 involved pretty extreme SPU utilisation. We'd assume that much of the SPU work for post-process effects was likely moved back to GPU - what was the strategy there?
Marco Thrush: Nothing out of the ordinary was done here and all post runs on GPUs now. Fun fact: the post effects between in Uncharted 1 and the latter two are fairly different in implementation, and we had to maintain that to make sure things behaved somewhat correctly compared to PS3.
Digital Foundry: In terms of tasks more suited to the CPU, what were the challenges of porting over highly optimised SPU code onto the x86 cores?
Marco Thrush: We started with simple implementations that would run on PS4, then optimised as necessary.
Digital Foundry: Could you share some details on the anti-aliasing used? The quality seems higher than the typical post-process solution.
Marco Thrush: We use a fairly simple FXAA solution. The best way to avoid aliasing is to make sure the content doesn't create it in the first place!
Digital Foundry: How did you approach ambient occlusion - the technique looks different to the 'plus-sign' effect in Uncharted 2?
Marco Thrush: We used temporal re-projected SSAO. It gives a smoother effect without being crazy expensive. Improvements were made in the 1.01 patch to some ghosting artefacts on moving objects that apparently nobody outside of Bluepoint seems to have noticed yet!
Digital Foundry: Are the character models normalised for the trilogy? To what extent could max detail cut-scene models be utilised?
Marco Thrush: We made sure to unify the look of the characters as much as made sense. Part of that was an art pass to make sure the detail holds up properly up close. A lot of texture clean-up was performed and some details were brought over from the later games. In a lot of cases the cinematics, due to being offline rendered, already had the highest resolution textures available on the PS3, so any improvements you see from textures on PS4 are due to our artists. We stripped lower LOD models and just stuck with the high LODs, then improved them some afterwards based on what you could see in the game (specifically cinematics).
Digital Foundry: Were there any sequence or particular elements that stood out as the most challenging to work with for this collection?
Marco Thrush: I guess the main challenge was getting six years' worth of Naughty Dog's content and code and making it work on a PS4, and then try to improve all of that while also adding new things - so basically, just the sheer amount of 'everything'. The next most difficult task was probably figuring out how to get all the cinematics to render out again (we had to rely on archived data here), and getting them to look the same compared to the PS3.
Digital Foundry: What was the approach to performance optimisation in the Nathan Drake Collection? Alpha seems to be a recurring challenge, as it was in The Last of Us Remastered.
Marco Thrush: We try to always be aware of where the performance is currently going, and know where opportunities for optimisation are. We keep that in mind when implementing systems on top by knowing up front how much time we have to dedicate to something. Then it's just digging in and attacking things towards the end of the projects as things become more stable (especially from an art point of view) to get them to where you need them to be. As you approach GMC [gold master candidate] you need to slow down and keep things a bit safer, so it's nice that you get a second chance with the patch where you get to do some of the things you wanted to do but had to cut off.
Digital Foundry: Bluepoint has worked directly with the codebases of some of the most talented console developers in the business, from across the globe. How long does it take to acquaint yourself with a project? Are some codebases easier to work with than others?
Marco Thrush: Every project is a unique snowflake. Sometimes things just click into place, you get a code/data drop, you compile it and can run it right away (with a mostly working PC version to boot). Other times it can take months just to get the original version of the game compiling and running again. This is mostly due to the very special build environments that are required for a codebase that just evolves over a long time at a developer. Other times it's due to not having proper archives and you have to figure out where you get that missing information/code from. All the people working here have been in the industry for a long time and had to deal with different code bases all the time, so that definitely helps as well.
Digital Foundry: Is it possible to absorb knowledge, techniques and perhaps even workflow methods in working with the top-tier developers you've collaborated with?
Marco Thrush: Yes! And there have definitely been times I've said, "I can't wait to see what's under the hood" of a new project.
Digital Foundry: Finally, with the Nathan Drake Collection finally available, what's happening at Bluepoint HQ? How does it feel to finally have the game out on the shelves?
Marco Thrush: It's been great to see the reception of UNDC so far. There was a lot of ground to cover in the three games, and it's not until the collection was released that we could sit back and feel a sense of accomplishment. We're enjoying a short breather and are very excited to get into our next project. It's a bit of a different kind of project this time around, and we're very excited about the new challenges it brings.