Author Topic: UoA's Scriptease  (Read 1016 times)

Legacy_Rolo Kipp

  • Hero Member
  • *****
  • Posts: 4349
  • Karma: +0/-0
UoA's Scriptease
« on: October 09, 2011, 08:43:13 pm »


                <grabs his head with both hands...>

Almost two years ago I got ahold of some of the AI papers coming out of the University of Alberta. I was totally off-grid then and couldn't *do* anything but dream. But, man! They sure inspired me.

Recently, while looking for the link to share with someone, I revisited the Scriptease site. They haven't stood still.

They have some good stuff there! I especially like the possibilities inherent in a synergy between their ALeRT-AM learning AI

U of A Abstract 
Our goal is to provide learning mechanisms to game agents so they are capable of adapting to new behaviors based on the actions of other agents. We introduce a new on-line reinforcement learning (RL) algorithm, ALeRT-AM, that includes an agent-modeling mechanism. We implemented this algorithm in BioWare Corp.’s role-playing game, Neverwinter Nights to evaluate its effectiveness in a real game.  Our experiments compare agents who use ALeRTAM with agents that use the non-agent modeling ALeRT RL algorithm and two other non-RL algorithms.  We show that an ALeRT-AM agent is able to rapidly learn a winning strategy against other agents in a combat scenario and to adapt to changes in the environment.


and the Behavior-MultiQueue system.

U of A
A movie clip (www.cs.ualberta.ca/~script/movies/tavern.mov) shows a tavern scene with one owner, two servers, and eighteen patrons. This scene runs in game at more than 30 frames per second, despite the high activity in the scene. We have run this scene for days without any noticeable stalling of behaviors or NPCs who stop performing their designated behaviors. This illustrates that the multi-queue approach is both efficient and robust enough for commercial computer games.


(Note: Their ALeRT-AM AI can achieve 80-90% wins vs. NwN scripted AI. Interesting, no?)

Is anyone here mucking about with Scriptease? Can I get some other viewpoints not tinted with these rosy glasses? :-)

<...to keep it from exploding>
               
               

               


                     Modifié par Rolo Kipp, 09 octobre 2011 - 09:34 .
                     
                  


            

Legacy_Rolo Kipp

  • Hero Member
  • *****
  • Posts: 4349
  • Karma: +0/-0
UoA's Scriptease
« Reply #1 on: October 09, 2011, 09:04:07 pm »


               <waffling...>

Full disclosure, though. Because Scriptease uses JRE 6u7 (hard to find, but not impossible) I never installed it.  I'm far more interested in the ideas than the tool. And would rather not risk my only connection with older JRE libraries :-(

But the screenies of Scriptease2 Alpha look pretty tasty.
'Posted
Soon as I get a new laptop (or fix one from the pile in storage) I'd planned to use this as a server, anyway.  I'll try it out then.

<...to C his A>
               
               

               


                     Modifié par Rolo Kipp, 09 octobre 2011 - 08:05 .
                     
                  


            

Legacy_Lightfoot8

  • Hero Member
  • *****
  • Posts: 4797
  • Karma: +0/-0
UoA's Scriptease
« Reply #2 on: October 09, 2011, 09:25:05 pm »


               

U of A
A movie clip (www.cs.ualberta.ca/~script/movies/tavern.mov) shows a tavern scene with one owner, two servers

 

And how did they pull that off?   An area running on two servers?  

  We have run this scene for days without any noticeable stalling of behaviors or NPCs who stop performing their designated behaviors. This illustrates that the multi-queue approach is both efficient and robust enough for commercial computer games.


I do not see enough information here to suport there conclusion.   If they had a server running with only one area in it. with 18 NPC.   Yea there is no case for lag.   Now, I would be more interested if they where running a module with several areas and a few PC's poping in and out.

**********
I have never really looked ar scriptease. I figured it was just another script generator.   There where a bunch of college students posting questions on the boards, awhile back. they all seemed to be using this link: http://aigamedev.com...es/bt-overview/  as the basis for what they where tring to do.
               
               

               
            

Legacy_Failed.Bard

  • Hero Member
  • *****
  • Posts: 1409
  • Karma: +0/-0
UoA's Scriptease
« Reply #3 on: October 09, 2011, 09:46:31 pm »


               That's interesting, nonetheless, Rolo, especially with using it NWN as a basis for pursuing AI and behavioural research.  If I'd known about it last week I'd have been tempted to swing by the university while I was in Edmonton anyways.  If I get a chance to pop in and talk to them about it when I'm back in Edmonton next week I'll post about it.
               
               

               
            

Legacy_Rolo Kipp

  • Hero Member
  • *****
  • Posts: 4349
  • Karma: +0/-0
UoA's Scriptease
« Reply #4 on: October 09, 2011, 10:00:38 pm »


               <grinning like...>

Lightfoot8 wrote...

