From: Lukas Krickl Date: Sun, 4 May 2025 03:58:11 +0000 (+0200) Subject: Reworked TODO X-Git-Url: https://git.krickl.dev/?a=commitdiff_plain;h=7cc81e1dd198d4745093ab62bacaf9525dcdc557;p=gbrg%2F.git Reworked TODO --- diff --git a/TODO.md b/TODO.md index d216294..3a97bca 100644 --- a/TODO.md +++ b/TODO.md @@ -2,50 +2,32 @@ ## scope -[ ] 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 should be written to a queue and then drawn when there is time in vblank -[ ] 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 -[ ] pause screen with total resource stock - -## simulation state - -### global - -[ ] resources like wood, stone -[ ] goods like food, bricks, iron ingots -[ ] total population (24 bit) - -### per tile - -[ ] type -[ ] gfx -[ ] FLAGS: on fire, destroyed, road connection -[ ] tiles have different update loop based on tile type -[ ] some more for special tiles - -[ ] tiles take resources to produce a good -[ ] tiles can only transport resources in if they are connected to a road -[ ] tiles can only output resources if they are connected to a road -[ ] roads themselves need to be connected to a warehouse -[ ] only if the road is connected will the tile produce -[ ] only if all resources can be withdrawn tiles will produce - -## tick based - -[ ] simulation updates the entire map every N ticks -[ ] pause key pauses simulation but allows player to still look around - -## map generator - -[ ] randomly generate maps with rivers - -## gameplay - -[ ] enemies try to take over tiles with control towers -[ ] you need to prevent this -[ ] if either town center is destroyed the game is over +[ ] Ruin explorer combat game +[ ] Move from room to room +[ ] When room contains enemies enter combat +[ ] Each side may have up to 10 units on a map +[ ] There are hero units and regular units + +## Combat + +[ ] Unit is selected based on the unit initiative queue +[ ] A unit may skip its turn (moved to end of queue) +[ ] Units have a move counter +[ ] Display moves in UI for selected units +[ ] Each action consumes moves +[ ] Units are moved one tile at a time +[ ] Moving costs 1 move but if the tile has special flags it may cost more +[ ] When a unit is out of turns the next unit is selected +[ ] Units can attack ranged or melee +[ ] Melee works if unit is next to target +[ ] When a unit moves away from an adjacent melee unit it can attack +[ ] Units can inspect enemies +[ ] Units are selected in a queue of initiative +[ ] Once the queue is empty it is reset + +## Map + +[ ] Map screen consists of rooms +[ ] Each room has events or combat encounters +[ ] The player may move to new rooms +[ ] The player has to deal with the room's events