With today's North American and tomorrows European release of the latest Far Cry 4 DLC Valley of the Yetis, it's rather fitting that during this year's GDC the Technical Lead at Ubisoft Montreal, Stephen McAuley held a session discussing some of the development process and the challenges of creating the world of Far Cry 4.
Keeping the last-gen Far Cry 3 Engine intact "gave us a lot of constraints"
During Stephen's session at GDC (titled Rendering The World Of Far Cry 4), he talked about how it was, building Far Cry 4 whilst still keeping the last-gen engine alive, and having to go back from time to time, to change things on the last-gen versions of the game after making improvements on the current-gen and PC versions.
“Our mandate as a graphics team was to lead on current-gen, keeping the last-gen engine the same as what shipped Far Cry 3. That gave us a lot of constraints as we had to keep the last-gen working, which affected a lot of our decisions throughout the project. By the end of the project, as was probably inevitable, we had to go back to the PS3 and Xbox 360 and polish those up, but it meant that we had a better product than FC3 on all platforms.”
What Stephen said about the constraints makes sense if you actually have said constraints on you, you need to keep the last-gen stuff in mind. It's not good mind you as it limits the development team a bit as Stephen pointed out, but nonetheless this was the case during the development of Far Cry 4, due to the cross-platform nature.
Stephen went on to talk about some details of how the work done with the game's Lightning was affected by these constraints.
“Increasing the resolution of the sky occlusion was probably our priority over increasing the resolution of the indirect lighting, because it was less intrusive (important because of our cross-generation production) and it’s also easier – we knew it was achievable.”
If we look at the slides from Stephen's session we can see that Ubisoft was actually able to move some of the CPU work over to the GPU, this translates into better performance with today's game engines compared to the engines used for last-gen titles which were pretty heavily CPU-bound.
If you want to check out all of the slides from Stephen's GDC session you can find them as a PDF over here.
Most of us would agree that last-gen is and has been outdated for quite "some time" now, and we can even see performance issues today on Current-gen. The most recent examples of this would be that Battlefield Hardline is only going to run at 720P 60FPS (at least they prioritized 60FPS for a Shooter) on the Xbox One, and 900P 60FPS on the PlayStation 4. The other example would be that Uncharted 4 might end up running at 1080P 30FPS after all, even after the developer stated that they were aiming for 60FPS.