Jump to content
Sign in to follow this  
chris330

What can FSM actually do? Excited!

Recommended Posts

Hi I just happened across FSM Editor in the BI Tools download. Things like these have a habit of interrupting what I actually want to work on - I have a project running now. I have a very excitable nature though I've got a disorder which makes my brain hyperactive (asperger's) and makes it very hard for me to be relaxed and rational and when i see stuff like this I get so excited about their potential I can overload and think like 9,000,000,000 thoughts in 1 minute for a whole hour and be exhausted for the rest of the day.

So I'm going to ask instead of racing off full throttle trying to find out for myself. What generally can FSM's do? They sound very capable indeed, just what can they be used for?

I'm aware of two types. User made and Native. Native being engine coded and un-editable *I think*. My questions are:

1)Do the Native FSM's run constantly without being started manually throughout the entire life of any given AI unit?

2)Can you read what state the Native FSM machine is in - i.e. what the unit is doing? Likewise can you do the same for a User Made FSM?

3a)Could it be used to alter the way AI commander's give orders to their drivers depending upon what state the commander's combat and movement FSM is in?

3b)Could you basically disable AI movement yet still have the Native FSM run which handles target detection and response so you could input your own desired AI behaviour when, for example an enemy was detected?

4)If 3b) cannot be done by interacting with the Native FSM, can a User Made FSM be built that mimics the Native FSM's functions like registering enemies detected and such like and use these as triggers to initiate User Scripted responses?

Thanks!

Share this post


Link to post
Share on other sites

I thought this was going to be a thread about the Flying Spaghetti Monster... Now I'm just disappointed.

Share this post


Link to post
Share on other sites

Hmmmmm.... Now I am curious about this FSM editor too. Never noticed it before.

Share this post


Link to post
Share on other sites

Apparently it is only available to folks with ArmA 2 which is where this was intended to go anyway. Placebo has been pm'ed and I would imagine be along shortly.

Share this post


Link to post
Share on other sites

Can anyone throw some light on this? I could tbh research it myself but I'm in the middle of a big chapter in my maths work for uni. Anyone who knows anything about it feel free to chuck it into this thread ;)

Thanks for moving it by the way.

Share this post


Link to post
Share on other sites

There is nothing special or magic about finite state machines (fsm). Anything you can do with a fsm can also be done with ordinary scripts. A fsm consists several states, transistions, that is rules about when and where to switch state (like a switch, if/else or goto statements), and a code-body/action per rule (what to do).

So where are the benefits you ask? The logic/concept of a fsm is very common (resp. a solution for common problems), thus it's very comfortable to organize such a thing in a standardized way. You gain speed in writing a fsm, readability and maintainability of code. In short: if what you do is a fsm, use those tools, since they will assist you. It's about the organization and visualisation of the flow of your logic/script. That's it.

They are used for AI-behaviour, but this doesn't mean, that fsm would open anything *new* or *magic*, as some of you might assume. The expression you can put into such a fsm action are the same as what you can write in any sqf script.

Still eager to learn more? Unpbo the latest official campaign and have a look at all those fsm files. They have fsm to control the soundtrack of a mission (stop->play this->play that->end), they have lot's of user-to-ai or ai-to-ai interaction fsm's, for cutscenes (wait->speak->wait->go there->play this anim->that anim->end) or for mission-logic.. (escort some dude->still alive?->near his home?->done)...

hope that gets you some idea.

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

×