Projects

A solved Knights board: one knight in each coloured region, none attacking another A solved Bishops board: one bishop in each coloured region, none attacking another
NP-completeNew puzzle daily

Knights and Bishops

Two logic puzzles inspired by chess pieces and LinkedIn's Queens (which is a simpler version of the game Star Battle). The grid is partitioned into orthogonally connected regions, and the goal is to place one piece per region. No two pieces may attack each other or be within a king's move. The decision version of each puzzle is NP-complete, just like Star Battle. Solve the daily puzzle to add your name to the leaderboard!

Chart of card-counting edge under different casino countermeasures
Monte CarloSimulation

Blackjack Lab

A from-scratch blackjack engine, research playground, and card counting trainer. The simulation accommodates different rulesets, card counting strategies, realistic casino shuffles, bankroll management, heat detection, dummy players, and a composition-exact perfect-play solver. You can use it to measure how much edge exists, how to take advantage of it, and what the house does to stop it. Every result is Monte Carlo with confidence intervals.

See the code ↗
A solved Laser Maze puzzle: a beam threading between angled mirrors inside a cube, collecting the orbs on its way to the exit
NP-completePerfect matching

Laser Maze 3D

A 3D version of a simple laser maze puzzle game. The decision version of the 2D game (is there a solution), as well as its generalization to higher dimensions, is in P when viewed asymptotically via a reduction to perfect matching. It becomes NP-complete, however, when the beam is required to pass through additional orbs! Try out some algorithmically generated puzzles, as well as some which I crafted by hand.

Read the write-up
3D Rush Hour puzzle inside a cube
PSPACE-complete

Rush Hour 3D

A 3D version of the classic Rush Hour puzzle game. The decision version of the original 2D game (is there a solution), as well as its generalization to higher dimensions and arbitrary graph topologies, is known to be PSPACE-complete when viewed asymptotically. In layman's terms, this means the difficulty ceiling is quite high! Try out some algorithmically generated puzzles, as well as some which I crafted by hand.

Relevant paper ↗
3D game tree visualization for Kalah
Solved gameMinimax

Kalah Bot

The board game Kalah (part of the Mancala family) was weakly solved in 2000: player 1 wins by 8 with perfect play. But how close can you get to a human-playable strategy that forces a win? Turns out, pretty close! My player 1 bot looks just 2 moves ahead, but still wins ~99.7% of lines. Try playing it for yourself. I also built a 3D game tree visualization with nodes scored by a depth-12 minimax for analyzing your games.

Relevant paper ↗
3D gameStealth comedy

BREAKOWT

It's Monday on Happy Acres Family Farm, and on Sunday you're the barbecue. A first-person stealth comedy. Sneak, headbutt, and plot your way off Happy Acres before Chuck's barbecue.

More projects