Jump to content
Sign in to follow this  
IndeedPete

REQUEST: FSM Config - "campaignFSMA3.cfg"

Recommended Posts

Hello there,

this thread directly addresses the Devs and I truly hope at least one of you awesome guys is reading this. I am currently working on a Hub-based campaign, means the player can choose the next campaign mission in the hub from a pre-defined pool of available missions. So far I'm making good progress but I just came across an issue which I can't seem to resolve solely on my own. In order to make a "BIS-like" campaign description.fsm work I seem to need a special compile config named "campaignFSMA3.cfg". Sadly, it's not part of the FSMEditor from BI-Tools 2.5.

So I kindly request to make this config file available to the community, so we can use it in our projects. Since my work is nowhere close to release it's not really an urgent matter and I already have an (untested) idea on how to bypass the FSM. However, I - and maybe even a few others - would truly appreciate to get this config file in our hands.

Thank you in advance, I'm looking forward to a positive reply or even some other ideas on how to solve this matter! :yay:

Edited by IndeedPete

Share this post


Link to post
Share on other sites

I see what you mean its not listed under the FSM editor. Can you copy paste the description.fsm from misison_f_epa\campaign delete out whats in there and use it? Wouldnt it still be a compaignFSMA3.cfg? Im just guessing here but maybe you can try that route.

Share this post


Link to post
Share on other sites

No, I need to re-compile the FSM after I made changes to it. The path to the config in question is still there - that's how I got the name - but of course it routes to a dir of a BIS dev who actually has this config on his machine. So it doesn't work for me.

Edited by IndeedPete

Share this post


Link to post
Share on other sites

Ah you are correct. This is what I get:

FSMCompiler: compiling FSM Project Splendid

FSMCompiler - 0 error(s), 0 warning(s)
Error: Configuration file C:\BIS\FSMEditor\campaignFSMA3.cfg does not found

Share this post


Link to post
Share on other sites

See? It will likely be part of the new BI-Tools version but I thought simply asking for it won't hurt anybody. I don't see any reason why they couldn't upload it somewhere apart from legal or copyright issues. We'll see.

Share this post


Link to post
Share on other sites

Yes, I'll second that - be nice to have it in our hands! A fully functional hub system must be attainable.

Share this post


Link to post
Share on other sites

I cant wait to try your campaign IndeedPete. I have looked through the maze of files and scripts that BI uses, its almost like a part time job. Looks like a lot of moving parts. I hope to take this on at some point as well.

Share this post


Link to post
Share on other sites
A fully functional hub system must be attainable.

If it's not possible to give this config out to the pulic I might have an idea on how to bypass it. My approach would be based on the static description.ext with the known fixed endings (End1, End2, Lose etc.). In my hub I already have the functionality to trigger different endings based on player's mission choice. So it could be possible to simply map the missions from the pool onto the endings from the description. That's basically what BIS' FSM does. Certain conditions to make missions (un-)available can be evaluated within the hub, that's no problem using profileNamespace or even campaignNamespace. However, the biki says that you may define End1-6 as well as Lose as ending types. For a targeted mission pool of 10+ (smaller) missions I'd need more than that. I tried to end a mission with End7 and it worked but I don't know if the campaign description on the other end supports that. I'll do some testing and give feedback. Of course it would be easier, faster and clearer to use a description.FSM. Hence I asked here.

I cant wait to try your campaign IndeedPete. I have looked through the maze of files and scripts that BI uses, its almost like a part time job. Looks like a lot of moving parts. I hope to take this on at some point as well.

True, it was also for me a lot of work to get at least some basic idea of how this works. And there are many things or functions I don't get yet. But also some I've already ruled out for my purposes and that's something. Plus I saw functions on several occasions that basically did the same as mine do, which I wrote earlier and fully unaware. It's inetresting to you see that even the devs sometimes approached a problem exactly like i did. ;)

Anyway, I hope I can finish this "Campaign" and release it some day. It wasn't plannend to be actually playable content at all. I started to out with building a shop system because I was just curious about it. Then I thought: "Great, now I can buy weapons and stuff. But what to do now? - Let's see, how would I transfer my already bought gear to a real mission...". Then one thing led to another: I was looking for some setting, expanded the hub idea more and wrote a ton of functions as well as dialogs to make it work. This project led to a custom library of more than 130 functions, around 20 different config files as well as additional scripts now. A large part of it was just the hub/shop programming, then some basic functions and another large part of third party functions from other users which I've integrated into my library.

