Eitr

Map Generator 2.8

374 posts in this topic

WGenerator 2.8

 

Map Generator for Wurm Unlimited Servers

 

 

 

Download Here | Contribute on GitHub

 

 

 

The map generator has been completely redesigned to give increased usability and platform support.

 

 

Major new features include: multi-threading, progress bar, import/export heightmap and biome images, biome and river painting, map markers, and tons of new inputs for creating varied maps.

 

 

 

Thanks to Budda for the original program.

 

 

 

 

 

VVy3xve.png

 

 

 

 

 


 

Improvements So Far

 

Spoiler
  • Added progress bar with estimated wait time
  • Added import/export 16bit grayscale .png height maps (credit to Xeon)
  • Added reload water button (so you don't have to wait on dirt)
  • Added ability to seed biomes around the water level (+/- height)
  • Added checkboxes for random seeds (instead of clicking the button each time)
  • Added tooltips to labels for clearer use
  • Added biome random growth for each seeding
  • Added file naming to Save Actions
  • Added Clear Actions button (e.g. you can create a biomes action file separately)
  • Added cliff ratio dirt drop input (how much large slopes protrude through the dirt layer)
  • Added land slide dirt drop input (dirt sliding above the max set slope)
  • Added erode max slope input (only erode below a certain slope)
  • Added error reporting for catching exceptions
     

Update 2.1

  • Added ability to place marker on map to see world coordinates
  • Added grid overlay to the map with a on/off toggle
     

Update 2.2

  • Multi-threading drop dirt (2-4x faster depending on your setup)
  • Fixed map name save bug before you have a map
  • Moved import heightmap button to heightmap tab
  • Added grid size adjustment input (enter to submit)
     - For best results map size should be evenly divisible by grid size (powers of 2)
 

Update 2.3

  • Added random growth rate to each seed in a batch (gives various sized biomes if using growth min/max)
  • Fixed biome seeding so that all seeds grow a biome (instead of throwing away ones that don't match)
  • Added biome density input to create sparse growth (higher numbers = more spread out)
  • Greatly improved error feedback mechanism
     
Update 2.4
  • Added biome paint mode (click on map to plant a biome seed)
  • Fixed zoom on mouse
  • Fixed map zoom resetting on view change
Update 2.5
  • Added river/lake painting
  • Save current view as default view (instead of map view)
  • Fixed drop dirt creating ridges down the center
  • Fixed digging on rock tiles (credit to Blayze)
  • Added height (in dirt) to coordinate marker
  • Fixed dirt drop not smoothing at max height
Update 2.6
  • Added biome specific input values saved to config file (credit to Snowtech)
  • Added undo river button (export/import heightmap on river generation)
  • Added normalize low/high ratio to heightmap
  • Added Memory usage display
  • Added save/load biomes buttons
  • Fixed map files reverting after doing another action
     

Update 2.7

  • Added import/export of 24-bit color biome files
  • Improved biome density for more natural growth
     

Update 2.8

  • Added flower types (1-15) to biomes
  • Added random flower type selection
  • Added flower percent chance input
  • Added a Biome view that shows the biome colors
  • Added Tree, Bush, and Snow tile types
  • Added additional biome import colors

 

 

Biome Color Pallet [r,g,b]:

Spoiler
CLAY:(113,124,118)
DIRT:(75,63,47)
DIRT_PACKED:(75,63,46)
GRASS:(54,101,3)
GRAVEL:(79,74,64)
KELP:(54,101,2)
LAVA:(215,51,30)
MARSH:(43,101,72)
MOSS:(106,142,56)
PEAT:(54,39,32)
REED:(53,100,2)
ROCK:(114,110,107)
SAND:(160,147,109)
STEPPE:(114,117,67)
TAR:(18,21,40)
TUNDRA:(118,135,109)
TREE_APPLE:(41,58,4)
TREE_BIRCH:(41,58,3)
TREE_CEDAR:(41,58,2)
TREE_CHERRY:(41,58,5)
TREE_CHESTNUT:(41,58,6)
TREE_FIR:(41,58,7)
TREE_LEMON:(41,58,8)
TREE_LINDEN:(41,58,9)
TREE_MAPLE:(41,58,10)
TREE_OAK:(41,58,11)
TREE_OLIVE:(41,58,12)
TREE_PINE:(41,58,13)
TREE_WALNUT:(41,58,14)
TREE_WILLOW:(41,58,15)
BUSH_CAMELLIA:(58,58,1)
BUSH_GRAPE:(58,58,2)
BUSH_LAVENDER:(58,58,3)
BUSH_OLEANDER:(58,58,4)
BUSH_ROSE:(58,58,5)
BUSH_THORN:(58,58,6)
TREE:(41,58,1)
BUSH:(58,58,0)
CLIFF:(155,151,148)
SNOW:(255,255,255)
WOODEN_PLANKS:(114,102,80)
STONE_SLABS:(99,99,99)
SLATE_SLABS:(99,99,98)
MARBLE_SLABS:(99,99,97)
COBBLESTONE:(92,83,73)
ROUGH_COBBLESTONE:(92,83,74)
ROUND_COBBLESTONE:(92,83,75)
COBBLESTONE_NW:(92,83,76)
COBBLESTONE_NE:(92,83,77)
COBBLESTONE_SE:(92,83,78)
COBBLESTONE_SW:(92,83,79)
FLOWERS:(220,250,51-65)
MYCELIUM:(71,2,51)

 

 

 

Options Menus 2.0

 

Spoiler

rysCmaY.png 93F4tBg.png DAEjphE.png

 

mJb9L60.png GtLavNv.png h89tp1S.png

 

 

 

 

 

Out-Of-Memory Error

Spoiler

Try running the program from the console and giving Java more memory. Java version 8 64-bit is required.


cd directory/to/program

java -Xmx4096m -jar WGenerator.jar 

 

 

 

 

 

 

 

 

GitHub Contributions

 

Spoiler

Just a tip for people wanting to contribute, the best way of doing so is probably just telling me you would like a pull request from your GitHub fork.

It's the code I need, and that way I'm able to create a pull request into a new branch that I can then merge into my master.

I can't actually do anything with your compiled jar file, so you don't have to worry about generating it. (as long as you know the program runs)

 

 

 

 

 

If you have any questions let me know.

 

Edited by Eitr
Fixed kelp
17 people like this

Share this post


Link to post
Share on other sites

Nice - strange question, but what settings created that map in the screenshot above?


Share this post


Link to post
Share on other sites

Very nice, I especially like the tabbed layout, should fit just about any monitor and aspect ratio, all without input boxes getting squashed or pushed ofscreen.


 


I love the progress bar, all in all, a fine tool for good maps :)


Share this post


Link to post
Share on other sites

Nice - strange question, but what settings created that map in the screenshot above?

 

Which parts of it? I believe it was the defaults, and I just threw the map together for a screenshot.

 

 

Very nice, I especially like the tabbed layout, should fit just about any monitor and aspect ratio, all without input boxes getting squashed or pushed ofscreen.

 

I love the progress bar, all in all, a fine tool for good maps :)

 

