Publications - All Categories

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.

3 downloads


 

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.

3 downloads


 

Automatic Annotations in Killzone 3 and Beyond

Mikko Mononen | Paris Game/AI Conference 2011, Paris, June 2011 | Category: AI, Programming, Tools


Voxel-based technologies have been successfully used to extract navigation data for NPCs. This talk shows how voxel data was used to automatically extract cover planes and more information in Killzone 3's toolset.

2 downloads


 

Release This! Tools for a Smooth Release Cycle

Frank Compagner | Perforce User Conference 2011, San Francisco, June 2011 | Category: Production, Tools


An overview of the improved Guerrilla Games release process and the tools to support it.

3 downloads


 

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.

2 downloads


 

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.

2 downloads


 

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.

2 downloads


 

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.

3 downloads


 

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.

1 download


 

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.

2 downloads


 

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.

1 download