Improve fighting system brainstorming

Not about OpenMW? Just about Morrowind in general? Have some random babble? Kindly direct it here.
Nivim
Posts: 19
Joined: 10 Nov 2014, 15:07

Re: Improve fighting system brainstorming

Post by Nivim »

I am uncomfortable that I inadvertantly inspired one of these threads, where people spend a lot of effort arguing arguments and having ideas, but at the end the ideas are anything but clear and concise.

Perhaps it would help if people marked idea batches as either aiming for realism (like simulation games) or aiming for gameplay (like most games)?
It's usually not practical to go both ways at the same time. Dwarf Fortress was built up over more than 10 years, remember, and we're looking for the kinds of changes to OpenMW combat that could be written in a couple weeks, or idealy a few afternoons. Longer than that and we start running into the coherency problems common to open-source projects, and we could easily end up with an unbalanced and inconsistent mess.

Maybe before you post a mechanic, imagine how it could be awful and more trouble than it's worth, then refine it a bit and see if it's gotten harder to imagine it like that. Repeat as you find more reliable formulations, then post it so other people can see how it could go wrong instead.
User avatar
DestinedToDie
Posts: 1181
Joined: 29 Jun 2015, 09:08

Re: Improve fighting system brainstorming

Post by DestinedToDie »

I feel like these threads always go nowhere. I would wait at least until post 1.0 dehardcoding to see what combat possibilites that opens up. However here are my more concise thoughts:

1. Player cannot attack if he has too little fatique. This would be very similar to how the player can´t cast spells if they´re out of magicka.

Lets say a weapon swing takes 15 fatique but the player has 3. He will have to wait until fatique regenerates back to 15 until the game allows to swing.

2. Weapons always hit, just like spells.

3. Weapon skill level affects how much fatique is drained on each swing. (higher levels, lower drain) The formula could be something like Fatique drained = (25/weapon skill) * weapon weight

4. Weapon skill level affects damage in a similar way to strength attribute. Formula: Damage = weapon base damage * [(weapon skill/100 + strength/100)/2]

Just let me stop here and say that these things so far require no reworking of animations, this system could even be used when playing Morrowind. I can´t consider myself a programmer, but this seems actually simple to code. 4. ought to be possible to change in OpenMW-CS after dehardcoding.

I think with the 4 changes combat will be less frustrating and a more strategic experience where you will always hit the target, but also be mindful of how much you run around, how much you jump, how many restore fatique potions you want to carry, if you want to make 1 click swings or charge your attack to max. It will also make hand-to-hand a lot more viable than before.
ezze
Posts: 513
Joined: 21 Nov 2013, 13:20

Re: Improve fighting system brainstorming

Post by ezze »

This threads go nowhere because people start arguing in needless details. As I mentioned at the beginning, try to think what it does imply to implement the idea. You don't have to be a programmer, you might miss details, but it is better than nothing.

Fortunately I see some sense coming back.

The dehardcoding is a moot point because WE CAN DO IT. It's possible we need to send a patch before making the mod, but it is not a big deal conceptually.
It's not Bethesda code anymore, it's free and if you cannot make your mod for a trifle you can post a feature request or send a patch. An example from my experience: I made a mod to increase skill on failures instead of successes. In Morrowind I had to do strange stuff (e.g. detect failure via sounds), here it's a simple patch that add more events. Perhaps at the moment OpenMW does not detect failures, but if you find how it detects successes I imagine it's easy to add.

About the "coherency problems common to open-source projects," how long did you worked with closed source projects? It's a common problem everywhere. However, there is a difference here: those are mods and you are not forced to use all of them or at all. I am gathering ideas to inspire mod authors (including me).

For example, I am intrigued by DestinedToDie insistence on the "always hit" thing. I personally wold never thought of that because I never seen it as a problem.
User avatar
silentthief
Posts: 456
Joined: 18 Apr 2013, 01:20
Location: Currently traversing the Ascadian Isles

Re: Improve fighting system brainstorming

Post by silentthief »

Nivim wrote:I am uncomfortable that I inadvertantly inspired one of these threads, where people spend a lot of effort arguing arguments and having ideas, but at the end the ideas are anything but clear and concise..
^ ^ ^ This is most likely going to be the truth. You are most likely not to reach a consensus, as everyones opinions will differ -- but that is ok, and heres why:

Look to the Mods made for Vanilla (and MWE or MWSE), there were mods that changed combat to include chopping off limbs (which I think is a cool idea -- but how to implement? The armor system takes hits at specific locations, but the character does not -- just loses HP), mods that did something like the 'focus' mechanic in the matrix games, meaning that the action slowed way down, but you still moved fast.

