Insurgency only as Players

  1. 9 years ago
    Edited 9 years ago by uno

    Hello gentlemen,
    I would like to ask for some clarification about insurgency with no NPC - only as Players.
    I've set up a mission on Altis for 3 factions. 2 main factions occupy all island. They clash for one particular area, all other parts of the island is patrolled and secured. There is 3rd faction - Insurgents, represented only by players.

    So the question is, if Guerilla (Players) OPCOM has no AI spawned, does players has to establish weapon cashes, IED factories, and recruit civs? Ive been testing a little this scenario, I could not find a way how to establish IED factories. Yet establishing safehouses was easy - by collecting weapons in buildings.

    I am not giving (syncing) any OPFOR faction to Guerilla Obj since I dont want to get bulldozed by those 2 OPFOR facations. I just want player team to progress over other factions with no active - direct actions from enemy force (i believe they will find us doing this on they territory anyways).

  2. I created an ALiVE mission where the asymmetric faction was the player faction as well. As far as I can see, there is no built-in way for players to do what the asymmetrical OPCOM controlled units can do in terms of creating installations and occupying objectives. If the ALiVE team decides to support this out-of-the-box, I assume they'll have to add asymmetrical objectives to the C2ISTAR tasking system, but until that time, you'll have to script it yourself AFAIK (please correct me if I'm wrong, I'd love to know of any alternatives).

    In addition, it seems like conventional forces (invading/occupying) have no idea about installations and will simply garrison objectives cleared of hostile units, without really doing anything about the fact that the asymmetric OPCOM still considers the objective to be "occupied". I'm not sure if this is a bug in the C2ISTAR objective display or that the conventional forces truly cannot clear out an asymmetrical force occupation once it's established on an objective, but this seems to make it difficult to balance a player symmetrical force against conventional AI forces.

  3. Edited 9 years ago by SpyderBlack723

    but until that time, you'll have to script it yourself AFAIK (please correct me if I'm wrong, I'd love to know of any alternatives).

    Basically yeah, as of right now. Any in-depth asymmetric role-play will have to be scripted yourself. I started on this , but unfortunately it's far from finished.

    In addition, it seems like conventional forces (invading/occupying) have no idea about installations and will simply garrison objectives cleared of hostile units

    Again yes, there is an counter-asymm commander stance "on the list", but that just establishes it as something that would be cool to add if given the time. The current commander can defeat the insurgency by domination using this method though.

  4. Edited 9 years ago by silentghoust

    Just out of curiosity is their any spot the Dev team publishes the functions for AliVE? I'm sure some one could write up a script that calls the locations of various sites and lets you order AI there.

    My idea would to create a system that has some sort of notoriety meter. Were to much fighting in one area, or some random factor causes the location of a site to be revealed. It then can either spawn some sort of special ops force, or order nearby profiles to attack it.

  5. Just out of curiosity is their any spot the Dev team publishes the functions for AliVE?

    The ingame function viewer has all you need, well organized.

    I'm sure some one could write up a script that calls the locations of various sites and lets you order AI there.

    Yep .. get creative!

  6. @SpyderBlack723 The ingame function viewer has all you need, well organized.

    Was more hoping for some sort of wiki similar to how the BI wiki is which explains functions and gives examples. :P

  7. Edited 9 years ago by SpyderBlack723

    All of the explanations/examples will be found in the function's header which is in the function file. Most include examples, a few don't.

    Due to the way ALiVE is setup not all "functions" have or need an in-depth explanation

    No out of game wiki though

  8. Thanks SpyderBlack723.

    @SpyderBlack723 [...]The current commander can defeat the insurgency by domination using this method though.

    Do you mean domination as in greater numbers/force multipliers so the spawning asymmetrical units always get wiped out? Do the objectives get "blocked" from the Asym recruitment pool when enemy units control objectives or do the continue to count the objective for spawning in new forces?

    In my limited testing, once an asym OPCOM controlled unit makes it to an objective uncontested, it becomes listed as "occupied" in the asym faction's C2ISTAR Commander objectives display, and that never goes away when the opposition is an AI OPCOM with no player support to blow up installations, lower hostility, etc. So maybe the asym faction isn't actually benefitting from the objective mechanically, but the players have no way of knowing based on the C2ISTAR intel that those positions are contested or controlled by the enemy now.

  9. The HQ's will continue to spawn units as long as they are not destroyed and haven't hit their cap yet. It just won't do much good if they spaw in surrounded :)

  10. 8 years ago
    Edited 8 years ago by dixon13

    @SpyderBlack723 Due to the way ALiVE is setup not all "functions" have or need an in-depth explanation

    The wrote their scripts were written were in the hopes of getting object-oriented support for Arma 3 in the future from BIS. That has not happen though. I think there was a rumor going around awhile back. I think people were saying that A3 would support Java, or SQF in a more object-oriented way.

    I'm not a full time programmer so don't quote me on a lot of this stuff, I mostly know front end web development and some back end, and of course Arma/SQF.

    So the way they wrote their mod is that each module that you place down is logic when you start the mission. That logic is the object that their scripts orient to and are based from. Each object contains a set of functions that can be called by inputting what function you want and calling the object. OOP is a preferred method of programming, if you come from the programming industry, so I'm guessing the authors are employed programmers and chose this route when they started writing the mod up, because this is what they were familiar with. Example of what happens when a module is placed...

    params [
    	["_operation", ""],
    	["_arguments", []]
    ];
    
    #define MAINCLASS XON_fnc_thisFunction
    
    switch (_operation) do {
      case "OPERATION1": { do something; ["OPERATION2",[anything,0,1]] call MAINCLASS; };
      case "OPERATION2": { do something; ["OPERATION3",[anything,0,1]] call MAINCLASS; };
      case "OPERATION3": { do something; ["OPERATION1",[anything,0,1]] call MAINCLASS; };
    };

    So if someone wants to truly index functions onto a wiki, you would need to index the files in the mod that are indexed in the functions viewer, and index the "operations" located in the files that were originally initiated by the editor placed modules.

  11. Edited 8 years ago by SpyderBlack723

    Good explanation Dixon. The method would've put ALiVE in a good place if Java support had come ( :( ).
    To further expand on what he said, treat each file as an object, with each operation being a member function of that object.

    ex. Creating an object, (in the case of modules, either the module logic itself is used, or variables are gathered from the module and a new object is created using those variables)

    MOD(CommandBoard) = [nil,"create"] call COMMANDBOARD; 	        // Create object
    [MOD(CommandBoard), "init"] call COMMANDBOARD; 		        // Init object - call object's init operation
    [MOD(CommandBoard), "debug", _debug] call COMMANDBOARD;	        // set debug value
    [MOD(CommandBoard), "sides", _sides] call COMMANDBOARD; 	// set sides value

    Unfortunately, for a lot of files, documenting every single operation could take a long time (some have upwards of 50 different operations). Once you get the hang of the object-oriented method you should be able to pick up on what you need to do for each operation pretty easily. Although if there is something specific you have a question about, don't hesitate to ask :)

 

or Sign Up to reply!