PC Discussing custom tiles for making rivers

Not-unrelated, Teragon or some other software REALLY needs to have a function to allow us to manually place tiles and then populate the map with POIs. That unlocks so many massive improvements in city-building. Not just rivers, but expressways, parks, multi-level towns - so many possibilities open up.
That will eventually be possible.  It'll likely start with swapping tiles in a town that was generated (that may happen for placing gateway tiles where you want relatively soon) and later be updated to allow other changes.  Multi-level towns aren't really an option unless you have tiles that are designed for it, and I have yet to see any.

 
That will eventually be possible.  It'll likely start with swapping tiles in a town that was generated (that may happen for placing gateway tiles where you want relatively soon) and later be updated to allow other changes.  Multi-level towns aren't really an option unless you have tiles that are designed for it, and I have yet to see any.


Multi-level towns are possible just by having two areas of tiles with a ridge between them (and connecting roads of course). So, for a simple example, say an L-shape of tiles, plus a section which would fill in the cutaway, only offset from the other tiles by enough that you can raise the area up. Or even just a town with a higher half and a lower half. Yes. this does involve manually connecting a few roads between tiles (or putting in rivers & bridges, or whatever between them), but I think a little manual work is both fine and unavoidable.

Obviously if you want the town to have an overall cohesive feel, you need to make sure the tiles are tagged so that you have proper zoning that continues between the separated parts.

Not-unrelatedly, the other thing manually-placeable tiles gets you is the ability to push tiles closer to land features on the map. I've noticed that both RWG and Teragon tend to mandate vast areas around tiles, and if you try to fuss with that distance too much they just seem to get confused and generate towns which are weird, small, or both. 

 
Not-unrelated, Teragon or some other software REALLY needs to have a function to allow us to manually place tiles and then populate the map with POIs. That unlocks so many massive improvements in city-building. Not just rivers, but expressways, parks, multi-level towns - so many possibilities open up.


Or perhaps a mix of random and manual placement.

 
Multi-level towns are possible just by having two areas of tiles with a ridge between them (and connecting roads of course). So, for a simple example, say an L-shape of tiles, plus a section which would fill in the cutaway, only offset from the other tiles by enough that you can raise the area up. Or even just a town with a higher half and a lower half. Yes. this does involve manually connecting a few roads between tiles (or putting in rivers & bridges, or whatever between them), but I think a little manual work is both fine and unavoidable.

Obviously if you want the town to have an overall cohesive feel, you need to make sure the tiles are tagged so that you have proper zoning that continues between the separated parts.

Not-unrelatedly, the other thing manually-placeable tiles gets you is the ability to push tiles closer to land features on the map. I've noticed that both RWG and Teragon tend to mandate vast areas around tiles, and if you try to fuss with that distance too much they just seem to get confused and generate towns which are weird, small, or both. 
Having blank tiles with just a road to fill in the area elevating a town doesn't look very good.  I don't think that would be added to Teragon.  If it was added, it would be through the use of tiles that handle that elevation transition.  Otherwise, you just have a lot of empty space everywhere.

Teragon only limits water or POI that are next to towns.  And water distance can be set to 0.  POI can't be set to 0 at this time unless they are already placed, which tends to make placing towns too difficult as most space is taken by POI.  Hills or mountains can definitely go right up next to towns.  However, Teragon does smooth areas around the tiles so that it's not a jarring transition going onto the tile and maybe that's what you mean.  It is possible to place terrain after placing towns, which means there isn't any smoothing.  You can either do a second round of hills/mountains/etc. after placing towns, or start with a flat map and only add the hills/mountains/etc. after towns.  It works well enough, though it's very tricky to get looking right.

 
Having blank tiles with just a road to fill in the area elevating a town doesn't look very good.  I don't think that would be added to Teragon.  If it was added, it would be through the use of tiles that handle that elevation transition.  Otherwise, you just have a lot of empty space everywhere.


No, I mean having a gap between separate groups of tiles, which are actually one city in practice. The gaps would explicitly NOT be filled with tiles, but instead with map features created earlier, such as rivers, a terraced height differential, etc.

You could also place an ordinary raised expressway or boulevard prefab in between tiles (150m is just too wide for anything other than some 6+ lane monster expressway), or even just have one of the splat-painted roads running through town, if you want to keep it low-effort and don't mind the lack of detail.

