Moonjump
Independent game studio in Canberra, Australia. Publishes the Mechanics Library: long-form, interactive tutorials on how game systems work, from pathfinding and procedural generation to rendering and physics.
- Screen Space Ambient Occlusion (SSAO): how it works
Covers the SSAO algorithm from the AO integral and depth sampling through hemisphere kernels and noise rotation.
moonjump.com · Mar 2026 - Skeletal Animation & Skinning: how it works
Explains bone hierarchies, inverse bind matrices, and linear blend skinning that deform meshes into animated characters.
moonjump.com · Mar 2026 - Third-Person Camera Systems: how it works
Shows follow cameras, exponential damping, and raycast-based collision avoidance for third-person cameras.
moonjump.com · Mar 2026 - Navigation Meshes (NavMesh): how it works
Explains how navmeshes decompose walkable space into convex polygons, from Recast generation to the funnel algorithm.
moonjump.com · Feb 2026 - Procedural Dungeon Generation: how it works
Shows how Binary Space Partitioning trees generate roguelike dungeon layouts, with an interactive demo.
moonjump.com · Feb 2026 - Procedural Locomotion: how it works
Covers step triggering, gait coordination, and two-joint inverse kinematics for generating walk animations at runtime.
moonjump.com · Feb 2026 - Volumetric Lighting (God Rays): how it works
Explains light scattering, the Beer-Lambert law, and the screen-space radial blur used for god rays.
moonjump.com · Feb 2026 - Octrees: how it works
Explains octree space partitioning and how it speeds up spatial queries such as collision detection and frustum culling.
moonjump.com · Feb 2026 - Poisson Disk Sampling: how it works
Teaches Bridson's O(n) algorithm for evenly spaced random points, useful for placing trees, rocks, and spawn points.
moonjump.com · Feb 2026 - Normal Mapping: how it works
Covers tangent space and the TBN matrix, with a shader implementation that adds surface detail to flat polygons.
moonjump.com · Feb 2026 - Bloom (Post-Processing): how it works
Breaks down bloom into brightness extraction, Gaussian blur, and HDR compositing, with math and shader code.
moonjump.com · Jan 2026 - Toon Shading (Cel Shading): how it works
Explains quantized diffuse lighting, hard specular cutoffs, and inverted-hull outlines for cel-shaded looks.
moonjump.com · Jan 2026 - Parallax Scrolling: how it works
Explains how moving background layers at different speeds creates depth, with the math and implementation patterns.
moonjump.com · Jan 2026 - Metaballs & Implicit Surfaces: how it works
Explains scalar fields and falloff functions that merge organic blobby shapes, plus real-time GPU rendering approaches.
moonjump.com · Jan 2026 - Flow Fields: how it works
Shows how a single vector field built in three layers guides hundreds of agents efficiently, as in RTS games.
moonjump.com · Jan 2026 - Projectile Trajectories & Ballistics: how it works
Covers kinematic equations, inverse aiming solutions, and arc visualization for projectiles like grenades and artillery shells.
moonjump.com · Jan 2026 - GPU Instancing: how it works
Explains how uploading one mesh plus per-instance transforms collapses thousands of draw calls into one.
moonjump.com · Jan 2026 - Voronoi Diagrams: how it works
Explains Voronoi partitioning and its uses in map generation, fracture, Worley noise, and GPU signed distance fields.
moonjump.com · Jan 2026 - Verlet Integration: how it works
Breaks down the position Verlet formula and Jakobsen's constraint relaxation for simulating cloth, rope, and ragdolls.
moonjump.com · Jan 2026 - Behavior Trees: how it works
Explains how Selectors, Sequences, and leaf nodes combine into modular hierarchical AI, with an interactive demo.
moonjump.com · Dec 2025 - Ray Marching & Signed Distance Fields: how it works
Learn how signed distance fields and ray marching render complex 3D shapes from mathematical functions on the GPU.
moonjump.com · Dec 2025 - Separating Axis Theorem (SAT): how it works
Learn how SAT detects convex-shape collisions and how to compute the Minimum Translation Vector for physics resolution.
moonjump.com · Dec 2025 - Wave Function Collapse: how it works
Learn how the Wave Function Collapse constraint-satisfaction algorithm generates varied worlds from simple tile rules.
moonjump.com · Dec 2025 - Water Simulation: how it works
Learn how Gerstner waves, FFT-based ocean rendering, and shallow water equations combine to create real-time water.
moonjump.com · Dec 2025 - Cellular Automata: how it works
Learn how neighbor-counting rules turn random noise into organic cave systems for procedural generation.
moonjump.com · Dec 2025 - Marching Cubes: how it works
Learn how Marching Cubes converts a 3D scalar field into a smooth triangle mesh for metaballs and volumetric terrain.
moonjump.com · Dec 2025 - Noise Functions (Perlin & Simplex): how it works
Learn how Perlin and Simplex noise generate coherent randomness for procedural terrain, textures, and animation.
moonjump.com · Dec 2025 - Occlusion Culling: how it works
Learn how occlusion culling discards hidden geometry before rendering to cut draw calls and support more complex scenes.
moonjump.com · Dec 2025 - Shadow Mapping: how it works
Learn how two-pass shadow mapping works, including bias, PCF filtering, and cascaded shadow maps for large worlds.
moonjump.com · Nov 2025 - Level of Detail (LOD): how it works
Learn how LOD systems swap meshes by camera distance to improve performance in large 3D games.
moonjump.com · Nov 2025 - Frustum Culling: how it works
Learn the math of view frustums, plane extraction, bounding volume tests, and hierarchical culling.
moonjump.com · Nov 2025 - Rigid Body Physics: how it works
Learn how impulse-based collision response works, the math behind major physics engines, with an interactive simulation.
moonjump.com · Nov 2025 - Finite State Machines: how it works
Learn how finite state machines drive enemy AI and how to build your own with states, transitions, and hierarchies.
moonjump.com · Nov 2025 - Steering Behaviors: how it works
Learn Reynolds' Seek, Flee, Arrive, and Wander steering behaviors using vector math for natural autonomous movement.
moonjump.com · Nov 2025 - Spatial Hashing: how it works
Learn how a uniform grid and hash map reduce collision checks from O(n²) to near-linear by finding only nearby pairs.
moonjump.com · Nov 2025 - Particle Systems: how it works
Learn particle motion math, emitter types, object pooling, and GPU rendering techniques for thousands of simultaneous particles.
moonjump.com · Nov 2025 - Rope & Cloth Physics: how it works
Learn how Verlet integration and distance constraints simulate ropes, capes, and flags in real time.
moonjump.com · Oct 2025 - Inverse Kinematics: how it works
Learn how the FABRIK algorithm solves chain-reaching for limb movement and how to implement it from scratch.
moonjump.com · Oct 2025 - Raycasting: how it works
Learn the DDA raycasting algorithm from first principles, plus its uses in picking and AI line-of-sight.
moonjump.com · Oct 2025 - A* Pathfinding: how it works
Learn how A* combines exact movement costs with heuristic estimates to find shortest paths efficiently.
moonjump.com · Oct 2025 - Bézier Curves: how it works
Learn how Bézier curves work, from linear interpolation to De Casteljau's algorithm, and how they drive camera paths, projectile arcs and splines.
moonjump.com · Oct 2025 - Procedural Terrain Generation: how it works
Learn how Perlin noise, fractal Brownian motion and domain warping combine to generate believable procedural landscapes.
moonjump.com · Oct 2025 - Quadtrees: how it works
Learn how quadtrees recursively divide 2D space to speed up collision detection and scene queries, including the algorithm and math.
moonjump.com · Oct 2025 - Spring Physics: how it works
Learn Hooke's Law, numerical integration and spring chains for bouncy platforms, ropes, camera lag and ragdoll-style effects.
moonjump.com · Oct 2025 - Flocking with Boids: how it works
Learn how separation, alignment and cohesion rules combine to produce convincing flocking behavior.
moonjump.com · Oct 2025