[Updated] Dark Souls style fighting system | Gladiators WIP

Made 100% with Blueprints

It´s been a long time since I made this system, but this week I had some time and I decided to rebuild it. In the first version it was functional but dirty code, now its working with very clean code using Actor Components so its as seamlessly as possible to implement.

I´m planning on releasing it on marketplace soon, I still dont know the price but It´s going to be less than 30€. Please, tell me what you thing is a fair price.

As part of the system, there is a component that implements **Player Stats **(Health management, Stamina, …) ideal for saving some time while developing and working online that is going to be released FOR FREE (separated from the Combat System) and that can work by itself. On marketplace too if allowed.

Preview of new content:

Screenshot_5.png

A WIP game made with UE4 and 100% blueprints, fighting system similar to Dark Souls 2 one.

Features:

  • Weapon System
  • Real time equipement of weapons
  • Stamina system
    - ONLINE MULTIPLAYER
  • Key combination
  • Optimized for gamepad controllers
  • UMG Interface
  • Real time fighting system
  • Special actions when out of stamina (like weapon attack moving slowly)
  • Targetting system
  • Use of DataTable to store weapons information
  • Calculation of weapon results upon impact (Like blocking percentage, weapon/shield weight, etc)
  • Physics weapons when not equiped

Actions:

  • Attack
  • Combined Attack
  • Jump
  • Sprint
  • Sprint attack
  • Breack defense
  • Dodge
  • Attack from air
  • Focus (target an enemy)
  • Use magic

WIP:

  • 2 handed weapons
  • 2 ofensive weapons, 1 for each hand
  • 2 handed shields
  • 2 defensive weapons, 1 for each hand
  • Weapon effects, like poisoning or bled

Video OLD VERSION (4.3):

https://youtube.com/watch?v=rbZmNE702aw

I have to mention that there is a loot of logic behind the scenes, for example, to calculate how many stamina will be used to block attacks with your shield, it makes some calculations based on the attackers weapon weight, and your shield weight and block percentage.

ALL WORKS ONLINE

I would like to take some feedback from you guys, to know how to improve my ideas and to get a bit more of motivation.

Thanks!

Awesome job mate, very well rounded system you have! It looks like you really know your way around a blueprint.

Heh, i bet you are going to see a bunch of people asking you to create tutorials on this :wink: myself included.

What i really want to know is how you are handling the weapon system. Are you using specific blueprints per weapon or is it all contained within the player-bprint ? If each weapon is their own bprint, does each weapon type base off of a single weapon blueprint ? or maybe you have created specific weapon bprints per type of weapon like one handed/two handed ? Are shields weapons or are they their own type of item?

:smiley: I’d love to know as much as you care to reveal about this. It is a really really great system you’ve got going.

For motivation ? Nothing gets me more motivated than battle of the nations. Google some highlight videos of botn. It’s real life full contact armored combat. Epic stuff.

Heres a really good video

Hi SaxonRah, thanks for your interest!

Really I still didn´t find anythink that you can´t do with BPs, they are very powerfull.

About your bet, I dont think people would be very interested in this hehe, even there weren too much people asking on my space ship (what I was planning to release for public)

Anyway, about your questions, Im using a BP for each weapon, actually thats my hierachy:

  • WeaponBase
    > Shield_Base
    >> Shield1…
    > Weap_Base
    >> Weap1…

About the one handed or two handed weapons, Im still thinking the best way, but for now Im going to make some tests making it with special animations (because I want a one handed weapon to become two handed if you push a button) except if the weapon is forced to be two handed

As you can see, shields extends from WeaponBase, but they have some special settings, but I still want them to have settings like damage, because you can punch with a shield and hurt your enemy.

All items has an enum to know which kind of weapon it is, (weap, shield, armor…) thats the way Im doing it for now, maybe I have to consider using base classes to alternate between weap, shield, armor etc, but for now Im doing it this way.

And thanks for that video! I didnt knew that BOTN was so hardcore hehe

Greetings

hi,
I am working recently with Unreal Engine 4 and i saw your "Unreal Engine 4 | Real time fighting game ", i thing that will be cool to make somethink like that (I would like to see a tutorial too).

Would you please help a with a problem?
I’m trying to export the character of the demo “CouchKnigts” in a side scroller game. I “migrate” the character to a side scoller game …
In Blueprint “MyGame” in defaults I set the default pawn class to BP_Player_Character_Pawn.
But if I go into the game now there are the following problems:
1 I can’t see the character (i don’t know how i can set the camera)
2 If I want to run left or right, the Character runs in a circle around

I hope you can help me

I, too, would really appreciate a tutorial on how you did everything pertaining to the dark soul 2 fighting system in the video.

Very cool! As a lover of the Souls series, I’m very impressed. It looks so fun!