The point is that you could take tiles which would ordinarily be laid down at exact 150m increments and separate them (or, manually place them in groups arranged that way) allowing for the introduction of features which the tile system does not current accommodate well, such as rivers, larger urban thoroughfares or expressways, odd-shaped park spaces, areas to create differences in elevation (moraines etc.), and so on. 

 
No, I mean having a gap between separate groups of tiles, which are actually one city in practice. The gaps would explicitly NOT be filled with tiles, but instead with map features created earlier, such as rivers, a terraced height differential, etc.

You could also place an ordinary raised expressway or boulevard prefab in between tiles (150m is just too wide for anything other than some 6+ lane monster expressway), or even just have one of the splat-painted roads running through town, if you want to keep it low-effort and don't mind the lack of detail.

The point is that you could take tiles which would ordinarily be laid down at exact 150m increments and separate them (or, manually place them in groups arranged that way) allowing for the introduction of features which the tile system does not current accommodate well, such as rivers, larger urban thoroughfares or expressways, odd-shaped park spaces, areas to create differences in elevation (moraines etc.), and so on. 
I doubt either Teragon or RWG will place tiles anywhere than on that 150x150 grid, so any spacing will be 150m.  You could do a river between sections, not them what?  A cliff on one side?  How are you reaching the top?  A random road that goes up?  Unless you create special bridges to cross the river while going up the cliff (which would probably look bad), what other options do you have?  If you keep the elevation change to something very low (1-3m), it might be okay.  If you have a larger change so it actually looks like it is elevated and not just a minor hill, you'd have a hard time making a way up that looks good.  You could do a winding road, but getting that to look good if not some by hand would be hard and require a decent amount of space, depending on the height of the cliff and the river and/or cliff will take up a decent amount of that space.

Add in that even if you drop a bridge or generate a winding road, you'll still have what is clearly an empty wilderness tile, and it doesn't look great.

A tile gives you the control over something like that, but requires making those tiles.  If someone wanted to make a series of tiles for doing that, perhaps it would be something Pille would consider looking into.

Think of any city with varying elevations.  In most cases, those elevation changes have buildings on them.  Sometimes you may see a park there instead, but most have buildings and even a park doesn't look like an empty wilderness tile.  Of you are going to generate elevated towns, it needs to be done in a way that looks good and what you would expect in such a city in real life.  You don't want to do it haphazard just for the sake of saying you have elevated towns.  Better to only make those by hand rather than generate them if they aren't done well.

As a note, you can always place elevated towns if your terrain is set up for them.  They are separate towns, but you can do so.  You can then manually do whatever connections between them you want.

 
Last edited by a moderator:
@Riamus

I was thinking about one of your references to city shape and size configuration. One of the things that is different

is stamps vs libnoise. There are a very limited amount of stamps for conducive terrain,  that combined with the

strict rules an hierarchy used for the world building, seems to be a big limiter. The .raw stamps prior were 2 layer, that

could be edited in photoshop. Now they a are single layer that is not editable. If they follow poi placement rules, they only

have 7 possible rotations. They are half the size of the first gen .raw files. But were probably added to speed up world building

load times.

 
Stamps are very useful for adding interesting and useful terrain to a map, but isn't really related to making rivers through towns.  You can split a town around a river as ZZTong showed, though you are basically making two towns and adding bridges connecting them, or you can use tiles to place a random river through a town, or you can use tiles as a random river without making a town at all. 

Now, stamps can make a river (or are used as an entire river as RWG does), and can when be done randomly, though they have limitations compared to generated rivers because you are mostly limited to resizing and rotating fixed shapes.  But the idea here is was originally about making a river using tiles, and the idea of how to get a river through a town was added as well since that was part of the original discussion in the dev thread.  Stamps aren't really a good option for either.

 
Ok, I thought you were looking for options, to expand the possibility in vanilla rwg.  What I was thinking about were the

world generated rivers, if they aren't rendered then what are you connecting the tile ends to?

 
Ok, I thought you were looking for options, to expand the possibility in vanilla rwg.  What I was thinking about were the

world generated rivers, if they aren't rendered then what are you connecting the tile ends to?
Well, my initial thought was how to use what is already there to make random rivers that aren't stamps.  We already have stamps and that is what people don't really like because they are very limited.  It is what started the conversation initially.  I had suggested using tiles, which would already be possible with RWG.  You would only need to make new tiles and set up a custom "town" type in rwgmixer.xml.  TFP wouldn't have to do anything.

