1. Solace Crafting
  2. News

Solace Crafting News

Beta v 0.7.4.3

Update:
Had to roll back the ocean noise change temporarily, and was only able to do so for Windows. Will up a similar change for Linux in the morning, and fix whatever's wrong with it with some good new data I've received.

v 0.7.4.4 2021.04.28
- Rolled back ocean noise changes temporarily

Original Post:
This patch fixes a number of small but impactful bugs with yesterdays patch. The largest of which is something that has been hiding since the biome update, and unfortunately may cause the ground to shift a bit at places where a biome is blending with the ocean biome. This should smooth the biome shifting overall, and create more natural looking features. The map certainly shows the more interesting formations, and there were still some sharp artifacts showing up near the starting area that this change also fixes.

In the event that a shift in height noise has put a building in a funky spot, I've updated the console command:
/forceworldupdate
This will turn the loaded worlds version number backwards, so that when you return to the main menu it will require an "update" which will mark buildings for repositioning. I do not forsee any more changes to noise math in the near future, but this one was important to get in before pushing these changes from beta to live.

v 0.7.4.3 2021.04.28
- Map now updates tiles near the player first
- Updated /forceworldupdate console command
- Fixed the noise offset also offsetting the starter area
- Fixed ocean noise unnecessarily lowering other biomes height math which could also cause sharp edges near the start
- Fixed map tiles going underneath other map tiles sometimes while the map redraws
- Fixed a rotation error positioning icons on the map improperly
- Fixed colors on the map going darker than intended in some cases

You may need to restart Steam for the update to begin.

To opt into Beta you only need to go to your Steam Library, right-click on Solace Crafting, select Properties, click on the Beta tab, and opt-in to the beta.

Join us in Discord! Follow development live on Twitch!

Interested in supporting development of Solace Crafting? Please consider becoming a patron via Patreon!

Check out the bug / suggestion tracker

Beta v 0.7.4.2 - Map improvements

Regardless of my surgery, which is still very sore, the world map interface is definitely one of the most difficult things I've created. The old map, still on the main branch, had a number of things slowing it down, a big one of which is the runtime creation of textures and sprites. I knew for sure that I needed a way to recycle the textures and to set up a multi-threaded solution for altering them in runtime, but that doesn't mean there's a book I can refer to that says: "Ah yes, in that case, write it like this."

I tried several different ways to get what's called torodial updating to work, wherein you move tiles from the left edge to the right edge or top to bottom and vice versa. It doesn't sound very difficult, but when you're doing it on an undetermined scale, in two dimensions, in varying step sizes, and you're bad at math like me, it ends up being a serious puzzle.

In the end it feels like it was an exercise in simplification. I'm now using a method that tracks positions, checks them against the current desired tiles, and sends those that have fallen out of range to an "unused" bin for recycling, similar to a common system used in game development called pooling.

This system is now generating the map data based on the noise math in runtime, rather than waiting for a terrain to generate it's splatmap when it turns on for the first time and write that out to disk. That means that you can now drag the map around to anywhere and it will load it in, whether you've been there or not. The final step in this series of updates will be to predetermine the locations for encounters, town resources, and rare resources separate from the spawning rules for everything else, so that the map and resources scanners will also be able to show all of those things, whether you've visited them or not.

There are however still some minor problems with the map interface I want to address tomorrow, such as the rulers on the side of the map are not giving correct values (more math), and the map is loading from the bottom to top, as opposed to starting from the middle and building outwards. I wanted to first get the changes as are, up so that our beta testers could give them a whirl and hopefully give me some input or spot any problems I haven't yet uncovered.

There is also still a variety of ways I could make the map load much faster. For example right now, each map tile is 100x100 pixels, and there are 20x20 tiles on the map. Changing each tile to 50x50 pixels would make drawing the map 4 times faster. And that could be a user setting for people to set themselves if they're running on a lower end machine. I'll see how it feels to other players first though.

Additional changes to this patch include player icons with names on mouse over for when connected to multiplayer, as well as the ability to now mouse over solaces to see their names. This too could be a toggle, to be displayed always, without mousing over... I've yet to actually try that, but it wouldn't be hard, and may be better. Please let me know what you think.

I'm supposed to get my stitches removed tomorrow, but it's far from back to normal. Sorry for the sudden delay in everything.

v 0.7.4.2 2021.04.27
- Updated map tile and icon drawing and management methods
- Added other players to the map when in multi-player
- Fixed a math error causing sharp edges around the biome starting area
- Offset the initial noise to reduce the chance of the starting area being surrounded by ocean for new worlds (will not affect already created worlds)
- Added player and solace names to the map on mouseover

You may need to restart Steam for the update to begin.

To opt into Beta you only need to go to your Steam Library, right-click on Solace Crafting, select Properties, click on the Beta tab, and opt-in to the beta.

Join us in Discord! Follow development live on Twitch!

