Jump to content
The Dark Mod Forums

TDM Combat


Sotha

Recommended Posts

This thread can also be used to discuss about TDM combat overall.

 

I just noticed there is a combat difficulty setting in the options. What does it do exactly? I didn't find any info on it in the wiki.

 

I've disabled autoparry and nowadays I think the AI is a bit too easy to beat in one-on-one melee. I also can cycle through the melee trainer in the training mission without auto-parry on. Hopefully the melee combat option can be used to increase the challenge.

 

The easiest way to winning a melee is the thrust attack. It seems really easy to hit AI in the head and they almost always go down in a single hit. Usually when they rush at you with their sword raised you can kill them with a single thrust. Actually the thrust attack is so powerful that there is not much point in using the other attacks. Is this intentional?

 

Also it would be nice to have a bit more variety in the sword-vs-sword clashing sound. It seems like there is only one or two very similar sounds for that at the moment.

Clipper

-The mapper's best friend.

Link to comment
Share on other sites

This thread can also be used to discuss about TDM combat overall.

 

I just noticed there is a combat difficulty setting in the options. What does it do exactly? I didn't find any info on it in the wiki.

 

I've disabled autoparry and nowadays I think the AI is a bit too easy to beat in one-on-one melee. I also can cycle through the melee trainer in the training mission without auto-parry on. Hopefully the melee combat option can be used to increase the challenge.

 

The easiest way to winning a melee is the thrust attack. It seems really easy to hit AI in the head and they almost always go down in a single hit. Usually when they rush at you with their sword raised you can kill them with a single thrust. Actually the thrust attack is so powerful that there is not much point in using the other attacks. Is this intentional?

 

Also it would be nice to have a bit more variety in the sword-vs-sword clashing sound. It seems like there is only one or two very similar sounds for that at the moment.

 

A single thrust? They're not that easy for me I'm afraid. lol

Link to comment
Share on other sites

I find combat to be just right at the second hardest difficulty. I never bother trying to parry, but dodging in and out I can kill a single light guard and usually only get hit once. If they have good armour then I'll probably take two hits on average. More than one guard at a time is usually a death sentence.

 

A single thrust to the head should not kill an alerted guard, however, unless you're on easy.

Link to comment
Share on other sites

If you want to "fix" it... get rid of the sword altogether. That'll be quick and done with.

Why would you want to do that if an author could instead just decide not to include the sword for increased difficulty? Unless you were joking... I can never tell! wacko.gif

 

I think the combat difficulty is mostly fine, maybe a little too easy to land a killing blow to the head (edit: even on hardest difficulty BTW). The main change to combat I'd like to see is additional parry animations for the enemy rather than just standing there or charging during a fight, but I know animators are hard to find so this will be the last time I mention it, honest! biggrin.gif

Edited by Midnight
Link to comment
Share on other sites

Why would you want to do that if an author could instead just decide not to include the sword for increased difficulty? Unless you were joking... I can never tell!

 

Well, I'm being serious, but not really expecting to be taken serious... :laugh:

 

So I weigh in brusquely and heavily... all the while, somehow, hoping/trying to be dismissive towards the issue but not intending to be dismissive or rude to the raising of the issue (or any issue).

 

The reason "why" I would want to get rid of the sword is all about what I said just before that: it's about something that is far-removed from the gameplay I look for in TDM/Thief; (therefore and +) I would hate to see any time spent messing with it, at least right now, as there are other issues I would hope can be addressed instead.

Link to comment
Share on other sites

I find combat to be just right at the second hardest difficulty. I never bother trying to parry, but dodging in and out I can kill a single light guard and usually only get hit once. If they have good armour then I'll probably take two hits on average. More than one guard at a time is usually a death sentence.

 

A single thrust to the head should not kill an alerted guard, however, unless you're on easy.

 

I have the combat difficulty on the default setting, which is normal if I remember correctly. The city watch guards for example always die from a single face thrust.

 