I've decided to use a PMC setting as buying own gear and picking missions (contracts) does not really fit a regular army scenario in my opinion. I now have a story prologue, most of the hub, two rather small missions and one epiloge working. One main focus lies on player's choices combined with some light roleplay experiences. Buy a cheap waepon now or try to make some more cash and by a good one later? Pick the contract which offers the biggest reward right away? Or take an easy mission first? Hire additional mercenaries or gain more profit by doing it alone? Try to verbally trick an enemy into giving up key information or just walk in with big guns and take what you want? Aprroach a mission at night with silencers? Or maybe do the work on daytime where you can see better sicne you haven't bought NVGs yet? Or maybe fuck the PMC work at all, fuck the contract and try to run from your merc band? They sure as hell will come afer you, but if you insist to spent your time on the run rather than making money... ;)

I thought I could upload a small test scenario around the hub soon - just to see if people would like it.

Share this post


Link to post
Share on other sites

Ohhhhh I like this idea where you are going. You start off with cheap weapons and the more contracts you take on and complete the more cash you get to buy better weapons and vehicles. Maybe you can start to upgrade your camp or shop with better gear, structures, etc. Maybe occasionally some hired mercs come after you because you are competition or somebody put a contract on you. I will definitely help you test it out. Will you be using the strategic map?

Share this post


Link to post
Share on other sites

Hm, haven't thought about buildings and vehicles yet. For now it's weapons, magazines, items, attachments, headgear, gloggles, bests, backpacks and uniforms. But maybe there's an opportunity to put it in later. Originally I plannend some kind of license system, i.e. the player would have to buy an (expensive) manufacturer's license before he can access certain models in the shop. Kicked the idea out in the first prototype but maybe I reconsider that decision. There's a lot of balancing to make, especially in rewards on one hand and shop prices on the other. So the player doesn't become Duke Nukem because of too much money. Or the other way round: He should have enough money to be able to purchase crucial equipment. For now you start of as civie in flip flops and your Buddy gifts you a random pistol with three mags and a first aid kit. In my first mission I found an SMG and put the reward into a new set of clothes; after the second mission I could finally buy myself a vest for protection and a nice hat. :D

I don't think I can make use of the strategic map as the hub/HQ is currently located in Camp Maxwell, Stratis and the missions are planned to take place on Alits, or even other islands if there are some good ones coming from the mod scene. For now, mission selection is part of the shop, there's no visible map yet. Buy maybe I can work on that too, thanks for the idea. I think I'll finish the hub and make a small showcase of it to post here in the editor section. Just to see if the players get along with my system and ambient stuff.

Edited by IndeedPete

Share this post


Link to post
Share on other sites

Good news: After a small test I can confirm that my suggested workaround seems to do the trick. I've made a small test setup, just consisting of two missions, and defined a custom end in my campaign description:

class Campaign
{
name = "IP_CMP_MERCS";
firstBattle = Missions;
disableMP = 1;
enableHub = 1;

briefingName = "[MERCS Campaign Name]";
author = "IndeedPete";
overviewPicture = "\A3\Data_F\Flags\Flag_ION_CO.paa";
overviewText = "[MERCS Campaign Overview Text]";

class MissionDefault
{
	lives = -1;

	lost = ;
	end1 = ;
	end2 = ;
	end3 = ;
	end4 = ;
	end5 = ;
	end6 = ;
};

class Missions
{
	name = "The Beginning";
	cutScene = ;
	firstMission = MIn;
	end1 = ;
	end2 = ;
	end3 = ;
	end4 = ;
	end5 = ;
	end6 = ;
	lost = ;

	#define _CAMPAIGN 1

	class MIn: MissionDefault
	{
		Hub01 = Hub01;
		template = MERCS_MIn.Stratis;
	};	

	class Hub01: MissionDefault
	{
		Hub01 = ;
		template = MERCS_Hub01.Stratis;
	};	

	//#include "description.fsm"
};
};

The end in mission MIn is then triggered via:

["Hub01", true, 5] call BIS_fnc_endMission;

I'll do some further testing, i.e. integration of futher missions and report back. However, it would still be nicer if we could get this compile config as an FSM seems more flexible and clearer as this "static" approach.

Share this post


Link to post
Share on other sites

I was able to verify my theory and made a small palyable campaign snapshot posted here. It has a dynamic hub system which features mission selection but still uses a non-FSM solution as campaign description.ext:

class Campaign
{
name = "IP_CMP_MERCS";
firstBattle = Missions;
disableMP = 1;
enableHub = 1;

briefingName = "[MERCS Campaign Name]";
author = "IndeedPete";
overviewPicture = "\A3\Data_F\Flags\Flag_ION_CO.paa";
overviewText = "[MERCS Campaign Overview Text]";

class MissionDefault
{
	lives = -1;

	Hub01 = Hub01;
	Hub01Fail1 = Hub01;
	Hub01Fail2 = Hub01;
	MOut_Renegade = MOut_Renegade;