U of A
A movie clip (www.cs.ualberta.ca/~script/movies/tavern.mov) shows a tavern scene with one owner, two servers

 

And how did they pull that off?   An area running on two servers? 

Nah, two servers running on one area ;-) No tips, though.  There should be tips.

  We have run this scene for days without any noticeable stalling of behaviors or NPCs who stop performing their designated behaviors. This illustrates that the multi-queue approach is both efficient and robust enough for commercial computer games.

I do not see enough information here to suport there conclusion.   If they had a server running with only one area in it. with 18 NPC.   Yea there is no case for lag.   Now, I would be more interested if they where running a module with several areas and a few PC's poping in and out.

Actually, they were talking about the AI getting hung up, not the processing/memory of the server. But, yeah, I'd like to see a lot more done with this... in fact, I intend to :-)

**********
I have never really looked ar scriptease. I figured it was just another script generator.   There where a bunch of college students posting questions on the boards, awhile back. they all seemed to be using this link: http://aigamedev.com...es/bt-overview/  as the basis for what they where tring to do.

Hmmm, that article really pushes behavior trees. The UoA Behavior multi-queues seem (reading the publications) to have several distinct advantages over BTs.  Not the least of which is that behaviors are interruptible and *resumable*.  Patron talking to patron about the weather, interrupts to order a beer, then interrupts the *waiting for the beer* to resume convo with patron until he interrupts convo to pay for beer... etc. Guard begins to warn PC that he is getting too close, interrupts his warning to attack when PC equips weapon... Etc.

Basically pre-emptive multi-threading behaviors.  

I like that.  And since the roles are collections of behaviors and behaviors are collections of tasks, that gives us descreet objects for defining higher-level actions and also gives us the handle (tasks) to use in learning behaviors.

Don't know how robust Scriptease is (though I really hope SE2 is *not* based on an insecure JRE :-P ) but they've been using it for a long time and producing some pretty nifty things :-)
Edit: and it's regularly updated, latest is Fall 2011 release...

<...a mad hatter>
               
               

               


                     Modifié par Rolo Kipp, 09 octobre 2011 - 09:13 .
                     
                  


            

Legacy_Rolo Kipp

  • Hero Member
  • *****
  • Posts: 4349
  • Karma: +0/-0
UoA's Scriptease
« Reply #5 on: October 09, 2011, 10:02:08 pm »


               <brightens up...>

Failed.Bard wrote...
 ...
If I get a chance to pop in and talk to them about it when I'm back in Edmonton next week I'll post about it.

Coolness! Thx, FB!

See if they need beta-testers for Scriptease 2 :-)

<...like the Sun>
               
               

               


                     Modifié par Rolo Kipp, 09 octobre 2011 - 09:02 .
                     
                  


            

Legacy_OldTimeRadio

  • Hero Member
  • *****
  • Posts: 2307
  • Karma: +0/-0
UoA's Scriptease
« Reply #6 on: October 09, 2011, 10:28:43 pm »


               Whoa!  Nice find, Rolo!
               
               

               
            

Legacy_Rolo Kipp

  • Hero Member
  • *****
  • Posts: 4349
  • Karma: +0/-0
UoA's Scriptease
« Reply #7 on: October 09, 2011, 10:40:51 pm »


               <nodding...>

OldTimeRadio wrote...
Whoa!  Nice find, Rolo!

Yeah, ya gotta keep a close eye on them professers.  They's doin' all *kindsa* sneaky things!

And not tellin' *me* about any of it!
(or the Vault... Scriptease has been updated constantly, but the Vault still has 2005 version and points to dead links :-/ )

<...with a finger alongside his nose and a slow wink>
               
               

               
            

Legacy_Lightfoot8

  • Hero Member
  • *****
  • Posts: 4797
  • Karma: +0/-0
UoA's Scriptease
« Reply #8 on: October 10, 2011, 01:52:25 am »


               

Rolo Kipp wrote...
Hmmm, that article really pushes behavior trees. The UoA Behavior multi-queues seem (reading the publications) to have several distinct advantages over BTs.  Not the least of which is that behaviors are interruptible and *resumable*.  Patron talking to patron about the weather, interrupts to order a beer, then interrupts the *waiting for the beer* to resume convo with patron until he interrupts convo to pay for beer... etc. Guard begins to warn PC that he is getting too close, interrupts his warning to attack when PC equips weapon... Etc.

Basically pre-emptive multi-threading behaviors.  

I like that.  And since the roles are collections of behaviors and behaviors are collections of tasks, that gives us descreet objects for defining higher-level actions and also gives us the handle (tasks) to use in learning behaviors.


I was not saying thy where the same. just that it is not the first time this has come up.   I also did not relize that the Article  that I linked could not be fully viewed without logging into there web site.  The last time I looked at it you did not have to log into there site.  It is a shame for it is a good atricle.   It covers BT's FMS and HFSM pretty well if memory serves me correctly.    Still your pre-emptive multi-threading behaviors are based or rather an extention of the BT theory.   Here is a quote from the PDF that you linked. 

