• Advertisement
Sign in to follow this  

Designing a good feel ARPG melee combat system

This topic is 1228 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Before you read this, you should try out what I have currently. Download the full game (made with Blender Game Engine) here, then open levels/level2.blend in Blender and press P over the 3D view (actual release will be a lot simpler).

 

I've been working on the melee combat system. It's a real time ARPG-style system like Skyrim (obviously with drastically less polish). Most of the code is done, but I cannot seem to get the feel right. By game feel, I'm talking things like Game Feel and this talk (fantastic, by the way). There is very little material available that talks about good feel for combat systems like this. If only a Skyrim dev would let some of their feel secrets be known!

 

Currently, the combat feels very floaty. The knockback was something I've thought about a lot, but knockback in combat systems varies quite a bit. It's currently a little too exaggerated.

 

It would help me out a lot if you would try out my game and tell me what you think. I've considered adding screen shake, a slight 10ms pause when you hit the enemy or get hit, improving enemy animations by having drawbacks (don't know what to call those - what I mean is things like raising the sword before slashing/hints that a hit is going to come soon), and sound (actually adds a lot to feel).

 

If I can get the combat system feeling solid, I think the game will be drastically more engaging and fun. Like the Halo devs say, get ~30 seconds of fun and repeat that over and over again in slightly different ways.

Share this post


Link to post
Share on other sites
Advertisement
If you need a 'good feel' combat system, don't even look at any TES games, look at 'Souls games (as in Dark Souls, etc.) instead. In my experience those have the best combat system any action game has ever presented me with. And I'm saying this as a big fan of Bethesda's games!

Share this post


Link to post
Share on other sites

If you need a 'good feel' combat system, don't even look at any TES games, look at 'Souls games (as in Dark Souls, etc.) instead. In my experience those have the best combat system any action game has ever presented me with. And I'm saying this as a big fan of Bethesda's games!

 

They have their own system, but I feel neither of these are good examples of a "good feel" if you're going for the action part.

Dark Souls has a very "heavy" approach to movement/knockback/collision handling whereas TES games are altogether slow and jittery. Ninja Gaiden Sigma was aprobably a lot better, but much less on the RPG side. The Witcher III also seems to have better responsiveness for movement. Finally, some 3D Zelda titles might be worth looking into.

Edited by Orymus3

Share this post


Link to post
Share on other sites
May I request that you make/post a video of your gameplay?

I'd love to offer you feedback, but I am reluctant to download/install any programs (and I know I speak for many here when I say that).

Templar and Orymus3 are right about your reference games; they aren't famous for their combat. Try to emulate games with more exaggerated combat with a great tactile feeling.

3d Zelda games are good for this, since the action has a great cartoony exaggeration to it. Mini ninjas is another one that comes to mind, all of the popping the exploding; they really did it right. Also look at fighting games for some sense of oomph.

If you use more exaggerated references, even if you miss the mark you may end up with something that has a good feel to it.

Share this post


Link to post
Share on other sites

I agree, we should have a video smile.png

 

have you tried some of the medieval swordfighting games out there? it's kind of a genre of its own and offers much more depth than Skyrim (which I love as a game overall, but the combat is shallow and dull). I'm talking about games like Mount&Blade, Chivalry: Medieval Warfare or War of the Roses.

Unlike Skyrim these offer freedom to choose different attack directions (either by mouse movement or by different buttons), and unlike the 'Souls games they rely on focusing the camera view on the enemy and aiming (first-person WASD movement and mouselook) and having more realistic limitations for movement (no rolling around)

 

I myself am making a game of this swordfighting genre. here's a [ link ] to a 6 months old video, despite it lacks quite some new features and better combat flow it does give a good sense of what it is like. I'm not meaning to advertise, it's just that if you're interested I could invite you to my testers group so you can try it for yourself (on the condition that feedback is provided smile.png )

Edited by Chosker

Share this post


Link to post
Share on other sites

I'm definitely going for the less complex Zelda-style combat. Even Minecraft's ultra simplistic style works, but it still needs to be fun and feel nice. Currently I do not think it feels solid enough.

 

Those on right now should go to my Twitch stream and ask questions via the chat. I can show you the combat and you can ask me to try stuff.

I will also highlight the session and post the video here afterwards. I'm sure you guys might be interested in iterations on a system like this - show the design process nicely

 

And I use Ubuntu, so I'm not used to people worrying about downloading something that might mess with their machine smile.png

 

UPDATE: The recording of above broadcast. At 21:30 and 23:10 I show combat as it was (the latter having more weapons), and at 1:13:20 I add camera shake. At 52:40 I add a 20ms pause when hitting enemies, then adjust it to 30ms (which was on during the camera shake).