	lost = ;
	end1 = ;
	end2 = ;
	end3 = ;
	end4 = ;
	end5 = ;
	end6 = ;
};

class Missions
{
	name = "The Beginning";
	cutScene = ;
	firstMission = MIn;
	end1 = ;
	end2 = ;
	end3 = ;
	end4 = ;
	end5 = ;
	end6 = ;
	lost = ;

	#define _CAMPAIGN 1

	class Hub01: MissionDefault
	{
		M01a = M01a;
		M01b = M01b;
		M02a = M02a;
		M03 = ;
		template = MERCS_Hub01.Stratis;
	};

	class MIn: MissionDefault
	{
		template = MERCS_MIn.Stratis;
	};	

	class M01a: MissionDefault
	{
		template = MERCS_M01a.Altis;
	};	

	class M01b: MissionDefault
	{
		template = MERCS_M01b.Altis;
	};	

	class M02a: MissionDefault
	{
		template = MERCS_M02a.Altis;
	};

	class MOut_Renegade: MissionDefault
	{
		template = MERCS_MOut_Renegade.Altis;
	};	

	//#include "description.fsm"
};
};

Share this post


Link to post
Share on other sites

*spam/bump/remind* Would still be cool to see the original request fulfilled or a statement on whether this config will be part of a new BI-Tools version. :)

Share this post


Link to post
Share on other sites

Has "campaignFSMA3.cfg" been made public yet? No BIS' input in this thread so far.

Share this post


Link to post
Share on other sites

Not sure, I don't think so. But as I stated above, the other approach works quite well.

Share this post


Link to post
Share on other sites

Hi, the config file you want will be part of the release of FSM Editor for Arma 3 Tools. About the release, I cannot tell you when it will be, but it's in the pipe, just a matter of time. ;)

No BIS' input in this thread so far.
"Fixed!"

Share this post


Link to post
Share on other sites

Ah, that's good news, thanks!

Not sure what the advantages of an FSM campaign flow will be though - maybe better visibility and a way to effectively catch the ENDMISSION cheat? (That one's causing trouble in my approach at least.)

Share this post


Link to post
Share on other sites

One feature I'd like to see (if you use "Campaign" cheat and, say select 10th missions out of 20 in which, if playing honest, you should have lots of scavenged weapons+ammo+vehicles, etc.):

  • Random generation (with min & max parameters) of supposedly "scavenged supplies", simulating a situation in which the player should probably be at the point of the campaign

Of course, randomization's min & max should be determined by how many missions the player has already completed before using "Campaign" cheat and jumping into a random mission.

Is this doable?

Share this post


Link to post
Share on other sites
Hi, the config file you want will be part of the release of FSM Editor for Arma 3 Tools. About the release, I cannot tell you when it will be, but it's in the pipe, just a matter of time. ;)

Ooh! Could we get an ORBAT.cfg too? Pretty, pretty please? :P

Share this post


Link to post
Share on other sites

Heh, I simply scripted all of my campaign hub stuff. It's horrible bloated code, but it works quite good. From a functionality point of view it looks exactly like BIS' campaign hub, just in fugly code and no FSM. It simply uses the available mission endings to trigger different missions (e.g. end1 = missionA, end2 = missionB, etc).

Share this post


Link to post
Share on other sites
Heh, I simply scripted all of my campaign hub stuff. It's horrible bloated code, but it works quite good. From a functionality point of view it looks exactly like BIS' campaign hub, just in fugly code and no FSM. It simply uses the available mission endings to trigger different missions (e.g. end1 = missionA, end2 = missionB, etc).

That's what I did as well. However, it seems like BI's campaign FSMs are also capable of catching and processing cheat commands like ENDMISSION. If I recall my own tests correctly ENDMISSION will always trigger "End1" which results in redirecting back to the main menu if there's no follow-up mission defined for "End 1". Problematic in hub-based campaigns.

Share this post


Link to post
Share on other sites

Yeah, that's why I've put extra triggers in my missions. Kind of my own cheats which I will delete again at the end of the day. But then again, my missions usually are a bit more straight forward and except for different debriefing text stuff and the mission switching in the hub, I am don't really need more than one or two endings per mission at all.

Share this post


Link to post
Share on other sites

I also have my own cheat functions but players usually don't read the documentation or known issues and try what they already know - and then I get feedback from totally messed up playthroughs. Would be nice to somehow prevent that. However, the East Wind was BI's first dynamic campaign (AFAIK) so this stuff is pretty new in the armaverse.

Share this post


Link to post
Share on other sites
Hi, the config file you want will be part of the release of FSM Editor for Arma 3 Tools. About the release, I cannot tell you when it will be, but it's in the pipe, just a matter of time.
Time has come, enjoy it: http://forums.bistudio.com/showthread.php?179347-Tools-Development-Branch-Changelog&p=2858177&viewfull=1#post2858177

Share this post


Link to post
Share on other sites

That's great news, thanks guys!

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  

×