# [PCGH Extreme] Technical Question&Answer for Kane & Lynch



## Falk (22. Oktober 2007)

_PCGH: Will the technical basis of Kane & Lynch be a modification of the enhanced Glacier Engine that was programmed for Hitman: Blood Money or do you decide to build a new engine from scratch?_

Kane & Lynch is using an extended version of the Glacier 1 engine which is the same core engine that was used for Hitman: Blood Money.


_PCGH: If you revise the Engine built that was used in Hitman: Blood Money, which parts do you reprogram or overhaul, which engine components remain untouched? What were the reasons behind you decision? Were there any technical goals than cannot be realized with the old build of the engine?_

Kane &Lynch was already in development during Hitman: Blood Money, so the core engine is the same. However, several things were improved compared to the Glacier 1 engine used in Hitman: Blood Money:

	The engine now handles more characters on screen than ever before. Dynamic character shadows are rendered in bundles of 4, and we now have support for dynamic lights on crowds.
	Much better physics (using Havok), movable vehicles, support for shattering objects and more realistic ragdolls. 
	Crowd rendering has also been improved quite a bit. Multiple crowds on a single level, 
Higher character mesh complexity + More advanced AI.
	More destructable stuff: You can destruct more stuff in K&L than in any other previous IOI title.  Cars, windows ,  walls,  pillars, etc. can now be shot and destruct realistically. 
	Support for secondary motion on characters  i.e., things attached to characters  Better cloth and plant physics, and added realistic physics on dangling Lamps, chain etc. 
	 Ambient occlusion was added for more realistic lighting. 
	Smoke and particles now react dynamically to the lighting and soft particles i.e., particles that fade out according to the surrounding z values.
	Procedural impact animation system  characters react differently compared to where they are shot.
	Completely new scatter system, for grass, and all kinds of vegetation really. Scatter can now be animated, and is correctly sorted and alpha blended. It also reacts to light and shadows.
	Completely new DXT texture encoder: Much better quality, that enables artists to use DXT1 for many textures that had to be uncompressed previously. Takes advantage of the fact that newer GPUs interpolate 8bits/channel decoded values. If no alpha, we get an extra palette entry. Uses PCA to find palette entries. Multithreaded encoding.
	Online gaming (Xbox live, etc).

_PCGH: Why do you decide against using a middleware like Unreal Engine 3, Gamebryo or even Cry Engine 2? What are according to your opinion the advantages of using an inhouse technology?_

Good engines that work well on both PS3, Xbox 360 and PC are hard to find. Besides, using our own existing technology gives us more control, enabling us to get exactly the look and feel that we want at a relatively low cost. We did however choose to license the Havok technology for the physics.

_PCGH: Many games are developed for PC, Xbox 360 and even PS3 at the same time. Will this be the case with Kane & Lynch too? Do you regard your engine as a cross form product or is your technology like the previous iteration of the Glacier Engine optimized for the PC as a platform? Are there any technical features that cant be realized with the console version or in other words are there any features the PC is the ideal platform to develop for?
_

Glacier 1 is most definitely a cross platform engine all the way. Rendering and gameplay features are hand optimized for the different platforms: PC, Xbox 360 and PS3. The inner workings of the consoles is written in hand optimized Altivec  assembler , and The SPUs are heavily utilized on the PS3. PC uses DirectX 9.0c, PlayStation3 uses LibGCM. All platforms run Multithreaded. 

_PCGH: One of the highlights of Hitman: Blood Money was the very detailed visual presentation the powerful renderer of the Glacier Engine was responsible for? With the new iteration of the engine/renderer, have you integrated very modern render technologies like Soft Shadows, a HDR lighting model, Shader 4.0 support, Parallax Mapping and Parallax Occlusion Mapping, deffered shading, Ambient Occlusion etc. into the renderer? If yes can you give example how this modern rendering techniques are utilized?_

We use a system that pre-computes soft shadows cast from static objects onto static geometry. Unlike shadow volumes, it computes the actual optimized mesh representation for the shadows and also simulates soft shadows by drawing a smooth penumbra region using gouraud shading.  

Complex shadows (cast from trees etc.) are rendered using texture projection that also project onto characters. Projected light is handled the same way.

At runtime shadows are drawn into a shadow buffer. Dynamic character shadows are blended into the same buffer. Self shadows are drawn using PCF  shadow mapping (12 samples) and drop shadows are blurred and projected onto the geometry.

 Ambient occlusion is precomputed too and stored in DXT1 compressed light maps. AO simulates  secondary shadows cast from indirect light, and thus gives a sense of global illumination without being as expensive and really fits well  with our existing workflow. AO is something that you dont always notice when it is there, but you definitely notice when it isnt. 

We also do Parallax mapping and  HDR lighting. 

_PCGH: What were the state of the art rendering techniques the renderer can cope with you are most proud of?  _

Everything  The total accumulation is what achieves the overall effect.  For example, fantastic looking characters will look out of place in a badly lit environment.
_
PCGH: As far as overall performance is concerned, can players increase it remarkably by buying a second graphics card (SLI/Crossfire)? Is the renderer optimized for multi GPU systems?_


We support SLI.

_PCGH: Dual and multi core Processors are yet another topic currently discussed in the gaming industry and many upcoming games will profit from CPUs with more than one core. As far as the performance in Kane & Lynch is concerned will the engine profit from dual core CPUs? Does your engine even scale with more than two cores? 
a) If yes what different calculations can be or are split up into different threads and what is the expected performance gain resulting from two respectively four or more cores?
b) Will the engine in general scale well with multicore systems? Is your technology optimized even for future developments in this field? 
c) What is your personal opinion as a developer about multithreading and Quad core? Is this technology a real benefit for the gaming industry? 
​_Render runs in a separate thread. One thread traverses scene graph, building command chains, another thread executes them.
Yes, it does scale to the number of CPUs in the system. Some heavy math calculations (bone deformation, etc.) are split across all available CPUs. Multicore is an advantage. And gives more power to parallel tasks.

_PCGH: Do you program your own physics engine or will you use a middleware solution like ODE, Havok or the Physx-SDK? What are the advantages of an inhouse technology/physics middleware?_

We use havok.

_PCGH: The number of game that make use of a realistic physics simulation increase and lifelike physic do more and more serve to influence game play instead of offering improved eye candy. What physics engine do you use and how important is a realistic physics model for the title?_

Realistic physics is very important. The more realistic physics you can do the more realistic the overall game play feeling will be.

_PCGH: Finally: When is the release scheduled? Can you at the current state of development tell our readers what hardware will be required to play the game with all detail in 1.280x1.024 (no FSAA/AF) and 1.600x1.200 (4x FSAA/8:1 AF)?  
_

The game will be releasing before Christmas.  The player should be able to run the game on SM3 hardware and will obviously get a better experience the newer and more expensive  the graphics card.


----------

