Welcome
Username or Email:

Password:




[ ]
[ ]
[ ]
Chatbox
You must be logged in to post comments on this site - please either log in or if you are not registered click here to signup


  • Shards
    Shards  3 months ago

    Happy New Year!

  • Edrick
    Edrick  3 months ago

    Happy New Year all!

  • EcoTec
    EcoTec  5 months ago

    You the man thanks mate

  • Cuchuwyn
    Cuchuwyn  5 months ago

    There it is!

  • Cuchuwyn
    Cuchuwyn  5 months ago

    -Clickedy-

  • EcoTec
    EcoTec  5 months ago

    Anyone have the thain discord link, thankyou

  • Payne
    Payne  5 months ago

    Edrick... mad

  • Edrick
    Edrick  5 months ago

    Payne

  • !ofAkindGuy2000
    !ofAkindGuy2000  5 months ago

    Thanks.

  • Glognar
    Glognar  5 months ago

    There is! You need to examine the omnidye to find the info. I also think that there is still an error though in one of the numbers.


Forums
The Island of Thain :: Forums :: Neverwinter Nights
« Previous topic | Next topic »   

"Threat" or "Aggro" in NwN

 1 2 3 4 
LAN_402 LAN_403
AtanatarAlcarin
11:39:07 pm GMT 11/15/17
AtanatarAlcarin Registered Member #633 Joined: 3:59:33 pm GMT 10/24/05
Posts: 1173
"If anything the suggestions would seem to help promote more cooperative play."

Right up until the complaint "your black viney things killed my buzz" is made. And then it's about not being able to "properly play a tank role" because it's difficult to tank when magic left you nothing to tank against.

The point being the sword, no pun intended, has two edges on this one. Doesn't the spellcaster have an offensive role, too? If the melee character is likened to infantry in a military setting (your basic Tank/DPS/Healer scenario), then the spellcaster can be likened to artillery.

If the goal ISN'T to pwn everything in your path (assuming there is no means to solve problems diplomatically, or through guile and stealth, solving a puzzle, or something exclusive of RP, as opposed to the mere mechanics of combat and the manipulation of feats/stats and formulas), then what game, exactly, are you playing? Everyone pwns something at some point...some do it swinging a hunk of metal, and others prefer to unleash the forces of magic. The end result is the same.

The pwnage is part of the fun (IMO); why shouldn't everyone get their chance to contribute? That would make for really "co-operative play" rather than the hurt feelz that come when Swordy McLongsword contracts a minor case of butthurt because the ice storm may have been faster and more-efficient than his magic metal thingy, and that doofus in the dress should be admonished to remember his place.

And frankly, I find it difficult to square the circle of the following arguments (constructed from a variety of responses to this and the original thread, hyperbole added for those who get that sort of thing without automatically feeling attacked)

1. The purpose of the tank is to sacrifice his body and life to protect the pansy, weak-azz spell-thrower, yet if the pathetic spazz should spare the tank that potential sacrifice by killing enemies with an AoE before they come into pointy-stick-range, somehow that's bad and "mechanically" incorrect, maybe anti-climactic, and perhaps even offensive? Because co-operative play.

2. Player X spent a great deal of time and tested/experimented with 52 different characters, and spent months, sometimes years, taking the module apart to find the right gear, etc, before they found a build that allows them to deal out 300 points of damage if they get a series of crit hits in succession; please don't spoil it with a spell, denying him/her the chance to do it just when it would be cool AF to do so. I mean, think of the epic screenies, Dude.

(/hyperbole off)



Back to top
Falkala
12:52:31 am GMT 11/16/17
Falkala Forum Admin
Registered Member #623 Joined: 6:43:48 am GMT 10/01/05
Posts: 4996
Lets not get off topic with 'what ifs' of bad behaviour.

'Aggro' mechanics of NWN can result in some fun bouncing of mobs when using an all-ranged party too. If you can time it right and space out attacks you can run a monster around between ranged characters (archers are ideal for this) by carefully baiting and running it around. It requires at least two people very on their toes with movement, though, and a pretty good understanding of the walkmesh around you.

