Improve fighting system brainstorming

Not about OpenMW? Just about Morrowind in general? Have some random babble? Kindly direct it here.
ezze
Posts: 513
Joined: 21 Nov 2013, 13:20

Improve fighting system brainstorming

Post by ezze »

In another thread we spoke about how simplistic is the fight system in Morrowind. I made this thread to collect ideas of to improve it as a mod in the post-1.0 future.
Fell free to share, but please try to think how doable is actually the idea. If a idea requires deep modification to the game it will be very difficult to implement and so probably worthless.
I am aware that devil is in the details, but having a rough idea of what is needed to make the mod you are thinking already helps.

To begin, one idea is to take inspiration from Daggerfall where the various kind weapon swings has different damage, chance to hit, and fatigue consumption.
This idea is probably easy to implement, as it requires to apply modifiers to existing information (ie, chance to hit and damage).

Another idea, and it exists already a mod implementing it*, is to associate special effect to determinate sequence of swings. Eg, "Horizontal slash, Horizontal slash, Thrust forward" would make a special shock based attack possibly consuming a bit of magika/fatigue.
This is also looks fairly easy to implement, you need a state machine that keep track of the slashes types and when the state machine reaches a well-known states the game applies the effect. It can be a problem allowing AIs to do the same kind of special attacks.


*sorry, I do not remember the name.
User avatar
johndh
Posts: 124
Joined: 25 Jan 2015, 18:20

Re: Improve fighting system brainstorming

Post by johndh »

Are you talking about improving the combat in Morrowind itself, or expanding the possibilities for other OpenMW games?

In my experience, nearly every fantasy combat game gets armor completely wrong. No matter how hard you swing, you will never slice through plate armor with a sword... and if you somehow have the superhuman strength to do so, your sword would likely break before the armor did. Knights carried things like warhammers, maces, and pollaxes for crushing armor, and daggers for stabbing into the gaps. If you want to defeat a heavily-armored opponent with your sword, you need to try something different. Different weapons (and their different attacks) should have different ratings against different armor types, so a mace wouldn't do as much damage overall as an equivalent sword but would have that damage reduced far less by armor than the sword would. Cutting mail with a sword would be fairly ineffective, but thrusting with that same sword might be pretty good (depending on the type of sword). This would add more variety to the game's combat by making the player approach fights differently based on the opponent, actually give a good reason to diversify your skills and equipment, and make it so that playing differently is actually rewarded.

Armor is also a layered thing (you don't just put a breastplate over your shirt and ride into battle), but that's a minor issue.

Hit points by themselves are just about the worst possible representation of human durability. Even worse, they're boring. Injuries should actually count for something. Dwarf Fortress probably has the best injury system I've ever seen, where individual body parts are tracked, a heavy blow to the chest can make it hard to breathe, opponents can be blinded or might bleed to death, etc. In OMW, this would provide a better experience for skillful players by giving them more control over a fight's outcome. It would also be good for stealthy characters by giving them the throat-slitting action they really want. :twisted: Instead of swinging wildly at whatever you can hit, try to crack heads, break wrists, slit throats, and so on. There's already a system for ongoing damage, reduced attributes, etc., so this would probably mean applying this system to attacks based on damage type and body part. For example, a slash to the neck might cause ongoing damage from bleeding, while an impact to the head might drain fatigue, and a heavy blow to the leg could cause knockdown. Combine this with my proposed armor changes above for even more fun. If you skip the gauntlets, expect to have your hands smashed.

Reach should be more important -- there's a reason why spears were the dominant melee weapon on battlefields for millennia all over the world and swords never really were.

Grappling would be fantastic, and another way of dealing with armored opponents, but that seems like a much bigger can of worms.

TL;DR: Different weapons and different attacks for different armor, and injuries should have bodypart-dependent effects.
Chris
Posts: 1626
Joined: 04 Sep 2011, 08:33

Re: Improve fighting system brainstorming

Post by Chris »

johndh wrote:In my experience, nearly every fantasy combat game gets armor completely wrong.
In addition to that, the differences between "light" and "heavy" armors are almost entirely artificial. Any armor worth its salt for protection is going to have weight to it, but even then it's still designed to be maneuverable in. No matter what you're wearing, your first line of defense in combat is always to avoid getting hit, dodging and parrying. Your armor determines what kinds of attacks you're better protected against in the case that it gets through, and it's for that reason that armor tended to be layered, so outer layers could protect against one thing and inner layers could protect against others.


As for me, one thing that's always bugged me about Morrowind combat (aside from the dice-roll random hits and blocks) is how you do the different attacks. Needing to walk left and right to chop, or forward and back to thrust, makes combat feel especially floaty, as if there's no weight or gravity to it. You press a button to start walking a certain way, then click your mouse to attack a certain way based on how you're walking. If you want to do the same attack over and over, you have to become a tap-dancer. Unless it's a downward slice, in which case you can't move which makes it awkward to go after a moving opponent with the attack you want.

Daggerfall's click'n'drag method works better, IMO, since it better connects you with the character's actions. In addition to needing to click to ready an attack, you needed to swipe your mouse to the side to do a sideways chop, or slide it forward to do a forward thrust, etc. Your hand/arm is imitating the motion you want your character to do. It also helps lock your focus while not having to lock you in place (you can't turn while dragging for an attack, though you can still move without messing up your attack strategy).
User avatar
Greywander
Posts: 119
Joined: 04 Dec 2014, 07:01

Re: Improve fighting system brainstorming

Post by Greywander »

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). I'd shy away from getting a damage boost from skill, otherwise your game can suffer due to HP/damage inflation.

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.

Now, for shields I'd almost say that you are always blocking (that's kind of the point of a shield, right?). When you block an attack, the damage comes out of your fatigue instead of your health. If you block a certain amount of damage over a short period of time, your shield will be knocked aside leaving you exposed to attacks until you recover your guard. The lower your fatigue gets, the less damage is required to knock your shield aside. Increasing your Block skill reduces the amount of fatigue lost when blocking and increases the damage threshold to knock your shield aside.

