Post contents:
I. Attributes & combat math rework
II. NPC Towns
III. Community assist sheets
[h1=one]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.
[h1=two]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.
[h1=three]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
[ 2021-11-25 14:04:20 CET ] [ Original post ]
🕹️ Partial Controller Support
- Solace Crafting Linux [2.77 G]
Background
My name is Kyle Postlewait (35) and I got into game development years ago because I can't find the game that I want to play. I am not a veteran game developer. I do not have any published AAA titles. I am self-taught and I make mistakes. Having said that, I'm tired of survival crafting games being abandoned, focusing only on PvP and guns, or turning into major time sinks. I quit my day job in February of 2018 to focus on Solace Crafting full-time, and am doing everything I can to make a great fantasy survival RPG despite the tremendous challenge that is game development. Please don't buy into early access expecting a fully polished AAA game and then give it a bad review. In return, I promise to make sure that this game is NEVER ABANDONED. If sales are more than enough for me to survive, then I can hire more help. First and foremost I will always work to secure financial longevity and legal stability, and maintain all intellectual rights, never selling power to sponsors, publishers, or anything that could endanger continued development.
Early access ends when there is enough content to constitute selling the game without the above warning. Even after we leave early access the game will continue to be improved and expanded on, and has a long list of planned features post early access including other dimensions and multiplayer.
All features listed on this page are undergoing constant improvement and are subject to change.
Short description
Solace Crafting is a crafting and building heavy survival RPG focused around player crafting, building towns, and summoning NPC townspeople. With an open class system, open-recipe crafting, customizable enchanting, modular building, defensive structures, town management, distance-based difficulty, and an infinite game world, players are free to move and level at their own pace. With an uncapped leveling system you can try to push further than anyone ever has. You can try and make the ultimate sword, staff, or anything, thanks to complete control over all recipe settings. Build massive towns full of NPCs not limited by physics-based construction. Seek out rare enchants and exotic resources.About the game
SurvivalSolace Crafting starts out much like similar survival games: you need to make clothes to avoid freezing to death, you need to find food to keep from starving to death, and you should build shelter from the dangers of nightfall.
Crafting
Once you are surviving it's time to evolve. Build resource processing and crafting facilities to create improved weapons and armor. Leveling up your professions levels up your recipes and allows you to unlock new recipes and crafting abilities. Our crafting system is quite unique, allowing even the creation of custom sets. I definitely recommend you watch the getting started video available above.
Role-Playing Game
Once you're armed and ready it's time to push back against evil and it's minions. Level-up and develop your character using an open-class system of evolving skill trees. Mix melee, ranged, magic, and heals however you like. Skills are being designed with fun and visual uniqueness in mind, not minimalism and strict balance.
Solace Crafting
Crafting and placing a solace will allow you to instantly return to it from any other solace in the world, letting you create your own points of interest. Be careful though as the further you travel in any direction, the more difficult everything becomes. In order to level up a solace you'll have to defend it from waves of attackers that will try and stop the procedure. Build static defenses to help protect your solaces during upgrades.
Town Management
An upgraded solace allows you to summon townspeople. In order to summon higher level NPCs you'll need to push deeper into the wild, setting up towns of various sizes as you go.
Astral Travel (not yet under development)
When the time is right you will find your way to the Elemental Planes. Most heavily affected by the infectious anger and hatred, these have becomes dimensions of extreme danger, both environmental and sentient. You must find out where the hatred stems from and find a way to put an end to it once and for all. The Elemental Planes are also the birthplace of all resources mundane and exotic alike. Only here will you find the purest, most powerful resources for crafting and enchanting equipment worthy of a hero.
Developed by a gamer
I started learning how to make games years ago because the design decisions of so many of the games I played often made so little sense to me. Here are some of the design decisions I refined over the years that I do my best to uphold:- No pay-to-win, no pay-to-play, no paid DLC, no gacha or gamble mechanics
- No metered progression
- Level any and all professions freely, no arbitrary caps
- Minimal sub-ingredients, minimal crafting and refining timers
- Completely open, point and level based branching skill trees
- Multiple, incremental skill points every level
- Classic roles, not forced balance. Some classes may be harder than others.
- Unlimited player levels
- Completely open physics-based world, no off-limits
- No "realistic" building physics that destroy everything
- Unlimited access to parallel realities (alternate seeds)
- Shape and color your avatars freely instead of using preset races
- Allow alternate characters in the same world
I know how to, and will accomplish everything written here. It's only a matter of time. If the game sells I can hire help with what I'm bad at and focus on what I'm good at.
I know a lot of fans of the survival genre are pretty jaded, myself included, after so many titles have lost their leadership, changed projects, or plain given up. I'm here every day hoping to heal that sore and would very much appreciate your $15 support if any of this interests you. There are months of frequent patch notes and forum discussions between me and players here on Steam as proof that I'm capable of more than a couple new items after weeks of silence, something far too common in game development!
Multiplayer, and all of its many features will absolutely be implemented when a much more content rich single player experience has been achieved. Multiplayer like single-player will be PvE oriented and grief prevention/anti-cheat will always take top priority. Turning single-player towns into multiplayer guildhalls complete with defense quests and special achievements is something I very much look forward to, and have quite a few plans for.
Unix and Mac support will be tested and released soon.
The best is yet to come!
- OS: Ubuntu 12.04+
- Processor: Dual Core 3 ghzMemory: 4 GB RAM
- Memory: 4 GB RAM
- Graphics: Nvidia GTX 680
- Storage: 8 GB available space
[ 6089 ]
[ 3241 ]