Thanks! The progress bar was what got me started on editing it, and I just couldn't help but fix up the layout.

Share this post


Link to post
Share on other sites

Update 2.1 - Coords and grid


 


Added ability to place a marker on the map and see the world coordinates. Also a quick grid overlay I'll improve in the future.


 


fIZ1jwY.png


 


Edit: I just realized the isometric map view might be hard for this, so use the topo view to be more accurate.


Edited by Eitr
4 people like this

Share this post


Link to post
Share on other sites

Really awesome so far testing with 8k map ive set it to 10g of ram  ( you can use -Xmx10g also ) and it seems to be keeping itself at around 9g which is nice i can actually play around with biomes now


any other kind of memory optimization/cleanup would be great, reloading water still adds 1g to usage


everything else feels pretty nice, and i like the new look,


import tab is nice but one must first set the size in heightmap tab aswell as set the Max Height, as this effects the outcome of the import, if you set max height to 2000 before you import it will be very flat but if you set 30000 you start to see the rock n mountains


maybe add some boxes on the import tab to set size and max height and possibly not sure if other settings effect the import?


 


as for suggestions main focus is with more control over biome placement


-ability to lock down areas using the grid to only generate biomes in specific grid areas would be amazing, probably also an adjustable grid size so we can go smaller


-add biome density setting for sparse forests / biome blending


