Solace Crafting cover
Solace Crafting screenshot
Linux PC Steam
Genre: Role-playing (RPG), Adventure, Indie

Solace Crafting

Fall Survey 2020 + new Bug Tracker

It's been a weird year, I don't think anyone would argue against that. For me it's also been a weird few months as I fought hard to get the new world generation engine out and working. On top of that it's been a weird couple of weeks here recently. I actually started having trouble swallowing and was unable to eat my dinner without taking a drink with every bite for a couple weeks. After confirming that there's nothing wrong my neck, they told me I'm probably just stressed out of my mind. I've been taking a nerve relaxant for a few days now and dinner has become much less stressful, so I am grateful for that.

So what's causing my stress? Is the big question I've had for the past few days, and I think the majority of my "stress" really stems from a lack of organization. I get e-mails, I get Steam notifications, I get private messages, Facebook, Instagram, YouTube, every day. Often times these are questions, sometimes they're bug reports, sometimes they're friendly suggestions. Some of the information I receive takes weeks to respond to. I've had some suggestions in the "suggested-features" channel in our Discord server for over a year now. Not to mention 130,000 lines of code that I page through daily trying to make Solace Crafting better and better without breaking something I may have written back in 2017.

Indecision is definitely a big part of that as well. Should I go back and fix this old chunk of code? It might take six hours, and it might break something that could take another 3-4 hours to debug. Should I start looking to add a new feature knowing it will take at least a couple weeks to implement? Sometimes the mix of indecision and new information pouring in every day feels a big overwhelming, to the point that it looks like my body wasn't dealing with it as well as my mind/heart are.

In lieu of which, I've spent some time reevaluating what's most important to the game in its current state, but always want to bring the community on board in giving me ideas and guidance as to what version 1.0 really needs to be, and what path we should be taking to get there.

To do this, I've setup two things:

1. Solace Crafting Fall Survey 2020

Please feel free to write as much as you can in the "anything else you'd like to add" box, I do read all of them, or get a conversation going in Discord. I don't always participate in or respond to every conversation in Discord/Steam, but I do read all of them even if I'm late to the party.

2. Solace Crafting - Bug Tracker

I've setup a bug tracker on bitbucket. Up until now I've been manually keeping track of bugs in Discord, and it's gotten a bit out of hand. Bitbucket isn't necessarily my favorite for bug tracking, but it does allow anonymous logins and/or logging in with a Google/Microsoft/Apple account, which I think is important to ensure people willing to post bugs don't turn away the moment they're asked to make a new account. Some of our Discord users have already migrated the majority of the bugs listed in Discord onto the tracker, thank you for that. I'm hoping this will help me keep bugs better organized, and it certainly has shown me that I was indeed starting to lose track of them. The "Bug Tracker" also allows for the posting of, as well as commenting and voting on suggestions.

From here on it seems as though there are two general paths to choose from, though both lead to the ultimate goal of version 1.0.

Path A


I continue to add new features following the roadmap.
0.7.1: Expands on town buildings and functionality
0.7.2: Randomly generated towns
0.7.3: Town quests and unlock
0.7.4: Villager equipment, clothing, naming, skills, AI
0.7.5: Town defense

0.8.1: Improve monsters pathfinding. Add procedural monster generation and monster abilities
0.8.2: Improve combat math. Rework adventuring skills
0.8.3: Improve and add new dungeons and encounters

0.9.1: Broad scale optimizations
0.9.2: Improve animations
0.9.3: Finalize language support, add full controller support

Path B


I work to polish and solidify that which is already in-game before moving further down the roadmap. I prioritize content that interacts with and expands on already implemented content.
0.7.1: Broad scale optimizations
0.7.2: Improve animations
0.7.3: Improve monsters pathfinding. Add procedural monster generation and monster abilities
0.7.4: Improve combat math. Rework adventuring skills

0.8.1: Improve and add new dungeons and encounters
0.8.2: More recipes/materials/enchants/drops

0.9.1: Expands on town buildings and functionality
0.9.2: Randomly generated towns
0.9.3: Town quests and unlock
0.9.4: Villager equipment, clothing, naming, skills, AI
0.9.5: Town defense

0.9.9: Finalize language support, add full controller support

Through talking with players here on Steam and on Discord I'm leaning towards Path B more than I ever have. There's a "people pleaser" in me that is constantly trying to get something out every week so to keep my customers (that do pay for my dinner and electricity, thank you so much!) from burning me at the stake. Then on the other side of the mirror I'm usually fine with big names delaying their release dates, because I want them to get it right. I'm not sure what it is inside of me that wants to try and please people quick and fast, but it's definitely a good thing that I've recognized it and am now keeping an eye on it. I do believe that in general quality is more important content, but still, with gaming, fun is number one.

That was a wall of text. I almost made it into a video, and do plan to do a video just talking about my thoughts of where we are and where we're going. In any case, we've had an open discussion on the direction of development for a few weeks now. I'm hoping to further that conversation with this post, and hope to reach a conclusion I can latch onto and not look backwards with, at least for a few months. Please do share you opinion on the different possible paths, and thank you in advance to everyone that fills out the survey!

Kyle Postlewait

Hotfix 0.6.4.45 / 0.7.0.5

I fixed the map going white bug with this patch, and actually rewrote a good chunk of the map generation removing the need for generating new sprites in runtime. This is a decent boost to map performance, but still only half of the picture. I ran some tests and have a good idea how to implement a further boost that should further remove the need to generate sprites for the icons generated by resource scanners, etc. Not yet implemented in this patch, but I'm hoping it will smooth the map out a lot as some users have reported real problems with opening and closing the map as it currently works, depending on your world settings.

We've also setup a bug tracker on bitbucket, mostly because it allows anonymous logins, and/or Google/Microsoft account logins, so it's a lot easier to post to/comment on when compared to having to make a whole new account on another website. Giving it kind of a trial run right now, but I'll post a link and a sticky here if it looks like a good solution.

v 0.6.4.45 2020.10.29
- Improved map performance (1/2)
- Increased pause between dedicated server memory purges to 5 minutes
- Fixed the map not refreshing properly
- Fixed an error stopping resources from getting put into the town storehouse properly

(Beta)
v 0.7.0.4 2020.10.29
- Improved map performance (1/2)
- Increased pause between dedicated server memory purges to 5 minutes
- Fixed the map not refreshing properly
- Fixed an error stopping resources from getting put into the town storehouse properly

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!
Interested in supporting development of Solace Crafting?
Please consider becoming a patron via Patreon!

Hotfix 0.6.4.44 / 0.7.0.4

Small patch to address some of the memory leaks issues that weren't properly coded to work as well on dedicated servers.

I've got some bug reports that the map is acting up. I actually got really sick yesterday and haven't gotten much done besides this patch yesterday/today after working all weekend to fix the memory leaks. Sorry this is happening on both Live and Beta simultaneously. I try to keep these kinds of quick changes on beta, but these were problems that needed immediate attention and I've have to mess with some things like the map to make sure that everything is being managed properly. It's midnight Wednesday here now, but I'll be back on bug fixes in the morning.

This patched is being applied to both the Live and Beta branches simultaneously.

v 0.6.4.44 2020.10.28
- Disabled several unnecessary functions when in dedicated server mode
- Improved dedicated server memory management

v 0.7.0.4 2020.10.28
- Disabled several unnecessary functions when in dedicated server mode
- Improved dedicated server memory management

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!
Interested in supporting development of Solace Crafting?
Please consider becoming a patron via Patreon!

Hotfix 0.6.4.43 / 0.7.0.3

As I mentioned on Saturday, a series of memory leaks came to my attention last week that ended up being quite elusive. This patch addresses 99% of those leaks and some problems with the game hanging in the event of an attempted multi-player connection timing out.

A memory leak is when a section of memory gets allocated for use but then doesn't get properly unallocated, leaving it in limbo and unrecoverable. Unity games are primarily written in C# which is a modern programming language that has a wonderful tool called a garbage collector that watches objects in memory and automatically unallocates them when it can tell that no one is using it anymore. The internal workings of Unity however operate using C++ which is another similar programming language that does not use a garbage collector. This means that certain types of objects being handled internally have to be managed manually.

Unfortunately, Unity's tools for monitoring memory usage are convoluted at best. I ended up making my own tools after almost 20 hours of struggle with little progress to show for it all. After finally figuring out what types of objects were lingering around in memory it was only a matter of time before I squashed them, one by one. There are still some tiny leaks, 100kb's when you return to the main menu kind of small things, but nothing compared to the problems that were crashing the BKG California dedicated server almost daily most of last week.

What initially got me looking deeper into the problem was actually measuring the performance of a number of different operations to see what the main cause of the lagg spikes that can cause the mouse to spin are. I have some strong leads on 2-3 different systems that I can improve and spread out over time to decrease those spikes that I plan to work on in the near future.

With the BKG server crashing due to the memory leaks there were also instances where I would try to connect to it through the game client and the connection would time out, but the "unable to connect" warning wasn't triggering, leaving the client stuck in "connecting". I've improved that code to be more informational about what's going on, and not get stuck any longer.

I've applied this patch to both beta and live simultaneously.

v 0.6.4.43 2020.10.26
- Fixed several memory leaks causing the game to slow down over time
- Fixed multi-player connection issues causing the game to get stuck "loading"

(beta)
v 0.7.0.3 2020.10.26
- Fixed several memory leaks causing the game to slow down over time
- Fixed multi-player connection issues causing the game to get stuck "loading"

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!
Interested in supporting development of Solace Crafting?
Please consider becoming a patron via Patreon!

Memory leak fix incoming

Sad but true, I've spent all of yesterday and today tracking down a memory leak that has been crashing dedicated servers and causing the game to slow down over time. Memory can be a tricky subject as there are different scopes, or levels, of memory, not all of which you can see and track as "managed" objects. I've identified the majority of the problems and am working on implementing fixes, but wanted to get the word out there first as I know some people have been having the server go up and down frequently this past week as well as the game slowing down when traveling long distances.

Should you be experiencing the game slowing down over time, returning to the main menu is not the way to reset the memory, you need to save and close the game completely. Sorry if this has caused anyone trouble, and hope to have a fix up tomorrow!

Small hotfix to both branches

An error in harvesting exp math was brought to my attention that could result in zero exp rewards so I jumped on it as it was something a lot of people would run into very easily. Likewise, boats had a number of problems post 0.6.4 that were never properly addressed. This patch fixes these two problems on both the default live branch and the beta branch simultaneously.

v 0.6.4.42 2020.10.22
- Fixed a math error in harvesting exp
- Fixed a number of problems with picking up, saving, loading, and covering long distances with boats

(Beta)
v 0.7.0.2 2020.10.22
- Fixed a math error in harvesting exp
- Fixed a number of problems with picking up, saving, loading, and covering long distances with boats

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!
Interested in supporting development of Solace Crafting?
Please consider becoming a patron via Patreon!

Beta v 0.7.0.1

The default storehouse placement method via the town interface "construct" button, as opposed to using a summoning circle, will now place a "real" structure, that can be altered as normal. This also allows for the placement of crates to manually increase storage as is the new method instead of upgrading the storehouse repeatedly.

I ran into a number of problems with structure placement via the "load" option in the building menu while testing the building I made for the storehouse and making sure it placed and saved properly at different rotations, which had not be updated to work with 0.6.4, and was able to fix them.

v 0.7.0.1 2020.10.20
- The default storehouse town building now uses an actual structure that can be modified after placing which allows for the placing of crate boxes to increase storage
- Fixed custom structures loaded via the "load" building menu not reloading properly
- Fixed switching back to snap mode during structure placement not correcting the rotation properly

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!
Interested in supporting development of Solace Crafting?
Please consider becoming a patron via Patreon!

v 0.6.4.41 now live. v 0.7.0.0 now on beta.

This patch brings in the first steps in a number of different directions, all of which relate to town functionality.

One of my main underlying goals for Solace Crafting has always been to add meaning and reward to building. Having said that, building is not something that everyone is interested in. A lot of the systems I'm designing I want to reward players for making the extra effort, but make it optional, not punishing or forcing onto everyone.

With this patch all town buildings can now be built from scratch letting players customize their own town buildings and layouts however they like. That doesn't mean yet that there is a built-in reward for doing so, but I definitely have some plans for that in the near future. One of the best parts of this change is that storehouses can now have crates added to them manually to increase their storage capacity, rather than "leveling" them up. An unfortunate side-effect of this patch is that storehouses "plopped" down with the basic "construct" option from the town interface cannot yet accept crates, making them basically useless. I got stuck with some data management bugs getting this patch ready and haven't fixed that yet, but it's top priority for me tomorrow morning.

Custom buildings are now no longer started with facilities, and instead assigned using summoning circles. Many town buildings however have facility prerequisites, such as a miner needing a forge. I've also added in two other prerequisite systems, one for unspecified furniture, meaning two chairs, a table, and a carpet would meet the requirement for "4 pieces of furniture" if a town building were to require it, and a system for requiring specific "items" such as a forge or a bed for example.



Here I'm looking into a storehouse I threw together and added 3 crates to, awarding me 300 slots of storage using the same storehouse interface as before rather than interacting with the crates individually. This sort of a centralized storage system in much easier to manage than trying to move between various chests and locations. I think it would make a lot of sense to expand this system to work with all in-game items, perhaps with different tabs for different types of items, for example.

