A3 Mission Framework

From Arma Projects
Revision as of 13:01, 4 July 2017 by Roy86 (talk | contribs) (Virtual Depot - Where Vehicles are Born and Raised)

Jump to: navigation, search

The Multiplayer Scripted Framework (MPSF) is a fully scalable framework designed to make mission building as easy and dynamic as possible. The aim is to empower mission makers with all the options they would want in their mission in a very simple and quick format.

History

The first version of the mission framework was developed in January 2011 on the RV engine used in Arma 2. Called MPS, the primary purpose of the framework was to support the need for fast development of tactical missions for the Online Combat Battalion (OCB) based in Australia. During the initial development of Patrol Operations 1, the framework was initially an adaption of the work by Bon_Inf* from his mission Takistan Force however after Patrol Operations 2 was released in 2011, it was completely rebuilt from the scratch to support a need for integration into multiple mission types and scenarios.

With the arrival of Arma 3, the framework underwent a tonne of revisions and became the Multiplayer Scripted Framework (MPSF). This was released internally to OCB with an included mod version that added in-game features to Arma 3 and made mission building in the in-game editor simpler for users who prefer to build in the editor and not through scripting.

With the development of Patrol Operations 4 for Arma 3, the framework has undergone a full re-write (again) to move to a simpler configuration setup. This increases singleplayer & multiplayer support seamlessly and allows more extensible mission options with full upgrades for the future. It also restores and adds many features that were removed when the framework was remediated to the newer RV engine.

Configuration of the Mission Framework

Everything in the framework is configured in in the description.ext file. Each entry below is a section added to the mission description.ext file that will enable that aspect of the mission framework.

Please note that these are subject to alterations as they are being tested and refined. The features are not locked down at this time.

Code Note
Framework is a Class Structures
The config is a hierarchical structure based on classes that provides almost all information necessary for the mission.
Please read: Class_Inheritance to learn more about the concept as it is the key component of the framework..

Building with the Mission Framework

The framework is designed to take on a lot of the heavy lifting when designing a mission from a code perspective. Here is a walkthrough from start to finish of the steps to build a mission.

Mission Build Guide

Core Features

Task Framework - Creating the core experience of your mission

The task framework is an incredibly extensible core function of your mission. It supports the spawning of every mission object, enemy, compositions, tasks, interactions, intel and everything else. It allows for almost any scenario to be built, tasks will be monitored for completion and everything is synchronised for a seamless single player and multiplayer experience.
Configuration Component Description
cfgMission Core Mission Config Set primary mission configuration
cfgMissionSides Sides and Factions Set information about faction descriptions, groups and vehicles
cfgMissionTasks Task Management Set detailed mission tasks that can be created at start or during the missions

Event Framework - Synchronised Triggered or Broadcast Mission Events

Triggered Events are multiplayer compatible synchronised events that can be set up to co-ordinate the execution of events and functions across a network such as object destroyed or intel picked up. It is limitless on the type and amount of events that can be set-up to trigger.

Intel Framework - Setting up Mission Intel capability

The intel system allows the ability to create objects that allows a player to interact in order to receive intel. The player can interact by "Downloading", "Picking Up" or by receiving intel from an NPC as part of a conversation. Each type of intel, when interacted with, triggers global events that are then broadcast to other players and the server allowing customer event handlers to be executed on demand.
Configuration Component Description
cfgMission Core Mission Config Set primary mission configuration

Interaction Framework - Creating Object Interaction in Missions

The interaction framework allows single player, multiplayer and JIP compatible actions to be added/removes on objects in a very simple and easy way that can be used to enhance the experience of a mission.

NPC Conversations - Having a conversation with an NPC can lead anywhere

Adding a conversation to an NPC is made as simple as possible. Mission makers can trigger certain responses and trigger events or functions if players reach a certain point in the conversation interaction.
Configuration Component Description
cfgMissionConversations NPC Conversations Set conversations that can be had with NPCs

Hazard Framework - Creating an unstable and deadly environment through random encounters

Scripting a dynamic environment can be very complex. Now with a few small configuration lines, mission makers can make an environment that is very dangerous to players and their teams. Things include various forms of IEDs, Ambushes, Civilian Uprising and other random encounters.

Environment Framework - Setting the ambience for a mission

Date & Time functions are multiplayer compatible functions that can set or transition the shift in time from the current in-game time to a later hour or date time
Weather parameters such as Overcast, Rain, Fog and Wind functions that synchronise the environment
Configuration Component Description
cfgMission Core Mission Config Set primary mission configuration
cfgMissionTasks Task Management Set detailed mission tasks that can be created at start or during the missions

Performance Framework - Ensureing the balance of limited resources

Many things can impact the performance of a mission. To reduce the load, mission makers can use Object Caching and Headless Clients. The framework will automatically identify headless clients and use them to spawn objects for tasking rather than use server resources.
Configuration Component Description
cfgMission Core Mission Config Set primary mission configuration

Zeus Framework - Setting the boundaries of zeus

Mission Makers can set the mission parameters that can limit Zeus to AO's or set how Zeus should be used. With great power comes great responsibility... now with oversight!
Configuration Component Description
cfgMission Core Mission Config Set primary mission configuration

Modular Features

RespawnMP - Respawn and Redeployment Framework

This is a framework and UI to handle a player being killed in game or needing to redeploy to another part of the map. This provides a mission maker and players the ability to move players and AI around the map quickly and caters for position teleport either instantly or via parachute (incl. HALO). It is compatible with single-player and multiplayer.
Configuration Component Description
cfgRespawnMP Respawn Configuration Set respawn mission configuration

ReviveMP - Injury and First Aid framework

This is a framework to process a player's or AI's damage. It allows a injured state where a unit collapses to the ground and begins to bleed out. Other players can interact with the injured unit to heal the damaged parts and revive them back to operational duty at the expense of first aid items. It is compatible with single-player and multiplayer however AI rendering first aid is yet to be built.
Configuration Component Description
cfgReviveMP Revive Configuration Set revive mission configuration

RecruitMP - AI Battlefield Recruitment

This framework adds the ability for Mission makers to enable players to recruit AI units into their squad within the limitations set by the mission maker. It is compatible with single-player and multiplayer.
Configuration Component Description
cfgRecruitMP Recruit Configuration Set recruitment configuration

SquadMod

This framework adds the ability for team leaders to create and manage squads in game within the limitations set by the mission maker. This supports role restrictions including vehicle, gear and load-out limitations. It is compatible with single-player and multiplayer.
Configuration Component Description
cfgSquadManager Squad Configuration Set squad management configuration

Virtual Depot - Where Vehicles are Born and Raised

This framework allows the creating of vehicle spawn points where players can request vehicles and configure them within the limitations set by the mission maker. It is compatible with single-player and multiplayer. Currency expenditure to be added.
Configuration Component Description
cfgVirtualDepot Virtual Depot Configuration Set vehicle spawning configuration

Virtual Armoury

An adaption of Virtual Arsenal, this framework allows the set-up of players load-outs configure them within the limitations of their role and that set by the mission maker. It is compatible with single-player and multiplayer. Currency expenditure to be added.
Configuration Component Description
cfgVirtualArmoury Player Loadout Configuration Set role and gear configuration

Features In Development

  • Force Tracker System - A detailed BLUFOR tracker that allows teams to track friendly support, opfor identification and task management
  • Support Manager - A network integrated with the force tracker that allows teams to assign tasks to either AI or other players with the intent of assisting with CAS, transport or other support methods.