Jump to content
Sign in to follow this  
ManDay

FSM-Users here?

Recommended Posts

Just curious: Did anybody already use the FSM-Interface for the Editing. And if yes: how is it?

Share this post


Link to post
Share on other sites

You dont like to talk a lot, dont you biggrin_o.gifbiggrin_o.gif ?

Well, I think it's not too dificult. Actually i think it is really easy because I am so intelligent.

yay.gif j/k. No - seriously. I think its great and intuitional. You understand best when you download the FSM-IDE FSME 1.04 from here and just open an example. The scripting language is our old and well known ArmA/OFP language - same possibilities, same restrictions same declarations - just exactly the same.

The only thing that you will have to "learn" ("" because its so simple) is that linking the things together. A simple flowchart - that's it.

If you got that its all done. I think this opens up great and new oppurtunities.

And if you are familiar with the concept you can even code the FSM-files yoruself. The syntax is described here.

regards

Share this post


Link to post
Share on other sites

I have a question:

I would like different formation modes for my squad.

Ill name them Urban and Field.

Urban is a tight phalanx where the units all face outwards and the squad can slowly enter a town and cover each others backs.

Field is more spread out and the squad automatically takes higher ground and covers each other in a leap frog fashion.

Question is is this idea perfect for FSM over pure custom scripts from scratch. Im just wondering what the big picture is with FSM regardig this idea because to me its all new.

Thanks

Share this post


Link to post
Share on other sites

We have a (28page and growing..) document outlining the benefits and pitfalls of FSMs. I have actually had ArmA for a few weeks now and we are doing alot of testing.

They are very nice. They are certainly for specific purposes and all the people that downplay them as "just another way to execute scripts" really don't know how they work or are intended to work.

We hope to clear that up a bit.

Quote[/b] ]Question is is this idea perfect for FSM over pure custom scripts from scratch. Im just wondering what the big picture is with FSM regardig this idea because to me its all new.

Your idea is perfect for FSM.

and on another note, I encourage this editor smile_o.gif and though it's only flaw is that it cannot import FSMs as of right now, the next release will. In fact, it has many other coding features that no other editor can do.

Cheers,

CD

Share this post


Link to post
Share on other sites

FSM will be right the thing for you. There are dozen of new commands just supposed to be used with FSM. All those are ment to be used within FSM-files for such kind of purpose.

Check setUnitPosWeak. This will be the "FSM-Variant" of setUnitPos.

http://community.bistudio.com/wiki/setDestination is something important in FSM files as far as i can see right now.

This is the first time I take a look at FSM-Files but as I said those are really easy to understand. Just get the editor i told you and check out the "formation.fsm"-sample. It doesnt only give you the basics but you will understand immediatly what all this is about. !

Share this post


Link to post
Share on other sites

So where do you find these FSM files? Ive look all over my install and can seem to look one up. Do I have unzip a .bin or something, or perhaps export them? I have FSM Edit.

Thanks.

Share this post


Link to post
Share on other sites

I dont think that there are any yet. Just create your own one or use the example gracia

Share this post


Link to post
Share on other sites

There are already FSM-files with Arma. That´s why civillians act so cute.

I don´t know where the files are exactly located though. Probably they come with characters.pbo and the appropriate other ones for vehicles.

Share this post


Link to post
Share on other sites
There are already FSM-files with Arma. That´s why civillians act so cute.

I don´t know where the files are exactly located though. Probably they come with characters.pbo and the appropriate other ones for vehicles.

From your response I am assuming that there currently isnt an app that willunzip/decompile whatever files contain these FSM files. But even if there is, has anyon managed to open, edit and overwrite/subclass (for OOP) the AI code. This is what I was hoping that FSM would allow the community to do. So far it just seems like a graphical scripting language.

Share this post


Link to post
Share on other sites

I found four FSM files in characters.pbo in the scripts folder.

formation.fsm

