Author Topic: NPC lecture  (Read 1625 times)

Illysia

  • Forum Addict
  • *
  • Posts: 2774
    • View Profile
NPC lecture
« on: July 23, 2007, 10:32:30 am »
Is it possible to make all NPCs lecture individuals on the illegality of dueling in the city if someone decides to duel near them? It could be a relatively short message that the NPC would repeat until the duel stopped and it would only lecture the actual participants of the duel. I would think it would work on a similar principle to the greeting you get from some NPCs when you walk past them. When players try to tell someone to stop OOCly or ICly the warning gets treated like hearsay so at least if it comes out of an NPCs mouth it is obviously part of the game. Let us not strain the minds of the insistent duelers by asking them to read the Octarch's Decree.  X-/ Although this would not solve the problem it might irritate the people who want to kill everything in sight into either stopping or leaving.

Raleigh

  • Guest
Re: NPC lecture
« Reply #1 on: July 23, 2007, 11:53:27 am »
Unfortunately, I don't think a lecture would be as effective as a spear/sword at point blank at your character head from a guard, in fact it would be completely bypassed after all by those duellers.

They would only ignore the message and continue their pwnage. And the only game mechanics regarding government is anarchy right now, and as duellers rarely care about the IC things and going beyond the fourth wall of roleplaying is normal for them, it will be something we'll have to cope with for some time. They never bothered me though. My ignore_list is not just an unused feature.  ;)

Suvok

  • Hydlaa Citizen
  • *
  • Posts: 205
  • Since Client 0.3.014
    • View Profile
Re: NPC lecture
« Reply #2 on: July 27, 2007, 02:18:42 pm »
I can't see anything wrong with that. I think it would be a good idea to implement something like that until anything like NPC guards can be implemented. Which I think will be even more than soon(tm). They have already implemented a new NPC chat that makes them talk just by walking near them. Characters like bartenders and such. So I can't see how it would be too much different to code.

Perhaps this would only occur with certain NPCs, or to increase realism, some may scream out in terror for help.

I think if someone brandished their sword and lunged for someone then ol' Harnquist might want a rant and rave about it.
Confusion is always the most honest response

Jeraphon

  • Hydlaa Notable
  • *
  • Posts: 717
    • View Profile
Re: NPC lecture
« Reply #3 on: July 27, 2007, 03:41:00 pm »
Quote
So I can't see how it would be too much different to code.

An NPC's being able to recognize that a player is nearby is much different than being able to recognize what a player is doing near them. Engine is free to contradict me on this.

Seytra

  • Forum Addict
  • *
  • Posts: 2052
  • No system can compensate lack of common sense.
    • View Profile
Re: NPC lecture
« Reply #4 on: July 28, 2007, 01:37:06 am »
An NPC's being able to recognize that a player is nearby is much different than being able to recognize what a player is doing near them. Engine is free to contradict me on this.
Yes, but then again, everyone gets the "XYZ changes combat stance" or "does X damage" messages, so an NPC could compare these messages to the distance to the player mentioned, and then act (or not), no? Logically, the proximity detection is done in NPCClient already, so it'd "just" have to utilise the fighting messages as well.

stumagoo

  • Traveller
  • *
  • Posts: 28
    • View Profile
Re: NPC lecture
« Reply #5 on: July 28, 2007, 02:18:01 am »
Developers feel free to correct me but taking the argument of every one sees the actions of player "X's" and gets a print up of it is a lot different to the NPC's registering every action Player "X" does and then processes it against a known number of paramaters then gets an auto response as to how to respond etc,  ok for 1 player and 1 nearby NPC thats not a lot of computing player but in a few years time when we have maybe 100 or 200 players standing around 30 or 40 NPC's (if thats where the game goes) then the server load will increase dramaticlly, remember a non action is still data to be processed to some degree.  consider the people already complaining about server lag and how they could be affected.  Also consider the person who gets jumped by a bandit and is required to defend themselves,  unless they are in a  defensive mode whats to differentiate them from the attacker who is at wrong, or are we not allowed to defend ourselves?.  while the concept is good and sounds practical you need to allow for the largest possible server demand, the amount of people possibly in the set area and any other number of possible variables that can cause potential problems.
You may know me as, Ragnom Ebbes or his seldom seen life long friend Magoos Utu

