1. Solace Crafting
  2. News

Solace Crafting News

Beta v 0.8.0.4

Last weeks patch upgraded the combat and player attribute math to a new system, but the current Archetype skills were not fully upgraded to work with the new math. This patch updates the system that player skills operate on to a much more robust and capable system as I look forward to adding Job and Class skills in the next few patches. I also want to improve the skill interface to show the requirements necessary to unlock each tier of skills and some other quality of life improvements.

The previous skill system was one of the earlier systems that I wrote and it was lacking in a number of different capabilities. I've now added support for dual wielding, critical hits, two-handed weapons, and a lot of general upgrades on how skills are defined and organized to help with planning and plugging in new skills. As the new system uses a number of new approaches to storing and organizing skill data, and also does away with the infinite scaling approach, opting for a 5 levels for per skill system (though some may deviate from that), I had to re-input the current skills with new numbers so there may be some balance necessary, especially in regards to health, energy, and mana regeneration.

There were also a number of small problems in regards to exp scaling, damage scaling, and how armor mitigation was being display in the stats UI. Most of these should be working better now.

v 0.8.0.4 2021.12.06
- Upgraded the skill system in preparation for new skills
- Rewired all Archetype skills to work with the new system (may need some balance)
- Changed the armor mitigation display to easier to understand numbers and explainations
- Added some basic instructions to the solace storage UI
- Added ascend and descend specific key bindings
- Fixed monsters going passive due to being below player level too soon
- Fixed the pause keybinding not working
- Fixed exp scaling way beyond the intended cap of monsters 20 levels lower than a player

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!

Check out the bug / suggestion tracker

Beta v 0.8.0.1 - Attribute & stat rework

Post contents:
I. Attributes & combat math rework II. NPC Towns III. Community assist sheets

I. Attribute & combat math rework


When starting out with big ambition for an open-world RPG in late 2017, writing a system of stats and attributes for our characters was one of the earliest things I worked on. Put nicely, I wasn't as experienced of a programmer nor as a designer, then, as I am now. As such there were not only a number of things missing completely from the system, but there were some underlying problems that did not mix well with the game overall.

I've talked about some of these problems at different times recently, primarily the fact that most games will either be using a linear growth system or an exponential growth system. The main problem with a linear growth system is that the difference between 2 damage and 4 damage is 100%, while the difference between 100 damage and 102 damage is only 2%. The amount increasing is equal, but the difference gets less and less noticeable. With Solace Crafting that was causing players that get up to levels 200-300+ to craft a new weapon dozens of levels higher than their previous, with little noticeable benefit to combat.
An exponential system on the other hand aims to keep the difference always the same so that if 2 becomes 4, then 100 should become 200. This usually works well for games that only go up to level 50 for example, but again, with some players reaching even up to level 1000 or higher, monster health quickly becomes hundreds of billions and all of the combat math starts to exceed the capabilities of 32 bit numbers. Working with 64 bit numbers is certainly possible, and is actually what Solace Crafting did previously in regards to monster health, because this was an actual problem some players ran into, but it was only a cover-up for a deeper problem.

To solve these problems, I have implemented a new a somewhat unorthodox system. I'm sure it will be a bit strange for newcomers, but it's not difficult to understand, especially at low levels, yet it solves all of the problems of both linear and exponential growth patterns, and makes programming skills and equipment much easier for yours truly.

Put simply, all combat math is now calculated on a scale of -100 to +150. This scale being the difference from your level. If for example you are level 20, your expected skill at anything is 20, whether that's armor, dodge, healing, or whatever.

Let's look at healing for an example.
Different skills then operate on a second min/max scale. Healing goes from 0%-250%, with 100% as its baseline. So with our primary scale being -100 to 150 that means that at 0 difference (20 at level 20) you'll be healing for 100%. Say you're level 20, but you only have 15 healing skill, that means you've got -5 on the primary scale and will only be healing for 95%.

Let's look at dodge for another example.
Dodge uses a secondary scale of 0%-40% with 5% being the baseline. So if you're level 100 with 100 dodge skill, you will have a 5% chance to dodge. If you had 0 you would be at 0%, if you had 250 you would be at 40%.

Keep in mind that the primary scale bring used to display your stats grows with each level you gain. However, in combat, it's actually being weighed against the level of your enemy. So when your stat window says you have a 5% chance to dodge level 20, you'll actually have a higher chance to dodge against a level 18 enemy, and a lower chance to dodge against a level 22 enemy. So this primary scale of -100 to +150 moves with you as you level, and is weighed against your target.

