a multiplayer game of parenting and civilization building
You are not logged in.
I may eventually have to bite the bullet and just use frigging bands spaced across the map. The boundaries can be noisy, so on the ground they look okay. But then it can be:
swamp
grass
yellow
jungle
desert
mountain
snow
mountain
desert
jungle
yellow
grass
swamp
grass
yellow
jungle
desert
mountain
snow
mountain
desert
jungle
yellow
grass
swamp
I could then control the thickness of each and have them be sufficiently epic.
This would look like crap on a map, obviously, and also make exploring a known quantity (walk north or south to find a biome). Civs would be in bands as well.
Offline
Hi im new,
Why don't you try adding "rivers" and "lakes"?
Im not talking about actual tiles-biomes-whatever, just as a part of the calculation for biomes.
"Rivers" may start at highest altitude points and go down (gradient decent wise of (x,y)?) and lakes be where you can't go down anymore.
"Lakes" can be used then to make a radius to get clusters of biomes.
I don't understand very well how the biomes are produced but mabye this helps (?)
Offline
It looks pretty good!
Would it make sense to put jungles as pockets inside swamps instead of around mountains though?
Although I can see the gameplay value in having iron/oil areas surrounded by dangerous jungle.
Offline
Here's one where there's a sinusoidal modulation running north-to-south:
Seems like you're already headed in this direction anyway, but here's another image with 7 axes, for each currently existing biome.
Probably a way to translate the axes into a 2d grid using x,y slope values. y=mx+b, m being the slope, then you have m1, m2,.... I'm sure you get it.
Then just put more, of a biome at one end, less at the other.
If you do it right, you could add future biomes, adjust the axes so they are spaced fairly evenly (or with some variation to, to prefer things like grasslands or what not) or you could even adjust b, where the axis intersect.
You could even get some inspiration from real world maps, like it seems you have, placing the positive end of the tundra axis to the north.
Offline
I'm not great on map generation but if you are overlaying noise maps maybe you could somehow overlay 2 different maps?
This is what Factorio does (later part of post)
https://onemap.wondible.com/ -- https://wondible.com/ohol-family-trees/ -- https://wondible.com/ohol-name-picker/
Custom client with autorun, name completion, emotion keys, interaction keys, location slips, object search, camera pan, and more
Offline
Thaulos wrote:I'm not great on map generation but if you are overlaying noise maps maybe you could somehow overlay 2 different maps?
This is what Factorio does (later part of post)
Beautiful to see how far the game has come.
Too bad you can't have, and care for, babies in it that are other players.
I'd love to try and care for kids while also fighting off 'aliens' AND trying to make a rocket to get home.
Offline
What was wrong with the custom weighted rings? I thought that looked better than doing layers.
I think Minecraft's world manages to have patchy biomes, not rings or layers, and those biomes tend to be near similar biomes and apart from different biomes. I tried looking up how Minecraft does it but didn't have much luck.
Offline
Yes, custom-weighted rings is what I ended up doing. It's live now.
Offline
I played one life with the new rings and I do have to say that I really like it so far. I do agree that some rings are very thin though.
I'm not sure that it's easily doable with the current map gen code, but what if you stuck with the rings for swamps/grasslands/prairies, and have the final circle area be one of the remaining biomes at random.
So you'd have four distinct heightmap areas instead of the seven that exist now. One is swamp, two is grassland, three is prairire, and every contiguous fourth level is one of the remaining biomes.
This way every village could have a different origin story. Village A might have easy access to bananas for early food, but at the tradeoff of having to go further to find iron. Village B has a snow biome nearby which means everyone will be wearing sealskin coats. Stuff like that.
Offline
Yeah it looks pretty good, there is the occasional 1-4 isolated tiles that should be replaced by the nearest biome, but other than that i like how there is a logic to each biome and you can tell more or less in which direction to go.
Offline
Yes, Dodge, I can fix that by adjusting the roughness param (how jaggy the boundaries are, how many little isolated bits there are). Will deal with that later.
TWISTED, YES!!! I had exactly that same idea in bed this morning. You must have been typing while I was dreaming.
So each "mountain" will have one of the "special case" biomes (snow, desert, jungle) on top of it. Your mountain is snowy. My mountain is jungly. Their mountain is desert.
That will get rid of the thin rings, and still allow "epic" jungles here and there.
The way I do it in the proc code is have a separate, large-scale field picking a special case biome for each x,y, and then if we ever get above the trigger altitude, the special-case biome is placed. Our biome order becomes:
SWAMP
GRASS
PRARIE
MOUNTAIN
SPECIAL
If we ever need to place special, we call special(x,y) and find out what goes there.
This does mean that some "peaks" will be bisected (because the special map has a different patch there). So some peaks will be half desert, half snow. But I can set the scale so that most of them are whole areas of on thing.
Offline
Gosh, I love this frigging game. Thanks, everyone, especially Morti, whose graphs are like something out of A Beautiful Mind.
Offline
Morti indeed has a beautiful mind!
Offline
I tried some riffs on the heightmap system. None of these are very well tuned, but perhaps they could provide some inspiration.
Combine all the things in too-thin strips and use a second fractal to mix them up so it's not all thin. This could be done to a lesser extent then here.
Move the uncommon biomes into the peaks, use a second fractal there.
Put the core green area at the low points, surrounded by a swamp/plains layer, followed by a desert/jungle layer, this one has badlands and arctic as strict height. Perhaps badlands should be a little lower.
Attempt at a straight 2D physically-inspired system as in Factorio. Probably an overly-simplified biome selection rule. Doesn't look so pretty from above, but gets green near rabbits and water a lot.
https://onemap.wondible.com/ -- https://wondible.com/ohol-family-trees/ -- https://wondible.com/ohol-name-picker/
Custom client with autorun, name completion, emotion keys, interaction keys, location slips, object search, camera pan, and more
Offline
When a lot of bright minds work together, isn't it just lovely? I wonder just what will come from this with more time.
I'd have to say the strip variation seems very sensible in it's biome distribution.
But i don't know, the peak is very interesting...but it looks odd enveloped by prarie.
I'm trying to imagine how they'd look like wandering around. The latter two seem good in my opinion with the lest seeming most like how it's been before but with more smart placement.
It's good to have some logic to biome progression, this way one's geographical knowledge comes into play when exploring.
Offline
Based on various ideas discussed here, this is the latest:
The idea here is that we use topo rings for the "necessary" biomes (swamp, grass, prairie, mountain) and then for the "peak ring", we pick one of the special biomes. That pick is actually done using the old patchy (non-topo) algorithm, with the scale tripled. So in the peaks of the topo map, there are patches of snow, desert, and jungle.
Furthermore, I've detected the boundaries between these special patches and added a little sliver of grey between them. So if you ever find Snow next to Jungle, there will be a little gray biome barrier between them.
You can see this in the map by looking at the snow/desert/jungle "peak" just to the south of the middle swamp. You can clearly see the grey boundary separating the desert from the jungle.
This makes them feel like separate peaks.
The idea here is that, hey look, there's almost no jungle in the North of the map, and almost no Desert in the SE, and so on.
Furthermore, these special areas are back to being "epic" feeling instead of thin little belts.
Here are the occurrence counts:
Biome 1 (Swamp ) count = 52250 10.4%
Biome 0 (Grass ) count = 137538 27.4%
Biome 2 (Yellow) count = 129149 25.8%
Biome 3 (Gray ) count = 127552 25.4%
Biome 6 (Jungle) count = 14178 2.8%
Biome 5 (Desert) count = 24891 5.0%
Biome 4 (Snow ) count = 15706 3.1%
1810 Wild Gooseberry Bush (actual=0.017983, expected=0.013889
7202 Big Hard Rock (actual=0.071556, expected=0.013889
6872 Stone (actual=0.068277, expected=0.013889
4463 Seeding Wild Carrot (actual=0.044342, expected=0.013889
6642 Juniper Tree (actual=0.065992, expected=0.013889
3375 Milkweed (actual=0.033532, expected=0.027778
1825 Maple Tree#Branch (actual=0.018132, expected=0.013889
1754 Lombardy Poplar Tree#Branch (actual=0.017427, expected=0.013889
745 White Pine Tree (actual=0.007402, expected=0.013889
5537 White Pine Tree with Needles (actual=0.055013, expected=0.013889
1536 Tule Reeds (actual=0.015261, expected=0.013889
1615 Clay Deposit (actual=0.016046, expected=0.013889
5086 Flint (actual=0.050532, expected=0.013889
1823 Sapling (actual=0.018112, expected=0.013889
1528 Canada Goose Pond (actual=0.015181, expected=0.013889
1735 Yew Tree#Branch (actual=0.017238, expected=0.013889
4502 Rabbit Hole#hiding,single (actual=0.044730, expected=0.013889
1889 Fertile Soil Deposit (actual=0.018768, expected=0.013889
4842 Ripe Wheat (actual=0.048108, expected=0.013889
465 Iron Ore (actual=0.004620, expected=0.001389
4312 Flat Rock (actual=0.042842, expected=0.013889
482 Wolf (actual=0.004789, expected=0.001389
2494 Willow Tree (actual=0.024779, expected=0.027778
2684 Bald Cypress Tree (actual=0.026667, expected=0.027778
906 Mouflon (actual=0.009002, expected=0.002778
431 Bear Cave (actual=0.004282, expected=0.001389
3658 Limestone (actual=0.036344, expected=0.013889
3 Gold Vein (actual=0.000030, expected=0.000069
100 Penguin (actual=0.000994, expected=0.001389
265 Ice Hole (actual=0.002633, expected=0.003472
39 Antarctic Fur Seal (actual=0.000387, expected=0.000694
1505 Indigo (actual=0.014953, expected=0.003472
1380 Rose Madder (actual=0.013711, expected=0.003472
48 Alum (actual=0.000477, expected=0.000694
743 Dead Tree (actual=0.007382, expected=0.013889
319 Barrel Cactus (actual=0.003169, expected=0.004167
104 Rattle Snake (actual=0.001033, expected=0.001389
136 Wild Horse (actual=0.001351, expected=0.001389
0 Monolith (actual=0.000000, expected=0.000014
1904 Burdock (actual=0.018917, expected=0.013889
1718 Wild Onion (actual=0.017069, expected=0.013889
48 Iron Vein (actual=0.000477, expected=0.000139
709 Wild Rose with Fruit (actual=0.007044, expected=0.001736
240 Snow Bank (actual=0.002385, expected=0.003472
1466 Teosinte (actual=0.014565, expected=0.003472
215 Wild Potato (actual=0.002136, expected=0.001389
580 Wild Bean Plant (actual=0.005763, expected=0.001389
679 Wild Squash Plant (actual=0.006746, expected=0.001389
468 Wild Cabbage (actual=0.004650, expected=0.001389
237 Wild Boar (actual=0.002355, expected=0.001389
621 Bison (actual=0.006170, expected=0.001389
151 Wild Mango Tree (actual=0.001500, expected=0.001736
16 Lapis Lazuli (actual=0.000159, expected=0.000278
42 Cinnabar (actual=0.000417, expected=0.000417
789 Rubber Tree (actual=0.007839, expected=0.013889
105 Hot Spring (actual=0.001043, expected=0.001389
470 Oil Palm (actual=0.004670, expected=0.006944
302 Banana Tree (actual=0.003001, expected=0.003472
510 Mosquito Swarm (actual=0.005067, expected=0.006944
628 Turkey (actual=0.006240, expected=0.001389
39 Tarry Spot (actual=0.000387, expected=0.000278
8 Dark Nosaj (actual=0.000079, expected=0.000069
887 Malachite (actual=0.008813, expected=0.002778
964 Calamine (actual=0.009578, expected=0.002778
108 Niter (actual=0.001073, expected=0.001389
193 Glasswort (actual=0.001918, expected=0.002778
474 Sand Deposit (actual=0.004709, expected=0.006944
281 Sugarcane (actual=0.002792, expected=0.003472
364 Wild Tomato Plant (actual=0.003617, expected=0.003472
298 Wild Pepper Plant (actual=0.002961, expected=0.003472
21 Electrum Ore (actual=0.000209, expected=0.000278
259 Natural Spring# gridPlacement40 evePrimaryLoc (actual=0.002573, expected=0.001389
Edit: found the bug in the code that was causing those ZERO values. Fixed and updated the data above.
Offline
I haven't played a ton but from what I've experienced I have to say that the current map already surpassed my expectations on how good it is. I was expecting small tweaks and instead we got a pretty good alternative map. I even saw people on discord saying they like Rift now.
Can it be better? I would guess so, but I would also say mission accomplished on this one. Good job Jason!
Last edited by Thaulos (2019-07-31 20:44:28)
Offline
Played my first game on new map and I like it. It feels a lot better when there's an idea of where you should look for a specific biome rather than having to wander randomly.
But yeah, iron is still frustrating in this tiny rift map. We badly need tiers of iron mines. Pls add air pumps that let us get more ore from veins.
Last edited by Potjeh (2019-07-31 21:44:13)
Offline
Looks great!
Offline
I'll be tweaking iron before the end of the week, assuming that I get the other stuff ironed out first (see what I did there?)
Offline
I'll be tweaking iron before the end of the week, assuming that I get the other stuff ironed out first (see what I did there?)
Resorting to puns now Jason, dear God you must be desperate haha. The new changes have been very good and I very much appreciate the group dynamic at play in this thread.
I haven't played as much of over the past months, but I always kept up with the forums and the changes. Some of my frustrations were coming from outside the game and it wasn't right using the forums as a heat vent, so I kept my mouth shut and my mind open. After the past few weeks, I feel like that faith was not misplaced.
Keep it up Jason.
Last edited by Psykout (2019-08-01 02:25:29)
Offline