In this paper, we describe how a behavior multi-queue
architecture can be used to support our four behavior
architectural requirements: responsive, interruptible,
resumable, and collaborative, and how the architecture
connects to ScriptEase (www.cs.ualberta.ca/~script) to
support generative behaviors. Our architecture can be used
to augment FSMs, HSMs, scripts, BTs, or HTNs.


               
               

               
            

Legacy_Rolo Kipp

  • Hero Member
  • *****
  • Posts: 4349
  • Karma: +0/-0
UoA's Scriptease
« Reply #9 on: October 10, 2011, 02:23:48 am »


               <shaking his head...>

Lightfoot8 wrote...
I was not saying thy where the same. just that it is not the first time this has come up.   I also did not relize that the Article  that I linked could not be fully viewed without logging into there web site.  The last time I looked at it you did not have to log into there site.  It is a shame for it is a good atricle.   It covers BT's FMS and HFSM pretty well if memory serves me correctly.    Still your pre-emptive multi-threading behaviors are based or rather an extention of the BT theory.   Here is a quote from the PDF that you linked. 
...

Right, at least as I understand it :-) The BMq is an extension of BT. Wasn't trying to dis that article, just noting that it didn't address (what I read) that fifth requirement - resuming where the NPC left off. 

Been reading several other pdfs on AI today.
Lot of things buzzing in my head <lotsa room in there, Boss> You saying it's empty or I got a big head, bird? <...> Humph.

<...trying to get the bugs out>
               
               

               
            

Legacy_Lightfoot8

  • Hero Member
  • *****
  • Posts: 4797
  • Karma: +0/-0
UoA's Scriptease
« Reply #10 on: October 10, 2011, 03:13:25 am »


               *grumbles*   I guess Im just grumpy today. <Thats an understatment..>  ahh, Shut up. *sits back down grumbling to himself*
               
               

               
            

Legacy_Squatting Monk

  • Hero Member
  • *****
  • Posts: 776
  • Karma: +0/-0
UoA's Scriptease
« Reply #11 on: October 11, 2011, 01:16:52 am »


               I've tried using ScriptEase. Followed all the tutorials and everything, but it never saves any of the changes to the module. I even launch the program as an administrator and make sure I've got permissions for my NWN folder set right. Could it be because I have a newer version of Java, ya think?
               
               

               
            

Legacy_Rolo Kipp

  • Hero Member
  • *****
  • Posts: 4349
  • Karma: +0/-0
UoA's Scriptease
« Reply #12 on: October 11, 2011, 04:34:37 pm »


               <looking concerned...>

Squatting Monk wrote...
I've tried using ScriptEase. Followed all the tutorials and everything, but it never saves any of the changes to the module.
...
Could it be because I have a newer version of Java, ya think?

They *do* say it won't work for any JRE version but 6u1 - 6u7...

Sure hope Scriptease 2 is built for the future ;-/

<...and not even faking it>
               
               

               
            

Legacy_henesua

  • Hero Member
  • *****
  • Posts: 6519
  • Karma: +0/-0
UoA's Scriptease
« Reply #13 on: October 11, 2011, 05:17:23 pm »


               If the app doesn't work you can always abstract out what their ides are and reapply them yourself with your own custom scripts. I imagine you'd need to create a framework of scripts for this, and put hooks in the bioware scripts to call them.
               
               

               
            

Legacy_Rolo Kipp

  • Hero Member
  • *****
  • Posts: 4349
  • Karma: +0/-0
UoA's Scriptease
« Reply #14 on: October 11, 2011, 07:44:25 pm »


               <holding up a thumb...>

henesua wrote...
If the app doesn't work you can always abstract out what their ides are and reapply them yourself with your own custom scripts. I imagine you'd need to create a framework of scripts for this, and put hooks in the bioware scripts to call them.

Yup. I'm really talking about two different topics in this post; Scriptease visual script generator and what the U of A has done with it.  The papers are incredibly (to me) exciting, but there is no code/script anywhere I can find it.

But then, the framework for behavior, learning, relationships, etc. are what I want to develop :-P My original idea (based on some of the stuff being done with the game of Life) was to use Finite State Machines.  BTs & BMqs are both very new to me and very exciting. But I'm going to explore both of them.  I really think, to get the kind of responsive, evolutionary and emergant behavior I want, that each NPC will need to be a variant of a FSM, modified by BMq or BT. It is the interactions, after all, that bring things to life :-)

So I hope Scriptease2 will run on my laptop and I hope I can get deeper into the stuff U of A is doing :-)

<...and squinting at the nearly empty canvas>
               
               

               


                     Modifié par Rolo Kipp, 11 octobre 2011 - 06:45 .