I usually stand still and parry a lot and once you get the hang of it AI cannot land a single hit on you on one-on-one melee situation, even with the autoparry off. Usually I parry a few times and then instead of parrying another hit, I just face stab the AI when he raises his weapon to attack. Like taking a lollipop from a child. I need to experiment with the combat difficulty slider. I repeat my question: does someone know what exactly does it do? Increase AI hitpoints and damage? Or speed up AI reactions?

Clipper

-The mapper's best friend.

Link to comment
Share on other sites

I think it's a lot of things...

 

Look here:

 

"Doom 3\darkmod\tdm_defs01.pk4\def\tdm_ai_melee_sets.def"

 

That is there is a file called "tdm_ai_melee_sets.def"...

under the directory "def"...

inside the file "tdm_defs01.pk4" (just a zip file with a new/different {and better! oh how wonderful!} extension)

 

It has some somewhat documented details for the different difficulty levels.

Link to comment
Share on other sites

Here's mine as is:

 

 

 

/**

* Represents different levels of melee skill by sets of spawnargs

* Each level may also be different at different player difficulty levels

*/

 

entityDef atdm:ai_melee_set_base

{

"editor_usage" "Base class for melee difficulty sets (Do not use)"

"editor_displayFolder" "AI/Internal/"

 

// Default settings:

 

// Health offset added to the health in the AI's def file

// (may be positive or negative)

"health_offset" "0"

 

// fool me once, shame on you, fool me twice...

// third attack in a row in same direction is anticipated

"melee_num_rep_attacks" "3"

// attacks that are at least this far apart in time are not considered repeated

"melee_rep_attack_time" "10000" // 10 sec

 

// test: always able to parry if not attacking, use parry delay instead

// This variable was probably a bad idea, maybe leave it at zero

"melee_parry_recovery_min" "0"

"melee_parry_recovery_max" "0"

 

// amount of time the back swing is held

"melee_hold_time_min" "0"

"melee_hold_time_max" "0"

 

// max time they will hold a parry, waiting for the enemy to attack

"melee_parry_hold_min" "3000"

"melee_parry_hold_max" "5000"

 

// time they must wait between attacks

// TODO: Maybe decrease these a bit for hardest setting

"melee_attack_recovery_min" "800"

"melee_attack_recovery_max" "2000"

// time they must wait between attacks if they just got hit or parried

"melee_attack_long_recovery_min" "1500"

"melee_attack_long_recovery_max" "2000"

 

// time they must wait to attack after they parry (shorter than attack_recovery)

"melee_riposte_recovery_min" "105"

"melee_riposte_recovery_max" "150"

// reaction time between seeing an attack coming and putting up a parry (critical to difficulty)

"melee_pre_parry_delay_min" "50"

"melee_pre_parry_delay_max" "340"

// repeated attacks along the same direction are anticipated and

// met with faster response(still possible to hit with fast parry-riposte)

"melee_repeated_pre_parry_delay_min" "50"

"melee_repeated_pre_parry_delay_max" "260"

 

// reaction time to the cessation of an attack (they keep holding the parry up for this time)

"melee_post_parry_delay_min" "25"

"melee_post_parry_delay_max" "100"

"melee_repeated_post_parry_delay_min" "25"

"melee_repeated_post_parry_delay_max" "50"

 

// Percent chance to counterattack into an enemy attack instead of parrying

// Setting this higher means more simultaneous hits

"melee_chance_to_counter" "20"

 

// default (fast) attack and parry anim speeds:

"anim_rate_melee_attack_rl" "1.2"

"anim_rate_melee_attack_lr" "1.15"

"anim_rate_melee_attack_over" "1.1"

"anim_rate_melee_attack_thrust" "1.2"

 

"anim_rate_melee_parry_rl" "1.1"

"anim_rate_melee_parry_lr" "1.1"

"anim_rate_melee_parry_over" "1.1"

"anim_rate_melee_parry_thrust" "1.1"

}

 

 

entityDef atdm:ai_melee_set_novice_normal

