Mighty Professional
Gaming

AAA dev gone indie — long-form, hands-on tutorials on the systems behind games, graphics, and ML.

Tutorials

Fifty tutorials in the hub's phase order. Foundations is optional depth to pull in when a later module leans on it; two playable milestones sit in the path, a complete 2D game and then a 3D one. The hub page carries the full dependency graph.

Foundations

Read

Big O Notation

The language game programmers use to predict whether a system survives the jump from test scene to shipping content. Four worked engine case studies (broad-phase collision, BVH ray traversal, A*, draw-call sorting), the master theorem, and a live in-browser playground.

  • Foundations
  • Beginner-Intermediate
  • 55 min
Read

Bit Shifting

Two's complement to BMI2. The signed-division trap, shift-count UB, and why hand-writing a shift for speed buys nothing. Then the engine payload: flags and bitsets, bitboards, RGBA packing, Morton swizzling, fixed-point, the Quake III inverse square root, xorshift, and hardware popcount. Fourteen live widgets and primary sources from HAKMEM 1972 to C++20.

  • Foundations
  • Junior-Senior
  • 60 min
Read

C++ Containers

The standard containers engine code leans on: vector, deque, list, map, unordered_map, the adaptors, the views. Memory pictures, complexity proofs, and a live race that measures how far node-based containers fall behind vector.

  • Foundations
  • Intermediate
  • 55 min
Read

Hash Tables from Scratch

The O(1) lookup behind entity maps, asset registries, string interning, and shader variant caches. Chaining, linear probing, Robin Hood, Swiss tables with SIMD metadata, and what deletion and resizing cost. Seven live widgets, including three erase policies racing on one op stream until the tombstone table runs out of empty slots, and a stop-the-world rehash whose worst single operation touches 65 slots next to an incremental one that never exceeds five.

  • Foundations
  • Intermediate
  • 50 min
Read

Sorting Algorithms

The sort routines that ship inside real engines and language runtimes: introsort, pdqsort, timsort, powersort, radix, bitonic. The n log n lower bound, the 2015 timsort stack-invariant bug, branchless partitioning, and three engine case studies including draw-call sort keys.

  • Foundations
  • Intermediate
  • 60 min
Read

x86-64 Assembly from Scratch

The CPU model your compiler is actually targeting: sixteen GPRs, the VEX/EVEX encoding, System V vs Microsoft x64, branchless code, SIMD math, μops and port pressure. Six live widgets including a register-file stepper, an instruction-encoding decoder, and a branchy-vs-branchless race.

  • Foundations
  • Intermediate-Senior
  • 65 min

Memory & concurrency

Read

The C++ Memory Model from Scratch

Cache coherence, store buffers, the memory orderings, false sharing, ABA, hazard pointers, and a Chase-Lev deque that stays correct on ARM. Seven live widgets and a litmus-test playground.

  • Engine Dev
  • Senior
  • 65 min
Read

Memory Allocators from Scratch

The allocators engines ship: linear/bump, stack, pool, buddy, TLSF, slab. Fragmentation, AoS vs SoA, generational handles. Ten live demos, cited primary sources, and the 1965 paper Linux's page allocator still descends from.

  • Engine Dev
  • Intermediate-Senior
  • 70 min
Read

Job Systems from Scratch

Build a dependency-tracking, work-stealing job scheduler in C++ and Rust, then look at the fiber design Naughty Dog shipped in The Last of Us Remastered. Eleven live widgets and an in-browser scheduler playground.

  • Engine Dev
  • Intermediate
  • 50 min
Read

SIMD from Scratch

SSE, AVX, AVX-512 and NEON for game code: SoA vs AoS, multiple accumulators to hide FMA latency, pshufb as a parallel lookup table, masking, and what gather really costs. Six live widgets, a frustum cull at 8 spheres per AVX2 iteration, and a sourced read on AVX-512 clock behavior.

  • Engine Dev
  • Intermediate-Senior
  • 65 min
Read

Lock-free Queues & Memory Ordering

The queues the job pool and the audio thread need, in C++ and Rust: the progress taxonomy (lock-free vs wait-free), the SPSC ring that needs no CAS, Vyukov's bounded MPMC, the ABA problem and reclamation, and why code that's correct on x86 breaks on ARM. Three live widgets, including an SPSC ring and an ABA demonstrator.

  • Engine Dev
  • Senior
  • 25 min

Math & numerics

