Jump to content
celludriel

[COOP-10] Stratis Simple CTI

Recommended Posts

Hey,

 

Introduction

I started this project last year in April, due to some real life stuff I had to take a break.  I started again about ten days ago and got a new version ready.  The setup is still the same I wanted to create a simple CTI mission that was easy to port to other maps and still be fun to play.  I managed to put a few fun features in this release and I hope you all like it.  A lot of the code in the mission is from shared authors on the BIForums.  I couldn't have done it without them.  Thanks to each of them come to mind are Shuko, Larrow, T800, KillzoneKid and others ...

 

Mission description

Stratis is under siege and taken over by CSAT forces.  The UN are in "peace" talks for months now with no resolution in sight.  You are part of a group of people that had it with the talking and are taking action.  Thanks to a wealthy sympathizer the necessary funds is available and last night you where able to establish a foothold on a tiny island to the south of Stratis.  The job is simple, take back every strategic zone on Stratis and liberate the two towns.  Good luck and on to victory !

 

Technical features

  • FarRevive
  • Dynamic weather
  • Auxillary sling loading
  • Tactical icons
  • Time acceleration
  • T8 zone population
  • LV zone population
  • VCOM zone population
  • Supply drops
  • Slingable armory
  • Arsenal spawner
  • Respawn equipment setup
  • TAWD visual settings
  • Vehicle service points
  • Simple MHQ
  • Infinite Inventory

 

Administrator notes

  • The mission will ONLY run on a dedicated server.  I wrote it this way not to have the headache of a server that is also a client.  My last project got cancelled due to that crap.
  • Several configuration settings including
    • Choosing between scavenging for weapons and supply drops or a straight up arsenal
    • Choosing between using T8 ai or LV ai
    • Setting up occurance of supply drops and how long they stay active
    • Saving and loading of zones, supply drops and slingable armory
    • Time accelleration
    • ...

 

Current Version

Version 2.2.1

 

Download

 

Afterword

 

I would really love to have some opinions on the mission itself, but also on the coding style.  So any mission designers please take a look at the code.  Show me mistakes or improvements, anything could help in any future projects I would do in arma 3.  Feel free to experiment with the code as well, I have limited time so if you ask me stuff like can I add RHS or god knows what ... well my answer will probably be I wrote it in a modular fashion, why don't you write a module for it ?  Just when you start tinkering keep in mind the core folder ... well that is my playground, you might do changes in it, but if I update my CTI template or who knows redesign it completly , your work will be for naught.  Just write modules K ;)

 

Hope you guys enjoy it !

  • Like 2

Share this post


Link to post
Share on other sites

Shameless bump

 

I would really appreciate it if anyone would fine the time to test the mission , tell me how to improve especially on AI spawning side

Share this post


Link to post
Share on other sites

Thanks, hope you enjoy it, don't hold back to point out things that could be improved I'll add them to a backlog and try to fix as much as possible.  I'm working on another project as well now but I can move my resources between Simple CTI and my "secret project" :D

Share this post


Link to post
Share on other sites

It looks good so far. I played on decidated and ran well.

Only the one playthrough for about 30min so far.

The only thing i have found is the respawn for the Helo MHQ is too quick, I got shot down over Kamino and I respawned back at base.

The helo that took me out was still in the air, it took me out again while in the freshly spawned helo MHQ at base, this then caused an explosive chain reaction with all the vehicles at base.

Pic in spoiler

?interpolation=lanczos-none&output-forma

The only errors I have in either RPT file are below 

 

- distToWater comes up a few times on the inital set up.- server side

- the variable attached to the vehcile may not have saved its "markernName" correctly - client side

- _respawnPositions may not be an array, so you have the zero divisor error. Have not had the time to look into all the scripts as yet. - client side

19:59:06 Error in expression <distToWater interpolate [0.2,0.21,-1,1]>
19:59:06   Error position: <distToWater interpolate [0.2,0.21,-1,1]>
19:59:06   Error Undefined variable in expression: disttowater


