34 lines
698 B
Plaintext
34 lines
698 B
Plaintext
|
# Patch based world
|
||
|
|
||
|
Per patch we have:
|
||
|
|
||
|
- tiles
|
||
|
- water plane
|
||
|
- with clickable area
|
||
|
|
||
|
A world consists of a fixed amount of tiles in x and y direction.
|
||
|
|
||
|
Patches are used to stream the world in and out.
|
||
|
|
||
|
# Cross-patch island generation:
|
||
|
|
||
|
|
||
|
|
||
|
# Shaping under water tiles:
|
||
|
|
||
|
for each tile of an island:
|
||
|
- create inside set I:
|
||
|
- add all island tiles to I
|
||
|
- for steps i = 0, ..., n:
|
||
|
- create empty rim sets RI and RN
|
||
|
- for all tiles in I:
|
||
|
- for all neighbours of tile:
|
||
|
- if neighbour not in I -> add tile to RI
|
||
|
- add tile to I
|
||
|
|
||
|
- for all tiles in RI:
|
||
|
- get all neighbours of tile:
|
||
|
- if neighbour not in I -> add neighbour to RN
|
||
|
- for all neighbours not in I
|
||
|
-
|