Scope change: Updated readme and TODO
authorLukas Krickl <lukas@krickl.dev>
Sun, 16 Mar 2025 11:34:59 +0000 (12:34 +0100)
committerLukas Krickl <lukas@krickl.dev>
Sun, 16 Mar 2025 11:34:59 +0000 (12:34 +0100)
README.md
STORY.md
TODO.md

index 51c3df4922f92cbcdabaecb8373627cf2085ddd7..ce5b5df66098a3e005fffdd7144a22ade47264d2 100644 (file)
--- a/README.md
+++ b/README.md
@@ -1,7 +1,5 @@
 # gbrg 
 
-An action rougelike for the gameboy
-
 ## Table of content
 
 - [Installation](#Installation)
index 4611f559ce0a634eb526e29f396c9a8582e694dd..762f7f8ea858ccd244ca25a518bcbee1aa5d9201 100644 (file)
--- a/STORY.md
+++ b/STORY.md
@@ -4,6 +4,4 @@
 
 ## World
 
-## Characters
-
 ## Goal
diff --git a/TODO.md b/TODO.md
index fbd86cd7578b0d3065effaa66c2fde0279c41379..4c8ebf09ac3d73722c56e54149c71e33b6df1400 100644 (file)
--- a/TODO.md
+++ b/TODO.md
@@ -1,81 +1,44 @@
 # TODO
 
-## turn based 
+## scope
 
-- [x] Movement should be turn based 
-- [x] PLayer moves from one tile to another 
-- [x] Let animations play and then update AI actors after player move 
-- [x] Collision can then only use a single coordinate to check 
-- Animation system:
-    - while an animation is playing the game is stopped
-    - animations are queued in an animation queue with some simple parameters 
+[ ] simple city builder
+[ ] map fills one scroll area of the gameboy - UI area
+[ ] UI area in window
+[ ] each frame a few tiles update. Tile updates end when the update max is exhausted of no more sprites are left for speical indicator (e.g. no power)
+[ ] if indicator sprites were used wait a few frames to allow the user to see them
+[ ] popup menu
+[ ] when hovering over tile show meta information
+[ ] display housing/commercial/industry demand in bottom UI
 
+## simulation state 
 
-## dungeon generator 
+### global
 
-- [x] Generate a map of rooms 
-- [x] Maps are stored in wram 
-- [x] Rooms are taken from a set of base rooms in rom
-- [x] Each room has 4 possible exit pointers which are set to 0000 by default
-- [x] When a room is made the next direction will be picked
-- [x] The generator then sets the exit pointer accordingly
-- [x] Low chance to backtrack in either direction.
-- [x] If direction is already taken, try again
-- [x] If it fails after 4 tries advance to a new room and try again
-- [x] Do this until all rooms are filled
-- [ ] Allow for maps that make more sense in 2D space (loops etc)
-- [ ] Implement a mini map
-- [ ] Do not hard-code enemy type instead only use location and pick an actor from an actor table randomly
+[ ] housing demand (0-3)
+[ ] commercial demand (0-3)
+[ ] industry demand (0-3)
+[ ] total population (24 bit)
+[ ] money (24 bit)
 
-## Room transition
+### per tile
 
-When a player hits the edge of the map a room transition should start.
-A player can either go north, west, east or south. 
-The target room of a transition should be stored in a room exit table.
-When a transition happens the state of the previous room should be written back to sram (e.g. actor table).
-If possible make the animation smooth instead of simply blanking the screen.
-Scroll offsets need to be applied to:
-    Actor objects
-    Player objects
-    The UI
-After a transition the UI needs to be redrawn again.
+[ ] type
+[ ] gfx 
+[ ] traffic 
+[ ] energy surplus 
+[ ] crime rate
+[ ] fire risk
+[ ] FLAGS: on fire, destroyed, abandoned 
+[ ] tiles have different update loop based on tile type 
+[ ] occupdation/workers
+[ ] some more for special tiles
 
-## Actor table
+## tick based
 
-Refactor actor tables to only access the `curr_room_actor_table` which points to a region in ram.
-This will allow us to avoid calling memcpy every time we load a new room.
+[ ] simulation updates the entire map every N ticks
+[ ] pause key pauses simulation but allows player to still look around
 
-## Combat
+## map generator
 
-Combat happens on the map. The player opens an action menu, selects an action and then presses a direction.
-
-## Stats
-
-Add stats menu that shows all the player's stat numbers.
-The player can level up.
-
-[ ] Player stats should be simple to understand
-
-- HP
-- MP
-- ATK
-- DEF
-- EXP
-
-Stats should be 8 bit numbers.
-Only the player has stats saved, actors are simply looked up based on type + floor.
-
-
-## Animations
-
-[x] Add cursor around current active actor.
-
-## Item slots
-
-All items are held in slots.
-If the item space overflows one item if pushed out of the slots.
-Display all held items (icons) in select menu.
-
-## Resting
-
-Resting should always be possible, but it has a chance to spawn an enemy nearby.
+[ ] randomly generate maps with rivers