Choose a language:


|    Programming

As new platforms emerge and existing platforms evolve, programmers face an ever increasing challenge to produce games that capture the attention of the public and the media. The Programming Track focuses on these challenges and the opportunities presented by next and current generation development including: mature consoles, new handhelds, a highly competitive sales environment, and increased demand for very high production values in games.

Arrow Search for all Programming Track sessions


D3D12 & Vulkan: Lessons Learned
Matthaeus Chajdas (AMD)
Vulkan and DirectX®12 are new, low-level APIs which require developers to think about graphics in a new way. In many cases game engines need to be restructured to take advantage of low-level parallel submission, asynchronous execution and new state & resource handling features provided by the API. In this lecture, these new concepts will be reviewed and we will take a look at how launch titles successfully handled the transition to the new APIs. The presentation will include useful insights gained while developing the first wave of Vulkan & DirectX®12 titles.
Rendering Rainbow Six | Siege
Jalal Eddine El Mansouri (Ubisoft Montreal)
Rainbow Six | Siege is based on the first iteration of a new current gen only rendering engine. With massively and procedurally destructible levels, it was important to invest in techniques that allow for better scaling on both CPU and GPU. This session will describe the most interesting work done by the R6 graphics team to ship a competitive game on Xbox One, PS4 and up to 5 year old PCs. It will focus on architectural optimizations that leverages compute that are only possible with the current generation hardware. The talk will also present their new checkerboard rendering technique that allows for up to 50% faster rendering times without great quality loss.
Mixed Resolution Rendering in Skylanders: Superchargers
Padraic Hennessy (Vicarious Visions)
Skylanders: Superchargers leveraged mixed resolution rendering to help optimize the fill heavy effects that established the feeling of the skylands such as clouds and localized atmospherics. This lecture will cover the improvements in quality and performance that were developed to make this possible for the wide range platforms that needed to be supported. The topics will include best practices for depth downsampling, bilateral filter weighting improvements, and a performant branchless upsample technique.
Low Complexity, High Fidelity - INSIDE Rendering
Mikkel Gjoel (Playdead)
Mikkel Svendsen (Playdead)
This talk will detail the techniques used to achieve high visual fidelity in the context of the uncompromisingly simplistic aesthetic of INSIDE - Playdead's follow-up to the critically acclaimed LIMBO. We will describe a variety of effects used to achieve an atmospheric look, including local shadowed volumetrics and a robust water-rendering system. Seeking to fine-tune every pixel led us to author lighting as entirely separate diffuse, specular and bounce-light entities, while focusing on artist-approachable tools meant utilizing analytic primitive-based ambient occlusion and screenspace reflections. Further we will elaborate on how the subtle details of artwork can be saved from drowning in color-banding, by properly using dithering to get rid of distracting artefacts.
Here Be Dragons, or Lessons Learned in the Development of The Witcher 3: Wild Hunt
Balazs Torok (CD PROJEKT RED)
This talk will reveal details about many of the hardships faced while developing The Witcher 3. There are many potential pitfalls in developing such a huge open world game for 3 platforms. The speakers will be specifically concentrating on the most practical topics, namely on the challenges and how they were approached, how certain problems were discovered and how they were solved.