Author Topic: NPC Scripts  (Read 366 times)

Legacy_YeoldeFog

  • Sr. Member
  • ****
  • Posts: 415
  • Karma: +0/-0
NPC Scripts
« on: December 06, 2013, 12:29:29 pm »


               Hey!

Over the past couple of years I've tried some script-system that handle NPC emotes, randomwalk, speak lines, etc. I'm aware of "NPC-activities" and "NESS".

The question is, I want a fairly light system that lets me handle NPC. They should be able to walk between some waypoints, stop there and do something. Eventually spawn in/out at night/day. I know that NESS and NPC Activities can do this.

Are there other systems out there, which one is considered the best?

Grateful
/YeOldeFog
               
               

               
            

Legacy_meaglyn

  • Hero Member
  • *****
  • Posts: 1451
  • Karma: +0/-0
NPC Scripts
« Reply #1 on: December 06, 2013, 06:52:53 pm »


               Hi Fog.  

The way I see it the spawning in/out and the walking waypoints, speaking lines etc are sort of two different things. I did not find anything that really did both with the flexibility I wanted. So this is a bit
of a non-answer to your specific question...

I like NESS and use it for most of my spawning/despawning. It does a lot and is needed for EPolson's PW helper scripts anyway (which are really quite neat, although some of the technology is outdated - the traps and doors etc can be done better).  I don't use the patrolling feature though.

