Jump to content

80 level: Interview With the Horizon Zero Dawn Team (dungeons, the game engine, lighting, optimization, differences between Killzone and Horizon)


Recommended Posts



On the dungeons (cauldrons and bunkers) being opposed to one another and difficulties creating the,:



The bunkers were key in providing story beats and emotional connection to the old world, while the Cauldrons were important for gaining skills and giving the player a view into the utterly alien inner workings of an AI-controlled robot factory. In that sense, the two environments are almost diametrical opposites of each other.


They came a little late into the project, so we had to be smart in how to build them. The biggest challenge we faced was that there was a limited set of components to build these environments with since the amount of real estate they covered was tiny compared to the world above ground.


For the Cauldrons, it was basically a matter of an AI constructed this thing so go big, go crazy and treat the environment like a giant sculpture! We didn’t have a human element there to limit us, which was very nice.


Preparing their engine for an open-world game



We took a lot of inspiration from commercial/public engines, but also found areas where we thought we could improve over them. We designed a new tools framework that integrated all of our workflows, where there was little to no file management and you could play directly in the editor, and we built that. It sounds easier than it was, of course. In reality, some of the tools came late (or not at all), and we made some mistakes, but in the end, we pulled it all together and now we have a very decent toolset which makes us much more efficient than we ever were before.


On performance optimization:



One thing I can recall was that during development we had some issues with mid-distance rock faces (say, at around the 300m distance mark). The faces were made out of thousands of individual rocks that looked super-detailed up close. In the far distance, they were reduced to a height map, which is cheap to draw and looks identical far away. At the mid-level, they were collapsed into groups, but we had many of them on screen at the same time, and they could still be 10-20K triangles because they were just merged versions of low-LOD rocks. Many of the triangles were unnecessary, because they penetrated into the ground or stuck with each other, and they were becoming a real performance bottleneck. In the end, somebody did an experiment where they turned the rock faces into a 3D voxel structure, traced a new low-poly mesh over this voxel structure and then re-projected the material information of the landscape back onto it. We already had the material information from our radiosity voxel lighting bake. The resulting mesh was both cheap, cost little memory, and looked much better.


Killzone vs Horizon



For Killzone Shadow Fall (PS4, 2013) we used per-pixel lighting (spot, omni, directional, area light disk, rectangular, and point/sphere with an option for textured area lights). We used a custom BRDF for direct lighting, spherical harmonics for dynamic lightning, and directional lightmaps for the indirect lighting (using all the previous tricks we learned, but this time also occasionally using half float to get a lot better range and HDR-like levels for our baked lighting.)


For Horizon Zero Dawn (PS4, 2017) we used per-pixel lighting using all the Killzone Shadow Fall tricks, but using GGX as the BRDF of choice to give our materials a wider and more accurate range of material expression.  We also added a dynamic skylight to the mix, which lights everything based on the sky color from all angles.


Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Create New...