Another thing not really discussed yet was that there are MW/MWSE mods to coordinate your companion in combat -- by modifying thier strongest skill level to use the same attack as you (ever played morrowind and shot an enemy with a bow, only to have your companion charge off into the way of any follow up shots?).


I think that once the great dehardcoding happens, you will see a 2nd age of modding. We will attract old school veteran modders and new people as well. This will open the can of worms... but in a good way

What do I think would be the best way to improve fighting??? (these are examples of ideas):
A rather large mishmash, where stealth is rewarded with attacks of opportunity (like the head snap in the chronicles of riddick) but if you are detected then you have to fight smart, using your shield to defend (which holding up takes your fatigue down) and as offense (shield bashing could stun/damage an opponent, bash while blocking and you could knock the sword arm out of the way for an easier attack). Someone who has gained a high enough level of mastery would be a real challenge to land a hit on, so you could have acrobatic dodges like the game/movie "crouching tiger hidden dragon"

add to that the idea to throw spell effects in the mix (so you specialized in longsword, and elemental fire spells -- you can cast upon swing??)

Just tossing around ideas, folks.

ST the tosser
User avatar
johndh
Posts: 124
Joined: 25 Jan 2015, 18:20

Re: Improve fighting system brainstorming

Post by johndh »

To combat any potential claims of not being specific enough, here's a bullet list aimed at adding complexity and interesting decision-making, with an eye toward realism.
  • Hit placement and detection: instead of random hit/miss based on skill and fatigue, detect whether the geometry of the weapon (or fist) passes through the geometry of the target to determine hits, and track which body part is hit.
  • Multiple damage types: slashing, crushing, piercing, etc.
  • Wounds with effects based on hit location (body part), damage type, and damage amount
  • A list of pre-defined body parts for non-bipedal enemies, and vertex groups assigned to these body parts. Expect this to be tedious if the assets don't already have conveniently-named vertex groups. This would include some of the same parts as bipeds, and also more exotic ones like wings.
  • Multiple armor types: padded, flexible, rigid, etc., applied to armor items as well as creatures (so a mudcrab's top would be rigid while its face might be unarmored). This is separate from armor value, so chitin might have the same rigid type as steel plate but a lower value. This could be very broad (padded, flexible, rigid) or more granular (leather, mail, chitin, bonemold, scale, metal plate, etc.).
  • Weapons with different armor piercing values for different attack types (i.e. slash vs. thrust vs. chop). A longsword slash might be good against padded armor, while its thrust would be good against padded and flexible, and a mordhau with the pommel would also be somewhat effective against rigid.
  • A less interesting but much simpler approach would be to simplify it to armor skill types vs. weapon skill types, so e.g. Long Blade is good against Unarmored but bad against Heavy Armor.
ezze wrote: Think how to implement it in OpenMW, if requires to reinvent animations and a totally new hit system my guess is that it won't happen.
Well not with that attitude. ;) Animations aren't all that excessively hard when compared to a lot of other things. I find them much easier than textures. We're already redoing them for the Example Suite.
I hardly believe anyone want such a complexity in the game.
It sure sounds like a lot of people in this thread want a lot more complexity than what we currently have... which is basically none at the moment. Morrowind combat is dull because of its simplicity, especially for fighters. Regardless of what you're carrying or who you're fighting, every fight is basically the same. So no, nobody wants six different kinds of parries, but some flavor, variety, and skill-based rather than number-based difficulty would be nice.
For example, about different part of the body damage I'd go for middle ground: health works as usual, but depending where you are hit you get temporary (1 minute or so) disadvantage. As long it applies also to enemies it should be fine, examples include: partially blinded if hit in the head, slowed down if hit in the legs, weaker if hit in the arms.
Yeah, that's pretty much what I'm getting at. I'm not talking about an in-depth medical simulator that tracks your character's heart rate, blood pressure, and glucose. Bandaging, splinting, suturing, shock, etc. are more suited for a hardcore survival game/mod... which I would totally go for (I'm getting excited just thinking about it), but is beyond the scope of what I'm suggesting currently.
Similarly about the different kind of armors, of course those have different effects. But in your games do you really want different sets of armors depending on the enemy you face? Seriously?
No, you have that backward. If you're fighting a heavily-armored knight, you don't want to use a spear. If you're fighting a bear, you don't want to use a hammer. Nobody is suggesting you change your armor depending on your opponent. You should wear the best armor you can afford.
Besides, don't forget the fantasy part; it is not medieval Europe it is Vvardenfell.
Steel is still steel. Just because there are elves and wizards doesn't mean other things should be nonsense, which they currently are.
If a powerful wizard can do all kind of nasty stuff, a powerful warrior should able to do other different nasty stuff.
Do you mean like special moves in the style of a fighting game? That's definitely a different direction than I'm proposing, but could also be fun if done well.
DestinedToDie wrote:I don´t think the aged Daggerfall attack mechanics are going to be very fun in a modern game. I would rather move forwards than backwards.
I haven't played Daggerfall, but it sounds very similar to the swinging mechanics in Arena, which I found to be surprisingly engaging. The actions of the character mirror the actions of the player, which is cool and intuitive.
Greywander wrote:You might think that, but I suspect this is largely due to video game conventions, it's just what you're used to doing. In real life you'd be a fool to leave your guard open and only raise your shield when your opponent attacks you.
From what I've seen, it seems to be a combination. Just having your shield in front of you limits where your opponent can attack, but you obviously move your shield if you see their spear coming for your face.
Maybe there'd be a way to direct your attacks (high or low, left or right) to strike where their shield isn't protecting them, and there'd be a way to protect different areas of yourself with your shield.
Well, you already have the targeting crosshairs. :) Aside from that, crouching to designate a low attack would be good.
I dunno, is there anyone here that's actually studied medieval European martial arts that might be able to chime in?
My martial arts experience is in jiu-jutsu and a little kickboxing. My HEMA knowledge is very much an armchair perspective that I've gleaned from actual experts and sparring videos. While I haven't done it myself, I can usually back up what I'm saying with someone who has. :)
Greywander wrote: <snip />
I'm on board with pretty much all of this.
First and foremost, let's do away with the random hit/miss mechanic. If an attack connects, it's a hit. What I'd suggest instead is that increasing your weapon skill allows you to attack faster, perhaps not only increasing the speed of the attack animation but also cutting off frames from the end (a less skilled fighter is going to over swing, while a more skilled fighter has better control of their weapon and can recover faster after a strike).
+1
I'd shy away from getting a damage boost from skill, otherwise your game can suffer due to HP/damage inflation.
I think this depends on the health/damage/wound mechanics. A skilled fighter would surely land better hits than a novice, all other things being equal, because of better edge alignment, hitting with the right part of the weapon, better follow-through, etc., but it should probably increase more slowly than health/defensive abilities do, in order to make higher-level fights last longer and make them feel more epic than low-level fights.
Next, I would add an alt attack button (default to right mouse click; menu goes to tab or something). If the player does not have a shield equipped but has a melee weapon, then the alt attack becomes a parry. For bows, holding alt attack nocks an arrow and main attack shoots (release alt attack to de-nock without shooting). For crossbows, hold alt attack to reload.
I support an alt-attack button. I'm not committed to any one particular expression of it, though. Parrying seems like a good use. So does shield blocking, or various offhand uses. Maybe an alt-version of both right and left buttons, so you could have two possible options per hand. A sword-and-shield user might have attack and parry with the sword, and block and bash with the shield, while a spellsword might have attack and parry with a weapon, and two different spells in the offhand, and a mage might have three spells and a block or grab.
So here's what I suggest for armor: First of all, all armor gives full protection regardless of your skill. Armor also slows you down, but increasing your skill will reduce the speed penalty (up to almost entirely eliminating it). Increasing your skill also reduces the durability loss of your armor.
I would actually be in support of removing all armor skills completely and just have a Dodge skill, but otherwise this would be the approach I'd like.
But that's why half-swording exists.
Somehow I knew this was going to be a Skallagrim video. :D Are you also a fan of Matt Easton (Schola Gladiatoria) and Ian LaSpina (Knyght Errant)? Both are nigh-endless fonts of knowledge on their chosen subjects.
Now, as for damage, I second getting rid of health entirely. Have damage come directly out of attributes, with, for example, 0 Endurance meaning death. I would also add in "wound" debuffs, like lacerations that need a dressing and bandages to stop bleeding, broken bones that impair your ability to do certain actions, or make you unable to do them at all, and organ damage that causes other nasty side effects. Magic and potions, then, instead of restoring hit points, would heal cuts, mend bones, and repair organs. This is actually something I've already put a bit of thought into, as I'd like to make my own OpenMW game that doesn't have hit points.
Most of this I agree with, except what Destined already pointed out: it just turns Endurance into Health by another name. I think Health is a good thing to have even if it isn't 100% realistic, mostly as an abstraction of blood loss and a way that the player can see at a glance how well they're doing. Of course, a battleaxe to the bare throat should still wreck a person in short order.
Now, on the subject of skills, I'd actually like to reduce (melee) weapon skills down to one single weapon skill, or at least divvy them up by fighting style rather than weapon.
This is something I've thought about as well. I kinda like the idea of having two, though: hand weapons (for lack of a better term) and pole weapons. I'm not speaking from direct experience, but using a spear or halberd just seems like a very different animal from swinging a machete. Additionally, a drastic change to a fighter's skills would need a corresponding change to a mage's skills, or else the mages would find themselves at a disadvantage. I'd be down for a complete skill overall, if such a thing were discussed.
User avatar
AnyOldName3
Posts: 2668
Joined: 26 Nov 2015, 03:25