For attacking, I like Chris' click'n'drag idea. This could be extended using the alt attack and dual wielding, allowing you to parry or attack with an off hand weapon, or to attack with your shield. This would combine well with a more meaningful implementation of armor, allowing different types of attacks to work better against different types of armor.

Now, I'm no armor expert, but as far as I understand, armor is divided into a number of layers. Padding not only helps make the armor worn over it a little more comfortable, it also reduces the impact from blunt weapons. It does little against thrusts or slashes, though, not to mention arrows. Flexible armor like hard leather or chain mail would protect mostly against slashing, but would only give minor protection against thrusts and little protection against blunt weapons. Plate armor was virtually impervious to slashes and thrusts, although you could thrust into a weak spot and bypass the armor. Blunt attacks were a different story, and a good mace or warhammer could shatter bones even through plate.

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.

Then for armor layering: Padding reduces bludgeoning damage by a percent, and reduces slashing and piercing damage by, say, 1/10 of what it does for bludgeoning (so it helps but not much). Flexible armor reduces slashing damage a large percent, piercing damage by about half that, and does nothing for bludgeoning damage. Plate armor makes you immune to slashing damage, and reduces piercing damage by a flat amount (so a strong enough attack can penetrate), and gives a minor percent reduction to bludgeoning damage. However, plate armor also has limited coverage, and the more exposed it is the more likely an enemy can get in a hit (piercing only) that bypasses your plate armor entirely. This could either mean aiming your attacks to hit specific parts of the enemy, or a reimplementation of the random hit/miss mechanic, where higher weapon skill once again increases your chance to strike those weak spots. We could even have fancy animations where you poke them in an exposed spot.

To be clear, a fully armored character would be wearing plate armor on top of flexible armor on top of padding, although you could remove one or more layers if you wanted to.

What's that? Slashing weapons sound like they're underpowered against armored targets? Well... yeah, they kind of are. But that's why half-swording exists. This allows you to make piercing or bludgeoning attacks with a sword, making swords probably the most versatile (if not the most effective) medieval weapons out there. Really, though, you'd want a spear to keep yourself out of their range, or a dagger if you can get inside their range so you can stab them in the weak spots of their armor.

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.

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. Implementing all of the above would make different weapons more meaningful, but as things are now there's really no difference between one weapon and another aside from damage output. I'd rather have more skills for other things (crafting, for example) than a bunch of redundant weapon skills. Same with armor; just have one armor skill that reduces the speed penalty of armor and the durability loss for all of your equipment, not just armor.

Whew, that's a lot of text. I realize it might not be practical or possible or even a good idea to implement everything I said, but hopefully there's something useful in there.
Chris
Posts: 1626
Joined: 04 Sep 2011, 08:33

Re: Improve fighting system brainstorming

Post by Chris »