{

"editor_usage" "Melee difficulty set for AI skill level: novice."

"editor_displayFolder" "AI/Internal/"

 

"inherit" "atdm:ai_melee_set_base"

 

// normal difficulty health offset:

"health_offset" "-50"

 

// hold back the attacks for this long

"melee_hold_time_min" "50"

"melee_hold_time_max" "350"

 

 

"melee_pre_parry_delay_min" "230"

"melee_pre_parry_delay_max" "340"

 

"melee_repeated_pre_parry_delay_min" "80"

"melee_repeated_pre_parry_delay_max" "270"

 

"melee_post_parry_delay_min" "25"

// sometimes they hesitate on their riposte

"melee_post_parry_delay_max" "250"

 

// reduced damage (still scales with weapon):

// 5 hits to kill player w/ longsword

"melee_damage_mod" "0.6"

 

// clumsy slow attacks instead of long melee hold time?

// tweak melee animation speeds here for gameplay

"anim_rate_melee_attack_rl" "0.85"

"anim_rate_melee_attack_lr" "0.85"

"anim_rate_melee_attack_over" "0.85"

// this one doesn't look right any slower

"anim_rate_melee_attack_thrust" "0.95"

}

 

// placeholders, trained same as skilled for now

// all difficulties the same except for damage for now

// TODO: Tweak/fill these in later!!

 

entityDef atdm:ai_melee_set_novice_hard

{

"inherit" "atdm:ai_melee_set_novice_normal"

 

// hard difficulty health offset:

"health_offset" "0"

 

// 4 hits to kill w/ longsword

"melee_damage_mod" "0.75"

}

 

entityDef atdm:ai_melee_set_novice_expert

{

"inherit" "atdm:ai_melee_set_novice_hard"

 

// expert difficulty health offset:

"health_offset" "35"

 

// 3 hits to kill w/ longsword

"melee_damage_mod" "1.0"

}

 

// trained difficulty (WIP!)

entityDef atdm:ai_melee_set_trained_normal

{

"inherit" "atdm:ai_melee_set_skilled_normal"

 

// normal health offset:

"health_offset" "-50"

 

// novice level settings:

// hold back the attacks for this long

"melee_hold_time_min" "0"

"melee_hold_time_max" "75"

 

// parry response times

// split the difference between novice and skilled?

"melee_pre_parry_delay_min" "100"

"melee_pre_parry_delay_max" "340"

 

"melee_repeated_pre_parry_delay_min" "60"

"melee_repeated_pre_parry_delay_max" "260"

 

// reduced damage (still scales with weapon):

// 5 hits to kill player w/ longsword

"melee_damage_mod" "0.6"

 

// tweak melee animation speeds here for gameplay

"anim_rate_melee_attack_rl" "1.05"

"anim_rate_melee_attack_lr" "1.05"

"anim_rate_melee_attack_over" "1.05"

"anim_rate_melee_attack_thrust" "1.05"

}

 

entityDef atdm:ai_melee_set_trained_hard

{

"inherit" "atdm:ai_melee_set_trained_normal"

 

// hard difficulty health offset:

"health_offset" "0"

 

"melee_damage_mod" "0.75"

}

 

entityDef atdm:ai_melee_set_trained_expert

{

"inherit" "atdm:ai_melee_set_trained_hard"

 

// expert difficulty health offset:

"health_offset" "35"

 

"melee_damage_mod" "1.0"

}

 

entityDef atdm:ai_melee_set_skilled_normal

{

"inherit" "atdm:ai_melee_set_base"

 

// normal health offset:

"health_offset" "-50"

 

// time over which they hold the backswing

"melee_hold_time_min" "0"

"melee_hold_time_max" "0"

 

// max time they will hold a parry, waiting for the enemy to attack

"melee_parry_hold_min" "3000"

"melee_parry_hold_max" "5000"

 

// time they must wait between attacks

// TODO: Maybe decrease these a bit for hardest setting

"melee_attack_recovery_min" "800"

"melee_attack_recovery_max" "2000"

// time they must wait between attacks if they just got hit or parried

"melee_attack_long_recovery_min" "1500"

"melee_attack_long_recovery_max" "2000"

 

// time they must wait to attack after they parry (shorter than attack_recovery)

"melee_riposte_recovery_min" "105"

"melee_riposte_recovery_max" "150"

// reaction time between seeing an attack coming and putting up a parry (critical to difficulty)

"melee_pre_parry_delay_min" "50"

"melee_pre_parry_delay_max" "340"

// repeated attacks along the same direction are anticipated and

// met with faster response(still possible to hit with fast parry-riposte)

"melee_repeated_pre_parry_delay_min" "50"

"melee_repeated_pre_parry_delay_max" "260"

 

// reaction time to the cessation of an attack (they keep holding the parry up for this time)

"melee_post_parry_delay_min" "25"

"melee_post_parry_delay_max" "100"

"melee_repeated_post_parry_delay_min" "25"

"melee_repeated_post_parry_delay_max" "50"

 

// Percent chance to counterattack into an enemy attack instead of parrying

// Setting this higher means more simultaneous hits

"melee_chance_to_counter" "20"

 

// on normal difficulty, do less damage

"melee_damage_mod" "0.6"

}

 