-biome import/export that follows the cliff and landslide dirt drop code. some import code is here (https://github.com/aekazakov/WurmMapUploader) but im not sure if its landsliding n stuff after painting the tiles ect


(for now i would be happy to import one :)


 


bugs:


when i hit update map name it froze and i got


-SEVERE: null


 java.nio.channels.ClosedChannelException


 


open and go to import tab rename the map and hit save i get


-Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException

1 person likes this

Share this post


Link to post
Share on other sites

from all the ones so far i like yours the most(the way it looks and handles)

anyways i got a question would it be possible to setup something for biomes that is similar to ores in the sense of being able in 1 window to preset their sizes and amount and height and then just click 1 button to generate them all and undo and redo until you get one that you like and having it separate for trees and other biomes?

as that is honestly 1 of the things all the map generators are missing so far is being able to just quickly make all biomes and undo and redo over and over and over

1 person likes this

Share this post


Link to post
Share on other sites

Yes, this is the best generator so far. Puts all good stuff from the others in one place plus adds some improvements and user candy. Good job. 


Share this post


Link to post
Share on other sites

Wow! Those are some really nice improvements to the program. Thanks so much for all the great additions! So nice finally knowing roughly how long it will take for the drop dirt!


Share this post


Link to post
Share on other sites

Thanks for the feedback guys! 


 


Currently I'm working on multi-threading the drop dirt function so that it is roughly 4x faster. It's almost complete and should be out today.


 


I'll see what I can do about the UI improvements, and look into setting up separate biome settings for each tile type. I'm putting everything on a todo list so it should get done eventually.


Share this post


Link to post
Share on other sites

I keep running out of memory at different times making a map so it is getting me frustrated. My java is set to have 6g's of ram and yes I have a 64bit machine and java. But your map gen just don't want to work with my pc what so ever with out having a memory issue some where along the lines of creating the map. Until you get this fixed I want risk my pc to damage. Looks nice but the memory issue that keeps poping up is just not worth my patients or my pc.


Share this post


Link to post
Share on other sites

Lol "Java heap exception". Probably I have no luck to generators :P

 

I keep running out of memory at different times making a map so it is getting me frustrated. My java is set to have 6g's of ram and yes I have a 64bit machine and java. But your map gen just don't want to work with my pc what so ever with out having a memory issue some where along the lines of creating the map. Until you get this fixed I want risk my pc to damage. Looks nice but the memory issue that keeps poping up is just not worth my patients or my pc.

 

How big of maps are you guys trying to generate? It shouldn't have any problems up to 4096, which is plenty big for most private servers. Unless your computer just doesn't have enough RAM.

 

If you need bigger maps, generate several smaller ones and connect them as neighbors.

Share this post


Link to post
Share on other sites

Update 2.2 - Multi Threading


 


Added multi-threading to drop dirt (2-4x faster depending on your setup).


Fixed map name save bug before you have a map.

Moved import heightmap button to heightmap tab.

Added grid size adjustment input (enter to submit).

 - For best results map size should be evenly divisible by grid size (powers of 2)

 

Before:

6Y7DTGd.png

After:

bjK0cRf.png

 

 

3 people like this

Share this post


Link to post
Share on other sites

Eitr,

First of all, you're amazing! So glad to have multi-threading enabled for this application, doesn't take nearly as long anymore to drop dirt. Think I might use this as a new benchmark tool for overclocking my PC :P

Share this post


Link to post
Share on other sites

Hmmm multi threading sounds good and is very promising. But I think that problems with heap are genereted by java controlls not by a map itself. I use my own command line program to edit maps 4096 and over and have no memory issues. For most simple modifications my code uses only two map rows. Of course dropping dirt is much more complicated question. I stay tuned for more news.


Share this post


Link to post
Share on other sites

What would be wonderful would be some way to randomize the biome size. It's a bit annoying to generate the same biome multiple times just to get different sized patches of it.


Share this post


Link to post
Share on other sites

What would be wonderful would be some way to randomize the biome size. It's a bit annoying to generate the same biome multiple times just to get different sized patches of it.

 

Agreed.  It definitely feels like an art-form and I for one am a horrible artist :)

Share this post


Link to post
Share on other sites

Hi Eitr,


 


