I explore visual and interactive ways of explaining math and computer algorithms, especially those used in computer games. Whereas many MOOCs are exploring a classroom style of learning with videos and assignments, I’m instead exploring an on-demand style of learning single topics with text, hypertext, and interactive diagrams. I want to learn by playing with things. Recent projects:


I’ve been curating game development articles since 1990. All of my articles are available for free, with no signup and no ads. The main audience is independent, student, and hobbyist game developers, but I’d like to cover other math and computer science topics in the future. Some of the more popular pages:


Accompanying code is open source, under either the MIT License or the Apache v2 License. Both allow use in commercial projects. Other projects are found at at github/amitp.

Advising

In addition to helping game developers with my articles, I love to talk to people working with games and interactive education. Mostly it’s informal chats over lunch, but occasionally I’ll work with someone for a longer period of time.

If you’re developing games in the San Francisco / San Jose area and want to chat, email me at redblobgames@gmail.com. I’m especially interested in game algorithms related to maps, procedural generation, and pathfinding, but love to chat about anything.

About me

I’ve been helping people make games since 1990. I wrote games earlier in life, with Solar Realms Elite being the most well known, 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 learning game algorithms. With modern web browsers, there’s no need for explanations to follow the formats used in magazines, technical papers, and books. We can combine learning by reading, learning by watching, and learning by doing.

Ways to find me: