Files
rgoue/TODO.md
2026-07-06 20:46:57 +02:00

2.0 KiB

Status

pre-1.0

Next Step

Playtest hardening pass: play several full games with the tcell binary and extend run_test.go to script a deeper multi-level playthrough (descend past level 5, use potions, scrolls, zapping, save/restore). Fix any panics, message mismatches, or divergences from the C behavior that this uncovers, and commit the fixes with regression tests.

Completed Steps

  • 2026-07-06 Made the rgoue branch Go-only: removed C sources and the autoconf/VS build system (they remain on master and modern-rogue), ported the last wizard command (item-probability listing), rewrote README.md for the Go port (c0b533e)
  • 2026-07-06 Ported the command loop, save/restore, the tcell terminal layer, and the playable binary at cmd/rogue (41fc104)
  • 2026-07-06 Ported item effects: potions, scrolls, options, call_it (cdf9bf7)
  • 2026-07-06 Ported combat, the chase driver, traps, zapping, death and scores (3c5add8)
  • 2026-07-06 Ported dungeon generation, base items, the pack, and monster creation (a69ef7d)
  • 2026-07-06 Ported the foundation: types, seed-compatible RNG, item tables, daemon scheduler (7fa2048)
  • 2026-07-06 Wrote ARCHITECTURE.md Parts 1 and 2: complete map of the C program and the Go port design (91eeee0, 45dba95)
  • Fork base: Davidslv/rogue C 5.4.4 with modernization fixes (C23 prototypes, ncurses compat), preserved on master/modern-rogue

Future Steps

  1. Adopt the house Go linting standards: copy .golangci.yml from the prompts repo and bring game/, term/, and cmd/ lint-clean (the port is greenfield code, so no exemptions apply).
  2. Verify the seed-compatibility claim against the C reference on master: same seed, same dungeon, same item tables, for several seeds.
  3. Broaden unit test coverage where playtesting finds thin spots (rings, sticks, wizard commands).
  4. Tag a release once a full game (Amulet retrieval and score entry) completes without defects.
  5. Note: this repo is exempt from the standard policy scaffold. Do not add Makefile, Dockerfile, or REPO_POLICIES.md.