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