tile-types #15
							
								
								
									
										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…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user