entityDef atdm:ai_melee_set_skilled_hard

{

"inherit" "atdm:ai_melee_set_skilled_normal"

 

// hard difficulty health offset:

"health_offset" "0"

 

"melee_damage_mod" "0.75"

}

 

entityDef atdm:ai_melee_set_skilled_expert

{

"inherit" "atdm:ai_melee_set_skilled_hard"

 

// expert difficulty health offset:

"health_offset" "35"

 

"melee_damage_mod" "1.0"

}

 

// ============= KNIFE FIGHTING SETS ==============

// Same as sword sets, but they can't block,

// so they should attack more frequently

 

entityDef atdm:ai_melee_set_knife_novice_normal

{

"inherit" "atdm:ai_melee_set_novice_normal"

 

"melee_attack_recovery_min" "0"

"melee_attack_recovery_max" "300"

 

"melee_attack_long_recovery_min" "100"

"melee_attack_long_recovery_max" "300"

}

 

entityDef atdm:ai_melee_set_knife_novice_hard

{

"inherit" "atdm:ai_melee_set_novice_hard"

 

"melee_attack_recovery_min" "0"

"melee_attack_recovery_max" "300"

 

"melee_attack_long_recovery_min" "100"

"melee_attack_long_recovery_max" "300"

}

 

entityDef atdm:ai_melee_set_knife_novice_expert

{

"inherit" "atdm:ai_melee_set_novice_expert"

 

"melee_attack_recovery_min" "0"

"melee_attack_recovery_max" "300"

 

"melee_attack_long_recovery_min" "100"

"melee_attack_long_recovery_max" "300"

}

 

entityDef atdm:ai_melee_set_knife_trained_normal

{

"inherit" "atdm:ai_melee_set_trained_normal"

 

"melee_attack_recovery_min" "0"

"melee_attack_recovery_max" "250"

 

"melee_attack_long_recovery_min" "50"

"melee_attack_long_recovery_max" "250"

}

 

entityDef atdm:ai_melee_set_knife_trained_hard

{

"inherit" "atdm:ai_melee_set_trained_hard"

 

"melee_attack_recovery_min" "0"

"melee_attack_recovery_max" "250"

 

"melee_attack_long_recovery_min" "50"

"melee_attack_long_recovery_max" "250"

}

 

entityDef atdm:ai_melee_set_knife_trained_expert

{

"inherit" "atdm:ai_melee_set_trained_expert"

 

"melee_attack_recovery_min" "0"

"melee_attack_recovery_max" "200"

 

"melee_attack_long_recovery_min" "50"

"melee_attack_long_recovery_max" "200"

}

 

entityDef atdm:ai_melee_set_knife_skilled_normal

{

"inherit" "atdm:ai_melee_set_skilled_normal"

 

"melee_attack_recovery_min" "0"

"melee_attack_recovery_max" "200"

 

"melee_attack_long_recovery_min" "50"

"melee_attack_long_recovery_max" "200"

}

 

entityDef atdm:ai_melee_set_knife_skilled_hard

{

"inherit" "atdm:ai_melee_set_skilled_hard"

 

"melee_attack_recovery_min" "0"

"melee_attack_recovery_max" "150"

 

"melee_attack_long_recovery_min" "20"

"melee_attack_long_recovery_max" "175"

}

 

