Deepwoken a popular combat game known for it’s parrying system inspired from dark soul games has my favorite combat mechanics in its game. A breakdown of its combat:
If a weapon is held you can:
M1 by using left mouse click
Critical Attack using R or clicking Scroll-Wheel
Parrying with F
Feinting with Right Mouse Click before weapon is swung
When using a ability:
You cannot perform other abilities/actions and can’t M1
You are able to Feint using the same inputs as feinting with M1s
I’m wondering is how do they do it? Do they use tools? Do they have some framework using context action service or user input service? If anyone knows the answers please let me know since this is the #1 question stumbling my mind since creating games and this would help my development loads.
I’ve always thought of it as a custom backpack system with modifications, due to the different backpack UI and the inventory system. This means that it does use UserInputService.
For skills, it probably checks if the tool is a skill, and in the case it is, and the cooldown is not active, then the skill would be initiated. It also uses another booleans to make sure the player cannot M1, heavy, parry, etc. while the player is in a skill.
That’s what I’ve thought it was like when I look at it from the outside.
yep i figured out how to make a deepwoken like ability system, I used tools for abilities and the melee system I use a framework to check what kind of weapon the player has, and it functions similarly to deepwoken. (conditioning is really important)