Sign in to follow this  
yarnevk

Kraz Muze Isles

Recommended Posts

(everything in a proper place repost)

 

Here is a low rez heightmap (1grid = 32x32 tiles for 2k maps) of my terrain generation ideas.  greyscale s colormapped +/-3km for visualization purposes, these are height colors not biome colors.

 

rCIU538.jpg

Keep in mind I have a real job so my modding efforts usually end up being nothing more than a fun hobby in between playing games and I never release anything - but it can be fun to discuss and maybe others get ideas who have more time. I intend though to increase skilling so it takes weeks and months rather than years or even decades specifically so I can take modding breaks after maxing out so I can travel to new isles with increasingly bigger ships!

 

This is a terrain generator prototype I wrote several years in Matlab for import into Unity 4 and never finished, though I worked on it more last summer when I was between jobs. Originally it was born out of frustration with how unrealistic Wurm terrain is. It is a multifractal terrain synthesis algorithm of my own invention using actual Earth roughness stats. 

 

I tweaked the algorithm to be Wurmlike with channels, lakes and outlying islands. In reality mountains have foothills and plains that lead to the beach, so my mountains are very unlike Wurm. Wurm mountains are just barrier cliff shapes painted on a map with an arbitrary brushing up the roughness near them and I never liked them, especially when they was cliffs right on the water with no beach to land on (drowned too many times). My thinking is attempting to be realistic isles will make more interior land livable yet still offer up more desirable coastlines. But maybe I am wrong and players like the challenge of carving up canals and mountains and falling down cliffs.

 

I currently have no idea what the mountain and ocean height limits are (update +/-3km, 1dirt = 1dm), have an idea how to do dirt layering since I already do simple erosion. I have no idea if Wurm grows the ores, flora, and fauna per its own algorithms or if those are additional map layers I need to do. I also fear that realistically rougher terrain with multifractals will expose Wurm bugs that result from having a coarse 4m grid, having suffered too many ping pong suicide deaths at the bottom of digging pits in Wurm. Will terrain need to be smoothed to avoid stuck issues making realism pointless?

Edited by yarnevk

Share this post


Link to post
Share on other sites
(everything in a proper place repost) 

 

Here is how to make islands

 

mDZXbAa.jpg

 

 

NW tile clips a hi-rez mountain map, set an arbitrary water level you like

 

NE tile clip a lo-rez coastal map and take the absolute value and paint in the sea level ocean ring

(0 sea level is green in my colormap, you would actually do this in grayscale)

 

SW tile multiply these two and rescale for the mountain height you want (be careful regarding increasing slopes)

 

SE tile rain on it to raise sea level fill the river channels and erode the land

 

i do these operations in my fractal synthesis code but I think paint programs can do simple operations by stencliing and scaling paintings and clips.

 

Now you have a Wurmiam map full of desirable coastal real estate crossed with natural canals.

Edited by yarnevk

Share this post


Link to post
Share on other sites