It would be super cool if we could make the taunt skill do just that, taunt a monster to attack on a successful check. I'm completely unfamiliar with the depth of AI scripting that would require though and I expect it's a bit of a pipe dream. smile I never played with Jasperre's system but I always heard great things about it. What sort of changes did it make out of the box?
Back to top
GearsOfMadness
1:08:52 am GMT 11/16/17
GearsOfMadness Clockwork Madness
Registered Member #1485 Joined: 8:44:37 pm GMT 10/23/09
Posts: 1415
Taunt tank is certainly possible. Just a matter of figuring out the perimeters the builder would want. I've seen tanking abilities used on other PWs effectively. Added a bit of tactics to those higher level dungeons that rofled certain groups, because they could plan around stuff. Example, say, drawing Bagnorn aggro from the healers/etc. Here's a few quick form methods of how I'd do it:



If has taunted status effect, will save to avoid redirecting attacker. If failed, on combat round end, redirect attack if is in combat.


There's the aura method. On enter, set local int/string pair.

Heartbeat and/or on combat round, depending on need, if int is yes, then attack the owner of the int by string name reference.

On exit aura, remove int/string pair.


The howl method. Activate ability/spell/feat, get all NPCs in range, set hostile, force attack user.


Equipped item method.

If has item on, end of combat round, percentage chance to attack nearest PC in area wearing the item.

[Edited]

Adding this bit here. If there's an interest in scripting something and someone doesn't know how to script, there's this program which I used back when to learn how to script.

-Clickedy-

It isn't the best and it makes bloated, but functional scripts. Great tool for the person who wants to learn.
Back to top
AtanatarAlcarin
1:34:20 am GMT 11/16/17
AtanatarAlcarin Registered Member #633 Joined: 3:59:33 pm GMT 10/24/05
Posts: 1173
That's some cool stuff right there.
Back to top
AmberOfDzu
3:36:37 am GMT 11/16/17
AmberOfDzu Registered Member #279 Joined: 4:17:59 pm GMT 09/25/04
Posts: 5460
It would be pretty difficult to adapt the existing combat system to use simplified taunt/aggro system -- but not impossible!

The various combat scripts are designed to work with the event messaging the engine send around during combat. You'd have to find all the places in those scripts where the low level action functions are called, such as "DetermineCombatRound" and put in the logic to pass in the target object you want instead of the default ones. Superficially, it's simple, but there's deeper calls to those functions from other related functions.

Consider the "OnPhysicalAttacked" event; it triggers nw_c2_defalt5 to be called. There's simple logic at the top, but the lower level and built-in functions it calls can have complex situational behavior. With some experimentation, one should be able to wire in logic to do things that look like building aggro individually to the last handful of nearby players/hostiles from taunts and then decay aggro from time, spells, or saves inside this. If one were to get that right, then it might take a few sword strokes or fireballs to get that big nasty off its current target, instead of one at a happenstance moment, or because it triggered a save that interrupted the mob's current action and had it call DetermineCombatRound with a fresh last attacker.

The problem is finding all the right spots, and avoiding adverse interactions and synergies with other parts of the AI. It's not for a casual coder.

Edit: These functions also get called a lot, so it's important to script economically in them and be very mindful of the potential for huge lag impacts at the worst possible times.
Back to top
scratch_flannigan
11:13:13 pm GMT 11/17/17
scratch_flannigan Squawk!
Registered Member #648 Joined: 1:50:32 am GMT 11/20/05
Posts: 1484
So, if I understand this right...

Everyone has a current target.

The AI decision of what the current target will be is based upon closest hostile and last attacker.
(the oddly worded description of the Dodge feat seems to make more sense to me now..lol)

So..

Tanky McRanger charges gnolls A, B, C and D, while his companion, Squishy McPanther hides behind a tree.

Once all 4 gnolls engage Tanky, he calls Squishy into attack. Squishy sneak attacks gnoll C. At this point, I guess Tanky and Squishy are basically the same distance from gnoll C, and positioning puts the other three gnolls closer to Tanky.

