update gdd #5
This commit is contained in:
parent
52287d413c
commit
a634da6ecf
54
gdd.md
54
gdd.md
|
@ -8,26 +8,10 @@
|
||||||
* Education
|
* Education
|
||||||
* Supply chains
|
* Supply chains
|
||||||
|
|
||||||
## Interaction Modes
|
## Grid
|
||||||
|
|
||||||
Interaction modes can be changed via keyboard shortcut.
|
|
||||||
|
|
||||||
### Selection Mode
|
|
||||||
|
|
||||||
This is the default interaction mode.
|
|
||||||
It can be accessed at any time by pressing the `esc` key.
|
|
||||||
|
|
||||||
### Build Mode
|
|
||||||
|
|
||||||
Build mode can be entered by pressing the `b` key.
|
|
||||||
|
|
||||||
## Critical Path
|
|
||||||
|
|
||||||
### Grid
|
|
||||||
|
|
||||||
Add a 10x10 grid.
|
Add a 10x10 grid.
|
||||||
Tiles are highlighted a different colour when the player hovers over them with the cursor.
|
Tiles are highlighted a different colour when the player hovers over them with the cursor.
|
||||||
Tiles can be interacted with, which turns them another colour.
|
|
||||||
|
|
||||||
### Diffusion
|
### Diffusion
|
||||||
|
|
||||||
|
@ -62,7 +46,19 @@ private float TransferHeat(float t0, float alpha, float nx, float ny, float px,
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
### Tile Types
|
## Build Mode
|
||||||
|
|
||||||
|
Build mode can be entered by pressing the `b` key.
|
||||||
|
Build the cursor will start flashing when entering build mode.
|
||||||
|
|
||||||
|
Once in build mode, a tile type must be selected to build anything.
|
||||||
|
Tiles cab be selected with the buttons along the bottom of the screen or by keyboard shortcuts.
|
||||||
|
The keyboard shortcut to select a tile type is indicated on the button.
|
||||||
|
|
||||||
|
To deselect a tile type, press `esc`.
|
||||||
|
Press `esc` again to exit build mode.
|
||||||
|
|
||||||
|
## Tile Types
|
||||||
|
|
||||||
Tiles start as wild tiles.
|
Tiles start as wild tiles.
|
||||||
The player can use a UI element or a keyboard shortcut to enable build mode.
|
The player can use a UI element or a keyboard shortcut to enable build mode.
|
||||||
|
@ -71,14 +67,14 @@ In build mode, the player can click on a wile tile to turn it into a developed t
|
||||||
* Wild tiles are green
|
* Wild tiles are green
|
||||||
* Developed tiles are grey
|
* Developed tiles are grey
|
||||||
|
|
||||||
### Heat
|
## Heat
|
||||||
|
|
||||||
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.
|
Add a heat map view which 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 Health
|
## Tile Health
|
||||||
|
|
||||||
Add another value to wild tiles: health.
|
Add another value to wild tiles: health.
|
||||||
A wild tile can accept a certain amount of heat each tick from surrounding tiles.
|
A wild tile can accept a certain amount of heat each tick from surrounding tiles.
|
||||||
|
@ -96,13 +92,13 @@ Its effectiveness at absorbing heat scales with its remaining health.
|
||||||
|
|
||||||
Diffusion still occurs to move heat away from depleted wild tiles.
|
Diffusion still occurs to move heat away from depleted wild tiles.
|
||||||
|
|
||||||
### Rewilding
|
## Rewilding
|
||||||
|
|
||||||
Add a rewilding mode option to the UI.
|
Add a rewilding mode option to the UI.
|
||||||
In rewilding mode, the player can click on a developed tile to turn in into a wild tile.
|
In rewilding mode, the player can click on a developed tile to turn in into a wild tile.
|
||||||
The wild tile starts with 0 health.
|
The wild tile starts with 0 health.
|
||||||
|
|
||||||
### Wild Recovery
|
## Wild Recovery
|
||||||
|
|
||||||
Depleted wile tiles can recover health each tick.
|
Depleted wile tiles can recover health each tick.
|
||||||
The recovery rate is based on the difference between the damage threshold and the actual amount they received.
|
The recovery rate is based on the difference between the damage threshold and the actual amount they received.
|
||||||
|
@ -111,7 +107,7 @@ The recovery rate is increased if the tile has wild neighbours.
|
||||||
neighbour multiplier = lerp(1, max, number of neighbours / 4)
|
neighbour multiplier = lerp(1, max, number of neighbours / 4)
|
||||||
health restored = max((damage threshold - heat received), 0) * neighbour multiplier.
|
health restored = max((damage threshold - heat received), 0) * neighbour multiplier.
|
||||||
|
|
||||||
### Developed tile types
|
## Developed tile types
|
||||||
|
|
||||||
Split developed tiles into 3 types:
|
Split developed tiles into 3 types:
|
||||||
|
|
||||||
|
@ -124,19 +120,19 @@ These types generate different amounts of heat:
|
||||||
|
|
||||||
industrial > commercial > residential
|
industrial > commercial > residential
|
||||||
|
|
||||||
### Journeys
|
## Journeys
|
||||||
|
|
||||||
Developed tiles have a chance to generate journeys between them.
|
Developed tiles have a chance to generate journeys between them.
|
||||||
A journey instances a vehicle which traverses the map at a constant speed from its origin to its destination tile.
|
A journey instances a vehicle which traverses the map at a constant speed from its origin to its destination tile.
|
||||||
A vehicle adds a constant amount of heat to every tile it traverses.
|
A vehicle adds a constant amount of heat to every tile it traverses.
|
||||||
|
|
||||||
### Moving In
|
## Moving In
|
||||||
|
|
||||||
Residential tiles have two new integer resources, current residents and maximum residents.
|
Residential tiles have two new integer resources, current residents and maximum residents.
|
||||||
Every tick there is a chance for residents to move in to a residential tile if the current number is less than the maximum number of residents.
|
Every tick there is a chance for residents to move in to a residential tile if the current number is less than the maximum number of residents.
|
||||||
The initial number of maximm residents per residential tile is 4.
|
The initial number of maximm residents per residential tile is 4.
|
||||||
|
|
||||||
### Jobs
|
## Jobs
|
||||||
|
|
||||||
Industrial and commercial tiles have two new integer resources, available jobs and occupied jobs.
|
Industrial and commercial tiles have two new integer resources, available jobs and occupied jobs.
|
||||||
The chance for residents to move in depends on there being being fewer occupied than available jobs.
|
The chance for residents to move in depends on there being being fewer occupied than available jobs.
|
||||||
|
@ -145,12 +141,12 @@ Their chance of generating a journey is proportional to
|
||||||
|
|
||||||
occupied jobs / available jobs .
|
occupied jobs / available jobs .
|
||||||
|
|
||||||
### Commutes
|
## Commutes
|
||||||
|
|
||||||
A resident moves in to a residential tile and gets a job at an industrial or commercial 'job' tile.
|
A resident moves in to a residential tile and gets a job at an industrial or commercial 'job' tile.
|
||||||
The residential tile regularly generates journeys to the job tile, and the job tile regularly generates journeys in the other direction.
|
The residential tile regularly generates journeys to the job tile, and the job tile regularly generates journeys in the other direction.
|
||||||
|
|
||||||
### Comfortable Living Temperatures
|
## Comfortable Living Temperatures
|
||||||
|
|
||||||
If a residential tile is too hot, people will not want to live there.
|
If a residential tile is too hot, people will not want to live there.
|
||||||
Residential tiles have a critical temperature at which the chance of someone moving into a tile becomes negative, becoming a chance that someone moves out.
|
Residential tiles have a critical temperature at which the chance of someone moving into a tile becomes negative, becoming a chance that someone moves out.
|
||||||
|
@ -161,7 +157,7 @@ When someone moves out, one of the jobs associated with that residential tile is
|
||||||
|
|
||||||
# Not critical
|
# Not critical
|
||||||
|
|
||||||
### Wealth
|
## Wealth
|
||||||
|
|
||||||
Journeys generate a new integer tile resource, wealth.
|
Journeys generate a new integer tile resource, wealth.
|
||||||
When a journey is completed, the destination tile accrues 1 wealth.
|
When a journey is completed, the destination tile accrues 1 wealth.
|
||||||
|
|
Loading…
Reference in New Issue