For that I use my "advanced walk waypoints" (AWW) system (which I've gotten sidetracked from getting published).  I can try to get that out if you're interested. Basically, it's a replacement for walkwaypoints which adds animations, arbitrary scripts, and pre-defined activities at waypoint arrival. It also provides linear, circular and random waypoint orders and 6 different waypoint times instead of just WP_ and WN_ (dusk/dawn, morning, afternoon, evening, night and default). It can be paused and resumed, can change NPC tag for which WPs to use,  etc.

BTW, I like the screens you've been posting. I wish my areas looked like that '<img'>
               
               

               
            

Legacy_YeoldeFog

  • Sr. Member
  • ****
  • Posts: 415
  • Karma: +0/-0
NPC Scripts
« Reply #2 on: December 06, 2013, 08:05:50 pm »


               Hi Meaglyn!

AWW sounds really interesting. Does it need NESS or is it a stand-alone system? At the moment, I'm only interested in the stuff that brings my NPCs to life. I will use another system for spawning monsters.

And thank you for liking the screens I've posted. '<img'>
               
               

               
            

Legacy_henesua

  • Hero Member
  • *****
  • Posts: 6519
  • Karma: +0/-0
NPC Scripts
« Reply #3 on: December 06, 2013, 08:12:07 pm »


               

meaglyn wrote...

For that I use my "advanced walk waypoints" (AWW) system (which I've gotten sidetracked from getting published).  I can try to get that out if you're interested. Basically, it's a replacement for walkwaypoints which adds animations, arbitrary scripts, and pre-defined activities at waypoint arrival. It also provides linear, circular and random waypoint orders and 6 different waypoint times instead of just WP_ and WN_ (dusk/dawn, morning, afternoon, evening, night and default). It can be paused and resumed, can change NPC tag for which WPs to use,  etc.


I'd like to see that code, Meaglyn. Sounds very interesting.

That said, I modified NESS to get what I needed out of the patrol feature. I agree that the default NESS patrol feature needs work. I found that I needed to make a couple adjustments to how some of the NESS tags were applied (RW for example needed rework so that you get random walking and patrolling together), and then integrate the NESS patrols with the AI of the critters, but once I did those things in my Arnheim module it worked very nicely for things like roaming wolf packs which appear natural rather than strictly following a series of waypoints.

Anyway, another vote for NESS. I really like working with it. Would like to see what Meaglyn cooked up too. '<img'>
               
               

               
            

Legacy_meaglyn

  • Hero Member
  • *****
  • Posts: 1451
  • Karma: +0/-0
NPC Scripts
« Reply #4 on: December 06, 2013, 09:13:18 pm »


               

YeoldeFog wrote...
AWW sounds really interesting. Does it need NESS or is it a stand-alone system? At the moment, I'm only interested in the stuff that brings my NPCs to life. I will use another system for spawning monsters.


No. It's completely standalone.  As I said above I see those as two different beasts. AWW is really a replacement for
WalkWaypoints. You use it in places where you normally call WalkWaypoint() and it does its thing (e.g. onspawn, on perception,  end/abort conversation etc).  It takes some inspirations from Axe, Carcerian, NPC activities etc.  It's sort of a collection of some if the more interesting features from a few places, although pretty completely re-coded.

I'll try to get a release together. The test module will have more pieces in it than you actually need to make it work. I'll try to get the erf down to just the essentials. Will be considered a beta release and documentation may be a little slim. I did use it in my ABC module at the beginning of the year. (Wow, has it been almost a year aready...).
               
               

               
            

Legacy_meaglyn

  • Hero Member
  • *****
  • Posts: 1451
  • Karma: +0/-0
NPC Scripts
« Reply #5 on: December 06, 2013, 09:15:50 pm »


               

henesua wrote...
I'd like to see that code, Meaglyn. Sounds very interesting.


See above '<img'>
               
               

               
            

Legacy_YeoldeFog

  • Sr. Member
  • ****
  • Posts: 415
  • Karma: +0/-0
NPC Scripts
« Reply #6 on: December 06, 2013, 10:27:31 pm »


               Sounds Awesome meaglyn. I'll be happy to check it out!
               
               

               
            

Legacy_meaglyn

  • Hero Member
  • *****
  • Posts: 1451
  • Karma: +0/-0
NPC Scripts
« Reply #7 on: December 10, 2013, 03:06:31 am »


               Okay, I pulled together something for this finally and posted version 0.9 to the two vaults. NWVault is pending approval. You can get aww from the new vault now here.

Cheers,
meaglyn
               
               

               
            

Legacy_YeoldeFog

  • Sr. Member
  • ****
  • Posts: 415
  • Karma: +0/-0
NPC Scripts
« Reply #8 on: December 11, 2013, 04:11:24 pm »


               Hi Meaglyn and thank you for the scripts. I've tried them a bit and I have a question about spawn and despawn. Is it possible to set it up to make a NPC spawn at a certain hour and despawn somewhere else (at a certain hour).

Is the system friendly with performance? If you have multiple NPCs making activities in areas with no players, it may bog down the system?
               
               

               
            

Legacy_meaglyn

  • Hero Member
  • *****
  • Posts: 1451
  • Karma: +0/-0
NPC Scripts
« Reply #9 on: December 11, 2013, 10:23:25 pm »


               

YeoldeFog wrote...

Hi Meaglyn and thank you for the scripts. I've tried them a bit and I have a question about spawn and despawn. Is it possible to set it up to make a NPC spawn at a certain hour and despawn somewhere else (at a certain hour).


No. This is not a spawn system. Use NESS for that (or SparkySpawner or whatever). This is only WalkWaypoints.
It could be used to despawn someone when reaching a certain waypoint (like putting the night waypoint at the door to her house and having a script on arrival destroy her.) But once gone there is nothing in AWW to make the NPC come back.

Is the system friendly with performance? If you have multiple NPCs making activities in areas with no players, it may bog down the system?


Sure. But that's independent of AWW.   If you have lots of NPCs doing things in areas with no players it adds to the load regardless of what's makling theNPCs are do activities. Those kinds of things generally run of the NPC's heartbeat. 

I'd recommend liberal use of the PC flag in NESS to despawn when no player is in the area.

Also, I believe that with the default AI level on NPCs the heartbeat slows down and they don't do as much when no PC is in the area. In the demo module I have raised the AI level of the NPCs so that when they leave an area they keep moving and will come back.

All of that said, since you can add any arbirtrary script on waypoint arrival or as an activity you could easily do things which will be very load intensive...  don't do that '<img'>
               
               

               
            

Legacy_YeoldeFog

  • Sr. Member
  • ****
  • Posts: 415
  • Karma: +0/-0
NPC Scripts
« Reply #10 on: December 12, 2013, 12:36:34 am »


               Alright! Thanks for the input Meaglyn! '<img'>