inFAMOUS: Second Son is definitely one of the most visually impressive games available now on a new generation system, and at the Game Developers Conference Lead Engine Programmer Adrian Bentley Explained the ins and outs of its engine and how the resources of the PS4 were used for the game.
- The RAM of the PS4 allowed Sucker Punch to increase memory budgets by four to eight times.
- I/O (input/output) speed was a big problem, even from the hard drive. Input/Output speed is the communication speed between the drive and the CPU.
- Measures were taken to reduce I/O pressure, caching seven more streaming chunks with a memory budget of about 240 MiB (Mebibyte, basically a more professional equivalent of megabyte) and using more and bigger media streaming pages with a budget of 40 MiB.
- Texture atlases were used for many purposes, with a budget of over 200 MiB. A texture atlas is a large texture that includes many sub-textures that can be used for many objects, instead of having separate texture files for each object.
- Ambient index was cached per static vertex with a budget of about 30 MiB.
- The tiled light list was stored for forward pass (4 MiB).
- Code was kept simple, using big linear buffers.
- Most of the 4.5 Gb of RAM actually available were used. You can see the full allocation below.
The following effects were also used:
- Indirect Diffuse Lighting with a budget of 25 MiB for the whole world and a resource cost of 1-3 ms. Data was cached to avoid redundant computation.
- Indirect Specular Lighting with Local Specular Cubemaps and Screen Space Specular Reflection.
As a wrap-up, Bentley mentioned a few elements we (or at least developers among us, gamers will just see the effects) could see in the future:
- Much more threading and compute.
- lighter weight instantiation.
- Improvement in perforce sync time.
- less manual ambient and faster baking.
- Better distant environment LOD (level of detail).
- Overhauled pathing system.
- Easier scripting reference for parts of objects.
- Fewer heavy weight objects.
More info and pics on the link.