You are on page 1of 6

Red Blob Games https://www.redblobgames.

com/

Red Blob Gamesfrom Amit Patel


redblobgames@gmail.com · @redblobgames · blog · RSS

Hi! I make interactive visual explanations of math and algorithms, using motivating ex-
amples from computer games.

Introduction to A* and implementation guide


Also: Dijkstra’s Algorithm, Breadth First Search

Tower Defense pathfinding


Also: Breadth First Search, Dijkstra Maps, Flow Field pathfinding

Hexagonal grid reference and implementation guide


Also: non-orthogonal bases, relation to cubes

2D Visibility algorithm
Also: sweep algorithms

Intro to graph theory


Also: how to represent grids as graphs

Probability for RPG Damage


Also: probability distributions, nonparametric distributions

Line drawing
Also: linear interpolation (lerp), supercover

Curved roads
Also: Bezier curves, circular arcs, biarcs

Map generation from noise and noise function concepts


Also: Perlin/Simplex Noise, signal processing

1 of 6 11/02/2020 19:36
Red Blob Games https://www.redblobgames.com/

Polygonal Map Generation [1]


Also: blue noise, Delaunay triangulation, Voronoi diagrams, water flow

Pathfinding with A* [2]

Grid edges and tiles

Grid math: Square, Hexagon, Triangle [3]


Also: faces, edges, corners, and relationships among them

Pathfinding with circular obstacles [4]


Also: bitangents

Guide to Delaunator [5], a Delaunay+Voronoi library


Also: mesh data structures, half-edges

Noisy edges out of straight lines


Also: area-constrained noisy paths

Filled circles on a grid

I’ve been curating game development articles since 1990 [7], and my web site
has been up since 1995. All of my articles are available for free, with no
signup and no ads. The main audience is independent, student, and hobbyist
software developers. I started experimenting with interactive explanations in
2004, but didn’t figure out until 2007   the style of interactive explanation I
use now [8].

[6]

2 of 6 11/02/2020 19:36
Red Blob Games https://www.redblobgames.com/

I make fun demos while learning new things and writing explanations:

Mapgen4 map generator lets you draw your own terrain

Procedural face generator (inspired by a Scott McCloud book)

Mapgen2 map generator

Ellipse from lines (inspired by a 3blue1brown video)

Modulo multiplication (inspired by a Mathologer video)

Orbits of planets (inspired by a John Carlos Baez blog post)

Noisy edges using shaders

Car blind spots [9]

Bacterial cell animation

Conveyor belt editor (inspired by Factorio)

Tiling a sphere with diagonal squares

3 of 6 11/02/2020 19:36
Red Blob Games https://www.redblobgames.com/

Tiling a sphere with hexagons

Tiling a sphere with Voronoi

Tiling a cube with squares

Tiling a sphere with squares

Organic cave maps

Rounded cells and Chaikin Curves

Dyson hatching (inspired by a Watabou project)

Triangle patterns on a Delaunay mesh

I also explore ideas sometimes without writing a full tutorial:

Alternative to Voronoi with rounder cells


Procedurally generating names using pronunciations and neural networks
Procedurally modifying spelling using pronunciations and letter-phoneme alignment
Understanding the color yellow: why are there three primary colors in science but four primary
colors in board games, crayons, etc.?
Distance to seed points using Breadth First Search
Homunculus: stretching and shrinking maps to match a game’s needs [10]
Map generation with no code, only image filters

4 of 6 11/02/2020 19:36
Red Blob Games https://www.redblobgames.com/

Terrain shader experiments for filling triangles with various patterns


Placing natural resources on a map
Hexagon on Saturn [11]: can I recreate it?
Procedural planet generation on a sphere using Voronoi+Delaunay
Reshaping distributions [12]
Signed distance fields [13]: quick visual explanation

I’m working on a series of pages that explain how to make interactive tutorials:

Interactive tutorial about making interactive tutorials, including multiple diagrams, layered
diagrams, drag-and-drop, and scrubbable numbers
Drag handles with constraints
Arrows outside the diagrams [14], something I haven’t seen elsewhere, and haven’t used yet
Responsive web design implementation for interactive diagrams (canvas, svg, webgl)
Notes on how I made the A* pages and the tool I made for graph editing
Blog posts [15] about my process and struggles
Scrubbable numbers in ObservableHQ [16]
Using Vue’s reactivity system with Canvas [17], which can also work with D3 [18]. I’m also
experimenting with Hyperactiv’s reactivity system for interactive diagrams.

Accompanying code is open source, under either the MIT License [19] or the Apache v2 License [20]. Both
allow use in commercial projects. Other projects are found at at github/amitp [21] and github/red-
blobgames [22].

About me

I’ve been helping people make games since 1990. I wrote games earlier in life, with Solar Realms Elite [23]
being the most well known [24], then worked on an environmental simulation game called BlobCity, then
took a break for over a decade. The recent rise of indie, mobile, tablet, social, and web games have made
me interested in game development again. My current passion is using interactivity on the web for
learning, especially computer science and math. I’ve started with game development because it’s a rich
source of interesting problems that can be explained visually. With modern web browsers, we can use
explanations that don’t follow the formats used in magazines, technical papers, and books. We can com-
bine learning by reading, learning by watching, and learning by doing [25].

I previously worked with Root-1 [26] on educational games, Wild Shadow Studios on Realm of the Mad
God [27], Peter Norvig on interactive diagrams for Artifical Intelligence: A Modern Approach [28], and
Nonagon Games on A Chronicle of Misdeeds [29].

If you’re in the Silicon Valley area and want to chat in person, email me at redblobgames@gmail.com.
I’m especially interested in algorithms related to maps, procedural generation, and pathfinding, but love

5 of 6 11/02/2020 19:36
Red Blob Games https://www.redblobgames.com/

to chat about anything.

Copyright © 2020 Red Blob Games


RSS Feed

6 of 6 11/02/2020 19:36

You might also like