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


Lessons from the Core Engine Architecture of Destiny
Chris Butcher (Bungie)
At Bungie, we built games based on the Halo engine for ten years. However, by 2008 it was beginning to show its age and there were many core systems that were ill-suited to a modern game development environment. For our new game, Destiny, we sought to develop an engine that would last us just as long as the Halo engine had. This talk will cover the six-year development arc of the Destiny engine, from inception to ship. We will cover various lessons learned during the course of Destiny engine development, including techniques for large-scale engine refactoring, educating a team of engineers about intentions behind system architecture, how to test assumptions early, and topics in applied system architecture such as data lifetime management, object system design and source code layering. Each lesson will be illustrated by development history and system designs drawn from the Destiny engine.
Dialog Systems in Double Fine Games
Anna Kipnis (Double Fine Productions)
You might have toyed with the idea of having recorded dialog in your game and wondered what, exactly, that would entail. In this session Anna Kipnis, senior gameplay programmer at Double Fine, will give a broad overview of how dialog gets into a Double Fine game, from the moment a line is written to hearing and seeing the line in the engine, even in a foreign tongue. The lecture will focus on the technology required to make it possible, as well as some useful approaches, including examples of dynamic dialog systems.
Parallelizing the Naughty Dog Engine Using Fibers
Christian Gyrling (Naughty Dog)
This talk is a detailed walkthrough of the game engine modifications needed to make The Last of Us Remastered run at 60 fps on PlayStation 4. Topics covered will include the fiber-based job system Naughty Dog adopted for the game, the overall frame-centric engine design, the memory allocation patterns used in the title, and our strategies for dealing with locks.
Streaming in Sunset Overdrive's Open World
Elan Ruskin (Insomniac Games)
This is a postmortem of the streaming technology used in Sunset Overdrive, the challenges and pitfalls we encountered while building it, and how it shaped our game's design. In the space of a single project, Insomniac Games went from developing level-based platformer/shooters to the sprawling open world of Sunset Overdrive. Turning an indoor shooter engine with airlock loading into one that could stream entire city blocks while the player grinds through them at breakneck speed involved painstaking iteration and a lot of trial and error. Here we look back at the experience from every department's point of view, including engine development, gameplay, production, art and design.
Strategies for Efficient Authoring of Content in Middle-earth: Shadow of Mordor
Doug Heimer (Monolith Productions)
As games become larger and more complicated, developing content carries more overhead than ever. Shadow of Mordor contains an order of magnitude with more content than F.E.A.R. 2, released in 2009. This dramatic increase put a large strain on an infrastructure built for the last generation of consoles, exposing limits and threatening to suffocate development. This presentation will discuss strategies employed for minimizing the resulting authoring down time.
Destiny's Multithreaded Rendering Architecture
Natalya Tatarchuk (Bungie)
Modern console architectures have heterogeneous, multi-core computation architectures that differ vastly in performance and memory characteristics. As a result, game engine architectures have moved away from thread-level parallelism to use 'job systems' for fine-grained task and data parallelism. To optimally take advantage of all available resources, a game engine must be designed from the ground up for job-based multithreading.In this talk we will delve into the renderer that Bungie developed for Destiny, a fast-paced shared world shooter for PlayStation 4, PlayStation 3, Xbox One and Xbox 360. We will describe the architecture of a multithreaded renderer that delivers low-latency, efficient execution across multiple platforms, focusing on both the successes and challenges encountered.
The Dawn of Mobile VR
John Carmack (Oculus)
The dawn of consumer mobile VR is close. Come hear the technical details of making mobile VR a reality; techniques and strategies for maximizing the quality of your VR games, applications, and experiences; and thoughts about the future of VR, including what it means for the mobile ecosystem. Q&A to follow (until chased out).