formationC.fsm

formationCDanger.fsm

formationEntity.fsm

I used cpbo to extract the pbo.

Share this post


Link to post
Share on other sites
Quote[/b] ]But even if there is, has anyon managed to open, edit and overwrite/subclass (for OOP) the AI code.

You can already do that. The reason I see why noone has released a set of new FSM´s right now is that FSM´s can´t be replaced on the fly, for example when loading up a mission and replacing the embedded FSM´s with custom ones. They have to be repacked with the models and distributed which is imo a big letdown as it would be much less complicated to have custom FSM´s that you can apply via description.ext or start from init.sqs for a group of units.

For sure, when the tools are out and people will create new units there is a chance that we will see new FSM´s in action (if anyone can make benefit of the FSM it is, as to me it seems that the FSM editor alone doesn´t make AI do wonders as the commands used within the FSM are still the same used for scripting, so temporarely overriding or extending the AI via scripting for now is the best way to go).

Still, a real approach for efficient useage of FSM´s would be to have them replaceable "on the fly". This would save us from releasing complete addons when you only want to change the FSM of a unit.

Would be a good addition for the wishlist imo.

Share this post


Link to post
Share on other sites

well a doFSM command will quit all current FSM and run the new one i guess. so what is the problem. i think i will try some fsm today eve or tomorrow. it lures me a lot

Share this post


Link to post
Share on other sites

Rgr t. I will give you my results in... one hour. k? smile_o.gif

€: It will take some times. Im on it. I am getting a "scalar array boolean string"-thing when i use _this in the FSM but "this" will only return the unit not the full array passed.

Ey crashdome - can you tell me something about the way native FSM are written? thanks

And I tell you again: For all those who are new to FSM get this editor for a first understanding.

if you want to create your own fsms with an IDE rather then with an editor then I suggest you get this other editor because its interface is neat but cannot import fsms yet.

Still FSM does not really seem to be such a groundbreaking level like i first thought. there is nothing really "AI"-like. All the things that can be done with FSM can be done by scripting to.

There is no real acess to the AI with fsm.

Share this post


Link to post
Share on other sites

I am stepping out of bounds a bit here... but there has been a considerable effort by a fellow SoW member in determining the finer points of FSMs.

We have a considerable amount of documentation completed (25+ pages). It is not released yet, but answers alot of questions. If you are going to ask why it is not released, all I can say is "because we are putting final touches to it."

I can specifically summarize that FSMs are not unreliable when used correctly. They are also not the end-all be-all answer to changing the AI behavior. Typically they are used for scripted behavior (like scripts), but there are advantages over regular scripts. The ability to perform another *small* action and then return to the FSM without any elaborate checks is one (i.e. reloading, grabbing weapons - a script would need to 'wait until unit is ready' whereas the FSM doesn't need to wait at all). The ability to terminate an FSM by ordering the unit to do otherwise is another (a regular script would need to loop constantly if you wanted to terminate it 'at any moment when unit is given an order to do something else' )

Native FSMs I have not dove into yet because the scripted ones are so difficult to comprehend (without proper documentation by BIS  icon_rolleyes.gif ) that it took some major testing to find the limits. We make some assumptions about native FSMs, but nothing concrete enough to say "this is how it works".

[EDIT]

Quote[/b] ]Still FSM does not really seem to be such a groundbreaking level like i first thought. there is nothing really "AI"-like. All the things that can be done with FSM can be done by scripting to.

There is no real acess to the AI with fsm.

These statements are false. Suggesting that because "scripted FSMs" are subject to the same commands a regular script is subject to doesn't make them able to access the AI is a total anti-thesis. Rather, FSMs have considerable access to AI behavior, but so do scripts. The real benefit to FSMs is more evident when you try to stack an FSM which accomplishes a task (according to the intention of FSMs) against an SQF file version of the same task. You will find the SQF fails miserably in terms of reliability and performance in most cases.

