jwilkerson -> RE: Admiral's Edition General Thread (12/9/2007 11:01:51 PM)
|
quote:
ORIGINAL: Buck Beach I'm not sure I truly understand the full concept of AI scripting? What does it include? I am only looking for a very brief explanation. First a couple of examples. (1) TAOW - in this game (and I'll admit I haven't coded up a full blown "event script" for TOAW in some years .. but way back when I spent far more hours "building" TAOW games than I did playing them!!!) the scenario builder has a reasonably useful "event scripting" language with which to build in some AI. Triggers can be set and event chains launched from such triggers. Supply levels can be changed, reinforcements can be triggered, weather can be changed, intel levels can be changed. And then from a campaign perspective, multiple objective paths can be created and units/organizations can be assigned to these objective paths. If you build the scenario, you will be able to beat it (if it can be beaten) because you know the options, but it can provide an interesting a variable puzzle for others. (2) EU2/HOI2/Victoria - I've only played around extensively with the HOI(1) capabilities. Here you can define whole nations and all the related attributes. In these "paradox" games, the game creators themselves use the scripting engine to define the games. The scripting engine is not a "bolt on". So you have the same powers that the game designers have. The "scale" of HOI is a bit too macro for my tastes, hence I don't have nearly as many hours investeed there as I do with the TAOW engine, but both serve as examples of "AI Scripting" at least at some level. What are some of the attributes of AI scripting? (actually I will answer more closely to what would I like to see in an AI Scripting engine) (a) Well an AI scripting engine may or may not be "exposed" i.e. available to modders. This is more of a business decision than a technical decision. (b) One successful type of architecture would have the scripting engine be event based. In this case a full DES (Discrete Event Simulation) model would be preferred. Events in a DES system can create any number and type of other events when they fire. And they can destroy any number and type of other events. DES can be time based, so an event can create a number of other events and add them to the event list in the future. When the time reaches that time scheduled for an event to fire, then event fires. It make take actions, or it may CRUD other events. (c) Another useful component would be a Petri Net based relationship. Most DES systems I've built in the past were "linear". A PN based system would be "graphical" (in the sense of graph theory not in the sense of pictures). A PN system allows multiple simultaneous asynchronus processes to be acted upon. That is we are now non-linear. Stocastic Petri Nets can add random variables to Petri Net elements to randomize event firings even further. I have used Petri Nets very successfully to simulate operations of semi-conductor manufacturing equipment and thus became aware of the power of this (mathematical) tool for simulating almost any phenomena. So these would be among the basic elements I would like to see in a "go forward" AI scripting engine. And a further topic would be "extensibility". That being, what does it take to add a new event type? Can this be done without changing the even processing code? And there would certainly have to be some limits here, but at the same time event type extensibility would be another "nice to have" attribute. So is this in scope for "AE"? Definitely not. But if Joe ever gets to work on "WITP_II" or equivalent, it would be something I would be advocating for. --- BTW there are some decent books on AI for games --- I haven't yet seen one that mentions Petri Nets though! :)
|
|
|
|