Sorry for the choppy stream

Edited by makuto

Share this post


Link to post
Share on other sites

I'm talking about games like Mount&Blade, Chivalry: Medieval Warfare or War of the Roses.

Unlike Skyrim these offer freedom to choose different attack directions (either by mouse movement or by different buttons), and unlike the 'Souls games they rely on focusing the camera view on the enemy and aiming (first-person WASD movement and mouselook) and having more realistic limitations for movement (no rolling around)

Great references those! +1

The danger, of course, with such freedom can be disorientation.  You have to be careful with camera, and making the controls manageable.

 

 

I myself am making a game of this swordfighting genre. here's a [ link ] to a 6 months old video, despite it lacks quite some new features and better combat flow it does give a good sense of what it is like. I'm not meaning to advertise, it's just that if you're interested I could invite you to my testers group so you can try it for yourself (on the condition that feedback is provided smile.png )

It looks awesome.  Is that an open invitation? biggrin.png Is there somewhere I can read more about your project?  I didn't see much on the site.

 

I'm definitely going for the less complex Zelda-style combat. Even Minecraft's ultra simplistic style works, but it still needs to be fun and feel nice. Currently I do not think it feels solid enough.

 

Some of us also not on broadband wink.png The stream is an hour and a half long and high resolution (can I change the resolution on that site?), I can't really find the combat.

Any chance you can cut just a few minutes of what you'd like to show and put it on youtube or somewhere like that?

Edited by StarMire

Share this post


Link to post
Share on other sites

First of all, I'm no expert in this, so take my thoughts with a grain of salt.

 

That said, having taken a quick look at the points in the video that you indicated, I have some thoughts:

  • The "attack" animation doesn't really look like an attack; a simple change that might work with your current animation would be to have the weapon extend forward as it swings down, giving the impression of a thrust.
  • While you do have a flinch animation, it might help to make it more exaggerated, and more connected to what's happening to the character. For example, if you're going to keep the knock-back effect, it might be worth taking that into account, whether by depicting them staggering back or an anime-style backwards skid. (It also looks a little slow to my eye.)
  • Consider having the sword animation stop short on a hit, to give the impression of the weapon fetching up against--or burying itself into--the target.

 


I myself am making a game of this swordfighting genre. here's a [ link ] to a 6 months old video ...

That looks rather cool! If I may ask, how does the player control attacks in your game? I'm doing something similar myself, and am curious about your approach. (The download in the first post is old; the latest posted here should be in my last post in that thread (at time of writing).)

Share this post


Link to post
Share on other sites

I checked the stream (StarMire: just forward to 21:30). I agree with the comments from Thaumaturge

also I see a complete lack of sense of physics and biomechanics. you can spam the attack and get maybe 3 attacks in one second. there's no cooldown, no inertia, no penalty for missing an attack, no way for the enemies to block your attacks, or any other interesting factors beside attacking. the fact that the enemies run towards you like zombies doesn't help either

 

for some games having a sword attack is enough to call it a 'melee fighting system'. it usually boils down to something like "I was hit 8 times but I hit the enemy 15 times, so I won". Skyrim goes just a little bit beyond this (with blocking, stamina and staggers) but the "I can pause to drink potions" feature ruins all of this (plus aiming and body movement / distance is meaningless)

personally I have to say that a sword attack is only the beginning, and the real fun starts when attacks can be blocked causing a flow of back-and-forth attack attempts and blocks, making all combat decisions much more meaningful.

 

 

StarMire, on 08 Oct 2014 - 07:29 AM, said:

Great references those! +1

 

The danger, of course, with such freedom can be disorientation.  You have to be careful with camera, and making the controls manageable.

 

 

indeed, but at this point I'm assuming the audience target (within the RPG world) is more the people familiar with FPS's rather than jRPG's - and from makuto's video I think it's safe to say he's aiming for something like this too

 

 

 

---

 

StarMire, on 08 Oct 2014 - 07:29 AM, said:

 

Chosker, on 07 Oct 2014 - 11:56 PM, said:

I myself am making a game of this swordfighting genre. here's a [ link ] to a 6 months old video, despite it lacks quite some new features and better combat flow it does give a good sense of what it is like. I'm not meaning to advertise, it's just that if you're interested I could invite you to my testers group so you can try it for yourself (on the condition that feedback is provided smile.png )

It looks awesome.  Is that an open invitation? biggrin.png Is there somewhere I can read more about your project?  I didn't see much on the site.

 

it's not an open invitation, but we could arrange it smile.png

also yes my website is just placeholder but [my blog] has much more info about it.

 

 

Thaumaturge, on 08 Oct 2014 - 5:19 PM, said:

 

