TUXDB - LINUX GAMING AGGREGATE
 NEWS TOP_PLAYED GAMES ITCH.IO CALENDAR CHAT WINE SteamDeck
 STREAMERS CREATORS CROWDFUNDING DEALS WEBSITES ABOUT
 PODCASTS REDDIT 

 

SUPPORT TUXDB ON KO-FI

MENU

ON SALE

New Twitch streamer aggregation implemented (#FuckTwitch) due to Twitch's API issues (more info on my Discord )


Name

 Solace Crafting 

 

Developer

 Big Kitty Games 

 

Publisher

 Big Kitty Games 

 

Tags

 Indie 

 

RPG 

 

Singleplayer 

 

 Early Access 

Release

 2018-01-16 

 

Steam

 € £ $ / % 

 

News

 403 

 

Controls

 Keyboard 

 

 Mouse 

 

 Partial Controller Support 

 

Players online

 6 

 

Steam Rating

 n/a 

Steam store

 https://store.steampowered.com/app/670260 

 

SteamSpy

Peak CCU Yesterday

  

Owners

 0 .. 20,000 +/-  

 

Players - Since release

  +/-  

Players - Last 2 weeks

  +/-  

Average playtime (forever)

 0  

Average playtime (last 2 weeks)

 0 

Median playtime (forever)

 0 

Median playtime (last 2 weeks)

 0 

Public Linux depots

 Solace Crafting Linux [2.77 G] 




LINUX STREAMERS (0)




New biome system in the works

The past few days I've been hard at work on upgrading the way that biomes are generated and handled.

Our current biomes are ocean, desert, grass, and mountain. The current system randomizes their placement using several different layers of noise placed on top of one another. This works great for a "natural" look as noise can be very random, much like nature. However, this approach also has a variety of problems with it.

1. Noise generally generates a value between 0 and 1, with 0.5 being far more common than 0 or 1. If you use a single noise function to determine your biomes, for example
0.0 - 0.25 = ocean
0.25 - 0.5 = desert
0.5 - 0.75 = grass
0.75 - 1.0 = mountain
This means that ocean will always be proceeded by desert, because you can't jump from 0.5 to 0.25. This creates a rainbow effect that looks unnatural, and you'll also end up with a lot more desert and grass than ocean and desert.

2. The rainbow effect is usually coped with by using two layers of noise, often to create a temperature and humidity map to determine biomes. This still however means that biomes near one another on the temperature/humidity map will always border one another, and you often end up with tiny slivers of biomes in between other biomes due to the random nature of noise.

3. Because of the problems inherent to temperature/humidity maps I've actually been layering completely separate noise functions so that grass is the base, desert overpowers grass, mountains overpower desert, and ocean overpowers mountains. This can however lead to sheer cliffs as mountains try to transition from 3000m high peaks to 800m below sea level, and gets more and more jagged and jumbled as more biomes are added.

Due to my desire to add a wide variety of different biomes over time, I've long wanted a better system. What I've come up with is a flexible system designed to be able to grow with any number of biomes. There was some pretty nasty math involved that ended up eating a few days of my time, but it's all coming together nicely now.



Put simply, I'm assigning each "chunk" (8km) a biome using deterministic white noise. White noise is "random", in that it doesn't travel from 0-1 but jumps to any value sporadically, yet is still rule based, so no generated data needs to be saved other than the main world seed.
As you can see in the picture above, the chunks are still too obvious, and I'm still working on making them less square, but ultimately the system is working and could handle millions of biomes if we had them. The current biomes were also not designed with this system in mind, and will definitely need to be tweaked to better fit into it.



Of course the "chunkiness" is not as obvious from the ground.

Another added benefit to this system is the ability to manually assign biomes should there be a need for it. For starters, I have assigned the nearest four starting "chunks" to 1 each of our current "main" biomes: desert, grass, ocean, and mountain. In the old system it was possible to generate a world without mountains or water for many kilometers. This way we can guarantee certain biomes show up if we want them to, limit them to certain minimum or maximum levels, and so on.



Ultimately the main purpose of this system is to bring more resources into the game. We can now make a volcano biome, an enchanted biome, a haunted biome, a swamp biome, etc. Each with it's own monsters, encounters, and resources. It is my hope that in time this will grow into a robust mod-friendly system.

As world generation is intertwined with almost all in-game systems, I'm working to make sure that everything is working well, that the blending between biomes is not too sharp, and taking some time to update the quality of the biomes themselves before I push a patch to beta. As always though I don't like to let too much time pass without reporting what's going on.

Best wishes!


[ 2019-08-23 16:29:10 CET ] [ Original post ]