Gnoll C will then make his decision on who to attack based upon who attacked him last before it was his turn to attack ? Or are there far more variables than that ?
Back to top
AmberOfDzu
12:14:45 am GMT 11/18/17
AmberOfDzu Registered Member #279 Joined: 4:17:59 pm GMT 09/25/04
Posts: 5460
It's complicated by the exact sequence of events.

In your example, Gnoll C would peel off of Tanky and attack Squishy once his current action to attack Tanky completed. Except Tanky may have hit him again by then. If Gnoll C manages to start a new action against Squishy, then Tanky can hit him again and he won't redirect back to Tanky. And sometimes it's not visually obvious on the screen that a new action for Gnoll C has started, which may make it look inconsistent and nonsensical.

The testing for when to get a new target only occurs at certain times by the AI scripts. Only when the current action completes or is interrupted. The current action is the current attack, or the current move-to-location or -to-target, and so on. Interrupts can be from a lot of things, but lots of things don't interrupt like one would expect. Forcing a target to roll a save can interrupt, even if the save passes; for example. But not always, it seemed to me to depend on which kind of save.

Sometimes an action is prolonged by an automatic follow-up, like a cleave, too. Finally, the function to check if an NPC is in combat can occasionally fail, and then you get weird things like the NESS heartbeat directing the NPC to resume patrol or sit in a chair while you're trying to kill it. That's rare; but I've seen it happen.

Another problem with any scripting we do is that the game cannot assure that every script or function call will actually get executed. Game engines like NWN's are basically RTOS's -- "Real-Time Operating Systems". They have to stay up with the simulation clock No Matter What. A combat flurry is one second long. If there's too much happening in that second, the game isn't going to draw it out longer, it's going to drop things and move to the next flurry. If those things were part of a complex AI scripting set up, it's going to work pretty badly.
Back to top
Cain
1:22:09 am GMT 11/20/17
Cain Registered Member #1727 Joined: 12:49:13 am GMT 06/04/11
Posts: 277
As a tank, from a purely technical standpoint, here's Ableson's view:

We are either winning or losing.

If we are losing, the cardinal signs for Ablesion will be total paralysis by all the graphics going off all around. Then Ableson wakes up, and everythins ok again, back in the grove with elvish ladies applyin healin ointments and such.

If we win, its a similar situation but a bit more complicated. Paralyzin graphics, yes, but this time the head guy takes a serious head wound which Ableson may or may not have delivered, ideally accompanied with some sort of quip such as, "Stick around sickly Troll!" ...or on a good day, even better prose.

We go back to the Inn afterwards, and the ladies in the party frown at Ableson for letting the gnome die. Ableson offers to make it up to them. They roll their eyes.
Back to top
Jandari
1:48:59 am GMT 11/20/17
Jandari Registered Member #1320 Joined: 10:38:49 pm GMT 06/23/08
Posts: 1086
Tanks are NOT supposed to be the "winners". They hold the line while DAMAGE PCs do the dirty deeds and healer PCs keep everyone up and running. It is NOT complicated.
Back to top
Cain
12:35:35 am GMT 12/04/17
Cain Registered Member #1727 Joined: 12:49:13 am GMT 06/04/11
Posts: 277
Maybe not complicated for you, but not everyone is blessed by their God(s) to vanquish their foes and uphold the glory of the light.

Some of us must be content if we can merely uphold a lamp unto the abyss, and discover why the toilet is leaking onto the floor.
Back to top
 1 2 3 4 

Moderator(s): TheSiteMaster, Kira, Wicked_Keen, Bonesly, jewwe, Warlord Kro, Corlupi, Cuchuwyn, Alanonas, Oberon, Forgiver

Go to:

Forum theme loosely based on Invision Power Board
Online
  • Guests: 35
  • Members: 0
  • Newest Member: DonaldDiero
  • Most ever online: 230
    Guests: 230, Members: 0 on Wednesday 11 January 2023 - 05:41:16
Now Playing
1. Antinomy
2. Izzy
3. Seth Galanderos
Connect to us with 104.237.156.142 or thain.no-ip.org