Re: Improve fighting system brainstorming

Post by AnyOldName3 »

As for the whole random chance of attack success thing, in my mind, I view it as simulating if you hit your target in an armoured part or a fleshy part. If we're going to be splitting every mesh into a bunch of new vertex groups, then we could label plates and joints/gaps on an armour piece differently (e.g. in Skyrim, so probably MW too, there are a bunch of armours which have metal plates in some places, leather or fur in others, and then total gaps elsewhere). This gives two possible mechanics:
  • If something hits a plate, use the full armour modifier to block the attack. If a weaker bit is hit, either do some fixed ratio of the armour rating, or allow armours to specify a second armour type and rating for the weaker bits. This could also be expanded to allow full damage to be done if bare skin is hit.
  • As above, but expand the collision meshes a little to make the weak points easier to hit, and then use a random number to determine if the weak points were actually hit, or just the thick bits. This gets around the lack of precision that comes with using a mouse instead of a real sword.
  • As above, but use the weapon skill instead of randomness.
  • As above, but use both randomness and weapon skill to calculate successful weak point hits
This gets around dodgy stuff like shooting someone through the eye hole of a helmet with an arrow, and having them take the same damage as if the top of their helmet took a glancing blow. It also could make dodging more important with certain armours, adding interesting gameplay mechanics when modded bikini armours are used.