(repost so everything in it's proper place)


 


Wurmified my rock erosion code to make rock and dirt greyscale maps.  This is a difference map colormapped to +/-300 dirt  (lorez for posting and testing purposes).  The few islands are ocean rocks created out of ocean silting bug, but I left it to see how it looks.  Have not done cliff/rock exposition yet, that will be done with creek dirt erosion code, this is river/lake silting code.


 


wwwFIR2.jpg


 


 


The issue I had is not even the wiki has settled on what the dirt layer is on the various islands, just a bunch of people arguing that sampling theory cannot determine an average (actually it can - people need to read up on confidence intervals - sampling is done all the time in manufacturing)


 


So what I decided to do was to generate 1000 random maps as a sufficient sample to determine with three sigma outliers what the maximum dirt is likely to be out of the infinity of possible maps.  I tweaked my erosion constants accordingly so that maximum depth was <=300 simply because that is the maximum digging slope for maxed diggers.   Of course you can dig deeper by going wider open pit mining but that is more work.


 


This is a case where gameplay trumps reality.  An accurate erosion simulator would use flow and sediment science to create dirt fill.  What I did was simply split my digs into dirt river/lake beds with air taking the place of elevated rivers/lakes (maybe someday we get real water features).  


 


The idea is that if anyone that thinks a dried lake bed with dried river channel for easy access road was a good place to make a deed and expect to make a simple mine hole even with max digging deserves to not reach the bottom.  If you are paying attention to the terrain you will realize that dry creek washes and mountain tops are where the rock layer is closer to dirt layer.  This also fits with regional resourcing that I want my maps to have.  Now because I hate surface mining - my under dirt rock layer will not be fractally noisy nor have detailed erosion  and will be smooth.


 


Thus I changed my stats that such a critical fail should exist and changed to 95% of the dirt is less than 300, but there will be dirt pits deeper than that, this also gives me an out in case my random sampling falls short or codes change and I forget to resample.  


 


Actually one of my best experiences in WO was when the local got together to help just such a deeder who had located in a hollow.  Once we had ruined his deed with an open pit mine and still did not reach bottom he decided it would look better if he just stuck with the cliff entrances rather than sink hole.  And since Wurm does not enforce the dirt slope fall dropping rule for digging slopes, that open pit dirt mine that was never a rock mine was still there when I went back recently for nostalgia.  The dirt bsb that he never did sell had long ago rotted/looted though.


Edited by yarnevk

Share this post


Link to post
Share on other sites

Inspired by how No Man's Sky procedural worlds are tested I wrote a drone iterator to run thru random seeds and show me how the canal carving code interacts with sea level.  Means I spend a lot of time fascinated by the results wanting to try them out instead of coding.


 


Especially this seed, which with the right options ended up being a Wurmian version of Europe and Africa.


 


yMjzQn0.jpg


 


Of course I realized after this popped up I discover I was not displaying the seed string, so I have no idea how to reclaim this one from from the infinite possiblities of isles!


 


Large maps sizes will be needed for the island carving option. Reasonable slopes and erosion on a small map gives rather flat small islands that can only support small hills if they are to be playable slopes.


 


Here is another iteration where instead of canal carving I am increasing the number of isles.  Gives more natural interior seas and hills at the cost of less land, on the bottom row it inverted the map to maximize land area.   Both number of isles and canals could be specified it just gets more confusing trying to find a good parameter set.


 


xgL4Rwz.jpg


 


Next weekend I work on the higher rez fractal details and creek erosions as I am happy what I am achieving with lo-rez.  Seems a layered selector like this displaying random seeds then random parametrization of them before diving deeper into the time consuming details is the way to go.  Weekend after that I will be dropping my toolbox and foraging for crude tools.   Who knows how long it will be before I survive to say I can do a better map than this, then I will have a lot of biome flora code to write as well as figuring out image handoff to WurmAPI (possibly using ImageJ library)


Edited by yarnevk

Share this post


Link to post
Share on other sites

Progress slowed while I play as I knew it would.


 


ported the wurm dump map color code so I can use MATLAB 3d viewer instead of dump maps.


 


fine tuned my rock and dirt erosion code so all map sizes hold to the 95% < 300 dirt on average


 


fixed a bug that made massively deep oceans and rock islands and crater lakes.  Maybe more fun to leave it in if the game supported diving but it was killing run time.  The waterflow is ready for rivers whenever wurm is, in the meantime it makes the undersea map very interesting and provides dry creek/river beds.


 


got basic biome mapping working that uses watershed and latitude, rocky deserts and steppe in low south, fertile valleys and high steppe in the middle, and tundra in high north.   Trees will go in watershed and then out as it gets drier, will get out my gardening books to read what trees grow best where.  There will be no random biome generation, I use natural rules.  No marshes on mountains no clay in the desert etc.  Amazing how much of a butterfly effect there is in making a natural world.


 

 


Here is a preview of seed "Agamemnon' which is the one I use for my testing that ended up with a canal cutting across the foot of a mountain.   This is a 30deg azimuth 3D projection using dumpmap colors.    


 


pDK9nLd.jpg


 


still some tuning to do on multifractal algorithm, though I have to admit larger land features being somewhat smooth looks a bit Wurmian.   This is just misalignments in porting my prior code that was multifractal continental down to Wurm scale.   I also have gone with the Fjord scaling look as realistic heights was BORING.   Nobody wants to hike kansas flat grasslands all day. 


 


Rivers are probably too deep and steep, but that is easy to smooth out I just wanted to see what it looks like in-game first, also I can make my erosion biome sensitive so sand and tundra does not have rivers (steppe does not) but I am leaving it for now, might look like ice crevices and old rock river washes.    


 


I really want to use the SNOW tile in the tundra peaks but not sure if that one will work.  Also I noticed in my old WURM directory that there was a forest floor tile - would be nice if that was in there.


 


Currently fiddling with balance of rocks and grass in steppe.    There is more steppe than WO and that is intentional, no elite to shun you from the server for building and mining in the steppe.  This is because steppe also represents coastal chaparral, which is what the in-game steppe actually looks like rather than interior grasslands.   This is not WO where you have to travel days across a map to find a horse and bison only to get there and find steppe deeds keep them for themselves.


 


idea is to generate a grid of options to narrow down preference

 

choose random seed

choose # isles 

choose # canals 

choose canal smoothness

choose water depth

 

then generate the detailed biome map


Edited by yarnevk

Share this post


Link to post
Share on other sites

SiBA9L2.jpg


This is the 1k version of the same seed, it starts with the same plan of one main isle crossed by a canal but details end up being different.  Butterfly effect.  This one is interesting as it shows I already have mountain lakes working.  They just look weird without water.....maybe someday.  I really like how the cliff erosion worked here.  Slopes are also steeper since I found that scaling height with width makes for boring hills, so mountains are only slightly less high with half resolution rather than half or quarter as high.  I think that is OK because smaller maps need less flat land with less people on them.


 


Sorry for the noisy jpegs, imgur seems to have compressed because too big as png...


Edited by yarnevk

Share this post


Link to post
Share on other sites

I'd probably like to see fewer riverbeds, but overall, the maps are looking really nice! The other suggestion I might make is to maybe try and get tundra to appear on mountaintops, though I guess it sort of requires at least some dirt too... maybe have dirt appear up on mountains at nearly any height as long as there is a sufficiently shallow slope?


Share this post


Link to post
Share on other sites

Have not checked the dried river beds in game yet, I just made them steep so easily seen as rock banks, if they are grass hard to see from above. But they should properly be made shallow enough that grass and trees can go in them.  I did have a deep and narrow ditches gives way to shallow wide creeks spread function but it was killing my performance while testing, so went back to a simpler post process bank smoothing for now.


 


Look at any map though, water erosion gives every slope that wrinkled appearance even though there are few rivers.  Maybe better called ditches and creeks and ancient erosion at this scale since I have the canals cutting across isles for actual water rivers.  


 


https://upload.wikimedia.org/wikipedia/en/e/e8/Weber_River.png


 


Tundra modeled after earth in that frost lines are very high in the south, very low in the north and does not care about watershed or dirt depth.  So it will cover land entirely aside from rocks which is why I wanted to use snow to get some variety up there.  That just happens to be a southern mountain and I have a low camera angle to make mountains look more dramatic. Other maps have had half the map covered in tundra because lots of high central mountains.   My intent is latitude is 0-90 deg earth with tropic and polar circles and follow the rough earth model for tundra (alpine) frost lines lat/elevation


 


[Again jpeg compression fooled me, checked my code and I did have the snow turned on.  So the peak actually is rocky snowy tundra.  My surfaces are multifractal boundaries as in the real world no smooth cartoon biomes making it easier to see.   It might look blocky in game though since textures do not blend very well but that has not stopped Minecraft from being playable]


 


I need to send out search engine drones to find more tundra heavy maps I guess just skip the fractal detailing/erosion step to make it fast.  There actually is rocky tundra on the north side of that mountain, just hard to see in the shadow with all the jpeg noise but I can clearly see it on my biome flat map.  The south side is just too far in the south, so it ended up with steep cliffs and rocky sand instead of tundra.   Not using bare dirt on slopes because Wurm reseeding is too aggressive, dirt always gets eaten by flora, so does not matter if it might be more realistic or look better when it does not last.  That is why my sand goes higher up than earth might, mixed in with rocks it stands in for dirt.   Maybe someone will do a palm trees and sage brush mode and nobody will ever notice it is the same sand if the flora is different....


 


I think my min uneroded dirt layer was 20 or 40 for that so mesas will have some sort of cover unless water can scrape them to bare rock.  The min dirt layer is a balance on how rocky it is where there is no watershed.  Want such areas to be the best mining along with deep eroded riverbeds without much digging, while fertile valleys where you might like to deed are going to be hard to dig down past all the dirt that settled out.


Edited by yarnevk
  • Like 1

Share this post


Link to post
Share on other sites

ksDNQRC.jpg


 


Worked on the fractal scaling, much less smooth now, more cliff ledges on the mountains for more feasible climbing.


 


Much work on rivers with more realistic depth and spread and lakes with dam breeches.   Currently they stop at bedrock for a nice natural road for more accessible mining in the wetlands.  Maybe I will gravel the bottoms if it is too smooth.


 


Added moss to wetlands, gravel to drylands, and dirt to tundra as fractally noisy 20-40 slope indicators. Really annoyed with grassy fjords in WU that I cannot walk on so I think I will leave them as visual in-game indicators.   


 


Added snow using earth latitude/altitude rules using dirt is a meter scale.


 


Added trees to the wetlands, and bushes to the meadows.  Need to figure out what seeds go where yet.  Will scatter a few big trees and thorns into the steppe.


 


Waiting for someone to add WurmMapUploader biome png codes as import to their tool  (please add roadtypes!)


 


(imgur converted to lossy jpg again..)


 


For those who prefer Antarctic circles, much better view of the wetland side of the mountain....


 


EI2coUu.jpg


Edited by yarnevk
  • Like 1

Share this post


Link to post
Share on other sites

Wow grate map. This would be interesting to play in Wurm Unlimited :). I like the islands on the left corner and how the land stretches from the top right corner all the way down. Plus the water separating the two land masses makes for a grate sailing route.

 

Also the same goes for the other iteration of map with the arctic islands in the north.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this