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 14:29:10 CET ] [ Original post ]
🕹️ Partial Controller Support
- Solace Crafting Linux [2.77 G]
Background
My name is Kyle Postlewait (35) and I got into game development years ago because I can't find the game that I want to play. I am not a veteran game developer. I do not have any published AAA titles. I am self-taught and I make mistakes. Having said that, I'm tired of survival crafting games being abandoned, focusing only on PvP and guns, or turning into major time sinks. I quit my day job in February of 2018 to focus on Solace Crafting full-time, and am doing everything I can to make a great fantasy survival RPG despite the tremendous challenge that is game development. Please don't buy into early access expecting a fully polished AAA game and then give it a bad review. In return, I promise to make sure that this game is NEVER ABANDONED. If sales are more than enough for me to survive, then I can hire more help. First and foremost I will always work to secure financial longevity and legal stability, and maintain all intellectual rights, never selling power to sponsors, publishers, or anything that could endanger continued development.
Early access ends when there is enough content to constitute selling the game without the above warning. Even after we leave early access the game will continue to be improved and expanded on, and has a long list of planned features post early access including other dimensions and multiplayer.
All features listed on this page are undergoing constant improvement and are subject to change.
Short description
Solace Crafting is a crafting and building heavy survival RPG focused around player crafting, building towns, and summoning NPC townspeople. With an open class system, open-recipe crafting, customizable enchanting, modular building, defensive structures, town management, distance-based difficulty, and an infinite game world, players are free to move and level at their own pace. With an uncapped leveling system you can try to push further than anyone ever has. You can try and make the ultimate sword, staff, or anything, thanks to complete control over all recipe settings. Build massive towns full of NPCs not limited by physics-based construction. Seek out rare enchants and exotic resources.About the game
SurvivalSolace Crafting starts out much like similar survival games: you need to make clothes to avoid freezing to death, you need to find food to keep from starving to death, and you should build shelter from the dangers of nightfall.
Crafting
Once you are surviving it's time to evolve. Build resource processing and crafting facilities to create improved weapons and armor. Leveling up your professions levels up your recipes and allows you to unlock new recipes and crafting abilities. Our crafting system is quite unique, allowing even the creation of custom sets. I definitely recommend you watch the getting started video available above.
Role-Playing Game
Once you're armed and ready it's time to push back against evil and it's minions. Level-up and develop your character using an open-class system of evolving skill trees. Mix melee, ranged, magic, and heals however you like. Skills are being designed with fun and visual uniqueness in mind, not minimalism and strict balance.
Solace Crafting
Crafting and placing a solace will allow you to instantly return to it from any other solace in the world, letting you create your own points of interest. Be careful though as the further you travel in any direction, the more difficult everything becomes. In order to level up a solace you'll have to defend it from waves of attackers that will try and stop the procedure. Build static defenses to help protect your solaces during upgrades.
Town Management
An upgraded solace allows you to summon townspeople. In order to summon higher level NPCs you'll need to push deeper into the wild, setting up towns of various sizes as you go.
Astral Travel (not yet under development)
When the time is right you will find your way to the Elemental Planes. Most heavily affected by the infectious anger and hatred, these have becomes dimensions of extreme danger, both environmental and sentient. You must find out where the hatred stems from and find a way to put an end to it once and for all. The Elemental Planes are also the birthplace of all resources mundane and exotic alike. Only here will you find the purest, most powerful resources for crafting and enchanting equipment worthy of a hero.
Developed by a gamer
I started learning how to make games years ago because the design decisions of so many of the games I played often made so little sense to me. Here are some of the design decisions I refined over the years that I do my best to uphold:- No pay-to-win, no pay-to-play, no paid DLC, no gacha or gamble mechanics
- No metered progression
- Level any and all professions freely, no arbitrary caps
- Minimal sub-ingredients, minimal crafting and refining timers
- Completely open, point and level based branching skill trees
- Multiple, incremental skill points every level
- Classic roles, not forced balance. Some classes may be harder than others.
- Unlimited player levels
- Completely open physics-based world, no off-limits
- No "realistic" building physics that destroy everything
- Unlimited access to parallel realities (alternate seeds)
- Shape and color your avatars freely instead of using preset races
- Allow alternate characters in the same world
I know how to, and will accomplish everything written here. It's only a matter of time. If the game sells I can hire help with what I'm bad at and focus on what I'm good at.
I know a lot of fans of the survival genre are pretty jaded, myself included, after so many titles have lost their leadership, changed projects, or plain given up. I'm here every day hoping to heal that sore and would very much appreciate your $15 support if any of this interests you. There are months of frequent patch notes and forum discussions between me and players here on Steam as proof that I'm capable of more than a couple new items after weeks of silence, something far too common in game development!
Multiplayer, and all of its many features will absolutely be implemented when a much more content rich single player experience has been achieved. Multiplayer like single-player will be PvE oriented and grief prevention/anti-cheat will always take top priority. Turning single-player towns into multiplayer guildhalls complete with defense quests and special achievements is something I very much look forward to, and have quite a few plans for.
Unix and Mac support will be tested and released soon.
The best is yet to come!
- OS: Ubuntu 12.04+
- Processor: Dual Core 3 ghzMemory: 4 GB RAM
- Memory: 4 GB RAM
- Graphics: Nvidia GTX 680
- Storage: 8 GB available space
[ 6089 ]
[ 3241 ]