This seems to me like a lot of work, but in an ideal world, someone would be remodelling all the vanilla armours anyway now OpenMW can handle the extra polygons which the vanilla engine couldn't, and the changes to meshes would be far simpler than that. The hit detection changes are complex, but I don't imagine infeasible given that we already have to detect hits on every actor in the scene. As for the last three bullet points, if one was implemented, then the other two would be comparatively small changes.
Chris
Posts: 1625
Joined: 04 Sep 2011, 08:33

Re: Improve fighting system brainstorming

Post by Chris »

AnyOldName3 wrote:As for the whole random chance of attack success thing, in my mind, I view it as simulating if you hit your target in an armoured part or a fleshy part.
But even if you hit an armored part, it's still going to do something. Minor actual damage, but it's still contact that will quite likely help take your opponent out of the offensive. It'd make no sense for unarmored, or for shield spells, which have equal covering (or lack thereof) all over. Having a damage range for this kind of thing is better than a pure hit-or-miss, but currently MW's weapon damage range is purely a function of how long you hold the attack button, with no randomization (tap the attack and you'll always get the lowest, hold it and you'll always get the highest).
aesylwinn
Posts: 243
Joined: 14 Dec 2015, 20:30

Re: Improve fighting system brainstorming

Post by aesylwinn »

I think it would be cool to base the amount of damage off of where and how the weapon hit. Imagine having layered armor. Going off the idea of having armor that offers different protection against smashing/piecing/slashing, this would reward the player for targeting the weak points. The angle of attack and momentum could be taken into account and scale the damage so that glancing blows are just that.

Implementationwise, texture/mesh lookups and ray tracing at the start of an attack should be all that are required.
User avatar
Greywander
Posts: 119
Joined: 04 Dec 2014, 07:01

Re: Improve fighting system brainstorming

Post by Greywander »

I think there might be two different discussions going on here: one about how to improve Morrowind combat, and another on how combat could be handled better in a brand new OpenMW game. These are two different questions, as some of the things I'd like to see done would be an awful lot of work to implement into Morrowind just because you'd have to go through and change so much. If you're starting from scratch you can build the game with a certain mechanic in mind, whereas trying to port a game designed around one mechanic to use a completely different mechanic, while not impossible, would be a lot of work.

