NPC Scripts
#1
Posté 06 décembre 2013 - 12:29
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
#2
Posté 06 décembre 2013 - 06:52
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
#3
Posté 06 décembre 2013 - 08:05
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.
#4
Posté 06 décembre 2013 - 08:12
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.
#5
Posté 06 décembre 2013 - 09:13
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...).
#6
Posté 06 décembre 2013 - 09:15
henesua wrote...
I'd like to see that code, Meaglyn. Sounds very interesting.
See above
#7
Posté 06 décembre 2013 - 10:27
#9
Posté 11 décembre 2013 - 04:11
Is the system friendly with performance? If you have multiple NPCs making activities in areas with no players, it may bog down the system?
#10
Posté 11 décembre 2013 - 10:23
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
#11
Posté 12 décembre 2013 - 12:36





Retour en haut






