Pathfinding
A*, Dijkstra and friends on a grid: five ways to pick the next cell, small enough to watch.
Open the project→Vision, audio, deep learning
6 projects02Search, planning, play
6 projects03Desktop, web, systems
3 projects04Pull requests, plugins, tools
6 projects05Animation, 3D, generative visuals
2 projects06Logos, interfaces, systems
3 projectsHow does a program choose a move?
Each game is its own project, with its own rules. They share one question: given a position, which move is best, and how far ahead must the search look? More games will be added.
A*, Dijkstra and friends on a grid: five ways to pick the next cell, small enough to watch.
Open the project→Minimax with alpha-beta pruning: the same idea of a search, but against an opponent who answers back.
Open the project→A shortest-path evaluation feeds an alpha-beta search. Raise the depth and watch the positions examined.
Open the project→Corners, edges and mobility decide the game, so the evaluation matters as much as the search. Pick the algorithm that plays you.
Open the project→Few moves per turn, so the searches can go deep. Compare minimax, alpha-beta and Monte Carlo on the same position.
Open the project→Placing, moving and flying change the rules mid-game. Finished in C++; the browser version is next.
Open the project→Each game needs the same three things: a way to represent a position, a way to score it, and a way to skip what is not worth searching.