Jump to content

Realism in combat?


Xenavire

Recommended Posts

Put simply, everyone complains about the number of arrows sticking out of a) NPC's and b) themselves, after even one short combat involving bows. Other people complain about hand to hand being useless.

 

I have seen (and tried) many, many mods, and the only ones that fix the issue, create new issues (mainly balance).

 

 

An example of this is almost any given archery mod - they give a flat damage increase. This is done either by increasing the damage of the bow, the arrows, some complicated formula involving your archery skill, or any combination of the three.

 

However buffing the damage usually makes melee weapons sub-par, and giving a global damage increase also causes issues.

 

So we come to the idea part of this long and boring rant-like post.

 

Bleeding damage. Slows. I am sure I have seen something like this before, but I can't be sure. But I think it might be the answer to the issue, if applied correctly. So bear with me.

 

It is a known real-life fact that if you get cut, you bleed. (Duh.) But the game only simulates this by pure damage. So even the most badly wounded and heavily "bleeding" foe just keeps on swinging like a man possesed.

 

But what if they couldnt? What if they slowly took a little extra bit of damage, and moved slower for a short time?

 

This is what I propose. That every weapon in the game gives some form bleed and slow. (For hand to hand a bleed might not work, but a longer slow would fit well with the fatigue damage.)

 

The question is how, really. Should it be done by weapon skill? Weapon damage? How big is the bleed? How long is the slow?

 

  • Bows are powerful, they should have very short slows, and meduim/high bleeds.
  • Blade weapons should be the middle point, average bleed and average slow.
  • Blunt weapons should be similar to blade, but need a lower bleed and slightly longer slow.
  • Hand to hand should be little or no bleed, and long slow.

 

There also should be slight differences to one hand or two hand weapons, but I figure attack speed alone should be enough.

 

It would be great if someone took on this task. And discussion would be a good idea, as often one persons idea has many flaws.

Link to comment
Share on other sites

Haha, you know full well I am a greenhorn, and only have a recently uploaded beta of a mod you helped code.

 

That said, with enough time and effort I might be able to do this myself, but as I mentioned, I would love some discussion at the least. While it might seem like a good idea to me, I may have missed something very obvious that would make it impossible to balance. (For one example, I haven't taken into account enchanted items.)

 

I also have no idea how to script a slow. I can't (off the top of my head) think of any modifiers that handle player/npc speed.

 

Not to mention this would have to work for NPC's as well, something outside my expertise right now.

 

That said, I could probably slowly make some makeshift scripts for a demonstration...

Link to comment
Share on other sites

Luckily I just heard of a modifier the other day...

 

From the OBSE Command Documentation:

 

ModPCMovementSpeed - applies a positive or negative modifier to the player's speed attribute as used in calculating his movement speed while swimming, walking, or running. The actual attribute is not modified, but movement calculations use the attribute value plus the modifier. Positive modifiers well above the maximum value of the speed attribute are permitted and effective; minimum speed including the modifier is limited to zero.

(nothing) ModPCMovementSpeed modBy:float

 

GetPCMovementSpeedModifier - returns the current modifier applied to the player's speed for use in movement speed calculations. Because multiple mods may change the modifier this command returns the sum of all calls to ModPCMovementSpeed.

Link to comment
Share on other sites

That is a large part of the puzzle indeed, but is there a modifier for NPC speed? (Although, this might be acceptable on it's own... You apply a slightly heavier bleed to an enemy than you would to the player, but the player gets a slow along with thier damage, while the NPC doesn't... Making for challenging but rewarding combat.)

 

My only concern, if from the description it LOOKS like it only accepts positive integers, making reducing speed by a set % impossible, right? Because how it looks like this, it looks like it is no movement (a value of 0), normal movement (value of 1) and accelerated movement (anything above 1).

 

If I misunderstand how it works though, then it could well be a big chunk of the code on it's own... Just setting a value for each weapon type/duration of the slow would be the hard part for this section of code.

Edited by Xenavire
Link to comment
Share on other sites

Positive and negative integers are permitted ;)

ModPCMovementSpeed - applies a positive or negative modifier to the player's speed attribute

 

 

As for affecting NPCs, just reduce their speed. That is effectively what ModPCMovementSpeed does, only it does this invisibly:

movement calculations use the attribute value plus the modifier

 

You don't have to worry too much about setting it too low. Even if Speed is set to a negative value, it still registers as 0.

Link to comment
Share on other sites

Ugh, my brain has gone on vacation. I can't wrap my head around this right this second, so I think I will try and tackle it later this week.

 

Still unsure how I am meant to modify NPC speed, and scripting bleeds should be interesting to do alongside that.

 

When I can focus better, I will give this a shot, for now though anyone can freely take a shot at this themselves.

 

Although, mechanics side, I am personally going to go by ability skill (blade/hand to hand/blunt/marksman) to set up how much each slow/bleed is worth. Only undecided on how often I should break those up (every 25 like vanilla, every 20, every 15? What is too little, what is overkill?)

Link to comment
Share on other sites

If you use an OBSE Event Handler, you should be able to modify the target's speed attribute whenever they are hit. That will slow them down. You could use the same thing on the player, or you could use the modifier I mentioned to make the effect completely invisible.

I know I keep mentioning Event Handlers, and you might not know exactly what they are or how to use them. The best way to learn is just to dive in and give them a try yourself, then get some advice on where you went wrong and why. After 2, maybe 3 tries, you'll get it ;).

 

The way I solve the level problem is to make every level count. Instead of suddenly gaining a large boost in your effectiveness after 20 or so levels, I find a way to make effectiveness increase alongside the skill, usually by graphing it and applying the formula in a script that runs once every 5 minutes or so. It's a technique I apply to a lot of things, but it's effective.

Link to comment
Share on other sites

Haha, talk about pushing me in the deep end! I will have to see about trying some of this later today, or in the weekend if time becomes an issue.

 

I just hope this endeavour is worth it, this sounds like it's going to be a lot of work. Then again, my wierder idea has a few D/L's and it's still in beta, so this should fare pretty well.

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...