Entering v 0.8
Added 2021-10-11 05:59:13 +0000 UTCFinishing up the 0.7 branch, I'll be starting today on 0.8 which is primarily focused on combat, player skills, monster abilities, as well as an in-depth overhaul of combat math. I thought I'd go over the planned changes a bit here and there as player input makes all the difference!
Player Skills
The current skill trees in-game are the four main Archetypes. Each Archetype is planned to branch off into two different Jobs at a minimum level of 10, with each job then branching into 2 different classes at a minimum level of 30, like so:
Squire
- Guardian
- - Knight
- - Paladin (*Priest)
- Fighter
- - Warrior
- - Duelist (*Adventurer)
Scout
- Adventurer
- - Rogue
- - Bard (*Magician)
- Archer
- - Marksman
- - Ranger (*Spiritualist)
Apprentice
- Magician
- - Summoner
- - Enchanter (*Archer)
- Scholar
- - Wizard
- - Spellsword (*Fighter)
Disciple
- Spiritualist
- - Shaman
- - Druid (*Scholar)
- Priest
- - Cleric
- - Monk (*Guard)
The Classes listed with a starred job next to them are hybrid classes that require a certain amount of points to be added into a different skill tree before they can be unlocked. For example Paladin needs:
1. 40 points spent in the Squire tree and player level 10 to unlock Guardian/Fighter
2. 80 points spent in the Guardian tree and player level 30 to unlock Knight/Paladin
3. 40 points spent in the Disciple tree to unlock Spritualist/Priest
4. 20 points spent in the Priest tree
Bear in mind that a player gets 6 skill points per level, so at level 29 (counting level 0), you've earned 180 points, making 40+80+40+20 the exact amount you need to start spending skills in the Paladin tree at level 30, if that's what you're aiming to do. At least that's my plan. And if you were wondering you'd need to reach level 520 to fully unlock all of the skills.
Due to the infinite procedural nature of Solace Crafting the current iteration of skills allows for infinite skill point spending. The problems with this are numerous and I do not intend to uphold this system with the coming changes. I am still considering adding a certain type of passive skill at the end of each Class tree that would allow for the continual improvement of a skill tree. For example if a player wanted to remain a "pure" Wizard, not spending points outside of the Wizard trees, but had already spent every skill point possible in the Apprentice, Scholar, and Wizard skill trees, they would keep earning skill points as they level but not have anywhere to spend them. Having a general "Wizard Power" sort of uncapped general magic damage buff skill at the end of the tree would let a player remain "pure," but there is some math I need to finish up before I can really decide if that's a fair way to approach things. Ultimately the goal is always fun more than it is realistic/fair, so we'll see.
Combat Math & Attribues
Similar to what I was talking about above, the current attribute and combat math systems increasingly scale up to numbers and methods that slowly fall apart.
For example, if a level 1 sword does 4-6 damage, then you craft a way better level 1 sword and you're doing 14-17 damage, the change is drastic and obvious. But at level 50 that looks more like 400-600 upgrading into 410-623, and you hardly notice the difference.
This is true for all statistics, not just damage. The general way around it is to just use bigger and bigger numbers, scaling exponentially rather than linearly so the changes look bigger and bigger, and you quickly get into doing 1,000,000 damage and monsters have a billion hit points, and so on. Add that to the fact the we have had players go above level 1000, and the math actually starts to go beyond what 32-bit numbers are capable of. Switching all of the math to 64-bit would of course "work," but again we're talking about monsters with hundreds of billions of hit points, and I really just think that's silly and much more difficult to understand than what it could be.
I've designed and am proposing a new approach. As it is new it will be different than what people are used to, and I'm sure for a lot of people it will seem a bit confusing at first, but ultimately I think it will actually be easier to understand and make combat math make a lot more sense regardless of what level you are.
Put simply all numbers will carry a "level" with them, instead of an arbitrary hard value. These levels will then be weighed against whatever counterpart they're being used against to determine final results. In short, a one-handed weapon will always deal 100 damage to it's target, [b]IF[b] the level of the damage and the level of the target are the same (prior to armor mitigation). To better understand the differences, let me compare the "normal" way of doing things, to the way I'm looking to change it (made up numbers just for example):
Normal
Level 50 Sword vs anything, deals a base 500 damage
Updated
Level 50 Sword
Versus level 45 monster: 170 damage
Versus level 50 monster: 100 damage
Versus level 55 monster: 45 damage
The concept of reducing or increasing damage due to level difference between a player and a monster is not new, but this is basically taking that to the extreme, making level be the only factor.
One of the benefits of this is that all monsters can now have 1000 hit points, regardless of level. A champion can easily stand out from normal monsters by having a full 2000 hit points and slightly better stats, etc. This also means that players can also always have a base hit point count of 1000. That's assuming though that you've spent your six attribute points per level evenly every level, and you're not gaining any stats from skills or equipment. If at level 50 you socket a level 50 stamina gem, your stamina goes up, and your hit points go up with it. Likewise of course with damage and every other stat, so that level 50 sword could actually be a fully socketed tier 11 legendary sword dealing 250 (level 50) damage.
You're still trying to make all of your numbers go up, but every level that you gain your numbers will now be weighed against a likewise increasingly difficult set of monster stats. Another way to look at this would be to imagine the current system as always measuring numbers against a level 0 foe. That's why the numbers just get bigger and bigger and bigger. Instead we'll be weighing numbers against our own level (assuming we're fighting equal level enemies) so the numbers will always be using a similar scale, regardless of whether we are level 5 or 5000.
Monster Skills
Up until now monsters have only been able to run at you and punch. It's time we up not only their AI, but their arsenal of weapons as well. Bear roar debuffs, poisonous spider bites, fire elemental fire balls, earth elemental stuns. There are a lot of ways to add a little flare to monster attacks, but ranged attacks and spell effects are what I'm most looking forward to.
This also opens the door for damage types to be brought into the game which makes for more interesting random champion/hero mobs, enchants, and much more.
All in all, it's definitely a lot of work to do, but a lot of 0.8 is more about content than it is about new code and features. Meanwhile, bug fixes and new recipes/weapons are always on my plate as work continues towards version 1.0!