Ultimately, I think both topics are worth exploring, as one allows us to touch up Morrowind and make it a more enjoyable game for players both new and old, and the other helps us to brainstorm features that could be implemented into OpenMW that could be used to make brand new games.
DestinedToDie wrote:Also if you switch HP to Endurance, then Endurance is just going to be your HP, so you still got HP. I personally will keep HP around.
OBJECTION! Your Honor, if I could bring the court's attention to the exact words I used in my previous statement:
Greywander wrote:Now, as for damage, I second getting rid of health entirely. Have damage come directly out of attributes, with, for example, 0 Endurance meaning death.
As you can see, I said nothing about switching hit points with Endurance, except as far as a death condition. Rather, what I was suggesting was to have damage dealt directly to attributes, plural. What my opponent seems to have forgotten, your Honor, is that attributes directly define the abilities of a character, and as your attributes decrease due to damage, so will your combat ability. Having your Speed reduced as the result of an arrow to the knee leg, or having your Strength and Agility reduced when your arm gets shattered by a mace are both far different from traditional RPG combat systems using a hit point mechanic where a loss of hit points results in no loss of fighting ability.

(Well that was fun, but now back to normal discussion.)

Now, an alternative would be to have your current health influence your abilities in some way, but why not cut out the middleman? In fact, I've played with the idea of having a unified resource pool that acts as a combined health/magicka/fatigue pool, with damage also inflicting debuffs that reduce attributes. Yes, this means that things like running, jumping, attacking, and casting spells would "damage" you. Puts a new twist on casting from HP. I'm still not sure if it's a good idea, but I'd like to try it out.

Moving on, how about I make a bullet list of things that could be implemented into Morrowind without too much trouble?
  • Remove the random hit/miss mechanic and replace it with faster attack speed at higher skill/Agility.
  • Make combat much more dependent on fatigue e.g. lower fatigue reduces attack speed and weapon damage.
  • Implement a series of damage debuffs (bleeding, broken bones, damaged organs, etc.) based on the type of weapon/spell used, the hit location, and the amount of damage.
  • Re-purpose health to indicate resistance to poison, disease, and damage debuffs. (I.e. literal health.)
  • Morrowind's light/medium/heavy armor system is unfortunately not easily convertible to a padded/flexible/rigid system, therefore:
    Armor gives full damage reduction, but reduces Speed and increases fatigue loss based on the armor weight. Armor skill reduces these penalties.
  • Perhaps add additional benefits to different armor types, e.g. Heavy Armor gives a chance to avoid all damage from an attack.
  • Make Unarmored and Hand to Hand actually viable (so we can play as monks).
  • Allow the player to easily perform different types of attacks, each of which have their own strengths and weaknesses.
  • Add an alt attack button for use with dual-wielding and using a shield.
  • Change the spellcasting system to either Oblivion or Skyrim style (Oblivion style would be closer to vanilla Morrowind and easier to implement, Skyrim style would allow spell dual-wielding but spells would replace a weapon/shield).
I think there's a lot of cool things we could do in a brand new game, but we're limited on what we can do in Morrowind without having to go in and edit large amounts of data (for example, converting the armor to a padded/flexible/rigid system would probably require editing each individual armor piece).

Weapons are easier to analyze, as we can assume most weapons do piercing damage on a thrust (unless the damage is low, in which case it's probably bludgeoning), spears and blunt weapons do bludgeoning damage on a slash or chop (unless the damage is high, in which case it's probably slashing), while all blades and axes do slashing damage on a slash or chop. Not sure if you'd want to make a distinction between "slashing" (swords) and "splitting" (axes), although perhaps that's really just a distinction between a slash and a chop.

And actually, you don't really need to analyze damage types if we don't have a more complex armor system; just say the thrusts cause organ damage, slashing causes bleeding, and chops break bones. Thrusts/ranged attacks to the limbs would have to be handled differently of course, since there aren't any vital organs there. And then there's magic damage...
Chris
Posts: 1625
Joined: 04 Sep 2011, 08:33

Re: Improve fighting system brainstorming

Post by Chris »

Greywander wrote:
  • Make combat much more dependent on fatigue e.g. lower fatigue reduces attack speed and weapon damage.
I'd only do this if fatigue itself was much harder to get low. Morrowind can already get pretty annoying with fatigue affecting your ability to act efficiently while also running out incredibly fast. Especially if you're traveling on foot, since walking speed being so low. Perhaps if the fatigue system was changed to be more like Daggerfall, where you start out with a lot of fatigue points which slowly run out over the course of a day or two, and doing strenuous activities like fighting and running make it run out a bit faster, and the only way to get it back is by sleeping. That way you don't end up a sitting duck because you ran down the street and into an enemy (I'd like to think our characters are a bit more fit than that), but it's still an important resource to manage.
Post Reply