20:12:43   Error Undefined variable in expression: _deploymarkername
20:12:43 File mpmissions\__CUR_MP.stratis\custom\modules\SimpleMhqModule\mhqPositionMarker.sqf, line 8
20:12:43 Error in expression <ariable "markerName";
20:20:08 Error in expression <wnPositionTextArray = _respawnPositions select 3; if(count _respawnPositionTextA>
20:20:08   Error position: <select 3; if(count _respawnPositionTextA>
20:20:08   Error Zero divisor
20:20:08 File mpmissions\__CUR_MP.stratis\custom\modules\SimpleMhqModule\gui\guiFunctions.sqf, line 10  

i'll have a nother look over the week and update on what I can to help with this.

 

Its tough for what I have played so far. looks like a few of my mates could get into and make a good go of clearing out the Island.

 

 

 

  • Like 1

Share this post


Link to post
Share on other sites

nice catch on those errors.

 

For the chopper issue I could put in a sleep of a few minutes before I respawn a killed mhq.  That should hopefully remove those cascading explosions, or I could find a way to clear the underlying wreck before respawn.

 

The errors however hmm

params ["_marker", "_type"];

_coord = getmarkerpos _marker;
_mhq = createVehicle [_type, _coord, [], 0, "can_collide"];

waitUntil { !isNil("_mhq") };

_mhq setDir (markerDir _marker);
_mhq setVariable ["markerName", _marker, true];
_mhq setVariable ["type", _type, true];
_mhq setVariable ["MhqDeployed", false, true];

[_mhq, "custom\modules\SimpleMhqModule\mhqPositionMarker.sqf"] remoteExec ["execVM", -2, true];

 is being set serverside in createMhqVehicle.sqf.  I count on the framework to propagate that variable to the client.  I could put in a small sleep of a few ms to make sure it has been propagated , but logically I don't see an immediate fault :(

 

The "distToWater interpolate" cause seems to be arma itself ?  I don't have any line of code like that in my codebase.  Maybe an arma function that gets fed the wrong input ?

 

For the zero divisor I might have an idea.

		_respawnPositions = missionnamespace getVariable ["BIS_fnc_getRespawnPositions_listwest", []];
		diag_log format ["RespawnPositions: %1", _respawnPositions];
		_respawnPositionTextArray = _respawnPositions select 3;

This is the part of code that is the culprit.  Maybe there aren't any respawnPositions yet and I have to do a check if _respawnPosition is type of "Array".  The dialog will be useless then though without any respawn points.  Which basicly shouldn't happen in the first place, there should always be one respawn position.  The base flag pole (which admidetly get spawned server side)  maybe another sync issue server vs client ?  Maybe this happens if you open up the dialog without having deployed any of the MHQ's yet, that seems reasonable that "BIS_fnc_getRespawnPositions_listwest" has never been created/filled yet ???

 

Thanks for the effort ! Lets see if these bugs can be smashed

Share this post


Link to post
Share on other sites

a suggestion: the Eye on/off can get in the way on the scroll wheel menu. obviously this is a debugging option, but can this just be a simple eye=true in the server exec in the admin dialog? While in debug mode there is a waituntil looking at Eye variable. then inside that it also has a waituntil for it to be turned off..

I might not be as clean or intuitive, but it gets a couple of options out of the scroll wheel menu..

 

I like the persistence with a server restart, I had cleared Kamino 9by myself, damn it took a lot of ammo!!) and after restart its still blue. Nice :thumb:

 

 

 

For the zero divisor I might have an idea.

_respawnPositions = missionnamespace getVariable ["BIS_fnc_getRespawnPositions_listwest", []];

        diag_log format ["RespawnPositions: %1", _respawnPositions];

        _respawnPositionTextArray = _respawnPositions select 3;

....snip....

 

Absolutely correct, i have checked with no MHQ deployed it was empty array and then deployed , then after deploying it came up with details as expected.

couldn't you add the base flag to the BIS_fnc_getRespawnPositions_listwest server side? that way there is always one position before the player initiates the mission

  • Like 1

Share this post


Link to post
Share on other sites

Absolutely correct, i have checked with no MHQ deployed it was empty array and then deployed , then after deploying it came up with details as expected.

couldn't you add the base flag to the BIS_fnc_getRespawnPositions_listwest server side? that way there is always one position before the player initiates the mission

 

Unfourtunatly no, that array only gets filled if you add dynamic respawn points using BIS_fnc_addRespawnPosition.  It's internal mechanic of that script command.  I will be able to write a check though that this error won't happen anymore.  I'll do that when I get home this evening from work

Share this post


Link to post
Share on other sites

So far none of these errors are causing the mission to fail and crash or not complete. But I also have not played with anyone else on a server. hope to get a few people online Friday night.

Share this post


Link to post
Share on other sites

So far none of these errors are causing the mission to fail and crash or not complete. But I also have not played with anyone else on a server. hope to get a few people online Friday night.

 

I've sent you a pbo that might possibly fix the mentioned errors.  I couldn't test them since I don't have arma 3 access right at the moment.  I just used common sense and barring any "compiler" errors it should fix them.

Share this post


Link to post
Share on other sites

Has anyone still tested this over the past months I'm a bit out of the arma 3 modding for a while so I could play a bit more.  Still I was quite proud of this, wondered if anyone tested it further and wants me to work on this more.

Share this post


Link to post
Share on other sites

Just bumping it up

 

I'm probably going to go into arma 3 scripting soon again and still can use feedback on any code I've written sofar

Share this post


Link to post
Share on other sites

I made some bugfixes to the mission as is on github version 1.0.1 is now released.  However I plan on reworking the mission to something slightly different and going straight for version 2.0.  This is my current roadmap

 

https://trello.com/b/XgBZ60Vf/simple-cti-2-0

 

I want to change the fact that you have access to tons of weapons all the time and dying becomes something meaningless.  So I'm turning to a more scavenging model.  You start out with a basic armory that has a few weapons and ammunition.  However you will need to secure supply drops or scavenge from killed hostiles, when you progress in capturing the map.  I also want to make progressing more difficult when you capture more sectors.

  • Like 1

Share this post


Link to post
Share on other sites

Roadmap looks good

will be happy to test new versions and give feedback.

 

Not sure if you want to write conent yourself, but with scavenging missions it can get tedious going to each body to get the gear, consider something like this.

and for those night times when it is pitch black and you are lonely....

 

  • Like 1

Share this post


Link to post
Share on other sites

I'm progressing with the new version

 

https://trello.com/b/XgBZ60Vf/simple-cti-2-0-0

 

I had one playthrough with a friend where we found a bunch of bugs I fixed today.  Also added some features that where needed to keep the playthrough interesting and not to boring.  Once I got these last features programmed in and tested I'll realease 2.0.0.  Future versions will do code improvements and quality of life updates to keep it fresh.

  • Like 1

Share this post


Link to post
Share on other sites

I released version 2.0.0 it had one decent play through with some friends.  I have version 2.0.1 in development where I'm trying to clean up the code and add a minor feature.  Once that is over I'll see if I can get on version 2.1.0 where I will attempt to introduce VCOMAI.  

 

Remember the mission will only run on a DEDICATED server, the entire mission code is written around that concept.  Dealing with servers that are also clients is a very tiresome task.

 

Hope you like it enjoy

 

ps: the first few zones might seem easy (max 12 hostiles) but the difficulty ramps up dynamicly when you capture more sectors.  Supply drops however ... they are pretty "fun" to start with :D

  • Like 2

Share this post


Link to post
Share on other sites

Releasing version 2.0.1 to fix a showstopper bug on an edge case

 

  • Rewrite simple MHQ code and bugfix MHQ underwater will suicide now and respawn, wrecks on MHQ respawn locations will be removed
  • Edgecase showstopper bug fixed. When you kill all hostiles in a contested zone but yourself are out of the zone the zone become uncontested and couldn't be contested again
  • Preparation code for new EquipmentModule for AI random spawn equipment
  • Some utility functions for working with associative arrays (well one kind of implementation)
  • Like 1

Share this post


Link to post
Share on other sites

Releasing version 2.0.2 bugfix release with a few features

 

  • MVP: Introduce a backup mechanic to avoid mission deadlock when units spawn inside rocks
  • FEATURE: Make LV militarization use player amount scaling instead of the current fix amounts
  • FEATURE: Random reasonable loadout for AI (first iteration can be improved)
  • BUG: Units spawning in rocks with LV and T8
  • BUG: the primary weapon gets added twice when dropping backpack on death
  • Like 1

Share this post


Link to post
Share on other sites

@celludriel

 

Just put this on my dedi server at home and what a little gem this is mate. I haven't got a clue what everything is or does yet but i've just alt tabbed out of a game to write on the forum. One thing i think would be nice is too have the option of landing by boat as i found while testing my heli got shot to sh*t. But to be honest i had no clue what to expect lol. Didn't know what eye on/off did but do now, maybe some briefing notes in the near future.

 

Will be watching for future updates mate. Keep up the good work. I think i might play this at the weekend with my two sons instead of becti or crCTI for a change. A thumbs up from me so far. :f:

 

Hope an Altis version is in the pipeline unless it's easy to convert.

 

LG

  • Like 1

Share this post


Link to post
Share on other sites
6 hours ago, law-giver said:

@celludriel

 

Just put this on my dedi server at home and what a little gem this is mate. I haven't got a clue what everything is or does yet but i've just alt tabbed out of a game to write on the forum. One thing i think would be nice is too have the option of landing by boat as i found while testing my heli got shot to sh*t. But to be honest i had no clue what to expect lol. Didn't know what eye on/off did but do now, maybe some briefing notes in the near future.

 

Will be watching for future updates mate. Keep up the good work. I think i might play this at the weekend with my two sons instead of becti or crCTI for a change. A thumbs up from me so far. :f:

 

Hope an Altis version is in the pipeline unless it's easy to convert.

 

LG

 

Hey law-giver,

 

Nice you like the mission, I accidentally uploaded my development version instead of my production version.  You shouldn't have seen eye on and eye off these are debug features for when I'm testing my mission.  Also make sure you remove your log files if you have been playing with debug.  I log A LOT of lines, playing the mission for about ten minutes in debug logs about 2 megs of data.  I've corrected this and put the right version up now.  There are four mhq's at the moment, the heli, two hmr's and a boat.  The boat is to the left of the heli down the beach a bit.  I'll make a point of making some briefing notes.  

 

I haven't made an Altis version yet because I don't want to maintain two codebases when I'm still full in development.  However the mission is very very easy to port.  I made it my goal to design it that way.  The entire thing works on markers that need to be prefixed with certain tags to get going.  When I'm confident it's bug free and all my features are in I'll write a guide how to port it.  For now Stratis will have to do until all the kinks are out.

 

You can follow my progress here: https://trello.com/b/XgBZ60Vf/simple-cti-2-0-0 

 

Hope you enjoy the mission with your kids !

  • Like 1

Share this post


Link to post
Share on other sites
2 hours ago, celludriel said:

Nice you like the mission, I accidentally uploaded my development version instead of my production version.  You shouldn't have seen eye on and eye off these are debug features for when I'm testing my mission.  Also make sure you remove your log files if you have been playing with debug.  I log A LOT of lines, playing the mission for about ten minutes in debug logs about 2 megs of data.  I've corrected this and put the right version up now.  There are four mhq's at the moment, the heli, two hmr's and a boat.  The boat is to the left of the heli down the beach a bit.  I'll make a point of making some briefing notes.  

 

I haven't made an Altis version yet because I don't want to maintain two codebases when I'm still full in development.  However the mission is very very easy to port.  I made it my goal to design it that way.  The entire thing works on markers that need to be prefixed with certain tags to get going.  When I'm confident it's bug free and all my features are in I'll write a guide how to port it.  For now Stratis will have to do until all the kinks are out.

 

You can follow my progress here: https://trello.com/b/XgBZ60Vf/simple-cti-2-0-0 

 

Hope you enjoy the mission with your kids !

 

Hi celludriel

 

I did wonder why there were debugs ie: weather and yeah eye on/off made ai light up like a Xmas tree so glad to hear that was a debug. Shame the North Island is a little cramped and very bumpy but it works well enough, and thanks for the boat. I can now slip off to the rear of the Northern island and hopefully sneak in. And i wasn't expecting an Altis version just yet as fully understand you need this to run perfectly first. I see you're going to add vcom_ai, that would be cool as it's something i use when playing sari's becti warfare on my dedi.

 

I've added the above link to my favourites and following this topic, so i will be keeping an eye out for updates etc etc. Thanks for what you have created so far as only yesterday i was looking for a coop mission to put on my dedi that wasn't as script heavy as Sari's becti and Kastenbiers crCTI which are my two favourite MPMissions. 

 

One question, will a future update maybe make unused MP slots ai capable via parameter or is that a bit much to ask? Not worried though as me and my sons are very good so a 3 man team will still have fun no matter what.

 

Thanks again :f:

 

LG

Share this post


Link to post
Share on other sites

I released version 2.1.0

 

Release Notes

 

Quote
  • BUG: Content of the dropped backpack is still making duplicates and losing items
  • MVP: Install VCOMAI in the core of Simple CTI
  • MVP: Create VCOM militarization using player amount scaling in the implementation
  • IMPROVEMENT: Improve equipment module performance in giving random weapons to AI less looping over units
  • IMPROVEMENT: Make it configurable to have a container or HEMMT as arsenal
  • FEATURE: Write briefing notes explaining all the systems in Simple CTI

 

Quote

One question, will a future update maybe make unused MP slots ai capable via parameter or is that a bit much to ask? Not worried though as me and my sons are very good so a 3 man team will still have fun no matter what.

 

Actutally I'm not sure what would happen if I unlocked them, I'm not sure other people can still join.  I'll look into it later, this isn't a priority for me.  My next big thing will be creating an interface for the arsenal cause the current implementation sucks.  Since we can't dynamically make the inventory of anything infinite you can't manually put things back into the arsenal.  I'll have to write my own inventory management which will take an awful lot of time.

  • Like 1

Share this post


Link to post
Share on other sites

I updated to version 2.1.1 it are relative small bugfixes but they improve on the quality 

 

  • Bug Fix release
  • Grenades of rifles where throwing exceptions when a player died and dropped his gear to backpack
  • Fix for handgun and ammo duplicating with each drop of inventory to backpack
  • Added two more credits to the briefing
  • Like 1

Share this post


Link to post
Share on other sites

Version 2.2.0 is now released.  Not much of a change you might think but this had a lot of work with it.  I first had to write a complete new library to handle some kind of infinite inventory and then implement it in this mission.  Still we now have a nice fully functional armory that can contain an unlimited amount of items.

 

  • Infinite Inventory implemented for slingable armories

 

  • Like 1

Share this post


Link to post
Share on other sites

Well after a playthrough I found two bugs that needed fixing.

 

  • Fix for slingable armory being able to be damaged
  • InfiniteInventory weapon duplication bug fix

I released version 2.2.1, sorry for the quick releases but I rather have these bugs squatted ASAP

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

×