Seytra

  • Forum Addict
  • *
  • Posts: 2052
  • No system can compensate lack of common sense.
    • View Profile
Re: NPC lecture
« Reply #6 on: July 28, 2007, 02:52:22 am »
I understand your concerns, but still think this would be feasible:

The NPCs aren't being controlled by the server, they're being controlled by the NPC superclient (NPCClient). That one currently runs on the same machine as the server, but it doesn't have to. Therefore, the server wouldn't have to do a single additional computation (except for distributing the NPC-generated lecture).

Also, as said, the NPCClient would only need to process combat stance changes, and possibly hit results. These already don't get sent to clients beyond a certain range, so the NPCClient wouldn't see a lot of them, especially not if the area is supposed to be a safe one (so if there's a fight, it'd be the exception anyway).

This leaves, however, the messages sent to non-guard NPCs, like rats. Right now, NPCClient likely just drops all fight messages (but already has to check against the list of what to drop), whereas in this case it'd have to filter them by NPC. Still, given that selective dropping by NPC wouldn't require that much processing (if (NPC is not a guard) then drop message), that NPCClient is designed to be independent, that NPCs are still perfectly fine with a response time in the decisecond range, plus also expecting an increase in computing power in the future, and knowing that at least last year the server's CPU was stated to be barely utilised (most lag is network or client (graphics) related), there doesn't seem to be that much of a problem.

Additionally, the NPCs will have to react to fighting and a lot of other player messages in the future, so that they can for example flee, or help each other, etc.. Also, the NPCs already react to the player's proximity, so they have to process the movement messages already, which still are much heavier traffic than combat messages.

In fact, this reminds me of the time when the NPC dialog system had been redesigned to work via normal /say, and require the NPCs to look for their name in the beginning of the sentence. Lower volume, but similar idea, and no speed concerns were raised.
« Last Edit: July 28, 2007, 02:54:44 am by Seytra »

stumagoo

  • Traveller
  • *
  • Posts: 28
    • View Profile
Re: NPC lecture
« Reply #7 on: July 28, 2007, 03:58:35 am »
I see your logic, and it is working its magic on me.  I still would worry about the potential for a mass assault to cause issues, eg target prioritising, I always consider the worst case scenario due to the fact that in the end if it is possible cause a problem most times there is someone wanting to do it (just like cheating always 1 bad apple). I agree that currently the NPC client must see a certain amount of stance changes and even movement,  or the rats through to the Ulbernauts would not target and attack any given player let alone follow them. But I would then querry is it to be an active scan for these stance changes, Does the NPC client have a routine to search for this, or is it going to be reactive does someone have to inform the NPC client, "Excuse me guard there is a fight over there>>" which sets off the routines. And again how does the guard differentiate between attacker and defender if someone was being mugged,  I know I would not stay in defensive stance if I felt I could over power the attacker and put an end to the fight. 

This leaves, however, the messages sent to non-guard NPCs, like rats. Right now, NPCClient likely just drops all fight messages (but already has to check against the list of what to drop), whereas in this case it'd have to filter them by NPC. Still, given that selective dropping by NPC wouldn't require that much processing (if (NPC is not a guard) then drop message), that NPCClient is designed to be independent, that NPCs are still perfectly fine with a response time in the decisecond range,


As for the npc's already just drop the combat stances, I wouldnt know I have not been invovled in the scripting of their AI, I would wonder if they even "see" the combat stance messages potentially this could all be client to client, just like I pick /tell is, I imagine that does not go to the NPCCLIENT unless its /tellnpc.   I would envision that if my character was to change stance then it would be issued from my client to the server and then directed from the game server to all those in a given radius of myself.  As such it never goes to the NPCclient.  My location however would and different NPC's then act as their AI would dictate. I would also go so far as to say taht when the NPCclient is down we still see combat stance changes hence my claim is they are totally independent of the NPCclient.

This is only a guess and definately not an educated one at that so developers feel free to jump in and correct me.

BTW not having looked at any of the coding  (My wife will kill me if I start playing with yet another game) feel free to tell me to shut my mouth untill I have looked at it.


You may know me as, Ragnom Ebbes or his seldom seen life long friend Magoos Utu