Share this post


Link to post
Share on other sites

That is not what I ment.

See - a real FSM-Interface regarding the AI would provide a general access to all parameters.

Regarding the content itsself I dont see ANY advantage of FSM over SQF since the native language is the same.

IF FSM in Arma was some real AI-Interface then you would find ways to access the AI-engine.

e.g.:

a variable which tells whether the unit feels as under fire.

a variable which tells whether the unit feels safe

etc. etc.

I agree: FSM will be a good practice to perform parallell scripting. running an FSM for controling a unit will rather be confortable than running a dozen scripts with "if"s and "while"s.

but a real groundbreaking innovation would have been a "end-all be-all answer" to the question "how may I create the WHOLE AI which is done in Arma with a FSM file".

Share this post


Link to post
Share on other sites
See - a real FSM-Interface regarding the AI would provide a general access to all parameters.

Low level access to all properties would render the engine unstable and in reality break almost everything.  

Quote[/b] ]Regarding the content itsself I dont see ANY advantage of FSM over SQF since the native language is the same.

Then you haven't read enough of my posts.

Quote[/b] ]IF FSM in Arma was some real AI-Interface then you would find ways to access the AI-engine.

e.g.:

a variable which tells whether the unit feels as under fire.

a variable which tells whether the unit feels safe

etc. etc.

Check native FSMs.. and also, what you are asking is not an interface. You want to recreate the engine. You are asking if you can simply dump the AI and make it yourself. You might as well ask if we can dump the 3D engine and make our own. You will probably reply "thats not what I am asking.." but in reality .. yes.. you are.

Quote[/b] ]I agree: FSM will be a good practice to perform parallell scripting. running an FSM for controling a unit will rather be confortable than running a dozen scripts with "if"s and "while"s.

but a real groundbreaking innovation would have been a "end-all be-all answer" to the question "how may I create the WHOLE AI which is done in Arma with a FSM file".

See my reply above... same reason. You are asking to override properties of units and make your own AI engine. I don't think BIS will *ever* allow the community to do that. Secondly, the advantages of FSMs (when understood) are really powerful. You can look at it as "parallel scripting", but IMO it is truly an interface to the AI. And by interface I mean a true interface where you set values for properties which are publicly exposed and the AI engine responds in kind.

Share this post


Link to post
Share on other sites

I read all your posts absolutly attentively. I think at least I understand the point you stress - but there we are not of the same opinion. You got it totally right thumbs-up.gif: I am looking for a way to control the most private structures of the AI and first I thought FSM would offer such possibilities.

There aint no need to discuss this any further. You are right with what you say. Not a doubt - it's just not what I exspected.

Regarding the "native" version of FSMs I already ask whether you have some piece of information regardless what's those status of "publication" will be.

just a single hint maybe where I can find some help to create native FSMs cos I cannot find absolutly anything within the wiki.

Thanks for your detailled statement, crashdome smile_o.gif

Share this post


Link to post
Share on other sites

OK, I am glad we are really on same page.

Native FSMs we have *nothing* on. The document and our testing has been on focused research of the scripted FSMs because we believe that is the first area the scripting community will tread. Native FSMs, we believe, are similar in concept but will only be useful in addons which might have complex features that the regular FSM will result in odd behavior. Therefore, you can tweak using some low-level *but severely limited* properties to get your *feature or idea* to work properly without scripting some elaborate workaround. Again, these are assumptions and not based on actually creating any for testing.

Share this post


Link to post
Share on other sites

Also, a preemptive thanks reguarding the documentation your are dilegently putting together.  And, although it would be nice to have now, dont skip any meals or piss off any wives to get it to us unresonably fast.  There really is only a handful of folks here that are itchin to get our hands on it.  So feel free to take your time with it.

Share this post


Link to post
Share on other sites

/me is signing on the list with the itching folks smile_o.gif

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  

×