jonathaneeckhout / jdungeon

An opensource 2d morpg game based on the Godot engine in a medieval inspired fantasy world
https://jdungeon.org
BSD 2-Clause "Simplified" License
134 stars 23 forks source link

Dev Task: Design choices on classes and abilities. #67

Open NancokPS2 opened 1 year ago

NancokPS2 commented 1 year ago

I think this is a good space to lay down some ideas or proposals for these systems. And it'd help with figuring out other design choices if we tackled the main mechanics first.

Here's a couple of docs with ideas to consider thrown in, it is in comment mode so anyone can suggest additions.

Attribute gain:
https://docs.google.com/document/d/1Isi9orMsX6R08GWkia5MgpPzxj8T3bF4R0gCuIEoxnc/edit?usp=sharing

Skills and abilities: https://docs.google.com/document/d/1S5PSdKvYGjjsThQ0EP7Ct3rSz1nKC3_3GmWJFCnVSh4/edit?usp=sharing

Skill progression and acquisition:
https://docs.google.com/document/d/1wE4siB-sDkL0MN3w0TZ5R2wHf6JTZwi8TtrdCD-5hvs/edit?usp=sharing

Class systems:
https://docs.google.com/document/d/1AYA5v9zqmil5nyDvxMK37pox9HWIvcK-XNcDV6QL_hA/edit?usp=sharing

Class ideas:
https://docs.google.com/document/d/1ErJ8DUnDJPEYq7zImsVPuIbYq72ASLzMHNVK6WA36IE/edit?usp=sharing

Status effect ideas: https://docs.google.com/document/d/16OTp7omx1jJy13sg4qPeJr0e8yHgyidlIsCB0FJHzKA/edit?usp=sharing

NancokPS2 commented 1 year ago

I'll go ahead and make a proposal:

Class system:

Skill system:

Stat system:
Only max health, strength, dexterity and mind may increase from leveling up, other stats may only be increased trough equipment or skills.

ivoryfitz commented 1 year ago

I think the defensive setup is quite solid with Health, Resistances, and Defense.

I like the idea of multi-classing, and that can be something we expand on later down the line starting with single classes first and then expand later.

What would this look like without Accuracy? I'm typically not a fan of it as it feels like an extra damage slider for us the dev's to use, but as a player, it just feels bland.

NancokPS2 commented 1 year ago

Accuracy is meant to add depth to non-melee classes other than just "damage but from a range", where the balance would usually become a matter of giving melee more damage in comparison. Instead of being a typical stat, it would be mostly affected by the actions of the players in combat.
It is more of a "meter" of the user's effectiveness and damage consistency rather than a damage modifier. A ranged character that risks getting closer and uses skills to reduce evasion and raise accuracy will be rewarded with their full damage while those who try to simply take pot shots from afar will deal less with the benefit of being further away from danger (builds centered on boosting accuracy can afford to shoot from afar without any damage loss, think of it as a sniper-type build).
Melee has a higher base accuracy to make their damage more rewarding and magic damage is unique in the sense that it ignores most of the enemy's evasion to be the most reliable of all types (while still getting little benefit from raising accuracy).

It also allows to have a evasive characters that don't rely on luck, but must be smart with how they play to ensure that their evasion remains high.

This is mostly meant to give non-damage focused classes to have something to build around for their damage (where they get diminishing returns from trying to raise the stat much higher but are rewarded with more consistent damage).


BUT i did not put that much thought behind it, it could easily be removed.
We could simply not have it and let the rest of the stats dictate builds. I am merely unsure of what to do to make ranged and magic damage feel more unique.

It could also just be differentiated by the weapons available and by giving them unique mechanics, as i proposed here.

This is also assuming we want such distinctions. I am open to any other approach.

jonathaneeckhout commented 11 months ago

@NancokPS2 thanks for this well documented proposal! I like it a lot.

I think we should try to split this very big issue into smaller ones so that they are more manageable for people and easier to be distributed.

jonathaneeckhout commented 11 months ago

For the Alpha release In think we should focus on having 1 class per character. We can still add the secondary class in a later release.

NancokPS2 commented 11 months ago

For the Alpha release In think we should focus on having 1 class per character. We can still add the secondary class in a later release.

The system is already set to support arbitrary amount of classes.
I'd be more work to change it to not be as such at this point, unless there is a need for it?

jonathaneeckhout commented 11 months ago

It's ok to support more classes. We can just configure that at this stage the player is only allowed to have one class.

NancokPS2 commented 11 months ago

That's as simple as setting 1 variable, so sure.
My incoming PR will have it set to 1.