Then part of the original discussion regarding rivers through towns was added, which is not really an option without changes to RWG.  First, rivers aren't generated, so you don't have long rivers at all.  And second, there isn't anything that would allow connecting a town to a river at the correct location anyhow.  The ideas of tiles through a town that could then connect to a river outside town still aren't an option because there aren't rivers being generated to connect to.

There are many options that could be used if TFP wants to change RWG, but not many of you aren't changing it.  So I was looking at what we could do with what is currently available.  Any ideas of how to make more random rivers in RWG without TFP needing to change RWG would be great.  None will be perfect options and they'll all have limitations like the ones I mentioned with using tiles, but anything that could allow people to make rivers on maps made with RWG can give people options. 

Of course, Teragon can already generate rivers, but it is a generator that requires time to learn to use, so most people will stick to RWG.  Having options there can benefit a lot of people. 

Add far as connecting rivers in towns to rivers outside towns, this just isn't possible without a change to RWG unless there is some truck I don't know about.  You could do it with some manual effort, of course (World Editor after the fact).

 
I sense two competing definitions of Tiles. I first saw it when Faatal talked of RWG recently. RWG divides the world up into a grid of 150x150 block squares. He called that a Tile. To me, a Tile is a POI-like creation used to assemble settlements which are 150x150 blocks in size so they match up with the grid. So, in a sense, a Tile can be either a reference to RWG's grid or it can be the POI-like creation.

But using the same term for both leads to confusion. At the RWG level, you might say a spot on the grid is designated to have a river flow through it. It wouldn't matter if the river came from a stamp or from some algorithm that produces a river-like path. But when you start talking about settlements, you aren't going to get a pleasing integration of settlement POI-like Tiles and a roaming river either from a stamp or an algorithm. The reason being is that folks are going to want POIs to integrate with the river.

 
Yeah, maybe I should clarify that when I'm using the word tiles, I am referring to town tiles (a prefab that is built) and not the grid where things get placed on a map.

 
I started doing some testing, I just switched mountains with lakes by renaming and before I made slider adjustment in the previewer. I got 3 lakes to spawn

on the edge of cites and roads. I wonder why tiles are not either 128 128 to match a chunk, or a combination up to 256.  Next im going to try a

thought I have in biomes.xml.

 
I wonder why tiles are not either 128 128 to match a chunk, or a combination up to 256.  Next im going to try a

thought I have in biomes.xml.
Probably because they wanted larger POI than would fit on a smaller tile.  And much larger than 150x150 doesn't work well and ends up with various bugs.  Though it would have made sense to have it be a power of 2 like everything else.

 
Though it would have made sense to have it be a power of 2 like everything else.
That's what I was thinking about. Basically because one tile is overlapping 9 chunks, does that split

the load? Or since each chunk is its own container, does only what is rendered in each, get assigned to that chunk.

Or can that cause an update issue if part of a poi is in multiple chunks updating at different times. And the last one

Only under ideal layout, if a tile is rendered and centered on a single chunk then it has the smallest footprint in other

chunks. But if it is offset. You can have, 50% and 50% in two, and a single digit in four.

I drew a crude drawing of 9 squares, at 128 points, and one at 150 to get an visual idea. Just to understand. But since

I don't program, it's academic. but interesting.

Wasteland needs proper concrete aquaduct system in cities like LA. That would be sweet.
I thought I saw something like that in the last dev playthrough that they did.

 
Wasteland needs proper concrete aquaduct system in cities like LA. That would be sweet.
That's something that could already be done, but it's a little tricky because any open areas underground affect stability of everything above it, so you have to design the tile well to prevent problems.  The best option would be to do it only directly under roads since people normally aren't building on top of roads.  That also makes it easier to be sure everything connects properly.  You'd just decide what district(s) you want to have it and then just make tiles for that district that include the sewer or aqueduct.  Then use those tiles instead of vanilla tiles for the district.  You could even just make copies of the vanilla tiles and only add the underground stuff to them.  The issue you'd have to figure out is ending the underground area when leaving the district.  Unless you do it in all districts, which would probably be too much, any change in district would be an instant dead end.  And if you want it to continue between tiles within the district, you wouldn't be able to just make it end properly at the edge of the tiles.  That's the main issue, and where that link I pasted earlier in the thread of my suggestions for controlling what tiles connect to one another would be useful.