The runtime spine

Resources

Rendering: the 2D path (Vulkan)

Audio

A complete 2D game

Rendering: into 3D

Read

Going 3D: Perspective, Depth & Meshes

From the 2D renderer to a real 3D mesh, in C++ and Rust: the perspective projection and its Vulkan deltas, the camera and MVP, wiring the depth buffer into dynamic rendering, the pos/normal/uv vertex, loading glTF meshes, per-object data and std140, the Y-flip winding gotcha, and the scene-graph hierarchy. Three live widgets.

  • Engine Dev
  • Senior
  • 55 min
Read

PBR Materials & Lighting

Physically based rendering the way glTF and real engines ship it: the microfacet Cook-Torrance BRDF (GGX, Smith, Schlick-Fresnel), energy conservation, the metallic-roughness texture set and color spaces, normal mapping, punctual lights, HDR tone mapping, and an image-based-lighting overview. A GLSL shader core and three live widgets.

  • Engine Dev
  • Senior
  • 30 min
Read

Shadow Mapping

Shadows in Vulkan, in C++ and Rust: the two-pass algorithm, the light view-projection, the depth-only pass, the Vulkan depth-remap gotcha, the bias problem (shadow acne vs peter-panning), PCF, cascaded shadow maps, and omnidirectional shadows. Three live widgets.

  • Engine Dev
  • Senior
  • 55 min
Read

Deferred Rendering & the G-buffer

Deferred rendering in Vulkan, in C++ and Rust: the G-buffer and the geometry/lighting split, position from depth, octahedral normals, MRT in dynamic rendering, the full-screen lighting pass, the bandwidth/MSAA/transparency costs, and tiled vs clustered light culling with Forward+. Three live widgets.

  • Engine Dev
  • Senior
  • 55 min
Read

Ambient Occlusion & Global Illumination

AO and a GI survey, in C++ and Rust: what AO is and is not, a buildable SSAO over the deferred G-buffer (hemisphere kernel, range check, bias, noise, blur), applying AO to the ambient term only, HBAO/GTAO, and the GI families (baked, probes, DDGI, voxel, SSGI, ray-traced). Three live widgets.

  • Engine Dev
  • Senior
  • 55 min
Read

Post-Processing & Anti-Aliasing

The final image-quality pass, in C++ and Rust (Vulkan): the post chain, bloom (a downsample/upsample pyramid with an optional bright-pass), exposure and auto-exposure, color grading, and the anti-aliasing families (MSAA, FXAA, SMAA, TAA, and temporal upscaling). Three live widgets.

  • Engine Dev
  • Senior
  • 55 min

Animation

Simulation

Gameplay

AI

Read

Graph Traversal

BFS, DFS, Dijkstra, A*, topological sort, Tarjan's SCC, JPS, and HPA*. The traversal family behind render graphs, navmesh queries, asset cookers and AI. Seven live widgets, including a side-by-side BFS vs DFS maze race and a Dijkstra-vs-A* heuristic slider that visibly breaks optimality past weight 1.

  • Engine Dev
  • Beginner-Intermediate
  • 55 min
Read

Behavior Trees

The AI decision structure that displaced hand-built FSMs at many AAA studios. Sequences, selectors, decorators, parallel nodes, blackboards, and the part that is actually hard: interruption. Six live widgets, including an abort playground running a real multi-tick evaluator where halt() throws away a half-finished move and says so in the log, and where a memory composite with Observer Aborts set to None visibly fails to react at all.

  • Game AI
  • Intermediate
  • 45 min
Read

SMITSIMAX

Simultaneous-move Monte Carlo tree search from first principles. Standard MCTS, the simultaneous-move problem, decoupled trees, UCB1 selection, information sets, Nash equilibrium convergence, regret matching, and a live playground where you play Rock-Paper-Scissors against a Smitsimax agent and watch three selection policies race toward equilibrium.

  • Game AI
  • Intermediate
  • 50 min

Game AI: Navmesh & Steering

Navigation meshes and steering for game AI, in C++ and Rust: the navmesh and its dual graph, the Recast generation pipeline, the funnel/string-pulling algorithm, steering behaviors (seek, arrive, wander), flocking, and local avoidance (VO, RVO, ORCA) plus crowds. Three live widgets.

  • Engine Dev
  • Senior
  • 55 min

Networking

Tooling

A small 3D game

Extensions beyond the capstone

Off the critical path