a Snakebird solver
fix program name in error reporting
use binary search (with indirection) instead of linear search
change argument handling slightly


browse  log 



You can also use your local clone with git send-email.

#Snakebird Best-First Search Brute-Force Solver

Snakebird BFS BFS is a solver for Snakebird, a puzzle game by Noumenon Games.

You can watch a demo on asciinema: https://asciinema.org/a/647202

It is fairly simple, but it’s capable enough. It doesn’t always find the most efficient solution in terms of move count, but if it finds a solution, it should always be valid. The solution is printed to stdout.

It might take too long to find a solution to certain levels. It might be useful to change the distance heuristic to favor nodes at lower depths or use hash tables instead of binary search.

Teleporters are not implemented yet.


Replace cc with your preferred C compiler, feel free to adjust the flags as necessary.

cc -ansi -march=native -O3 -o solve main.c


The game’s levels are available in the levels directory. After compiling an executable as above, you may type e.g. the following to solve level 2.

./solve levels/2.txt

The format for levels should be self-explanatory by looking at the given levels.


AGPL (v3 or later) © zamfofex 2024