That looks rather cool! If I may ask, how does the player control attacks in your game? I'm doing something similar myself, and am curious about your approach. (The download in the first post is old; the latest posted here should be in my last post in that thread (at time of writing).)

I know you're doing something similar, I was the first guy to reply to your thread biggrin.png

in my game the player controls how to attack like in Mount&Blade - you move your mouse up, down, left or right, and then click with the mouse.

I also added an optional alternative where instead the player needs to click and hold the mouse button, then move the mouse up/down/left/right, and then let go of the mouse button. my testers' opinions are divided between the two methods

on top of that there's some buttons that don't need mouse movement, like blocking or kicking, which are just regular keypresses.

Share this post


Link to post
Share on other sites

Building on what Chosker says, an idea:

As Chosker suggests, allow the player to block incoming attacks if the block is performed with the appropriate timing. Give the block an animation as you have with attacking, and make both the attack and block animations fairly long--say about 0.6 seconds each. In addition, only allow a block or attack if neither the block nor the attack animation is playing. However, when an attack lands or a block is correctly-timed, end the animation prematurely. (When the player's attack is blocked, similarly end the animation prematurely, but impose a brief pause--say 0.1 seconds.)

 

Thus well-timed attacks and blocks make it easier to keep attacking, while poorly-timed blocks and missed attacks leave the player at a disadvantage. If you want to add an additional danger to the player, perhaps allow enemies to counter-attack more quickly when the player mis-times a block.

 


I know you're doing something similar, I was the first guy to reply to your thread biggrin.png

Ah, I feel silly for having missed that! ^^;

 


in my game the player controls ...

Ah, I see--thank you; those controls make sense. ^_^

Share this post


Link to post
Share on other sites

Thanks for taking the time out of your day to offer your advice!

 

 


The "attack" animation doesn't really look like an attack; a simple change that might work with your current animation would be to have the weapon extend forward as it swings down, giving the impression of a thrust.
While you do have a flinch animation, it might help to make it more exaggerated, and more connected to what's happening to the character. For example, if you're going to keep the knock-back effect, it might be worth taking that into account, whether by depicting them staggering back or an anime-style backwards skid. (It also looks a little slow to my eye.)
Consider having the sword animation stop short on a hit, to give the impression of the weapon fetching up against--or burying itself into--the target.

Yes, better animations should make it feel better.

 

 

 


I checked the stream (StarMire: just forward to 21:30). I agree with the comments from Thaumaturge

also I see a complete lack of sense of physics and biomechanics. you can spam the attack and get maybe 3 attacks in one second. there's no cooldown, no inertia, no penalty for missing an attack, no way for the enemies to block your attacks, or any other interesting factors beside attacking. the fact that the enemies run towards you like zombies doesn't help either



for some games having a sword attack is enough to call it a 'melee fighting system'. it usually boils down to something like "I was hit 8 times but I hit the enemy 15 times, so I won". Skyrim goes just a little bit beyond this (with blocking, stamina and staggers) but the "I can pause to drink potions" feature ruins all of this (plus aiming and body movement / distance is meaningless)

personally I have to say that a sword attack is only the beginning, and the real fun starts when attacks can be blocked causing a flow of back-and-forth attack attempts and blocks, making all combat decisions much more meaningful.

I'm not sure what to do to remedy the fact that enemies run towards you. Maybe they should get close, then do something like boxers do when they circle. Adding a random time delay to their hits might also help to make it more interesting (although some games have extremely predictable enemies yet stay quite entertaining),

 

Giving the enemies code to dodge your attacks (or block) might make it better as well. This systems can get frustrating when they automatically do it, so no matter what you miss.

 

On physics and biomechanics, I didn't think about things like that because of the great Realism vs. Fun argument. I am way more into fun than realism on this project, as opposed to your game, which seems to try to accurately portray swordfighting. I will still add some more physicality though.

 

And yes, I am aiming more for the 'A' part of ARPG. This is more casual FPS-style.

 

 


Building on what Chosker says, an idea:

As Chosker suggests, allow the player to block incoming attacks if the block is performed with the appropriate timing. Give the block an animation as you have with attacking, and make both the attack and block animations fairly long--say about 0.6 seconds each. In addition, only allow a block or attack if neither the block nor the attack animation is playing. However, when an attack lands or a block is correctly-timed, end the animation prematurely. (When the player's attack is blocked, similarly end the animation prematurely, but impose a brief pause--say 0.1 seconds.)



Thus well-timed attacks and blocks make it easier to keep attacking, while poorly-timed blocks and missed attacks leave the player at a disadvantage. If you want to add an additional danger to the player, perhaps allow enemies to counter-attack more quickly when the player mis-times a block.

Good suggestions! A system like this sounds good, especially when the enemies can get a second hit in on a failed swing or poorly timed block (and the player could as well, if the enemy did the same).

 

I think I will keep recording my progress and iterative cycles so that maybe this thread could become a helpful reference for anyone creating anything similar. In the next recording I plan on tweaking the animations and adding the blocking system suggested by Thaumaturge. More complex enemy movements (as suggested by Chosker) may come later.

 

Also, I ask that you guys talking about Chosker's game start a new thread or PM each other.

Edited by makuto

Share this post


Link to post
Share on other sites

I'm not sure what to do to remedy the fact that enemies run towards you. Maybe they should get close, then do something like boxers do when they circle. Adding a random time delay to their hits might also help to make it more interesting (although some games have extremely predictable enemies yet stay quite entertaining),

I thought Skyrim is your main reference? play it again, but check out how the enemies behave. you might as well watch some (real) swordfighting videos to understand movement a little bit better, although they might be too static for your liking. circling around would be a good addition IMO.

adding a random time delay would be a good first step as well. it all depends on how deep you want to go for programming your AI, which should translate to how smart or varied you want your enemies to be.

and all of this depends on what you expect your game flow to be like. do you expect the player to kill lots of enemies with little AI (Diablo, Serious Sam, or your best known modern zombie shooter) or is it more about having fewer but more interesting and challenging encounters?

 

 

On physics and biomechanics, I didn't think about things like that because of the great Realism vs. Fun argument. I am way more into fun than realism on this project, as opposed to your game, which seems to try to accurately portray swordfighting. I will still add some more physicality though.

 

And yes, I am aiming more for the 'A' part of ARPG. This is more casual FPS-style.

I don't see why Realism vs. Fun should be an argument, you can have both, or none, and it's also a matter of what's fun for every person. To me it's more fun to play the more realistic combat of Chivalry vs. the less realistic combat mechanics of Minecraft. Many years ago Counterstrike came out and it attempted a more realistic approach of a shooter vs. the more arcadey shooters from back then, and it was much more fun for many people. and if my game's combat wasn't fun (for me at least) I would've changed it long ago.

you also have a different form of realism: you can die. Minecraft's combat was fun because it was realistically dangerous

 

realism/fun aside, the fact of the matter is that you need to define a limit for the player's actions to an extent, and you already have the most basic example: there's a (small) cooldown between the player's attacks as opposed to allowing every click as a valid attack. it's the same for the guns in a shooter (at the very least there's a minimum fire interval).

from there on you can build up on it, by designing different limitations and actions. for example crouching in an FPS makes you smaller (harder to be aimed) but it also makes you move slower.

it's up to you to design how and where you would want to limit the player's actions, and how to make these interact with eachother (rock-paper-scissors)

 

 

 

Also, I ask that you guys talking about Chosker's game start a new thread or PM each other.

 

 I agree and that's why I initially said I didn't mean to advertise. however even if mine or Thaumaturge's game aren't Skyrim, I would've thought you to be interested in knowing how they work

Share this post


Link to post
Share on other sites
Sorry, "find" was a poor choice of words. I meant when I skip around in the video, it doesn't buffer properly. That player isn't friendly to slow internet connections.

I bit the bullet and downloaded the game, but there's no executable here and I see I need to download and install Blender to play it.
So, to anybody else who wants to try this: It's not even potentially dangerous, but you do need blender.

makuto,

I've only been able to see a couple seconds of gameplay in the video, but I agree that circling would help a lot. The animation issue is complicated, but as I understand you're going for a bit simpler gameplay, you might not want to represent sword swings too literally. A few variations in attacks and block regions would go a long way, though.

On blocking by the enemies, the simplest way to do it is block by default. Enemy uses a shield, you kick to knock them off balance and then time and aim an attack right before they can bring up the guard again. This would create a much more interactive experience, and isn't too complicated. Also, you can have them raise and lower their guard somewhat randomly as they circle, or before they attack, to let in attacks and interrupt their attacks.
I agree that, for what you're doing, you probably shouldn't have them respond to an attack by blocking, which could become frustrating if you want to deal with more enemies (which I assume you do, based on the presentation you linked to).

Share this post


Link to post
Share on other sites

A system with a progressive gamble payout  (like those Las Vega Slot machines)   where a progression of actions leads to a much better result, but with the risk of being interrupted/disrupted (And secondary actions/preparations involved to prevent that).

 

Unpredictable results/surprise can increase player interest (particularly with fancy optional visuals ???)

 

The player has the choice to do things simple (more certainty) or more complicated (with more risk but better reward).  Balancing between those paths to prevent loopholes will probably be a chore.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement