1. Solace Crafting
  2. News

Solace Crafting News

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.

[h2]Path A[/h2]
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

[h2]Path B[/h2]
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!