Interested in supporting development of Solace Crafting? Please consider becoming a patron via Patreon!

Check out the bug / suggestion tracker

Had to take a couple days off

Just wanted to chime in due to the latest patch not being out yet. I ended up undergoing a small surgery this morning, and had to go back later and some details I will spare everyone. I'm fine, just exhausted and need to lay here and be still for a bit. Be back shortly.

Beta v 0.7.4.0 - Biome Generation

The need arose to develop a new system capable of determining rare resource positions without rolling for all of the spawns in that area. The main user of this system would be the map, as it would gain the ability to scan for rare resources anywhere in the world. It's a complicated task though that touches on a variety of different systems, and at the root of most of those system was the biome generation math.

When I stopped using a third party tool for world generation last year due to its increasingly slowing performance, it was up to me to develop my own system for biome creation. I always had it in my mind that there would be some day in the future when there would be either procedural biomes, or dozens of hand-crafted biomes. I developed two very different systems to "force" biomes into certain locations after rolling a random number on a table that could do just that, generate any number of biomes. Unfortunately both systems were chunky, very unnatural, and not very perfomant.

Instead, I've for the first time (personally) written a much more normal noise based system that produces very random biomes:



This also brings back the ability to customize the frequency of each biome during world creation, as well as the size of the starting area, the blend distance to be used between biomes, the general scale, or frequency, of the noise used to determine biomes, as well as a new optional archipelago setting:



The archipelago setting will separate mountains and swamps from grasslands and desert with channels of water (whose width you can customize) make travelling around with boats a very viable system, and honestly just makes a lot of cool land formations. I love building on islands and sheer cliffs for some reason. Because of the extreme difference in height between the mountain biome and the ocean biome it is now possible to have quite steep cliff-sides, so I've upgraded the object spawning systems to be able to understand terrain steepness, and can now assign a maximum or minimum slope to any object:



All-in-all I hope it makes for a much more interesting landscape, but the improved performance and capabilities that it offers me under the hood are very real. I have fixed the funky lines that show up on the map in this patch, but for the most part have yet to switch on the new features that I'm working on with the map.

This patch will require a world "update" which will attempt to reposition buildings to the now changed surface height of the new biomes wherever they may end up. Or of course this would be a great time to start a new world, into which you can bring any already made characters. The map update will reset some of the spawned objects and rare object positions, but it won't mess with the biome noise, which is really the only reason I ever need to force a world update.

Outside of all that, I've fixed a few problems with multi-player, and animations in general. One bug that looks like it has been around for a long time was only affecting clients connecting to servers or hosts that turned up their stone spawn frequency, causing server and client resource positions to not match up. Found today and fixed, thanks to a player report!

Thank you so much to everyone that has put up with my mistakes and adventures in coding as I try to bring Solace Crafting to a solid 1.0 release. I know we were in the middle of working on animations, but there was an increasing number of problems and performance issues cropping up due to the old biome system, and wounded ego aside, I'm quite happy to be rid of it.

Work on map improvements continues!

v 0.7.4.0 2021.04.14
- Replaced circular "forced" biome system with a noise based system
- Reduced maximum ocean depth (meaning less deep)
- Added an "archipelago" setting to world creation
- Updated world setting restrictions and added more descriptions
- Added the ability to check the slope of an area for object spawn rules
- Updated MP nametags to reposition themselves based on the height of the player
- Fixed a number of animal animation running twice
- Fixed a number of animals not playing their attack animations
- Fixed MP animations jerking funkily
- Fixed a bug causing clients to load resoures different in MP worlds than the server if the stone spawn frequency was altered

You may need to restart Steam for the update to begin.

To opt into Beta you only need to go to your Steam Library, right-click on Solace Crafting, select Properties, click on the Beta tab, and opt-in to the beta.

Join us in Discord! Follow development live on Twitch!

Interested in supporting development of Solace Crafting? Please consider becoming a patron via Patreon!

Check out the bug / suggestion tracker

Beta v 0.7.3.6

Big patch setup for tomorrow, a couple things need a closer look before I give it the go though, so here is a smaller patch addressing some recent performance problems, as well as some multi-player specific bugs that crept in over the past few patches.

v 0.7.3.6 2021.04.13
- Improved multi-threading of distant terrain generation
- Disabled an unneccesary physics check eating performance in single player
- Disabled player bound render probe causing performance drops for some players
- Fixed fish throwing errors in multiplayer
- Fixed player animation in multiplayer reverting to a constantly falling animation
- Fixed monoliths not unlocking properly in multiplayer

You may need to restart Steam for the update to begin.

To opt into Beta you only need to go to your Steam Library, right-click on Solace Crafting, select Properties, click on the Beta tab, and opt-in to the beta.

Join us in Discord! Follow development live on Twitch!

Interested in supporting development of Solace Crafting? Please consider becoming a patron via Patreon!

Check out the bug / suggestion tracker