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)




Incoming 0.6.4 - World generation upgrades!

As posted on Patreon

It's been a crazy start to the year! We've got an outsourcing agency working on reskinning the UI, adding UI sounds, and programming the fishing system per my directions. I've also been hard at work on a number of big changes to different systems that the game uses both for performance reasons, bug fixes, and looking forward towards the future of Solace Crafting. I want to go over some of the more major improvements quickly, and hope to have to patch out in within the next couple of days.

1. World Generation

I've been using a 3rd party tool to help generate the game world since day one. In short, it's a tool that lets you organize a variety of objects onto a node based graph, and then outputs the actual game world data for Unity to generate in runtime. It was helpful to get going, and it is definitely a powerful tool. The more objects and biomes I add to it though, the slower and slower it has started to run.

In lieu of this and the need for a number of improvements, I've been working on replacing that tool with my own custom system built specifically to cater to our needs. I made a short clip (see below) to show how it's working thus far and you can see an improvement on my 6 core CPU from about 34 seconds down to around 6.5 seconds. The older version running at 34s is however using 5 of my 6 cores to generate the data. If you were running on a 4 core CPU of equal GHz that time would be roughly doubled. If you were running on a 2 core CPU of equal GHz that time would be roughly quadrupled. So you can see why I decided it was time for an upgrade. The newer version is actually currently only generating on a single core, so that 6.5s, will be 6.5s, regardless of how many cores someone with equal GHz has. I should mention also those were both recorded in the Unity editor, which makes things a bit slower as it's recording and logging a variety of data for real time development.

[previewyoutube=fZVm61Di36g;full][/previewyoutube]

Though I don't quite have buttons and knobs for everything yet, this system will also allow for much more fine tuning of render settings, letting players with stronger or weaker machines specify rendering distances for grass, trees, resources, monsters, terrains, buildings, and so forth each individually.

What about the "need for a number of improvements"? I started writing the core code of Solace Crafting back in 2016, after years of refining ideas and honing my amateur skills as a programmer. Some of that code was just frankly wrong, and a lot more of it was not smart. I've replaced a variety of poorly written sections with improved code in the upcoming 0.6.4 patch, and will continue to upgrade a number of internal systems as we move forward with the 0.6.4 branch.

2. Compression

Since the beginning I have also used a compression tool that is free for anyone to use and so hey, sounds great right. It does the job, often turning 150kb data files down into 10kb files helping out with disk usage a lot, and personally I've run into very few, though not zero problems using it. Unfortunately this tool does not seem to work on all machines as intended, creating problems for a very small number of players, as well as rare but very real input/output problems for a small, but still noticeable number of players.

I've thus replace all usage of this tool with a paid and actively supported compression tool with a much more intelligent workflow. Hopefully this will see the end of all compression based errors for all players.

3. Save Files

Recently we turned on Steam cloud save files, but it's been a bitter sweet outcome. The main problem stemming from the sheer amount of files that I've been using to store data, not necessarily their size. To remedy this, I'm consolidating what was previously up to 129 files into a single file per "chunk". This should speed up cloud sync a lot, and is also in thanks to a pretty heavy restructuring of save data and runtime data management. This is still an ongoing "upgrade" but is already resulting in faster, more intelligent saving and loading.

4. Biomes

Biome generation and management is something I'm very serious about and have tried to improve a number of times without ever quite reaching a final solution. Having rewritten the bulk of world generation over the past few weeks I've had time to re-approach the problem of, how to allow for an infinite number of biomes, and have come up with a new approach I'm currently putting the finishing touches to for the big 0.6.4 patch.

Previously we went from mishmashing biomes all on top of one another, to each "chunk," an 8km square area, being assigned a specific biome. Chunk based biome generation certainly worked a lot better than mishmash, which can in no way support unlimited biomes nor does the double layers of noise that a lot of games like Minecraft make use of, but was very... chunky, to be honest, creating very sharp edges, and lacking in control.

The new system currently being implemented is still chunk based, but it generates patches of biomes at random within each chunk, overriding what is otherwise a default noise pattern of lakes, grasslands, and forested areas. That means it can be circular, square, or even non-uniform, and of varying sizes, so long as it does not breach the outer border of it's 8km square chunk. This way a chunk can actually have multiple non-default biomes within it, depending on how the chunk rolls to generate itself, and also allows for me to specify certain areas to generate as specific areas.

Two of the problems with the current 0.6.3 build are how flat the starter area is, a math error from yours truly, and how long it takes to get to any of the other biomes from the starter platform. Now I can specify that there always be a bit of mountains in one of the first terrains, for example, making sure players can experience different settings much quicker, and still leave the rest of the world to randomize itself based on the world seed. This will also allow for a lot more world settings in regards to biome control, letting players create water worlds, mountainous worlds, etc. I've also fixed the extra flat starting area, back to a 100m radius from the start like it used to be.

In closing...

There's still a bit of biome work to do, and I do expect some new bugs to crop up with so many changes to the way saving and loading data is now managed, but hope to have a patch out in the next day or two. Having said that, I had to go to a chiropractor today for some x-rays and shots as I messed my back up pretty bad somehow last week, and trying to just stomach the pain actually ended up making things worse. Thankfully it doesn't seem to be anything serious, something along the lines of, I probably shouldn't sit in front of my monitor for 100 hour a week or something like that, but you know, priorities =D

Please be careful out there! The Corona virus is very real, and we're not yet sure why it hits some people so much worse than others. Wash those hands, and keep on gaming!


[ 2020-03-31 15:06:50 CET ] [ Original post ]