This brings in 3 major benefits.
As the underlying math is based on this shifting scale of differences, not endlessly growing numbers, the math under the hood is actually always very similar. Even at level 1000, it's only checking to see where you are on the scale of -100 to +150. So the results are very predictable and work at all levels.
This also means that skill damage, equipment damage, enchantment bonuses and so on are much easier to control as it's now their level that is most important, again instead of endlessly increasing numbers.
And lastly of course, because the numbers being used in the math are only increasing by 1 per level, there is practically no chance that they will grow to levels anywhere near the boundaries of 32 bit accuracy.

To explain things a little further, most stats are primarily based on your attributes. At level zero you have 0 in all your attributes, but the math wants to assume you have 1 in each as you start out with 6 attribute points to spend as you wish. If you spend them equally across your attributes, you will find that all of your stats increasing exactly 1 point, resulting in something like this:



This is due to the way I've spread out stats to be affected by different attributes. Stamina for example increases: Max Health by 0.4, Max Energy by 0.3, and so on. If you however spend 2 points on Strength, Stamina, and Agility, with zero points in Dexterity, Intelligence, and Wisdom, you'll find that some stats turn green, indicating that they are above their "assumed" value, while others will turn red, indicating that they are below their assumed value:



Mousing over any of the stats will now also give a detailed explanation of how that number has been reached, showing you the actual skill value. I think it's easier to just show 5% dodge chance than to show 20 dodge skill and make you mouse over it to see what that translates too, though it might be kinder to be showing both, though I think the color coding system will help alleviate the need for showing the actual skill numbers as well. We'll see how players feel about it though. On a side note I do plan to change the "mitigation" section to better explain damage reduction and how it works.



This is a step that I wanted to be sure and get right before moving onto improving combat, monster AI, and player skills, as attributes and combat stats play heavily into each of those systems. There will very likely need to be tweaking and balancing of two-handed weapon damage, enchants, and some things that will be affected by these changes, but those are all based off of very centralized math that can be easily changed to alter the entire system.

II. NPC Towns


NPC Towns were actually added into the beta last week without patch notes. I wanted to make this the first patch note for 0.8, and it ended up taking longer than I expected. Having said that, NPC towns are now spawning in-game, though are largely just cosmetic at this point, and still need a new map icon.



III. Community assist sheets


After Pixelnoise made the suggestion to me that perhaps the community could assist in documenting when and where audio seems lacking in the game, which I think is a great idea, I thought I would go ahead and make several different public sheets along those lines. These will be Google Sheets accessible to anyone that clicks the links posted in Discord, and offer a way for people to append their own suggestions.
I've currently added a sheet for audio suggestions and a sheet for player skills suggestions, and have some plans for others as well. Suggesting topics for suggestions also welcome as well! =D



All in all I had to rework the combat math a few times to get it to where it is now, but it was an important step towards improving combat and skills.

Thank you to everyone participating in early access and especially to everyone that posts here on Steam, in Discord, and of course to my patrons on Patreon that help make all of this possible! And if it's a thing where you live, I hope you have a happy Thanksgiving!

v 0.8.0.1 2021.11.25
- Changed attribute and statistic math to new system
- Increased flattening around procedural towers
- Monsters more than 15 levels under you will no longer agro
- Added a /checkheightmaps console command
- Fixed paper being unstackable
- Improved the strong harvesting skills descriptions to explain that they share a single hotkey

v 0.8.0.0 2021.11.15
- Improved terraforming performance
- Enabled terraforming in multi-player
- Added /dayspeed and /nightspeed multiplier commands as well as world creation settings
- Altered the ghost death animation so they don't "fall" through the floor
- Fixed an error that could cause terrains to despawn immediately after player spawn
- Added procedural NPC towns (wip)
- Fixed a problem that could cause players to go invisible in multi-player

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!

Check out the bug / suggestion tracker

Hotfix 0.7.8.5

I've been tidying up some things on beta for a couple of patches, and am now pushing those to the live builds. This should clear up beta for the first wave of 0.8 patches.

The condensed patch notes for the default live build are:

