1935
A fully interactive story about the criminal underworld of 1930s New York City and the prosecutors charged with bringing them down.
>
Meow the Infinite
The feline space opera you’ve been waiting for.
>
Handmade Hero
A complete, professional-quality game, coded from scratch on a live stream.
>
Immediate-Mode Graphical User Interfaces (2005)
An old makeshift tech video I recorded introducing the concept of “IMGUI”  —  the Immediate-Mode Graphical User Interface.
>
Quaternions, Double-cover, and the Rest Pose Neighborhood (2006)
An old makeshift tech video I recorded about a special property of quaternions and how to use it to your advantage.
>
Implementing GJK (2006)
An old makeshift video I recorded about how to implement the GJK collision detection algorithm.
>
The Next Twenty Years
Why the closed distribution model of Windows 8 should be changed for the sake of developers, consumers, and Microsoft itself.
>
Walk Monster
Mapping the walkable surfaces on the island of The Witness as a step toward bulletproofing the player movement code.
>
Finding and Fixing a Five-Second Stall
A strange pause in The Witness’s startup sequence leads to an investigation of Windows’ hotkey handling.
>
A Cliffside Cliffhanger
A little mystery about a rock that refused to move, that I thought I’d solved but didn’t really solve until Part 2.
>
How do you say “plane” in The Witness?
The exciting conclusion to the immovable rock mystery.
>
Visually pleasing distributions
An exploration of the grass system in The Witness leads to a discussion about what sorts of “random” distributions look pleasing to the human visual system.
>
The Color of Noise
What kinds of random distributions are good for the sorts of graphics work we do in game development?
>
The Nebraska Problem
The search for a “random” distribution with the most favorable qualities for ground cover.
>
A Brief Addendum on Staggered Concentric Intersection
Summaries and responses to emails received regarding the “Staggered Concentric Intersection” pattern.
>
Assorted grass system features
Brief discussions of some of the features of the grass system, and how they were implemented.
>
Interpolation
A video that introduces the basic concepts behind linear and bezier interpolation.
>
Semantic Compression
An introduction to the idea that code should be approached with a mindset towards compressing it semantically, rather than orienting it around objects.
>
Complexity and Granularity
An examination of two fundamental principles in effective programming.
>
Defining a Single Enumerant
An in-depth look at the decision-making process behind a small, simple piece of code.
>
Type Filtering
Implementing lister panel filtering by primary entity type.
>
Special Filters
Implementing lister panel filtering for arbitrary entity characteristics.
>
Displaying Groups Hierarchically
Making some simple changes to the lister panel code so that its display could show a hierarchy.
>
Lister Panel Demonstration
A brief video showing how the lister panel works in The Witness.
>
The Source Code
The complete source code to The Witness’s lister panel implementation.
>
Lister Panel Q&A
Questions and answers from last week’s post on The Witness’s lister panel.
>
Designing and Evaluating Reusable Components (2004)
An in-depth look at the five core principles of API design.
>
The Worst API Ever Made
A call-by-call look at context switch logging with the Event Tracing for Windows API.
>
Fixing Multi-monitor and Multi-window OpenGL on Windows
A simple proposal for a wgl extension that makes multi-monitor and multi-window output on Windows clean and simple.
>