Naoki Hamaguchi, Co-Director
For FINAL FANTASY VII REMAKE INTERGRADE, Hamaguchi was a supervisor on the game's design and was in charge of managing the development environment.
Lead Rendering Programmer Shuichi Ikeda
Lead Technical Programmer Tomohito Hano
When FINAL FANTASY VII REMAKE was released last year, it garnered numerous accolades, including winning Best RPG at The Game Awards 2020. More recently, Square Enix released FINAL FANTASY VII REMAKE INTERGRADE, which takes advantage of PlayStation 5’s next-gen hardware to deliver heightened visuals and graphics. The game now offers the option to run at 4K resolution in graphics mode or at 60 frames per second in performance mode, both of which offer increased visual fidelity over the title’s original release. As a result of these optimizations, Digital Foundry proclaimed that it is the “FF7 remake we were meant to see.”
To see how Square Enix took advantage of Sony’s next-gen console, we interviewed Square Enix Co-Director Naoki Hamaguchi, Lead Rendering Programmer Shuichi Ikeda, and Lead Technical Programmer Tomohito Hano. The trio discuss how they significantly bolstered texture quality, shortened load times, and improved lighting and shadows while maintaining smooth, consistent performance.
Digital Foundry called FINAL FANTASY VII REMAKE INTERGRADE "the most satisfying PS5 upgrade seen to date". On the technical side, what were your major goals coming into the next-gen update?
Co-Director Naoki Hamaguchi: My biggest goal was to get a first-hand feel of the performance of the next-gen hardware leading up to the next installment of FINAL FANTASY VII REMAKE. I was able to learn several things, like how much load is feasible using 3K and 4K rendering resolutions, or what the threshold is for loading high-quality assets while allowing players to play without stress, since the I/O bottleneck is now gone due to the implementation of the high-speed SSD. These were all very meaningful experiences for our developers working on our next title.
FINAL FANTASY VII REMAKE INTERGRADE features dramatically faster loading times on PlayStation 5. Was there a lot of work involved in optimizing the game to load more quickly on PS5's NVME SSD?
Lead Technical Programmer Tomohito Hano: With PS5 having an SSD, I/O speeds were no longer a bottleneck. Instead, time slicing and CPU load became the causes for longer load times.
Because of that, we improved the load flow by doing things like putting in unique serialization so that it would lessen the load during deserialization in areas especially prone to bottlenecks. Through these efforts, we were able to go from approximately 12 second load times down to six.
While we were exploring options for further improvement, we realized the loader was inefficient. So, we integrated Unversioned Property Serialization and IOStore, which were introduced with Unreal Engine 4.25. This title was developed based on UE 4.18, so it required some changes, but because of the implementations, we were able to shorten the time to about two seconds, so I feel that this brought improvement that was well worth the investment.
Image courtesy of Square Enix
Not only have loading screens been minimized, but textures load much faster, too, which is especially evident in the Sector 7 slum area of the game. Can you talk about the work that went into improving those streaming issues using Unreal Engine?
Hano: In the PlayStation 4 version, we had to forgo using a higher-quality format and high-resolution textures due to memory and disc capacity restrictions. However, we still didn’t have enough disc capacity with FINAL FANTASY VII REMAKE INTERGRADE to include a high-quality format and high-resolution textures.
And so, we integrated Oodle Texture [Compression], and by using it in combination with Oodle Kraken, we were able to achieve a smaller file size on the PS5 version, even taking the higher resolution textures into account.
Plus, the increased memory compared to PS4 and the improvement of the Non Streamable Mip Map, which ties into the response of the aforementioned question, also helped to load textures.
We were also able to use more high-resolution light maps, which improved the accuracy of the lighting.
Image courtesy of Square Enix
The skybox in various places of the game looks noticeably crisper and more realistic. Did Square Enix utilize sharper assets here that take advantage of the PS5's extra processing power?
Lead Rendering Programmer Shuichi Ikeda: With 4K support becoming available in FINAL FANTASY VII REMAKE INTERGRADE’s graphics mode, we noticed a significant experience disparity in resolution if we were to keep the existing skybox. Because of this, we upgraded the skybox textures in a few locations, mainly for settings that took place during the day. Furthermore, we updated the details in the rendering asset to match those changes.
FINAL FANTASY VII REMAKE INTERGRADE features improved bloom lighting that does a better job illuminating previously dimly lit areas. The neon-filled streets of the Wall Market section of the game look especially dazzling as a result. Can you talk about the work that went into FINAL FANTASY VII REMAKE INTERGRADE's improved lighting using Unreal Engine?
Ikeda: Upon commencing production for FINAL FANTASY VII REMAKE INTERGRADE, we reevaluated all of the lights placed in towns and, as a result, decided to increase the number of placements. We also increased the resolution for the environment map, which would serve as a surface for the neon lights to be reflected. We also revisited how color burn for static light was being handled, and at the same time made revisions to the luminance corrections made via light probes.
Fog information placed in every nook and cranny would react to all of the light sources, which I believe contributed to the atmosphere of Wall Market’s hustle and bustle. The bloom was a mix of volume metric fog plus some post processes, but by updating how decimate and kernels were processed, you can see how even the smallest piece of ember can cause a reaction.
Image courtesy of Square Enix
Not only is the lighting improved, but Digital Foundry pointed out that new light points were also added to FINAL FANTASY VII REMAKE INTERGRADE. Can you elaborate as to why these were included?
Ikeda: Since we were able to leverage more wiggle room with our resources, it did allow us to add more light assets in various locations. The purpose here was to add more information to some of the flat areas, which helps emphasize the hustle and bustle of Midgar.
FINAL FANTASY VII REMAKE INTERGRADE features upgraded screen-space reflections (SSR), which are really noticeable on water reflections. Can you talk about the work that went into this enhancement?
Ikeda: The SSR we used in FINAL FANTASY VII REMAKE INTERGRADE traces rays not just from glossy surfaces, but also rough surfaces, which generally tend to be omitted. By doing so, a more accurate occlusion is considered geometry-wise, and so you can see things like the light of a foot lamp bouncing off of a surface, or the hilt of Cloud’s sword being reflected in its guard.
There were times when aliasing from ambient light passing through could be seen on the eyes and the nose, which was a bit unsightly, but that was dramatically reduced. Typically, the mapping vectors obtained via normal mapping point in directions that would not be visible by the line of sight in many instances. When using these vectors in SSR, the direction of the reflection points to the inside of the surface, so it will always return a tracing error. This time, the mapping vectors on the polygon surface were stored in the buffer as well, and we corrected the error pixels when reflections were created to combat this issue.
In typical SSR, the image in the previous frame would be referenced, so whenever something like a camera switch happens, you can see a delay in the reflections being processed. For this title, whenever something like that happens, we would prioritize rendering the incomplete current frame so it would make an alternative reference, in order to address any hopping. Additionally, in a typical implementation, the prior frame that is referenced may already have the fog rendered, which causes that fog to be processed twice when referenced in SSR.
While we were developing the imagery, we would get a very strong impression of the volume fog, with this error being exacerbated on water surfaces that reflected the distant landscape. So, we stored two images–with fog and without–so that the fog density can be more environmentally appropriate when reconstructed based on the distance reached by the reflection ray, thus achieving a much more natural reflection.
Image courtesy of Square Enix
The shadow quality in FINAL FANTASY VII REMAKE INTERGRADE features clearer outlines, making them look more believable. This is especially evident from shadows that are cast from elements like gates. Can you talk about the work that went into increasing the game's shadow fidelity?
Ikeda: We had to revisit the processing buffer allocation for shadows as well. Because of the change in memory allocation, the overall fidelity increased, so that should be reflected in the geometry of the details, which were previously lost. Furthermore, we corrected the jittering and bias in the sampling processes, so you should see less deterioration here as well.
We’ve been using SSAO for micro shadowing, but we’ve rewritten parts of it, including the denoising component of it, so you should be able to get a sense of the sharper details.
Image courtesy of Square Enix
FINAL FANTASY VII REMAKE INTERGRADE employs volumetric fog, which can change the mood of environments like the gardens outside Aerith's house. Can you elaborate on why this implementation was a good fit for the next-gen update and explain how you implemented it using Unreal Engine?
Ikeda: We had already been using volumetric fog, but their settings as assets, such as positioning and density, were not optimal. So, we chose to remove all arbitrary parameters and tried to stick to PBR (physically based rendering) so that we can fill Midgar with a more consistent atmosphere.
Fog density and such are painted into the space of the world like a brush by the artists. This is then laid into the space as probe data, and then injected into the calculation voxel inside the viewing frustum of the camera in runtime. This takes heat haze into consideration as well, so if you look closely, you may notice that the light shafts are slightly waving.
Sources that shine on the fog consist of not only punctual light sources, but the multiple light probes that fill the space as well. The calculation model for scattering was conformed to Mie scattering, and front-lit was also shown without omission. This fog can be injected from effects as well–a good example of this can be seen in Nero’s attacks.
On top of all the visual enhancements, FINAL FANTASY VII REMAKE INTERGRADE does a great job maintaining a consistent 30 frames-per-second at 4K in graphics mode or 60 frames-per-second at a lower resolution in performance mode. Can you talk about the work that went into optimizing the game to hit those performance targets?
Hano: One of the efforts from the PS4 version that helped us was the workflow we established so we can improve the load we place on processing. First, we looked at what was imperative to revise, and determined the processing load regulations. Based on that, the QA team would check areas that do not follow those regulations and report them to us via a bug report. That report is then handed off to the optimization programmer. The profiling results, issues, and solutions are sent to each person responsible for handling the work. We would repeat the process until items were well contained within the scope of the regulation. Through these efforts, we were able to get an understanding of many of the issues through the player’s perspective and achieve a stable framerate.
Image courtesy of Square Enix
Do you have any advice for Unreal Engine developers who are hoping to port their games to next-gen?
Hamaguchi: Through the development of FINAL FANTASY VII REMAKE INTERGRADE, I couldn’t help but feel just how versatile Unreal Engine is–since FINAL FANTASY VII REMAKE on the PS4 was developed based on UE 4.18, naturally, there wasn’t support for future platforms such as the PS5 at the time. However, all we needed to do was to do a partial merge or implement a few unique items on our end based on the most recent version of UE4, and there was flexibility for expansion even from a slightly older version of UE. Of course, there will be more instances where the native code in UE will need to be amended, so the skills expected from an engineer are still necessary, but I’m hoping that today’s article serves as somewhat of a reference, and helps those who are looking to port their games to next-gen.
Get the world’s most open and advanced creation tool.
With every feature and full source code access included, Unreal Engine comes fully loaded out of the box.