I've played some night with WorldPainter and the Converter made by Captain_Chaos and what I really appreciate in his WorldPainter was the options for the brush :


 


CheckBox "At or Above" then numerique input


CheckBox "At or Below" then numerique input


 


(possibility to check one, none or both)


 


CheckBox "only on" then list of the possible Tile


CheckBox "except on" then list of possible Tile


 


Checkbox above, Checkbox below and an numerique field to enter slope ( possibility to check one or none)


 


With this we should be able to make something like : Put clay except on rock above 480 below 510 intensity 30%


 


or put cliff when slope in more than 40


 


It could be an improvement for the biomes generation .

Share this post


Link to post
Share on other sites

What would be wonderful would be some way to randomize the biome size. It's a bit annoying to generate the same biome multiple times just to get different sized patches of it.

Biome size is kind of random through growth. But it applies the same growth rate to each seed on the action. Biome size is basically the max it can grow (at 100% growth rate).

 

I could probably make the growth random on each seed, so you could set a min and max growth, and hopefully keep it consistent with saving actions.

Share this post


Link to post
Share on other sites

Biome size is kind of random through growth. But it applies the same growth rate to each seed on the action. Biome size is basically the max it can grow (at 100% growth rate).

 

I could probably make the growth random on each seed, so you could set a min and max growth, and hopefully keep it consistent with saving actions.

Right now when you generate a biome, all the patches are pretty much identical in size, if not shape, that's what is annoying about it. If making the growth random on each seed would result in several different sizes in each action, I think it would go a long way towards making it far better.

Edited by Marienara

Share this post


Link to post
Share on other sites

My maps are 8192 and heights of 16384. Like I said before it don't always run out of memory it is random when your version does it. Some times it will happen on the Erosion process and some times it's the drop dirt process and other times it's random in the biome generator. I've yet been able to get to ore generator with out this happening. In budda's and Warlanders versions this hasn't happened to me not even when I do a 16384 X 16384 map. I have 16gigs of ddr3 in my machine every stick is in 100% working order and flawless. 6gigs was devoted to java programs and the rest left to windows.


Some where something is lacking to see how much ram is there cause I've watched the processing as things where being done and the generator never reached 6gigs of ram yet it says it was out and closed.


 


Is this version 32 bit java only? or is it 64bit as well?


Share this post


Link to post
Share on other sites

Update 2.3 - Biome Improvements


 


Added random growth rate to each seed in a batch (gives various sized biomes if using growth min/max).

Fixed biome seeding so that all seeds grow a biome (instead of throwing away ones that don't match).

Added biome density input to create sparse growth (higher numbers = more spread out).

Greatly improved error feedback mechanism.

 

Random biome size example (all from the same batch)


UEkPaIh.png


 

Playing with different biome densities


5rcsX6G.png


 

Previous Biome Action files are not compatible

 

1 person likes this

Share this post


Link to post
Share on other sites

Is it possible to add the ability to manually add in Biomes at set coordinates with a set size and seed?


Share this post


Link to post
Share on other sites

My maps are 8192 and heights of 16384. Like I said before it don't always run out of memory it is random when your version does it. Some times it will happen on the Erosion process and some times it's the drop dirt process and other times it's random in the biome generator. I've yet been able to get to ore generator with out this happening. In budda's and Warlanders versions this hasn't happened to me not even when I do a 16384 X 16384 map. I have 16gigs of ddr3 in my machine every stick is in 100% working order and flawless. 6gigs was devoted to java programs and the rest left to windows.

Some where something is lacking to see how much ram is there cause I've watched the processing as things where being done and the generator never reached 6gigs of ram yet it says it was out and closed.

 

Is this version 32 bit java only? or is it 64bit as well?

 

I've successfully generated an 8192 after giving it 8gb for RAM (it never actually used that much). Generated heightmap, erode it, dropped dirt, biomes, and ores.

Maybe try reducing the number of iterations on your actions and manually running them several times? I've updated the error reporting so that might help troubleshoot the issue.

The underlying program that does all the generating is the same as Budda's because it was built off it. So if it works on his original one, it should work on this one.

 

 

Is it possible to add the ability to manually add in Biomes at set coordinates with a set size and seed?

 

Manual biome seeding is on the todo list, but it will take a little longer to implement. Eventually  :)

2 people like this

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