Killzone: Shadow Fall Demo Postmortem
Michal Valient | Sony Devstation 2013, London England, April 2013 | Category: Graphics, Production, Programming
This talk is about our experiences gained during making of the Killzone Shadow Fall announcement demo.
We’ve gathered all the hard data about our assets, memory, CPU and GPU usage and a whole bunch of tricks.
The goal of talk is to help you to form a clear picture of what’s already possible to achieve on PS4.
Lighting of Killzone: Shadow Fall
Michal Drobot | Digital Dragons 2013, Krakow Poland, April 2013 | Category: Graphics, Production, Programming
The presentation describes Physically Based Lighting Pipeline of Killzone : Shadow Fall - Playstation 4 launch title.
The talk covers studio transition to a new asset creation pipeline, based on physical properties. Moreover it describes light rendering systems used in new 3D engine built from grounds up for upcoming Playstation 4 hardware. A novel real time lighting model, simulating physically accurate Area Lights, will be introduced, as well as hybrid - ray-traced / image based reflection system.
We believe that physically based rendering is a viable way to optimize asset creation pipeline efficiency and quality. It also enables the rendering quality to reach a new level that is highly flexible depending on art direction requirements.
The Creation of Killzone 3
Jan-Bart van Beek, Michal Valient, Marijn Giesbertz, Paulus Bannink | Siggraph 2011, Vancouver, August 2011 | Category: Graphics, Production
This talk details various aspects of designing and developing videogames at Guerrilla.
It highlights methods that are very similar to methods used in the CGI industry, and it illuminates some of the most important differences.
It also covers the complete breadth of videogame development from artistic design to production pipelines and tool and engine development.
Practical Occlusion Culling in Killzone 3
Michal Valient | Siggraph 2011, Vancouver, August 2011 | Category: Graphics, Programming
Killzone 3 features complex occluded environments.
To cull non-visible geometry early in the frame, the game uses PlayStation 3 SPUs to rasterize a conservative depth buffer and perform fast synchronous occlusion queries against it.
This talk presents an overview of the approach and key lessons learned during its development.
Practical Occlusion Culling on PS3
Will Vale | GDC 2011, San Francisco, March 2011 | Category: Graphics, Programming
Games always have too much stuff to render, but are often set in occluded environments, where much of what is in the view frustum is not visible to the camera. Occlusion culling tries to avoid rendering objects which the player can’t see.
Discussion of occlusion for games has tended to focus on the use of GPU pixel counters to determine whether or not an object is visible. This places additional stress on a limited resource, and has latency which has to be worked around, requiring a more complex pipeline.
For KILLZONE 3 we took a different approach - we use the SPUs to render a conservative depth buffer and perform queries against it. This allows us to cull objects very early in the frame, avoiding any pipeline costs for invisible objects.
This presentation talks about the ideas (and dead ends) we explored along the way, as well as explaining in detail what we ended up with.
Killzone 2 Multiplayer Bots
Remco Straatman, Tim Verweij, Alex Champandard | Paris Game/AI Conference 2009, Paris, June 2009 | Category: AI, multiplayer, Programming
This presentation the describes architecture behind the multiplayer bot AI for Killzone 2.
As part of this, it describes the hierarchical task network (HTN) planner, terrain analysis, and the way commander squad and individual bot AI work together for dynamic tactical gameplay.
The PlayStation®3’s SPUs in the Real World: A KILLZONE 2 Case Study
Michiel van der Leeuw | GDC 2009, San Francisco, March 2009 | Category: Graphics, Programming
This session describes many of the SPU techniques used in the engine used to develop KILLZONE 2 for the PlayStation 3.
It first focuses on individual techniques for SPU's as well as covering how these techniques work together in the game engine each frame.
The Rendering Technology of Killzone 2
Michal Valient | GDC 2009, San Francisco, March 2009 | Category: Graphics, Programming
This presentation gives an overview of the rendering techniques used in KILLZONE 2.
We put the main focus on the lighting and shadowing techniques of our deferred shading engine and how we made them play nicely with anti-aliasing.
A Hierarchically-Layered Multiplayer Bot System for a First-Person Shooter
Tim Verweij | Msc. Thesis, Vrije Universiteit Amsterdam, August, 2007 | Category: AI, Programming
This thesis research was the basis for Killzone 2's multi-player bots.
It proposes a hierarchically structured system to control the multiplayer bots, using one AI commander for each faction, each commanding several group leaders, each commanding several individual bots.
The system is evaluated on the basis of a fully implemented AI for one of the multiplayer game modes.
Deferred Rendering in Killzone 2
Michal Valient | Develop 2007, Brighton, July 2007 | Category: Graphics, Programming
Next generation gaming brought high resolutions, very complex environments and large textures to our living rooms.
With virtually every asset being inflated, it's hard to use traditional forward rendering and hope for rich, dynamic environments with extensive dynamic lighting.
Deferred rendering, on the other hand, has been traditionally described as a nice technique for rendering of scenes with many dynamic lights, that unfortunately suffers from fill-rate problems and lack of anti-aliasing and very few games that use it were published.
In this talk, we will discuss our approach to face this challenge and how we designed a deferred rendering engine that uses multi-sampled anti-aliasing (MSAA).
We will give in-depth description of each individual stage of our real-time rendering pipeline and the main ingredients of our lighting, post-processing and data management.
We'll show how we utilize PS3's SPUs for fast rendering of a large set of primitives, parallel processing of geometry and computation of indirect lighting.
We will also describe our optimizations of the lighting and our parallel split (cascaded) shadow map algorithm for faster and stable MSAA output.
Killzone's AI: Dynamic Procedural Tactics
Arjen Beij, Remco Straatman | GDCE 2005, London, August 2005 | Category: Programming, AI
Dynamic tactical position evaluation functions are procedures that use static and dynamic information about the world to make tactical decisions at run-time.
By having NPCs use a procedural description of the solution to a tactical decision, the solution can vary depending on the inputs.
Using static information about the world as input makes sure the tactics are applicable at any place on the map.
Using dynamic inputs makes sure they are applicable in multiple situations.
The Guerrilla Guide to Game Code
Jorrit Rouwé | Gamasutra, April 2005 | Category: Programming
There are a lot of articles about games. Most of these are about particular aspects of a game like rendering or physics.
All engines, however, have a binding structure that ties all aspects of the game together.
Usually there is a base class (Object, Actor or Entity are common names) that all objects in the game derive from, but very little is written on the subject.
Only very recently a couple of talks on game|tech have briefly touched on the subject.
Still, choosing a structure to build your game on is very important.
The end user might not "see" the difference between a good and a bad structure, but this choice will affect many aspects of the development process.
A good structure will reduce risk and increase the efficiency of the team.