-
Notifications
You must be signed in to change notification settings - Fork 0
over_vs_outside
Mark Kampe edited this page Aug 2, 2019
·
1 revision
Overworld vs Outside
w/Outside, a level based approach seems obvious.
This makes me wonder if the altitudes/depths should
be not exported to the tiler, but rather a grid of
terrain types
w/Overworld, it is not obvious that level based is
the best way to decide what gets hill/mountain. CK
had said we also need slope thresholds for both hills
and mountains
Until I work this out, I probably don't know what
to do to the (shared) TileRules.
I wanted to work on Overworld first because it was
simpler, but now I think that the Outside goals are
clearer, so I should probably work on that first.
For generality, I feel like all exporters should accept
the raw inputs and then do what they need to do with them
(much as currently implemented). This has the side
benefit of giving me a common ExportBase (with its
export() and add_rivers() functions).
But if there are separate export dialogs, I wonder why
I don't have each export dialog pass its exporter the
info IT needs in the simplest form. This might force
me to create per-expoerter add_rivers ... which I would
prefer not to do.
Overworld ... if I go that way shallow and passable are the same tiles (in rules, not in code) ignore altitude, depth, and slope ... remove them from the Rule class make the mountain/hill/flats selection based on terrain type but still use temp, hydro, and soil ?what about the 2x2 stamps?
Tall Grass 3008 on level 2
Brush 91 on level 4
ordinary grass on L1 beneath tall grass, brush, and trees
Outside ... based on 8/27 discussion w/CK
Shallow/deep water: 2048
Passable water: 2720
All GROUND levels get the L1 base tiles:
grass 2816
dirt 2864
snow 3968
All HILL levels get one of L1 those base classes:
grass 7424
dirt 7472
snow 7568
auto-tiling comparison is based on both the
BASE TILE NUMBER and the LEVEL of the neighbors.
non-ground lower level considers any higher
non-water neighbor to be the same
non-ground higher level considers any lower
neighbor to be different.
If LAND tile borders a higher level, non-GROUND tile above it,
replace it with a wall tile (based on the type of the lower
level tile:
grass 7808
dirt 7856
snow 7952
This auto-tiling should be based on CK's Wall_auto_tile_offset
Tall grass 2864 on level 2
Brush 2864 on level 2
ordinary grass on L1 beneath tall grass, brush, and trees
level sensitive autotiling
a lower level considers the same tile on a higher level to
be the same
a higher level considers the same tile on a lower level
to be different
Then, on level 5, I can place shadows where a tile has a
higher, non-GROUND, neighbor to its left. A value of 5
on level 5 will put a half square shadow on the left side
according to the (build in) formula:
1 2
4 8
PIT is not yet implemented
in the level map, all PIT levels should map to GROUND