GDC 2017 | February 27 — March 3, 2017 | Moscone Convention Center | San Francisco, California


|    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


Creating a Tools Pipeline for 'Horizon: Zero Dawn'
Dan Sumaili (Guerrilla Games)
Sander Van der Steen (Guerrilla Games)
Developing a new IP is a challenging process for a company's tools pipeline. Developing a new IP while changing to a new genre is even more challenging. At Guerrilla Games, they have done just that. With 'Horizon: Zero Dawn', they transitioned from linear tactical first person shooters to a vibrant open world RPG, while completely rebuilding their tools pipeline from scratch. In this session, Dan and Sander will explain how Guerrilla Games defined and implemented a framework that would provide a robust basis of functionality, on which they built an integrated game development environment. They will present a clear picture of how the framework's capabilities took shape over time, by detailing systems they developed and how those systems interact. Redesigning Guerrilla Games' tools pipeline while in production was a significant risk, which paid off and greatly benefited the final quality of their game.
Player Traversal Mechanics in the Vast World of 'Horizon: Zero Dawn'
Paul Van Grinsven (Guerrilla Games)
During this lecture, Paul will show what is needed to make Aloy traverse the vast world of 'Horizon: Zero Dawn' with its complex and organic environments. Various traversal mechanics will be covered from a gameplay programmer's perspective, focusing on the interaction between code and animations. The different systems and techniques involved in the implementation of these mechanics will be explained, and he will look at the underlying reasoning and design decisions.
'Ghost Recon Wildlands': Terrain Tools and Technology
Guillaume Werle (Ubisoft)
Benoit Martinez (Ubisoft)
'Tom Clancy's Ghost Recon Wildlands' is an open world shooter developed by Ubisoft Paris. It is the biggest action-adventure open world games published by Ubisoft, with the game world including a wide variety of environments such as mountains, forests, deserts and salt pans. A dedicated tool chain and rendering system was designed for this purpose and is now shared among several other projects, this lecture will describe some of the most important technologies behind this work.
Networking Scripted Weapons and Abilities in 'Overwatch'
Dan Reed (Blizzard Entertainment)
'Overwatch' uses a proprietary visual scripting language called Statescript to execute the high-level state machines used throughout the game, including the logic driving hero weapons and abilities. This lecture describes the features of the language and why they were chosen, and it explores how prediction and replication of script behavior is automated so that common networking problems are handled for the scripter. This approach to synchronizing fast-paced gameplay over variable-quality networks comes with both benefits and challenges.

A variety of networking topics are discussed in this talk, including responsiveness, security, bandwidth usage, seamlessness, and ease of implementation. By addressing each of these concerns in their scripting system, the team behind Statescript was able to provide designers with a flexible, iterative workflow in which new heroes could quickly be taken from prototype to shippable with little to no new code.
Efficient Texture Streaming in 'Titanfall 2'
Chad Barb (Respawn Entertainment)
In developing Titanfall 2, we wanted more detailed environments, but also a lot more options for player weapons, equipment and Titans. One key was adding real-time texture streaming to our engine. However, with little GPU or CPU to spare, we needed an approach that could rely on offline processing. It had to allow artists the freedom to create textures at whatever resolution they want, without having to do much manual setup or tweaking. Finally, for PC, we had to work with different amounts of RAM and display resolutions. This session will go into depth about our approach, including our preprocess, how we stream in precomputed data to drive our streaming, our pipeline, how we use histograms to prioritize textures to load or drop, as well as useful tools and lessons learned.
FrameGraph: Extensible Rendering Architecture in Frostbite
Yuriy O'Donnell (Electronic Arts)
This talk describes how Frostbite handles rendering architecture challenges that come with having to support a wide variety of games on a single engine. Yuriy describes their new rendering abstraction design, which is based on a graph of all render passes and resources. This approach allows implementation of rendering features in a decoupled and modular way, while still maintaining efficiency.