Gameplay Improvements

Kaldreth

New member
Hello everyone and sorry to bother you.
This will be a long post as I have many many questions to ask !

So let's get started !

I’m Julien, a 26yr old French guy specialized in Manufacturing Design. I wish to develop a game as a personal project. My game will be a FPM in a medieval universe. I’m not very “code friendly” as I’m a beginner, I understand basically what the code does when I read it, but not very aware when I have to write it. I’ve recently purchased the UFPM and I’m very excited about it because it’s spare a lot of time and permit to focus on the essential !

The UFPM provide me some excellent features as a good base, but there is some “little things” that I want to change to improve the feeling in the gameplay of such games but I don’t know where nor how to start. So I will list here what I want to do.

In my Game, I want to separate 3 gameplay based on which equipment you have;
  1. Sword & shield --> Basic gameplay : parry, attack, counter attack etc.
  2. Spear (One Melee Weapon two handed) --> Combo based Gameplay : when you do a combo of heavy / light attack, it does something.
  3. Sneak (one throwing weapon left hand, one dagger right hand) --> Basic sneaky gameplay, just you can use your left click to use traps

The sword and shield gameplay is nearly perfect as it is for now. I want to implement the Heavy Attack system which will be common to all gameplay. I also want to add a “charge” system on the shield.

What I want to implement for every gameplay :

  • Heavy Attack (Common)
Hard to explain, I will try my best.
What I want to implement is a similar gameplay that you can find on games like Mount&Blade or Dark Messiah.

Actually if I press or if I click the left button of the mouse, it’s the same thing.

What I want to do is : if I’m pressing the left click, my character will perform an animation, after that animation is done, if I release the left click, my character is doing an attack (different than the attack when I click, we will call it “Heavy Attack”).


The little subtlety I want is that I want to have the animation being different depending on which direction you go (And if the character is not moving, so 5 animations differents)
Let’s say I’m pressing Q (for moving left) and pressing the left click, the character is doing a certain animation (And when I release the button it will be a certain animation) so a total of 10 animations differents.
If I’m pressing Z (For moving forward) and pressing the left click: the animation will be different than the previous one. Etc etc.

Every weapon type “melee” should be able to perform an heavy attack


  • Block charge (Only for Shields)

So actually, you can block forever with the shield. It’s not something I want to have in my game. I want the player to feel like “Hmm I have to attack, because I can’t block forever !”. To address this issue, I wish to implement x charge on the shield, when a charge is depleted I want to activate an internal cooldown to refill this charge (X1 second), when you’re out of charge, you can’t block anymore till the end of another different cooldown (X2second).


  • Combo (Spear Gameplay)

For the Spear Gameplay, what I have in mind is a combo based system. The left click is for doing light attacks, you can perform heavy attack as explained above. There is also a third type of attack with the right click.

What I want to do is to be able to perfom combo with my clicks. What I have in mind is to implement something that count when I perform an attack and if the result is for example “light attack, light attack, heavy attack” then the character perform a combo. The window for performing a combo should be open for x seconds after the first hit.

The maximum hits are 3, After 3 hits the window should reset herself.

  • Sneak Attack (Sneak Gameplay)

This one is really basic. But I have really no idea on how to implement it :D.

When I’m with my weapons from sneak gameplay (A dagger in right hand, a throwing dagger in left hand) and when I’m in the back of an enemy, I would like to be able to perform a special attack (A one shooting blow basically…)


Could you tell me by what should I begin with ? (And How to do what I want?)
 
What I want to do is : if I’m pressing the left click, my character will perform an animation, after that animation is done, if I release the left click, my character is doing an attack (different than the attack when I click, we will call it “Heavy Attack”).
You should be able to adjust the StopType/UseEvents on the melee weapon to have it stop attacking when the button is up.

To address this issue, I wish to implement x charge on the shield, when a charge is depleted I want to activate an internal cooldown to refill this charge (X1 second), when you’re out of charge, you can’t block anymore till the end of another different cooldown (X2second).
The shield item can use the attribute system in order to determine if it can protect against damage. When the attribute value is 0 then the shield will no longer be able to block.

What I want to do is to be able to perfom combo with my clicks. What I have in mind is to implement something that count when I perform an attack and if the result is for example “light attack, light attack, heavy attack” then the character perform a combo. The window for performing a combo should be open for x seconds after the first hit.
This sounds like you may need to use the ability starter object in order to start a new use ability that has the type of combo that you are looking for. In the demo scene there is an example where you can start attacking only once you press a certain input combo. This will likely take some scripting but it is definitely possible.

This one is really basic. But I have really no idea on how to implement it :D.
This would be a separate use ability tied to a new melee item action, similar to the in air melee attack from the demo scene.

Hopefully that helps!
 
Hello and thanks for the reply :)
I will try to explain better. :p

Heavy attack :
You should be able to adjust the StopType/UseEvents on the melee weapon to have it stop attacking when the button is up.

Hmmm okay but I want to be able to do light attacks (what there is actually) and be able to perform heavy attack. I guess by doing these change I will not be able to perform light attacks anymore.
If I click, I want to perform attack as they're implemented in the UFPM.
If I press for X seconds, I want to perform a heavy attack.

The shield item can use the attribute system in order to determine if it can protect against damage. When the attribute value is 0 then the shield will no longer be able to block.

Hmmm okay but I want my shield to be able to block entirely a damage, for example if there is a fireball doing 150 damage and a sword hit doing 50 damage, I want both of them to remove only one charge from my shield.

For the rest, I will check with what you said. :)
 
If I press for X seconds, I want to perform a heavy attack.
In this case you can have two Use abilities - one for the light attack, and one for the heavy attack. The heavy attack Use ability would have a Long Press Start Type.

Hmmm okay but I want my shield to be able to block entirely a damage, for example if there is a fireball doing 150 damage and a sword hit doing 50 damage, I want both of them to remove only one charge from my shield.
Ah, this will take some scripting. For this I would subclass the Shield ItemAction and then you can override how much damage is subtracted within the Damage method.
 
Top