logo logo

 Back to main page

The NWNX Community Forum

 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 
 
New Graphical AI Toolkit using NWNX2

 
Post new topic   Reply to topic    nwnx.org Forum Index -> General Discussion
View previous topic :: View next topic  
Author Message
Timex



Joined: 10 Jan 2007
Posts: 11

PostPosted: Tue Jan 23, 2007 22:37    Post subject: New Graphical AI Toolkit using NWNX2 Reply with quote

I just wanted to thank you guys for providing the NWNX, and the plugins folks have made availible. I also wanted to give a little update on what I'm working on, in case anyone might be interested.

I'm using the MNXJ plugin to hook into a java application, which allows you to script out behaviors using a visual task decomposition language called TMK (Task-Method-Knowledge).

Currently, it's in the very early prototype stages, but it's coming along nicely. Linked below...
http://i148.photobucket.com/albums/s35/FatherTimex/PerceptionReaction.jpg
... is a picture of an early model I've hooked up to the OnPerception script for a creature in a module. At this stage, it's fairly simple.. it responds to various perceptions, and does things like walk to the source, say various things, etc. It should give you an idea of what this stuff looks like when it's made. It's worth noting that this isn't just a picture or diagram, but is the actual program that is called by the NWN script.

You can see, it's a bit easier to deal with than the text based scripting language. It's easy to see the branch points, and follow what will happen as the thing runs.

Right now, I'm working on the java bridge code to extend the API availible to the graphical interface. Since this stuff is being done outside NWN, it can't directly call on the script functions, so some bridge code needs to be made to allow strings to trigger actual functions in the script. Currently it can do basic things like move to objects and positions, talk and listen to chat, and a few other things.

One of the nice things is that the models are somewhat separate from the actual module being run.. meaning that you can change the behavior model while the module is running, and the next time the creature it's attached to spawns, it will use the new behavior, without needing to rebuild the module or edit any of the scripts.

The language itself is actually reflective, similar to interpreted languages like LISP. This means that when the models run, they can reflect upon their own structure, and change it. For instance, they could add a new way of interacting with a situation on the fly.

Anyway, I just wanted to thank you guys again for producing the NWNX stuff, and I thought someone here might be interested in this work I'm doing. I'm hoping that the MNXJ plugin will be ported to NWNX4, but I may end up having to do it myself. I do intend to do that eventually though, as most of the stuff I'm working on now should be easilly ported to the new framework (assuming the basic MNXJ commands stay the same).

Hopefully, I'll be able to release this stuff to the community at some point in the future once it's in a more complete state, and it will prove useful to someone.

Thanks,
Timex
Back to top
View user's profile Send private message
Grinning Fool



Joined: 12 Feb 2005
Posts: 264

PostPosted: Wed Jan 24, 2007 6:10    Post subject: Reply with quote

This is good stuff, I'd definitely be interested in seeing how it progresses -- especially once you get to the point where performance and load testing can be executed.
_________________
Khalidine, a NWN2 persistent world

Looking for volunteers.
Back to top
View user's profile Send private message
Timex



Joined: 10 Jan 2007
Posts: 11

PostPosted: Wed Jan 24, 2007 6:31    Post subject: Reply with quote

Ya, a guy who runs a PW I play in had the same concerns.. I would expect anyone would.

My initial impressions suggest that while increasing processor load and memory usage, it may have a minimal effect on lag in game, since the processing is being done in a completely separate VM, so NWN can continue about its business while the AI models continue chugging along in java land.

I've integrated this modeling environment with other largescale simulation environments, and I've found in the past that the memory and processor load tends to be a fairly flat curve as the number of entities being controlled goes up... You pay a price to run the java VM, but the individual price per entity being controlled is fairly small.

Also though, keep in mind that current development is being done for NWN1.. my development machine is so infinitely far beyond the old NWN1 system requirements, that it's got lots of extra horsepower.. Wink

Worst case scenario, you could at least use it to handle the behavior of certain select "boss" type creatures, or important NPC's. It's essentially performing the same kinds of things as the ShadowDoor plugin, only it's letting you use a graphical, compiled, object oriented language instead of LISP.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    nwnx.org Forum Index -> General Discussion All times are GMT + 2 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group