3. INITIAL MISSION SETUP
CREATING THE MISSION WORLD
In Arma Reforger and the Enfusion engine, islands and missions are both called “Worlds.” Missions are what are called “SubScenes” of existing worlds, such as the Everon map (called Eden in the filepaths). Open the “World Editor” by clicking on the icon on the home screen:
Which means your screen should look like this:
Then we need to open Eden, by clicking on the open symbol, the opening ArmAReforger>Worlds>Eden>Eden.ent:
Once you click OK and have waited for it to load, you’ll be plopped in the ocean. Do not despair! You have not done anything wrong! But because Everon is an island, the square world map has ocean around all of the edges, and the camera defaults to the bottom left hand corner of the world. Either navigate to the island using WASD (scroll wheel changes the Camera speed, or you can click “Camera” at the top to set a speed) or open the “default” layer, select an object and press F to zoom to it:
If your camera refuses to move, try holding right click whilst you use WASD.
So now we have the Everon map open in the editor – so you are editing the game itself. So don’t touch anything. N.B. You can’t actually edit the Everon map here, as it is read-only. To create a mission, we want to create a ‘SubScene’. Do this by clicking on the “Create New World” icon and ticking the Sub-scene box:
Now it’ll probably drop you back in the ocean at the bottom left hand corner, but don’t worry, you can navigate back to the island in the same way!
One of the things we don’t want to do is to accidentally move buildings around when we’re trying to place things. So right click on the default layer under Eden and click on “Lock.” You’ll still be able to select objects on the Eden default layer, however you won’t be able to delete or edit things.
Now we have our new world we want to save it, so go File>Save World As, navigate to your worlds folder (or if you have multiple missions in the same mod, the specific folder within the worlds folder) and give the file a name:
SETTING UP THE MISSION
To keep things nice and neat we’re going to split the mission into layers. We’ll have an initiliasation layer, and then a layer for each phase of the mission. In the Battle of Godfrey’s Cottage I’m going to have 3 phass – Phase 0, which is the initial spawn point; phase 1, where players have to clear Godfrey’s Cottage; and phase 2, where Godfrey’s friends come to try and retake the cottage. When all of Godfrey’s friends are dead, players must move to an extract point.
Firstly I’m going to rename the default layer as “Init” by right clicking on it, and selecting “rename”:
To add new layers, we right click on the subscene and select “Create Layer”:
And I’ve created three new layers, Phase_0, Phase_1 and Phase_2. Layer names cannot have special characters, including spaces. Click on the big save button – you’ll want to save periodically because, as with Arma 3, it can be quite easy to make a mistake that crashes the workbench!
With the layers set up, the first thing we need to add is the game mode manager. This is the first part of the frameworks that we’re using – everything up until now will be the same for creating any mission (except for adding the dependencies).
Managers are set entities in the game that tell reforger things like the available loadouts, times and date, where AI can and can’t go, what radio frequencies are, what players see in the respawn menu, what type of respawn is used, what factions are used etc. etc. Unlike in Arma 3’s Eden Editor, everything is editable in Reforger. If you want a mission with 24 different factions in a big complicated mess – you can. If you want a mission with a custom vehicle or weapon just for that mission – you can. You can even make an entire custom island without using Everon as a base, all in the mission file.
In the Custom Modes Framework, we’ve put together what is called a “prefab” for the game mode managers. Prefabs are custom entities that are already set up in a certain way (or prefabricated), allowing you to just drag and drop things like the game mode, groups of AI, terrain compositions, tasks etc. without having to build them all up from scratch every time.
To access things like prefabs, go to the Resource Browser at the bottom of the screen:
In the resource browser, navigate to NightOpsCustomModesFramework>Prefabs>MP and find the NO_CoopSetup.et file. Drag this into the map, anywhere:
Once it’s on the map, you’ll see that it adds a whole bunch of managers to the Hierarchy under your Init layer (which should currently be your active layer).
Now the things listed on the left are the different manager entities, whereas the properties listed on the right are the components of that entity. Both are important!
The first thing we’re going to look at is the Force Time and Weather Component. There is a time and weather manager, however as it stands there is already one of these managers present in the Eden map, which overwrites anything you add for you mission. Luckily, the Custom Modes Framework has a script that allows you to set your own time and date.
To edit the time and date, go to your NO_CoopSetup1 and select “NO_SCR_ForceTimeAndWeatherComponent” in the components:
Then by adjusting the properties you can adjust the time, the date, the weather and even the latitute and longtitude, which will have an impact on when full moon is, how long the sun stays out etc.
The framework prefab also sets up factions for the US, USSR and FIA, adds a default rifleman loadout (more on managing loadouts later) and manages the respawn menu and timer.
The final thing to do with the game mode before we move on is to add the “navmesh”. The navhmesh, or navigation mesh, tells the AI where it can and cannot move, allowing the AI to plan a route. Without a navmesh, whilst the AI won’t be able to walk through walls, they also won’t be able to understand that they can’t – so they will walk in a straight line to their next waypoint and if they get blocked they will just stand there, confused about why they can no longer walk forward. Poor AI.
Go to the SCR_AiWorld1 which is a child of NO_CoopSetup1 in the hierarchy, and click on NavmeshWorldComponent in its object properties:
Once you’ve selected it you need to choose a navmesh file. If you are adding your own terrain to the scenario you may need your own navmesh file, however the Dynamic Spawn Framework can help with this which will be gone through in a different tutorial.
To choose a navmesh click on the “…” next to Navmesh File:
The one I’ve been using has been ArmAReforger>Worlds>MP>CTI_Campaign_Eden.nmn:
You may want to do this last. Because the navmesh is a large file, it can really slow down editing anything on the Game Mode.
That’s our mission, all set up and ready to get some players in!
ADDING PLAYER SPAWN
Reforger doesn’t quite work like Arma 3 at the moment, where we have to place down units for players to take over through a slot screen. Instead, Reforger just has a respawn menu and spawn points that players respawn at.
Placing our first spawn point is simple, as there is a ready made prefab for it. First, change our active layer to Phase_0 by right clciking the layer and selecting “Set as active”:
Then, in the resource browser at the bottom, navigate to ArmaReforger>Prefabs>MP>Spawning and drag the SpawnPoint_US into the map, wherever you want to spawn point to appear:
Once you’ve placed the spawn point, if you want to move it you need to make sure that it stays on the ground (otherwise your players will spawn in the air or under the ground!) The easiest way to do this is to use the Ground Manipulation Tool, which you can simply click on in the toolbar before moving the spawn point:
If you go to the spawn point properties you can change things such as the name that appears in the respawn menu, whether or only show the spawn point on the deploy map in the respawn menu (rather than being able to see it on the map ingame), a random spawn radius, and how close players have to be to disable the spawn point, either just by presence or by their presence and ability to see the spawn point.
And that’s all you need to do, you can now press the green play button to try out your mission:
4. ADDING STATIC AI
ADDING AN AI GROUP
So we have our game mode, and now we can have players. Now we need something for those players to shoot! For the moment we’ll going through adding static AI – that’s AI that are there from mission start. Later on, we’ll go through using the Dynamic Spawn Framework to spawn in AI mid misson (when Godfrey’s friends arrive, for example).
We’ll be using prefab groups for ease and simplicity to begin with. Set your active layer to Phase 1, then, in the Resource Browser, navigate to ArmAReforger>Prefabs>Groups>OPFOR, and select which group you want to spawn – I’ll be going with “Group_USSR_MachineGunTeam.et”:
Whereever you drag this object, the group will spawn (so long as you have ticked the “Spawn Immediately” box, which is on be default). However, my group is a little small, so I want to add an extra soldier! Make sure the group isn’t underground or in the middle of the air, otherwise they won’t spawn. The Snap to Ground option is useful for this.
This is done by going on the Object Properties and clicking the + symbol next to Unit Prefab Slots:
Once you’ve clicked the +, it’ll add an empty slot. You need to tell the tool which character you want to use, so click the .. symbol on the 2 row:
Then navigate to ArmAReforger>Prefabs>Characters>Factions>OPFOR>USSR_Army and select the character you want, I’ve gone for a Rifleman:
I’ve also moved my group inside the building. This has to be done with care, you can see where each one will spawn and there are some attics that cannot be reached without an extra ladder!
ADDING A WAYPOINT
ArmA Reforger adds quite a few waypoints, some that seem to act (to some extent) like the BIS_fnc_taskDefend and BIS_fnc_taskattack functions of ArmA 3.
Waypoints can be added (there may be other ways) by adding one from the Resource Browser. You can find the prefab waypoints under ArmaReforger>Prefabs>AI>Waypoints. I’ll be using a Defend waypoint, to protect the cottage!
Under Object Properties give the Waypoint a Name, I’m calling mine “CottageDefence”:
You can edit the Completion Radius to determine how wide a radius you want them to defend. The AI won’t move out of that radius – however they also won’t move from their initial spawn point until they see an enemy, when they’ll move around that radius.
We still need to assign the waypoint to the group. First, although it’s not strictly required, drag the waypoint in the hierarchy onto the AI group, to make it a child. This will just make it easier to keep track of which group has which waypoints.
Go back to your AI squad, go to the Object Properties and scroll down to Group Waypoints. Click on the + next to “Static Waypoints” (not Scripted):
Type in the name of your waypoint:
The AI will now defend that position! You can use the same waypoint for multiple groups, to have several squads attacking or defending the same position.
Now we have AI and players fighting, it’s time to expand the mission!