It's described in Game Programming Gems 7 about bot logic for Unreal Tournament and sounds pretty exciting, it's not Unreal Script but other component (don't remember name now I have no access to this book atm)
2008/7/14 Ross Brackstone <[EMAIL PROTECTED]>: > Hm Fuzzy state system is a weird description to me, you can push them onto a > stack in UE3, but from the UDN documentation: > > In UnrealScript, each actor in the world is always in one and only one > state. > > http://udn.epicgames.com/Three/UnrealScriptReference.html#States > > On Mon, Jul 14, 2008 at 8:43 PM, Dariusz Dawidowski > <[EMAIL PROTECTED]> wrote: >> >> Unreal3 uses state machine like you said but even better - every state >> has weight so it's Fuzzy State Machine. >> But do we have manpower to rewrite quest system ? I doubt. >> >> Cheers >> >> 2008/7/13 Amir Taaki <[EMAIL PROTECTED]>: >> > Hi! >> > >> > Before there was talk about possible structures for FSM's in CEL during >> > cspop >> > for managing AI but this proposal was ousted after it was seen that >> > quests >> > could be applicable in this sense. >> > >> > Now with making the movement controller for apricot character the >> > various >> > movesets have to be made and coordinated together. A monolithic design >> > in the >> > first sense may seem simpler and work better but it quickly becomes >> > apparent >> > in it's shortcomings. Namely, >> > >> > 1. Methods clutter whereby functions start getting grouping prefixes to >> > distinguish themselves. >> > 2. Extensibility by being able to tack on new components. >> > 3. Configuration- monolithic is essentially saying "Here's what you >> > get" >> > >> > A micro component design by contrast offers clarity at the expense of >> > higher >> > complexity and lower ease of use. The complexity comes from coordinating >> > the >> > various micro components to work together in a coherent way. >> > >> > Typically when you perform an action in-game, there will be a few >> > actions you >> > cannot perform while that action is being performed. Examples can be >> > that you >> > can jump while spin-attacking but cannot grab ledges, or that you cannot >> > jump >> > while performing a roll. >> > >> > Maybe pressing jump during a roll while wait for the roll to finish then >> > perform an extra long rolling-jump. Notification of the roll being >> > finished >> > is not a problem in CEL as there is already a mechanism (messages). But >> > for >> > seeing that a roll is being performed the current best solution is, >> > >> > csRef<iPcRoll> roll = celQueryPropertyClassEntity<iPcRoll> (entity); >> > if (roll->IsRolling ()) >> > // blaa >> > >> > Not a problem, except due to the tight coupling with iPcRoll which >> > totally >> > destroys any reason for moveset components. >> > >> > Another issue is knowing what action to perform depending on a state >> > dependent >> > in another component- >> > >> > def JumpPressed (self, entity): >> > if self.jump.IsJumping (): >> > self.jump.Jump () >> > else >> > self.glide.Glide () >> > >> > Something more convenient and transparent for the user could be >> > >> > def __init__(self, entity): >> > self.BindAction (JumpPressed, (self.Glide, self.Jump)) >> > >> > With the glide knowing beforehand automatically which state it is >> > allowed to >> > transition from and also with the option to have the user to override >> > this >> > and specify themselves how they want. >> > >> > Essentially I'm asking what mechanism already exists in CEL (are quests >> > sufficient) to have a state machine easily accessible by multiple >> > components >> > for various actions like, >> > >> > 1. Can register more than one state- object can be in multiple states >> > which >> > can be removed individually. Like attacking, jumping and analogmotion. >> > 2. Ruleset to describe what action to execute in what components >> > depending >> > on existing states. >> > Component can then ask permission to register a state- if the >> > ruleset >> > rejects the new state then the action doesn't get performed. >> > >> > Thanks for your time, >> > >> > Genjix >> > >> > >> > ------------------------------------------------------------------------- >> > Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW! >> > Studies have shown that voting for your favorite open source project, >> > along with a healthy diet, reduces your potential for chronic lameness >> > and boredom. Vote Now at http://www.sourceforge.net/community/cca08 >> > _______________________________________________ >> > Cel-main mailing list >> > Cel-main@lists.sourceforge.net >> > https://lists.sourceforge.net/lists/listinfo/cel-main >> > >> >> ------------------------------------------------------------------------- >> Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW! >> Studies have shown that voting for your favorite open source project, >> along with a healthy diet, reduces your potential for chronic lameness >> and boredom. Vote Now at http://www.sourceforge.net/community/cca08 >> _______________________________________________ >> Cel-main mailing list >> Cel-main@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/cel-main >> > > > > -- > ~ Ross Brackstone > ------------------------------------------------------------------------- > Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW! > Studies have shown that voting for your favorite open source project, > along with a healthy diet, reduces your potential for chronic lameness > and boredom. Vote Now at http://www.sourceforge.net/community/cca08 > _______________________________________________ > Cel-main mailing list > Cel-main@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/cel-main > > ------------------------------------------------------------------------- Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW! Studies have shown that voting for your favorite open source project, along with a healthy diet, reduces your potential for chronic lameness and boredom. Vote Now at http://www.sourceforge.net/community/cca08 _______________________________________________ Cel-main mailing list Cel-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/cel-main