Greywander wrote:Now, for shields I'd almost say that you are always blocking (that's kind of the point of a shield, right?). When you block an attack, the damage comes out of your fatigue instead of your health. If you block a certain amount of damage over a short period of time, your shield will be knocked aside leaving you exposed to attacks until you recover your guard. The lower your fatigue gets, the less damage is required to knock your shield aside. Increasing your Block skill reduces the amount of fatigue lost when blocking and increases the damage threshold to knock your shield aside.
I'd prefer timed blocking, actually. If you hold up a shield, you're telling your opponent where else to hit (hint: where your shield isn't). Timed blocking is more of a parry-with-a-shield mechanic, and also allows the ability to tweak the behavior with improved skill (making the timing less sensitive, rather than simply more damage reduction). Tower shields are of course different, since they are designed more for full-body protection so you can just hold it in front of you, but they come at the cost of being more cumbersome so you'll have a harder time attacking while you have one.
User avatar
Greywander
Posts: 119
Joined: 04 Dec 2014, 07:01

Re: Improve fighting system brainstorming

Post by Greywander »

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. I know that playing Dark Souls I would keep my shield raised almost all the time, only lowering it when I needed to regenerate stamina. It makes more sense to me to have the shield raised all the time, and repurpose the "block" button to something else, like a shield bash.

There should, of course, be a number of tactics for getting around a shield. (A solid mace strike to a shield runs a good chance of breaking the shield arm.) And perhaps the shield itself only provides limited coverage, with that coverage getting wider as your skill gets higher. 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.

I dunno, is there anyone here that's actually studied medieval European martial arts that might be able to chime in?

I guess there's also the question of realism versus interesting gameplay. For example, a mechanic that staggers an enemy if you raise your shield just as you're getting hit is interesting, but not really that realistic as far as I know. As much of a simulationist as I am, gameplay needs to be fun first, and sometimes it's better to ignore realism and focus entirely on fun and interesting mechanics.
User avatar
DestinedToDie
Posts: 1181
Joined: 29 Jun 2015, 09:08

Re: Improve fighting system brainstorming

Post by DestinedToDie »

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.

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.

In Dork Souls, certain weapons would do more fatique damage to shields than others. You would never fatique exhaust a shield block with a simple dagger. However an axe would blow an enemy shield away in 1 swing. Also, you could not swing your weapon if your fatique was too low. Could tie this to weapon mastery, how much fatique your weapon swings take. Shield mastery - how much fatique damage you take on block. Make weapon swings and blocks more calculated. Finally, a parry with shield, that if executed correctly, stuns opponent for two seconds (or however long the corresponding animation plays).

I would still tie weapon mastery with weapon damage, but not scaled too high. D scaling in Dark Sauce speak.
User avatar
Demose
Posts: 11
Joined: 05 Feb 2016, 11:29

Re: Improve fighting system brainstorming

Post by Demose »

Greywander wrote: I dunno, is there anyone here that's actually studied medieval European martial arts that might be able to chime in?
I've never studied medieval European martial arts but I know where to look. http://www.thearma.org/manuals.htm
ezze
Posts: 513
Joined: 21 Nov 2013, 13:20

Re: Improve fighting system brainstorming

Post by ezze »

It is nice and all you can showcase your knowledge of medieval equipment and fights. But remember the second paragraph.
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.
And even if it is done, there is the risk that is not fun. If you ever fought with sticks (e.g., did some Eskrima) you'll know there is no "parrying" there are at least six different way to parry depending where the attack come from and most of them also have a attack with the other hand/stick. However, I hardly believe anyone want such a complexity in the game. The trick is indeed finding the sweet spot.


Secondly, all the realism health-related issue like bandage are usually out of context. While you can implement such mechanics usually in the game it simply ends up in casting a Healing spell.
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... I am not sure how implement body aware hits, but once done those are simply non-stacking game effect. This is probably possible to implement.

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?

Besides, don't forget the fantasy part; it is not medieval Europe it is Vvardenfell. For example, at the time I really liked the mod I was speaking in the beginning where you cast special "spells" with weapons. If a powerful wizard can do all kind of nasty stuff, a powerful warrior should able to do other different nasty stuff.


Honestly I don't remember how it works in Morrowind. But I like the blocking in Oblivion and I like the idea appeared in this thread of hitting the Fatigue more than Health. After all with lower fatigue everything become less effective.
raven
Posts: 66
Joined: 26 May 2016, 09:54

Re: Improve fighting system brainstorming

Post by raven »

Greywander wrote: Now, for shields I'd almost say that you are always blocking (that's kind of the point of a shield, right?). When you block an attack, the damage comes out of your fatigue instead of your health. If you block a certain amount of damage over a short period of time, your shield will be knocked aside leaving you exposed to attacks until you recover your guard. The lower your fatigue gets, the less damage is required to knock your shield aside. Increasing your Block skill reduces the amount of fatigue lost when blocking and increases the damage threshold to knock your shield aside.
I think it will depend on the size of the shield. In close combat you ideally won't want to block, but use the shield to deflect or jam the actions of your opponent. Smaller shields allow a more offensive approach here, using the shield actively for parries and hits.
Post Reply