Closed tibor95 closed 9 years ago
From what I remember of worldsynth[1], temperature does not wrap around (left to right on x-axis). Weather (wind and rain) precipitation also goes into one direction, which also does not wrap around. It was good enough for giving us seeds for river generation and biome information.
These are things that can be improved on.
[1] Lands and Worldsynth merged to form worldengine.
OK, then, at least it is not me who is mistaken :)
2015-06-17 14:11 GMT+02:00 Bret Curtis notifications@github.com:
From what I remember of worldsynth, temperature does not wrap around (left to right on x-axis). Weather (wind and rain) precipitation also goes into one direction, which also does not wrap around. It was good enough for giving us seeds for river generation and biome information.
These are things that can be improved on.
— Reply to this email directly or view it on GitHub https://github.com/Mindwerks/worldengine/issues/77#issuecomment-112776910 .
I love the screenshot anyway. :)
I am still tinkering with it :) And I like it as well :) :)
Me too, the screenshot looks great! Yes, we should support better wrapping worlds: lands used to have very deep oceans at the border of the map and it was not intended to be wrapped :)
Now the altitude wrap but we have other things to fix, hopefully it should not be that difficult.
We can always "cheat" and do some fuzzing along the x-axis to try to blend/merge things as a stop-gap with the existing algorithms. The best solution I feel would, again, involve some noise. ;)
I've always wanted to try to create "real" rain shadows and work backwards from the backsides of mountains, but that requires that we also do real wind simulations instead of just picking a direction and blowing for the entirety of the map.
I'm wondering if we could use the heatmap that is generated as a basis to create air-currents. That might help. As air travels over water, it picks up water vapour and as it 'hits' land... loses water (as rain) which higher the elevation the more rain that is lost. Obviously after very high peaks, there wouldn't be much water vapour and as such would be rain-shadows after mountains.
Now that I talk about it... I want to work on it. :P
it sounds a great plan :D
@tibor95 are you a widelands dev? If so, you planning on using WE for map generation? If so, how can we help? :)
Update: https://wl.widelands.org/wiki/Contribute/ <-- help wanted: maps... I think we got you covered there. https://wl.widelands.org/developers/ <-- oh, ook, I found you there. :)
What are your (widelands) intentions? A tool for use with your map editor, or something that can be integrated into widelands (and it's editor) itself?
oh god, look at that... drool I want this: http://earth.nullschool.net/ <-- wind/weather currents https://github.com/cambecc/earth http://hint.fm/wind/
@psi29a
I work mostly on computer player logic, but also other things as we are short of C developers.
Also, I have created couple of maps for the game.
Widelands has a random map generator - but very primitive... If you are asking if I intend to incorporate your code into widelands - than the answer is: not. There is huge amount of work between output of your generator and playable / balanced / polished map. My experience is that by hand you can never never never never :) create realisticallly-looking map. This is why generator like this is usefull.
I am working on lua script that will be able to process output of your program, do 90% of work and then I will spend quite a lot of time polishing the map... Once the script will be good enough I want to create more maps - but definitely not incorporate the algorithm into widelands itself...
well, maybe we can help incorporating some features in WorldEnginer that makes easier for use to create this adapter. Then I think WideLands could benefit from nicer maps (though they would be still not 100% automatically generated) and we can get a bit more users and improve our software in the mean time. It sounds like a win-win :)
@psi29a those projects definitely looks cool :) We need to update our roadmap :)
coastal erosion would be nice - If I understand, entire simulation is done without water, and it is only filled afterwards... I have to manually decrease coasts (make the elevation less steep) to allow buildings there. Most coast on the earth have beaches and slow ascend (I mean in the distance like 5 - 20 km from coast or so), dont they?
When the map will be finished I will mention you and acknowledge the credit where credit is due, of course :)
Water is present (it has a limited effect in the plate simulations) and we have hydraulic erosion (which carves up rivers) but we do not have coastal, thermal and wind erosions.
For us is very good to have feedback from someone using the map in a game because it is a different perspective.
There are so many things to simulate a perfect world, it is an endless list... but as far as I know there are no better open-source world generator out there, our goal is definitely to become and remain the best one :)
river erosions are usefull too. It should form less steep coast or even estuary/delta or so...
I must admit for now I ommited rivers from map, because there was some problem extracting the data, I dont remember what it was now... and I am on the other computer now...
@tibor95 that is super of you for giving credit. We would like to help further. If you can give us a run-down of all the things your script does or even let us see it, we can help git rid of that 90% overhead. We want to improve WE to make it more useful and of course to create great maps.
I can send you the script - it is run inside editor in widelands, but these are things that cannot be on done your side, like
Honestly.. some of those things are things we want. ;) So saying that it cannot be done on our side is a bit of a misnomer. ;) Things we would like to see in WE:
So if you are already doing some of these, well maybe we can re-use your techniques in WE. :)
Look at the screenshot - the random map generated in widelands. Under "border smoothing" I mean f.e. elimination of small patches of different terrain, or simply make different terrains more compact or so...
Trees and rocks - this is pure random, no logic there. Only on my map I group them more then here on this screenshot
Metal (mines) - more-less they are random, above some elevation - But no logic, no 'geological context' here :) So if you introduce terrains like "fertile land", rocks/mountains, metal ore rocks - this could be used. Of course fertile land is usually on flat areas... but mountains with ores - this could be indicated by your map.... Or maybe coal beds have probably specific localities... Usually we make coal mines in mountains, but in real world it is not this way, or is? I am not sure... :)
I know a guy... phd in geology, he has hooked us up with reading material. :)
A couple of hobbyist-level sources incoming: If I may suggest some reading material myself, Geoff's Climate Cookbook: www.thumbprintpro.com/~tiqdreng/ClimateCookbook-Geoff.pdf is an brilliantly simple explanation of wind, currents, and climate. Worldbuilders have been using it for years, hopefully someone here will find some useful info from in. If worldengine could implement most of these steps on generated worlds, we would have one of the most amazing generators ever made (not that we don't already! ;p) I would definitely love to see smoother coastline slopes and possible more defined continental shelves. They would help make the maps more usable for digital elevation/game maps, and the continental shelves would be important for modelling currents, and therefore climate. On the subject of ore and geology, I found the blog here: https://geoheritagescience.wordpress.com/2013/11/15/the-geology-of-skyrim-an-unexpected-journey/ to be interesting. There are several articles in the series, fyi.
For now, we are concerned only with x-axis wrapping.. left to right because we can easily wrapped this onto a cylinder or globe.
y-axis wrapping will likely not be supported, and if it is.. it will be a setting and not default.
psi29a,
but your model of plate tectonics is (wrapped) rectangle not globe, and is wrapped in both directons.... so this is an inconsistency.
@tibor95, that is why I said "we are concerned only with..." meaning this is what we are aiming for, not for what is currently happening. This still needs to be fixed.
Wrapping along the y-axis is nice for games, but not our current goal.
I wrote some code a while back for lands to let the temperature and humidity noise wrap left and right back on lands. I'll have to double check and see if I ever submitted the code and if it ever made it into worldengine. I've got a couple of other adjustments I made concerning the percentages of terrains that are considered polar, desert, etc. that I know I didn't submit.
It looks like most of the problems are with wrapping up and down, but since the map is designed as a Miller Cylindical Projection/Mercator Projection those sides aren't suppose to wrap anyway and it would make very little sense to do so (you end up with a single 'cold pole' if you do that).
I'm currently having trouble getting the latest release (0.18) to run properly (if I try a resolution higher than 512x512 astar.py throws an error "AttributeError: 'NoneType' object has no attribute 'lid'"), so that's slowing me down, but hopefully I will be able to get it resolved, readd my code, and issue a pull request.
Hi! Definitely some of your code was merged (you appear among the contributors: https://github.com/Mindwerks/worldengine/graphs/contributors) but we are looking forward to the adjustments and future contributions :)
If you are stuck feel free to ask for help, we definitely do not want to miss your contributions!
Right. I knew the biome code was merged. I just can't remember when I wrote my code for wrapping the noise function. I've had some environmental adjustments I've been sitting on that were designed to make the percentage of land types closer match Earth's than I never got around to submitting before life grabbed me and I can't recall if the wrap code was in the part I didn't submit or in the earlier part.
It will eventually be nice to specify the type of projection, in that case it would make sense to chose when to wrap and when not to.
I think I saw a pull request from you come in, it seemed like you haven't rebased in awhile... Anyway, just reading through it, I saw a lot of commented code. Ideally, this code should be dropped. :) If we need it back, we'll go diving in git history to get it back.
Just looked at the results from the latest build. Precipitation and Temperature (and therefore Biome) maps are wrapping properly east to west. The don't really wrap north and south but then they aren't intended to.
We can probably close this.
thanks for checking this @esampson . We are always looking forward to more of your nice contributions :)
Closing this one.
I am not sure because no artifacts are seen in generated png, but when creating the map I got something like this:
See how the ice does not wrap.
Also when I received raw data from program and comparing 0x0 vs 199x199 pixel (mapsize is 200x200) values differ too much: x y temperature precipitation 0 0 -0.0154863047591 -0.20062381937 199 199 0.110205019679 -0.291956405397
But perhaps the problem is on my side, I dont know...