v 0.7.8.1 - 0.7.8.5 2021.11.03
- Added a 1s delay to input (movement/animation) while harvesting
- Added a harvesting "stance" animation to better blend with the various harvesting animations (wip)
- Added a set of optional secondary key bindings
- Added shift-click to remove a key binding
- Added Controller Axis settings to the in-game controls settings
- Added Mouse Pitch and Mouse Yaw settings to the in-game controls settings
- Floating island portals can now spawn underwater
- Animals rewarding chitin, feathers, or scales as their main resource will now reward skinning experience
- The procedural engine will now despawn 1 object per iteration rather than always prioritizing spawning
- Fire Golem, Fire Hound, and Imp can now drop Essence of Fire
- Water Elemental and Crasc can now drop Essence of Water

The most recent changes to beta, which are included in this patch, that I have not yet posted patch notes for are as follows:

v 0.7.8.5 2021.11.02
- Improved the to/from/during swimming animation blends
- Fixed an error interrupting the recall ability in MP

v 0.7.8.4 2021.11.01
- Reduced the frequency of flora in the desert biome and darkened the large stones to better match the ground color
- Added a 1s delay to input (movement/animation) while harvesting
- Added a harvesting "stance" animation to better blend with the various harvesting animations (wip)
- Added LOD group to light pedastals
- Stomp graphic will now align with ground normals
- Floating island portals can now spawn underwater
- Fixed some MP problems with temperature
- Fixed some MP problems with new caves trying to run server commands on clients

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

Join us in Discord!

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

Check out the bug / suggestion tracker

Beta v 0.7.8.3

I've implemented a few more much needed features for partial controller support. You can now set a secondary key or button for every key binding in the in-game settings, which allows you to have a controller bind without having to overwrite a keyboard bind. I still want to add an auto-loot options, but I've been really busy this past week working out some potential business matters, and reorganizing my/our plan/priorities.

v 0.7.8.3 2021.10.28
- Animals rewarding chitin, feathers, or scales as their main resource will now reward skinning experience
- Fixed grass density and distance not properly being reapplied from saved settings after restarting
- Added a set of optional secondary key bindings
- Added shift-click to remove a key binding

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!

Check out the bug / suggestion tracker

Beta v 0.7.8.2

Two larger changes in this patch, so I'm going to push it to beta first to be safe.

For one, I've added the first of three steps of better controller support. The first step being manual selection of controller axis for look and move controls. I'm still using the legacy input manager, which accounts for up to 28 possible axis, but I don't actually think there are controllers with that many axis? So I've set up a system where in the in-game settings you can now cycle between axis 1-11. My XBox-like generic controller I'm testing with has axis 1 and 2 for the movement X and Y, as well as axis 4 and 5 for the look X and Y. I also added sensitivity settings, Y inversion, and a "current input" display so you can hold down a joypad while cycling through the choices without having to exit out of the settings window to test it, in the event that your controller may not use the same axis as mine.



The second step I want to add in tomorrow, being a secondary key binding option for all keys. Without this, you can only either have a controller key bound, or a keyboard key bound, and that's not nice. Even with this added step there is still going to be a variety of actions like UI navigation, building, and crafting, that won't be possible with a controller. But you will be able to setup hotbar buttons, camera, and movement on a controller for general running around, fighting, and harvesting. I will also make sure to add an "always auto-loot" option or something of that nature as looting individual items from monsters won't yet be possible.

The third step will then be full UI navigation, but there are some things on the development table right now that make waiting on implementing full controller support the correct choice for right now.

Besides that I have made some changes to the procedural generation engine. Previously it would always prefer to spawn things before opting to despawn things. This became problematic for some people when quickly teleporting to different locations, or moving around a lot to cause the "loaded" game area to grow and grow before any of it be prioritized to despawn. Instead, this patch now opts to despawn one thing, if anything exists in the "to despawn" queues, per iteration of the procedural engine. Despawning, like spawning, can be a hefty operation in some cases and is the main cause of "lagg" or hiccups in the engine at the moment, so I want to send this to beta first and give it some more testing myself before we go ahead with it as is.

Also there are a number of threads here on Steam I have not gone through yet. My apologies if I am slow to respond to any problems anyone may be experiencing!

v 0.7.8.2 2021.10.21
- Added Controller Axis settings to the in-game controls settings
- Added Mouse Pitch and Mouse Yaw settings to the in-game controls settings
- Fixed the /mousepitchmultiplier console command
- Fixed crafting multiple items of non-stackable items in one go causing them to stack
- The procedural engine will now despawn 1 object per iteration rather than always prioritizing spawning
- Improved boat performance
- Fire Golem, Fire Hound, and Imp can now drop Essence of Fire
- Water Elemental and Crasc can now drop Essence of Water
- Going under water in water caves will now properly cause your breath to wear out

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!

Check out the bug / suggestion tracker