This post is a list of sites, books, and talks I’ve found useful working in games.
I’ll try to update this page over time with more things!
Character, camera, controls. How to make a game feel good.
|The Game Developer’s Spring-Roll-Call||Deep-dive into the use of springs for gamedev, with mathematical derivations, animated examples, and code snippets.||Website|
|Celeste Game-Feel||Examples of how Celeste makes platforming feel good.|
|Code vs Data Driven Displacement||Overview of the tradeoffs between animation and code-driven locomotion for a character.||Website|
|GDC: Take ‘Control’ of Animation||More on the motion-matching approach to gameplay animation, from the game Control.||YouTube|
|GDC: Player Traversal Mechanics in the Vast World of Horizon Zero Dawn||Examples of player locomotion, start-and-stop animation, vaulting, jumping, etc, in a third-person open world game.||YouTube|
|GDC: Juicing Your Cameras With Math||Camera shake, framing, and smoothing, with demos for a 2D game.||YouTube|
|GDC: The Cameras of Uncharted 3||Implementation of a camera system for a third-person game.||GDC Vault (public)|
|GDC: 50 Game Camera Mistakes||Game camera lessons from the game Journey.||YouTube|
|GDC: Techniques for Building Aim Assist in Console Shooters||How to handle analog sticks, deadzones, input acceleration, and aim assist, for a first-person shooter.||GDC Vault (public)|
Gameplay programming for online multiplayer.
|GDC: Overwatch Gameplay Architecture and Netcode||Examples of gameplay networking, as well as an introduction to Entity Component System programming.||YouTube|
|GDC: Networking the Gameplay of Halo: Reach||Practical examples of replicating gameplay features, including what happens when it’s done wrong.||YouTube|
Advice and mindset for programming in games.
|Game Programming Patterns||An accessible introduction to common ways of solving problems in games.||Website/book|
|Simplicity: Not Just For Beginners||What it means to write simple code.||YouTube|
|Data-Oriented Design and C++||A good introduction to the ideas of data-oriented design, as an alternative to object-oriented programming.||YouTube|
|Data oriented design in practice||More hands-on examples of data-oriented design and its impacts.||YouTube|
The architecture of games and their key systems.
|Game Engine Architecture||A high level view of what game engines are and how they work.||Book|
|How to Write Your Own C++ Game Engine||Some lessons learned from game engine development, particularly around serialization/reflection.||Website|
|GDC: Valve’s Physics for Game Programmers||Examples of using serialization and reflection to aid debugging, with the use case of a physics engine.||YouTube|
Rendering, procedural generation, and putting pretty things on the screen.
|Inigo Quilez||Lots of resources for graphics, shaders and procedural generation. Many topics such as signed distance fields can come in useful in unexpected places unrelated to graphics as well.||Website|
|SIGGRAPH: Future of Real-Time Transparency||An overview of transparency in real time graphics and potential future approaches.||YouTube|