Not Cool

Pathfinding algorithms for TIC‑80  ·  GitHub

They're not COOOOOOOOOOOOOOOOOL. Just a clean, no-frills collection of classic pathfinding algorithms — written in Lua, running on the TIC‑80 fantasy console.
Side-by-side comparison of pathfinding algorithms in action on a TIC-80 grid
A* Search, BFS, Dijkstra, and more — live on TIC‑80

Algorithms

A*
A* Search — weighted, heuristic-guided optimal pathfinding
IDA*
Iterative Deepening A* — memory‑efficient heuristic search
BFS
Breadth First Search — unweighted shortest path
Bi‑Dir BFS
Bidirectional BFS — two‑frontier shortest path
DFS
Depth First Search — stack‑based exploration
IDDFS
Iterative Deepening DFS — complete, memory‑light search
Dijkstra
Dijkstra's Algorithm — weighted uniform‑cost search
GBFS
Greedy Best‑First Search — pure heuristic exploration

Usage

  1. Run TIC‑80.
  2. Choose an algorithm and place its .lua file in your working directory.
    • a-star.lua — A* Search
    • bfs.lua — Breadth First Search
    • bi-dir-bfs.lua — Bidirectional BFS
    • dfs.lua — Depth First Search
    • dijkstra.lua — Dijkstra's Algorithm
    • gbfs.lua — Greedy Best First Search
    • ida-star.lua — Iterative Deepening A*
    • iddfs.lua — Iterative Deepening DFS
  3. Add dofile('xxx.lua') to the first line of the code editor.
  4. Import sprites from sprites.gif.
  5. Import map from world.map, or draw your own.
  6. Run the cartridge.

Key Map

ActionKey
Control "C"Z
Control "L"X
Up↑ Up Arrow
Down↓ Down Arrow
Left← Left Arrow
Right→ Right Arrow