John Valentine
Coding Rogue
Date02 June 2024

Just for fun, I started writing a cell-based rogue-like game in native browser JavaScript, HTML and SVG.

Contents

Aims

I like native JavaScript web development for its speed and simplicity. I also like how roguelike games work, and wanted to explore some possibilities and game design in that area.

I designed a lot more than I've implemented so far. In that process, I made sensible design decisions, and found myself converging a lot with Cogmind. If I continue far with this project, I want not to make a copy of Cogmind, but to make a different game, with novel mechanics.

Setting

I made all characters mechanical, to avoid gore, and open up more gameplay styles to more players, than I could if characters were human or biological.

Achievements

  1. Basic UI and render
  2. Tile map structure, SVG view
  3. Block types, random noise map, block display
  4. Viewport pan and scale
  5. Block type metadata. For example: passable
  6. Player sprite
  7. Player movement
  8. Optimize rendering: viewport area only
  9. View overlay: distance
  10. Map visibility and seen blocks
  11. View overlay: Visibility arc
  12. Simulation time, move time
  13. Status display
  14. Player movement: Eight-way with four keys
  15. Blocks: six types of doors (not adaptive)
  16. Action queue (refactor), simulation sequence engine
  17. Player movement: Shift to queue 6 moves
  18. Map exit: regenerates new map
  19. Map generation: biomes (map types)
  20. Map generation: fixed test map, start map
  21. Map generation element: rectangular room with random doors
  22. Display: mutate one cell only.