update gdd

This commit is contained in:
ktyl 2022-12-13 00:51:01 +00:00
parent 4c4a41cd2e
commit c6d0d1b714
1 changed files with 24 additions and 8 deletions

32
gdd.md
View File

@ -8,6 +8,11 @@
* Education * Education
* Supply chains * Supply chains
## Clock
Ticks can be applied manually or they can be applied over time.
Add a tick counter as a UI element.
## Grid ## Grid
Add a 10x10 grid. Add a 10x10 grid.
@ -17,13 +22,6 @@ Tiles are highlighted a different colour when the player hovers over them with t
Tiles in the grid contain floating point values. Tiles in the grid contain floating point values.
These values propogate to neighbouring cells a tick happens. These values propogate to neighbouring cells a tick happens.
Ticks can be applied manually or they can be applied over time.
Add a tick counter as a UI element.
* [ ] understand different options for representing the rate of diffusion
Diffusing should use 'pull' operations; tiles should pull values from surrounding tiles.
This is an attempt to think forwards to parallelising computation of diffusiong - ideally using the GPU.
#### Diffusion Algorithm #### Diffusion Algorithm
@ -46,6 +44,20 @@ private float TransferHeat(float t0, float alpha, float nx, float ny, float px,
} }
``` ```
Diffusing uses 'pull' operations; tiles pull values from surrounding tiles.
This is an attempt to think forwards to parallelising computation of diffusiong - ideally using the GPU.
## Overlays
The current overlay can be cycled with a UI button or by pressing `tab`.
Overlays display tile information by displaying tiles in different colours.
Normally, tile colours are displayed depending on their type and health.
This is the 'normal' view with no overlay.
Other overlays include:
* [Heat overlay](#heat-overlay)
## Build Mode ## Build Mode
Build mode can be entered by pressing the `b` key. Build mode can be entered by pressing the `b` key.
@ -71,8 +83,12 @@ In build mode, the player can click on a wile tile to turn it into a developed t
Developed tiles produce heat while wild tiles absorb it. Developed tiles produce heat while wild tiles absorb it.
Every tile has a floating-point heat value which diffuses to its neighbours. Every tile has a floating-point heat value which diffuses to its neighbours.
Add a heat map view which can be toggled or cycled to.
### Heat overlay
A heat map view can be toggled or cycled to.
It is possible to cycle the view using a UI element. It is possible to cycle the view using a UI element.
Tile colours are displayed as a value along a gradient from cold to hot tiles.
## Tile Health ## Tile Health