I’d love a chance to play or work on something like this.

Great demo.
I had same idea like many people to make some similar Dark Souls , still hardcore but simplified in many ways.
I was just wandering how do you manage collision of weapons against ennemies or their shield ? It is solid or raycast ?
Is shield protection base on angle between player and ennemies or does it involves physic collision ?

For reference, Dark Souls 1 and 2 both used player facing to determine whether an attack was blocked. This is clear from the ‘Dead Angle’ bug that appeared in Dark Souls 1 and the network test (beta) of 2.

Thanks, that’s interesting to know.
I really thaught they used a more precise method like detecting collision against the shield collision shape.

A few nonhuman enemies (such as Dark Souls 1’s Giant Sentinels and Dark Souls 2’s Looking Glass Knight) have shields that use collisions, but human-sized enemies with shields (including other players) use facing.

Thanks to all for your replys!

You are facing some problems there,
1- this character doesnt have a camera itself, because in the couchknight example the camera is on another actor, you hace to add a camera arm and a camera component, in the BP_Player_Character_Pawn components, you will find some tutorial on internet or just take a look to the components of your side scroller pawn.

2- This happens because couchknight pawn is planned to be controlled from a fixed camera, so they did the controls that way, you will have to make your own movement nodes inside BP_Player_Character_Pawn, or just copy the movement nodes from the side scroller default pawn (and delete de BP_Player_Character_Pawn default movement ones)
For this second point, maybe you will want to take a look to the rotation rate, I think you can find it on the event tick, or just make a search inside the BP.

If you have more problems just write it here.

Thanks! really im using most of the code already done by EPIC guys in the CouchKnight example, but with extra logics for handling different weapons, other movements, key combination and so on.

They did a great work, moreover, they left there some BP and interactions that they are not using, but that maybe other people would want to use, to handle some similar actions (I prefered to write my owns in that case)

Like said, there are different kinds of shields, anyway, like Im doing a “simple” player vs player online game that is controlled from a third person camera, I cant do shield protection by real collisions, because it has no sense (you cant move the trace of the weapon, its determined by the animation) so making face blocking is the easiest and less expensive way of doing that.

If youre planning to make a first person fighting game (like chivalry) you will need to make a more accurate blocking system, because in that case the player can alter the trace of his weapon depending on the direction and rotation he´s facing

Thanks and Galeon for your messages!

Im making some models to launch an alpha test and see if its funny to play with people or not haha

Greetings

Looks great so far!

Do you have any intention of doing tutorials? (Personally I’d be interested in how you handled the combat-focus / floating health bar).

Thanks!

Just wanted to say this looks really cool =]

I must say wow! what a nice job you have here mate!

I’m already working into an RPG open world game with inventory system and more stuff. I’m not very good with programming. But count me in for any help or testing process you need in alpha.

Have a nice day!

Thank you very much, I love to see you liked it.

About the tutorials, I dont have time right now so I wont be doing them in a short time, maybe in the future, but if you have any questions Ill try to reply to them.
The focus system is uncompleted for now, but basicaly I update the player rotation each tick to make him face his target, and the health bar is just toke from one of the content examples, mixed with another one, you can take a look on them.

For those of you that like the project, my outcoming next title will be this:

You can donwload an accelerated beta (just till first boss) here:48h game made | download beta | dual stick shooter | very difficult - Game Development - Epic Developer Community Forums and later Ill be making some kind of pool to decide my next title!

Thanks :slight_smile:

Hey awesome work on your demo! I’m new to ue4 and I’m trying to intake as many tutorials as possible to be a functioning game designer so thank you for the inspiration. Are you by chance sharing your project file or giving tips on how to create something like this?

Hi Joe1029, thanks again for your interest, this project is still a private project so I cant share the files and, like I said before, I have no time to write tutorials right now, but Ill be giving tips if someone needs them, just post your questions here and Ill try to reply the best I can.

What epic projects did you research (if any) to figure out what was needed to accomplish something like this?

Really nice.

How much communication are you doing between your character blueprint and the animation blueprint to track current state (attacking, hit blocked and so on)?

Thanks guys for your messages.

Joe1029:
Really I have not looked into any project, I just toke a base from the couch knights example available on the marketplace and started thinking what I would like to do.
You just need to think on the easiest and most escalable way of doing what you want.

Handkor:
Like its an online game, Im doing it all in the event Tick on the character BP, really Im only handling it with some booleans and some “play anim montage” nodes.

So there is no real “communication”, just the variables are beign taken on the anim blueprint, nothink more (and a minor cast from the anim bp to character bp, but are just for one special case)
So finally I have 1 cast on the anim BP to take variables from the character, and another cast to character BP to call a function.

Hope it helps