entityDef atdm:ai_melee_set_knife_skilled_expert

{

"inherit" "atdm:ai_melee_set_skilled_expert"

 

"melee_attack_recovery_min" "0"

"melee_attack_recovery_max" "100"

 

"melee_attack_long_recovery_min" "20"

"melee_attack_long_recovery_max" "150"

}

 

 

Link to comment
Share on other sites

Cool, thanks!

 

Knowing this will enable a mapper to make custom .def's which they supply with their mission. Then they could add new skill level "ai_melee_set_assassin" for some really dangerous AI's, which always kill the player with one strike. The assassins guild, which use poison weapons, etc.. More options to the mapper is always cool!

Clipper

-The mapper's best friend.

Link to comment
Share on other sites

  • 2 weeks later...

I have the combat difficulty on the default setting, which is normal if I remember correctly. The city watch guards for example always die from a single face thrust.

If normal is too easy, I would set it higher. AFAIK, on the higher difficulty levels, only very weak AI like the armed commoner die from a single hit to the head, when alert. The rest should take two hits.

 

I usually stand still and parry a lot and once you get the hang of it AI cannot land a single hit on you on one-on-one melee situation, even with the autoparry off. Usually I parry a few times and then instead of parrying another hit, I just face stab the AI when he raises his weapon to attack. Like taking a lollipop from a child. I need to experiment with the combat difficulty slider. I repeat my question: does someone know what exactly does it do? Increase AI hitpoints and damage? Or speed up AI reactions?

It does a lot of things, as Aprilsister posted, although those are the skill sets for different AI (e.g., an unskilled brawler vs a professional guard). The player difficulty setting modifies these values as well. It increases hitpoints and damage, attack time, reaction time, predictive ability (you have to attack them from different directions or they get used to the same attack and react faster to it). It also makes them more likely to counter attack and remise, rather than parry your attack, which can throw a wrench in the strategy you posted above by causing a simultaneous hit after you parry and try to riposte, instead of you parry, they parry, you parry, etc.

Link to comment
Share on other sites

  • 2 years later...

I just discovered The Dark Mod a few months ago. The Thief series is my favorite, and I must say that TDM is amazing! From what I've seen so far, I actually doubt that I will like the new Thief(4/Reboot) as much as TDM.

 

I know that TDM is mostly about stealth, but I like a good fight if I get caught. TDM has a pretty good combat engine, like Mount & Blade's and War of the Roses' engines. There are 2 things that I would like changed about the enemies(melee) in combat.

 

1. I would like enemy attacks to hurt each other at full strength. I don't know much about programming AI, but it would be good if they tried to avoid accidently attacking each other. This helps keep things a little more realistic. I once had 5 or 6 guys attacking me in Tenchu: Wrath of Heaven, and their attacks went right through each other; not damaging them or even stunning them. This makes getting ganged up on even harder than it already should be.

 

