WIP WIP WIP
let's get this tutorial started, shall we?
basic plan: chapters for steps. Get a demo mission running along with it, demonstrating each step. perhaps link to video with timestamp. Examples should have their own section in the chapters, and be hidden in normal view. think spoilertag.
DONE: actual plan for now: lay out chapters / content.
actual plan for now: Fille most important sections with text
Leave out stuff that is alread mentioned in Mission makers guide for now. but use it to check completeness / missing bits:
- Link to / CopyPaste rules, testing procedure, submitting
DONE: watch video, make sure everything is in.
Contrib guide:
- If you sort of know what you're doing content wise: go right ahead and edit! Try and leave a message in the wiki when you save. And feel free to let us know in #mission-makers chanel, especially if you want some feeback. Formatting we can always fix later
- If you have a question / want something clarified: let us know in #mission-makers channel!! And add a TODO on this here wiki page if you feel adventurous (aka the feeling I had when spelling this word) :)
You'll probs have to log in to edit. It's using our BSO Profile system, so ez pz.
- Beowulf Mission Framework Seminar
- Video so good
- Listen to Walker for ages
- Still very relveant
- Outdated bits:
- Additional stuff since then:
- Jebus
- arsenal export
- Loadout tools
TODO: link chapters
A mission always starts with an idea, and the basic framework file setup.
After that, there are 3 big parts, that can be tackled in any order and not necessarily one at a time:
- Objectives and Tasks: Destroy a truck, kill an hvt, clear a city. You name it.
- AI, aka the enemy: Factions and assets, static defenses and patrols, QRFs and spawned units. And of all of that preplaced and preplanned.
- Players, which are organized in an orbat and each have a loadout (kit/gear) attached. Might include heavy or special assets.
After that, there is a briefing to be written, settings to be tweaked, and lots of testing to be done. In fact, testing your mission is important at all stages of the making. Having a sneak peak into this chapter is recommended.
Making your first mission can be quite an overwhelming task. If you have any questions, at any point, please do ask in the #mission-makers channel! We won't shout at you. Probably.
- have an idea. for example base on
- location
- assets
- factions
- history
- scripts
- draw it out. write it out. nail down objectives. i.e. get a strong mental image of it
- quick word about scale
- go easy for the first one :)
- assets are relatively hard to balance
- defense missions are reeeee
- For more complicated stuff: ask mission makers for advice.
We are using the BSO Framework for all of our missions. It comes in the form of framework files - some of which you will modify for your missions - and an example mission that is used to copy over freuqently used bits. While it has it's quirks and things we seek to improve, it does make your life easier and works great 100% for 80% of the time. There is a dedicated wiki page will all the details here BSO Framework (TODO). You probably won't need all those details for your first mission. The important parts are explained here.
Should you ever feel like not using the framework, or a modified version of it, TALK TO THE ADMINS beforehand.
In this chapter, we will download and set up the framework, and create a barebone mission.
Make sure you start Arma with the correct preset (aka Mods). Saving a mission after it was editted the wrong mods can be done, but is a pain.
First of all, you want to download the preset from here [[1]]. Unpack it, and store it somewhere where you can find it later on. Keep this copy clean, as you probably want to base future mission on it as well.
Next up, you will have to find the mpmissions folder. It can usually be found under "C:\Users\<YourUserName>\Documents\Arma 3 - Other Profiles\<YourArmaProfileName>\mpmissions or In here, all your missions are stored. Mission are stored as simple folders (naming: mission-name . map-name). Drop a copy of the framework folder here. That way we can open it in the editor and copy stuff from it later on.
At this point, we want to fire up the Arma (Multiplayer-)Mission Editor. In the Arma3 Main Menu, click on Multiplayer -> Server Browser -> Host Server -> Host Server. Find the map you want to make your mission on, select "<<<new>>>" and continue. You should now see the editor view on an empty map. Save the mission with some form of working title. We'll change it later. Once saved, there will be a new mission folder in mpmissions.
We now need to copy two things:
In Windows Explorer, go into your framework mission (mpmissions/bso_framework_v1_8.vr, at the time of writing), select all files EXCEPT MISSION.SQM, and copy them over to your newly created mission folder.
(TODO: video @ ~ 19:00) In the editor, open the framework mission. You will see three big blobs of things:
- Players. Along with some boxes
- Respawn-box
- AI, with some modules, triggers, markers
To copy all of this, go to the map screen (shortcut: m. Otherwise you won't be able to copy map markers), hold your left mouse button and draw a circle around everything. Hit ctrl+c. Now open your new mission, and paste everything. Move it to an open position, i.e. not the bottom of the ocean or a city centre. Most of the things there are templates or references. We will delete things we won't need later on.
With that, the editor should be good to got. Just one final note: SAFE OFTEN. It's Arma, after all...
As a final step of the setup chapter, I would like to recommend getting a half decent free text editor. They make editing files soo much easier.
- TODO: Notepad++ with sqf language. Great program for just quickly editing single files.
- TODO: VSCode with sqf plugin. Great for working with folders with multiple files.
- There are pre defined factions, woo!
- rock/paper/scissor
- which groups are there? rifle infantry, at infantry, mechanized, motorized, fast air, gunships, transport, an other?
- how do they affect gameplay, what to lock out for?
- for both ai and players (+ link here from orbat)
- how much AI can players deal with?
- when using indfor, make sure it's friendly/enemy thingy thing is set correctly!
~ 39min
Objectives are the abstract idea of what the players are supposed to do. Tasks are their technical implementation in your mission. They allow your players and the admin to track their progress in the mission. Simple objectives are easy to implement. Succeeding a task when a truck is destroyed or an hvt is killed is near trivial. Checking if all enemy AI in an area is gone, or if units have reached an area is easy as well. With those we can put together most scenarios we'll ever need.
In this chapter we will go through
- triggers - will be important for slightly advanced AI stuff as well
- setting up tasks
- some common examples
Explain conditions / activations on examples
- Triggers
- destroy truck
- kill hvt
- not present / seized by
- introduce the fancy trigger sizing tool
- set assigned/failed etc. isServer!
- server only all the things
- briefing.sqf
- beware trailing/missing commas
- order doesn't matter
- explain parameters
- filters: explain in briefing section
- Notifications ~ 51:30
- Advanced TODO: new chapter
- Mission state with variables
- Mission state with triggerActivated
- spectator box, ao/start markers
- for artillery / turrets: use the [BSO AI] versions! Those have reduced accuracy/damage, but are still plenty scary and dangerous.
- static defense: CBA Defend
- TODO: can this be done on a waypoint?? (apart from scripting?)
- forceSpeed
- CBA Patrol
- editor placed waypoints
- which ones to use?
- placement (Don't spam them, but give enough)
- on game on / delayed ~ 1:13:30, 1:18:30
- Behaviour ~ 1:15:00
- How to count AI with debug console
- JEBUS
- jebus crash course
- Spawn out of sight!
- QRF
- vehicle AI sucks yo
- like, seriously
- TODO: explain get in / get out / unload transport / ASDFQWE
- Spawned defense/patrols
- Total AI at a time
~ 1:55:00
- Orbat = Player groups etc. Slotting screen.
- Get an orbat going
- inspiration from real world, preferred leadership style, assets, etc.
- use vanilla units. i.e. NATO / CSAT / AAF (TODO: Civs?)
- Use Lats for lats, medics for medics, etc. to get the icons right
- Set group name (lobby) / group id (BFT/Editor)
- Explain groupid / short version loadout init
- TODO: can't we make this easier?
- placement order defines slotting order
- indent for readability
~ 2:06:00
- First time doing it can look scary. worry not.
- What players will wear into combat
- We are not using edit loadout thing for setting loadouts, because
- no radomization
- hard to debug
- not efficient
- loadout file: blufor.cpp
- explain how to make others (include, copy/paste)
- include will leap onto yout typos and crash arma
- show how file works
- basic layout
- per unit layout
- string vs array
- what can be deleted, what can't
- how to empty stuff (array vs string)
- commas!
- predefined loadouts!
- how to check if they are outdated
- resources
- use existing ones, missionhub etc is your firend
- old repo somewhere?
- quick guide to non retarded loadouts
2 approaches, comes down to personal style. Find something that works for you. 2 base approaches.
In general: make -> test -> improve -> test -> improve -> ...
- template
- remove ones you won't need
- explain slots on top
- mass find/replace
- leave out slots you don't need
- how to editor
- how to get classnames
- single
- all
- 1337 h4xx0r: split editor panes
- start with minimal file
- arsenal bso export -> paste to file
- how to export
- how to fix bso export
- where to paste
- how to assemble file
ends ~ 2:35:00
- save mission to reload loadout files!
- TEST
- YOUR
- SHIT
- disableAI = 0
- Loadout box
- put it somewhere hidden when you're done. makes testing and mid mission fixing easier
- Mission Checker
- file format
- situation: fluff
- others: should be to the point
- use existing thing as template. has nice little descriptions
- make the task / other points of interest clear
- formatting
- filters
- BFT
- Weather
- Babel
- Indfor, binarized, missio name
- mission ends
- per side markers
- Only way to check for balance etc: Test, test, test again.
- Don't trust anything. Test everything
- If you're preparing for submitting: Test on dedicated test server!
- Test obectives!
- Zeus for testing ~ 1:37:00
- How to get into zeus
- Add editable objects
- end -> kill
- delete -> delete
- Test finnicky stuff (special assets / scripts / functionality)
- Mission Tools
¶ Finishing and upload
- meta.cpp
- overview text
- that's the stuff that appears on mission selection screen
- TODO: how important is this nowadays?
- overviewPicture, loadScreen:
- should be 512x256 or 1024x512 jpg
- OnLoadName, OnLoadMission (above and below picture)#
- author
- Headers: min, max, gameType (examples)
- naming convention: Link
- general name
- file name
- renaming: save as and copy file
- binarize
- zip: .zip !
- upload: link. should be self exaplanatory
- WW2
- Once uploaded, we will test it and put it live, or request changes.
- make sure you have notifications enabled.