Skip to content

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

Clone this wiki locally