2. The player can attack while walking/running and I think that the enemies should be able to as well. Even when I'm not running, if I continually move backwards while enemies are pursuing me they can rarely hit me since they have to stop moving forward to attack. If I'm running backward they never hit me. This makes blocking nearly useless, and I love to have to block melee attacks in a game. (Don't ask why, my friends tease me for how important blocking in a video game is to me.) It's unrealistic that someone can move backwards faster than their pursuers can move forwards, and it would increase the combat difficulty in a good way.

 

(Edit) After playing the game again I found that while backing up in combat (not running) the overhead attack and the attack that swings from the enemy's right to their left hit me fairly often while the thrust and left to right attack usually missed. If the player's backwards walk was slowed down a bit, that might solve this whole issue for me without having to make it so the enemy can walk/run and attack at once. (Holding in creep during combat is too inconvenient.)

 

Thanks to all the people who have made The Dark Mod my new favorite game!

Edited by SirGen
Link to comment
Share on other sites

I have the combat difficulty on the default setting, which is normal if I remember correctly. The city watch guards for example always die from a single face thrust.

 

I usually stand still and parry a lot and once you get the hang of it AI cannot land a single hit on you on one-on-one melee situation, even with the autoparry off. Usually I parry a few times and then instead of parrying another hit, I just face stab the AI when he raises his weapon to attack. Like taking a lollipop from a child. I need to experiment with the combat difficulty slider. I repeat my question: does someone know what exactly does it do? Increase AI hitpoints and damage? Or speed up AI reactions?

 

First off, shame on you :P Someone with your prowess as a thief using your sword... I'm not even going to respond to "default".

 

Set it on master and you won't use your sword like a good thief should.

 

As far as the question, "Take the sword away", some missions do, most don't and IMO it doesn't really matter to me. I never use it for anything but some players do and when/if you get in a pinch situation it is nice to have for sure. So lets not take away tools from the player and let them use them as they will. Yes? Yes.

Edited by Lux
  • Like 1
Link to comment
Share on other sites

So I solved Item 2 on my first post. I use a program called JoyToKey that allows me to assign keyboard keys to my joypad/controller. I simply assigned S and Shift (move backwards and creep) to pulling down on the left stick and my character moved back slowly. Now I can't just a walk backward and avoid hits. For those of you who want combat harder, this will do the trick nicely. One guard is still easy to defeat but two guards are usually very hard to defeat. This probably won't help very many people, since I imagine that most people use mouse and keyboard. Maybe there is a program that allows multiple keys to be mapped to one key.

Link to comment
Share on other sites

I really like the combat in TDM, but I'm having a hard time blocking overhead attacks and attacks that start from the enemy's right and swing to their left because the wind up(chambering) animations for these attacks are so similar to each other. Anyone else have this problem? Perhaps the wind up(chambering) for the overhead attack could be changed to move more upwards and less to the side.

Edited by SirGen
Link to comment
Share on other sites

Yes, this became a problem when the combat animations were updated for 1.07. Unfortunately the animator who made those combat animations isn't around anymore, and we don't have anyone else who can deal with it atm.

Link to comment
Share on other sites

Any possibility of extending the range of the enemies' thrust attack and their left to right attack? These two can be avoided most of the time by simply walking backward away from the enemy. No blocking required.

Link to comment
Share on other sites

  • 2 weeks later...

I just played a small, but fun mission called Awaiting the Storm and it had great enemy attack animations. The enemies' downward attack animations chambered with an upwards motion rather than a sideways one. I guess this mission never got upggraded to 1.07.

Edited by SirGen
Link to comment
Share on other sites

All humanoid AI use exactly the same combat animations...it doesn't matter which mission you're playing.

Link to comment
Share on other sites

I decided to study the animations again to see if I was going crazy. I played The Alchemist level first. I ran backwards avoiding the enemy attacks for about 5 minutes while I studied the downward attack animations. I then did the same for the Awaiting the Storm mission. I played the Alchemist one more time for another 5 minutes, then played Awaiting the Storm one last time for another 5 minutes and I am quite positive that the downward attack animations for Awaiting the Storm are drastically more up and down than The Alchemist's animations. Perhaps it's an anomaly for me.

Link to comment
Share on other sites

Is it the same characters? Some meshes might be weighted differently enough to cause slight differences in animations.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recent Status Updates

    • Petike the Taffer

      I've finally managed to log in to The Dark Mod Wiki. I'm back in the saddle and before the holidays start in full, I'll be adding a few new FM articles and doing other updates. Written in Stone is already done.
      · 3 replies
    • nbohr1more

      TDM 15th Anniversary Contest is now active! Please declare your participation: https://forums.thedarkmod.com/index.php?/topic/22413-the-dark-mod-15th-anniversary-contest-entry-thread/
       
      · 0 replies
    • JackFarmer

      @TheUnbeholden
      You cannot receive PMs. Could you please be so kind and check your mailbox if it is full (or maybe you switched off the function)?
      · 1 reply
    • OrbWeaver

      I like the new frob highlight but it would nice if it was less "flickery" while moving over objects (especially barred metal doors).
      · 4 replies
    • nbohr1more

      Please vote in the 15th Anniversary Contest Theme Poll
       
      · 0 replies
×
×
  • Create New...