That's what I was thinking about. Basically because one tile is overlapping 9 chunks, does that split

the load? Or since each chunk is its own container, does only what is rendered in each, get assigned to that chunk.

Or can that cause an update issue if part of a poi is in multiple chunks updating at different times. And the last one

Only under ideal layout, if a tile is rendered and centered on a single chunk then it has the smallest footprint in other

chunks. But if it is offset. You can have, 50% and 50% in two, and a single digit in four.

I drew a crude drawing of 9 squares, at 128 points, and one at 150 to get an visual idea. Just to understand. But since

I don't program, it's academic. but interesting.

I thought I saw something like that in the last dev playthrough that they did.
I have heard people in the past with issues of stuff breaking on a base due to chunks loading unevenly, but that seems to be very rare.  I'm not sure how they handle it... maybe for POI it just loads all chunks at once under a POI, even if they wouldn't normally load due to their position relative to yours.  Or maybe it is solved simply because a POI doesn't load except just as imposters (which don't matter) until you're close enough that the chunks will be loaded anyhow.  Or it might be some other method to avoid problems with loading.  Whatever the method, it seems to work.

 
I sense two competing definitions of Tiles. I first saw it when Faatal talked of RWG recently. RWG divides the world up into a grid of 150x150 block squares. He called that a Tile. To me, a Tile is a POI-like creation used to assemble settlements which are 150x150 blocks in size so they match up with the grid. So, in a sense, a Tile can be either a reference to RWG's grid or it can be the POI-like creation.

But using the same term for both leads to confusion. At the RWG level, you might say a spot on the grid is designated to have a river flow through it. It wouldn't matter if the river came from a stamp or from some algorithm that produces a river-like path. But when you start talking about settlements, you aren't going to get a pleasing integration of settlement POI-like Tiles and a roaming river either from a stamp or an algorithm. The reason being is that folks are going to want POIs to integrate with the river.


Yeah, when I say manually-placing tiles, I mean placing town tiles in a way which ignores the underlying RWG grid. That's a big part of what I want to do.

The underlying grid is in fact why you do end up with large areas around tiles, if RWG can't accept a full town tile, it will leave an area blank, which often results in large spaces between riverbanks or other water features.

 
I wonder why tiles are not either 128 128 to match a chunk, or a combination up to 256.


That's a great question. The largest standard POI is 100x100, so it would fit on a 128x128 Tile. But I wonder if something else played out. For instance, consider this count of blocks from one side of a Tile to another:

 25 XS POI

 42  S POI

  4  Sidewalk / Right of Way

  8  Road

  4  Sidewalk / Right of Way

 42  S POI

 25 XS POI

---

150

I've no idea if that was what they were thinking, but it's convenient. You can substitute a 60x60 POI for 25x25 + 42x42 POIs with some room left over for an alley.

Wasteland needs proper concrete aquaduct system in cities like LA. That would be sweet.


Look at some of the Vanilla industrial Tiles. By design, they assume the water goes underground at each Tile edge because they've no idea what the next Tile will contain. You can certainly have a river go underground leading into a Residential area where the first house has a deep basement, or even the Downtown Tile that has a Subway, as funny as that is to realize when you're playing.

 
Last edited by a moderator:
I confuse myself as I look at the sizes, I understand tile, chunk ,region. I tried looking at it in unity references to get a better

idea and there is no standard. It can be adjustable by project. The sizes here are confusing to me because.

Tile is 150x150 Chunk is 128x128 and Region is 160x160, If the region is a volumetric

container for the chunks and the tile is placed on the chunks. Then the chunk is keeping

the information of the tile. The region which is the only file generated in the saves folder

is keeping the information for the chunk. The two odd thoughts i had were why not make the

tile the chunk and the region the same size if they are that close? The second is unless the region

and the chunk monitor two different changes to the environment, wouldn't having a chunk and a

region, be like having a storage box, inside of a storage box to keep the data. Couldn't 1 box do

it since it encapsulates the smaller box and the data? I know there is a sound logic to it, I trying to use my modding to try to learn unity rules

Sorry if a lot sounds like unnecessary thought, for me I learn the rules and limitations of the rules of a thing then I can learn it easier.

 
Back
Top