Hi HN, I’ve been working on a solver for the puzzle game Railbound and wanted to share it.
The backstory is that I’m a big fan of the game and was curious if I could model its logic using constraint programming. I used MiniZinc to build it. The project treats each puzzle as a constraint satisfaction problem—it defines the rules of the game (how tracks connect, how switches work, etc.) and then searches for a layout that solves the level.
It’s different from other solvers because it’s a declarative model rather than an imperative search algorithm. It was a fun challenge to translate mechanics like timed gates, dynamic switches, and decoy cars into formal constraints.
You can run it on your own machine. The repo has instructions, but the basics are:
1. Install the MiniZinc IDE/toolchain.
2. Clone the repo.
3. Run a command like minizinc –solver or-tools main.mzn data/1/1-1.dzn
The project is open source and currently solves the first 8 worlds of the game.
Repo: https://github.com/Th1nhNg0/railbound_cp
I’m here to answer any questions. I’d love to hear your feedback.
Comments URL: https://news.ycombinator.com/item?id=45587666
Points: 1
# Comments: 0
Source: github.com