View Issue Details

IDProjectCategoryView StatusLast Update
0003850The Dark ModScript/Defpublic15.02.2017 04:39
ReporterSteveL Assigned To 
PrioritynormalSeveritynormalReproducibilityhave not tried
Status newResolutionopen 
Product VersionTDM 2.02 
Summary0003850: AI turn speed is wrong
DescriptionThe current turn speed is too fast for a relaxed AI, and the turn animation that plays when a relaxed AI turns was set up for half the speed. It causes the AI to slide instead of step.
Additional InformationFull details and videos in this post and the following ones by Arcturus: http://forums.thedarkmod.com/topic/16402-turn-left-right-animations/page__p__350194#entry350194
TagsNo tags attached.

Relationships

related to 0003806 resolvedSteveL Make sure turn animation overrides idles 

Activities

SteveL

SteveL

04.12.2014 20:35

reporter   ~0007201

Turn rate is set by spawnarg "turn_rate" in the def for atdm:ai_humanoid

Turning is controlled by tdm_ai_base.script, functions Legs_turnLeft and Legs_TurnRight.

Those functions already choose a different turn anim depending whether the AI is in combat or not. We could apply a different turn speed too, if we add a "turn_speed_combat" "180" spawnarg, and change "turn_speed" to "59".
SteveL

SteveL

04.12.2014 22:56

reporter   ~0007202

Committed at rev 14113

tdm_ai_base.def (new spawnarg)
tdm_ai_humanoid.def (human settings)
tdm_ai_base.script
SteveL

SteveL

05.12.2014 08:13

reporter   ~0007205

Reopened to check whether any non humanoid ai have different turn speeds set, and if so either give them a turn_rate_combat too, or simply delete the new spawnarg from tdm_ai_base, and leave it as a property of humanoids only. The first is better, but either would work. The AI script will fall back on the old turn_rate in combat if there's no turn_rate_combat spawnarg.
SteveL

SteveL

05.12.2014 18:52

reporter   ~0007207

Last edited: 05.12.2014 18:53

I've added "turn_rate_combat" as a property to all AI that specify a turn_rate:

tdm_ai_animal_horse2.def
tdm_ai_animal_rat.def
tdm_ai_base.def
tdm_ai_humanoid.def
tdm_ai_humanoid_undead.def
tdm_ai_undead_skeleton.def
tdm_ai_undead_zombie.def
tdm_ai_monster_spider.def
tdm_ai_steambot_lantern.def
tdm_ai_steambot_guard.def

There's only 1 published map that has an AI with a tweaked turn rate: One Step Too Far, and the AI in question is called "Cutscene_Skeleton" which makes me hope there's no chance that it will get into a fight and need its combat turn rate reducing to match its slow tweaked turn_rate. I've pinged Dragofer to ask.

At rev: 14118

SteveL

SteveL

05.12.2014 20:41

reporter   ~0007210

Reopened due to side-effects: http://forums.thedarkmod.com/topic/16749-ai-bumping-into-things-in-svn-14120/
SteveL

SteveL

06.12.2014 10:23

reporter   ~0007215

Moved to 2.04 because it'll need a game code solution not just a script amendment. If the scripts fiddle with turn rate, they can't put it back again reliably. And the game needs to control turn rate while the ai is moving.

Issue History

Date Modified Username Field Change
12.09.2014 17:27 SteveL New Issue
12.09.2014 17:27 SteveL Status new => assigned
12.09.2014 17:27 SteveL Assigned To => SteveL
12.09.2014 17:27 SteveL Relationship added related to 0003806
04.12.2014 20:35 SteveL Note Added: 0007201
04.12.2014 22:56 SteveL Note Added: 0007202
04.12.2014 22:56 SteveL Status assigned => resolved
04.12.2014 22:56 SteveL Fixed in Version => TDM 2.03
04.12.2014 22:56 SteveL Resolution open => fixed
05.12.2014 08:13 SteveL Note Added: 0007205
05.12.2014 08:13 SteveL Status resolved => assigned
05.12.2014 18:52 SteveL Note Added: 0007207
05.12.2014 18:53 SteveL Note Edited: 0007207
05.12.2014 18:54 SteveL Status assigned => resolved
05.12.2014 20:41 SteveL Note Added: 0007210
05.12.2014 20:41 SteveL Status resolved => assigned
05.12.2014 23:08 SteveL Resolution fixed => open
05.12.2014 23:08 SteveL Fixed in Version TDM 2.03 =>
05.12.2014 23:08 SteveL Target Version TDM 2.03 =>
06.12.2014 10:23 SteveL Note Added: 0007215
15.02.2017 04:39 grayman Assigned To SteveL =>
15.02.2017 04:39 grayman Status assigned => new