Now that storehouses are no longer upgraded, towns no longer rank up based on the level of the storehouse. Instead, there is a special town building required to increase a towns rank, all of which are now clearly marked with an arrow icon in the town interface. These buildings are the Storehouse, the Trader, the Market, the Town Hall, and the Guild Hall. There is also another new building called the Training Hall. All of these new buildings are works in progress and are not yet functional in this patch, though placeholders and/or custom structures can be placed in order to level up towns.

The Training Hall is intended to be a requirement to unlock a Job skill tree. The current four adventuring skills trees (which are scheduled for overhauling in version 0.8) are the Archetype skill trees, each of which is planned to branch into 2 different Job trees. The Guild Hall is then planned as a requirement for unlocking Class skill trees, which come after Job trees. These will each likely have a quest that the player will have to undertake in order to unlock them.

The Trader is intended to move resources from one town to another. The main idea behind this is for players to have a favorite town, or a main headquarters of sorts, even though that may be located in tier 0 territory, while their character is now adventuring in tier 10 or higher territory. Creating a new town in a higher level area will allow the gathering of higher tier resources, and using the trader will allow for sending those resources back to their main base in cases where that's preferred.

I do also plan to increase not only the base yield of resources from town harvesters, but also allow them to be equipped with player crafted equipment to further increase their productivity.

The Town Hall is intended to offer town specific upgrades, such as specializing in a specific resource or trade to increase productivity.

More to come!

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!
Interested in supporting development of Solace Crafting?
Please consider becoming a patron via Patreon!

Beta v 0.6.4.41

First of all, my apologies for forgetting to post the patch notes for 0.6.4.40. That is the current version on the live default branch, with the latest patch notes being as follows:

v 0.6.4.40 2020.10.07
- Fixed a math error preventing copper and diamonds from spawning in caves
- Fixed solace power upgrade displaying the wrong requirements
- Fixed the teleport range upgrade description
- Fixed tombstones not working properly in caves
- Fixed a problem with planters creating fake copies in the inventory

Just now I've also patched 0.6.4.41 into beta as there was one bug that could lock the game up that I ran into, and fixed, but honestly haven't had many actual play minutes in the new build. I don't expect anything serious, but just to be safe I'll push it to beta first as the next big beta patch won't be ready until tomorrow, which I'll talk about then.

One of the more noticeable changes to this patch is a strange error that caused a big white ball of light to render on the horizon. It turned out to be a biome math error that caused a terrain splatmap error that caused the bloom post processing effect to go nuts. Game dev is weird like that.

v 0.6.4.41 2020.10.15
- Improved entity spawning performance a bit
- Fixed some pathing problems with monsters and animals
- Fixed a post processing effect problem causing a large white spot to show up on the horizon
- Fixed a number of problems with "world shifts" (which happen every 8192m) from breaking grass, pathing, and monsters/animals

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!
Interested in supporting development of Solace Crafting?
Please consider becoming a patron via Patreon!

Beta v 0.6.4.39

There was in fact a small but nasty bug with yesterday's patch, so I'm glad I sent it to beta. The character creator wasn't working properly, so I fixed that along with several other reports, and will once again push this to beta for safety before pushing it to the live branch.

In all honestly I accidentally merged some of the beta content that I was working on into this patch, so early surprise kind of thing, though still a bit of a work in progress. Basically, summoning circles, which are used to summon town NPCs into custom built buildings, have been expanded to work for all types of NPCs, rather than only those with facilities. This functionality has been added to the summoning circles themselves, and they will now tell you what you need to summon the NPC you are trying to summon. I've also changed how it used to do a "flood fill" check on the building to see if it was a completely enclosed house, to a much more lenient system where it simply requires that the building be made up of at least 30 building pieces, including walls, floor, ceiling, etc.. This system is still a bit of a work in progress, mainly in that the reposition/position functions will not save the custom building, instead reverting back to the default town building, but not so alarmingly different that I need to keep it off the live branch until further developed.

v 0.6.4.39 2020.10.05
- Fixed town NPC resetting
- Fixed chests not locking properly in multiplayer
- Fixed the structure (not individual building pieces) deconstruction button not working properly
- Fixed the new elemental death audio ignoring volume settings
- Fixed the character creation screen not working with yesterdays patch
- Fixed picking up leyline teleporters not saving properly

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!
Interested in supporting development of Solace Crafting?
Please consider becoming a patron via Patreon!