Zoeken Welkom, gast! (AanmeldenRegistreren)




 
Waardering:
  • 3 stemmen - gemiddelde waardering is 5
  • 1
  • 2
  • 3
  • 4
  • 5
05-04-2010, 03:14 AM
Bericht: #1
Tutorial: Een missie maken in ArmA 2
Mission editing in ArmA 2 – voor TDNL

ArmA 2 is vrij uniek in het feit dat Bohemia hun modding community enorm steunt.
Dit doet men via externe modding tools, maar één van de factoren die ArmA 2 en hiervoor ArmA 1 en Operation Flashpoint zo’n lang leven schonk zit al vanaf de release bij de game inbegrepen: de missie editor.
Deze editor stelt de speler in staat zelf een missie te maken die ofwel singleplayer ofwel multiplayer te spelen is.
Het maken van zo’n missie is in de basis heel simpel, maar om alle puntjes op de ‘i’ te krijgen is er net wat meer kennis vereist.
Hier schrijf ik een aantal punten op waarmee je rekening moet houden bij het maken van een eigen missie, geschreven naar eigen ervaring met het missies maken.
Dit is een hele simpele basis-tutorial waarmee je een erg simpele missie kunt maken zonder extra poespas als voice-acting, radioberichten etc.
Mocht je hier verder nog vragen over hebben, kun je die altijd stellen in het Editing forum van TangoDown!

Onder aan het artikel staat een download link naar een TDNL mission-making pack waarin een briefing-tool te vinden is, samen met een voorbeeldmissie die je kan inladen in de editor om het voorbeeld te bekijken.

Visie:
Elke missie moet een visie hebben: iets unieks waardoor jij gelooft in de kracht van de missie.
Dit kan van alles zijn: een gameplay idee, of een omgeving op een nieuwe map die je aanspreekt en waarvan je denkt: wat zou zo’n missie hier enorm tof zijn!
Zo heb ik in Operation Irene een mogelijk suïcidale officier toegevoegd die zichzelf doodschiet als je hem direct benaderd, waardoor de speler hem dus van achter moet besluipen om hem tot overgave te dwingen.
Zonder een visie ga je het waarschijnlijk niet redden om een missie af te maken.

Een tip is om in de editor een helikopter of een voertuig te plaatsen en hiermee een tijdje rond te rijden/vliegen (sight-seeing).
Hierdoor ben ik meer dan eens op een idee voor een missie gekomen.

Kennis van de editor functies:
Zoals gezegd is de basis van de editor heel makkelijk. Het plaatsen van eenheden en dergelijke kost geen moeite, maar het begrijpen van de iets genuanceerdere opties zoals de Triggers en de Modules vergt iets meer kennis.
Hier ga ik alle basisfuncties even bij langs:


Units (te selecteren met F1):
Deze mode gebruik je om eenheden te plaatsen.
Dubbelklik op de map. Hierdoor krijg je het unitscherm, waar je kan kiezen uit de side van de unit (Blufor, Opfor, Independant, Civilian etc).
Kies daarna een class uit, en druk op OK.

Er zijn binnen het unit scherm meerdere opties:
  • Unit control bepalen: player, playable of non-playable. Voor multiplayermissies moeten de units die door mensen gespeeld gaan worden ingesteld staan als 'playable'!
  • Voertuigen op slot zetten: Zorgt er voor dat bepaalde voertuigen niet toegankelijk zijn door ze op slot te zetten. Zo kun je voorkomen dat spelers er met mission scenery vandoor gaan.
  • Info age: Dit werkt ongeveer hetzelfde als de 'probability of presence' optie: hoe ouder de kennis van de eenheid, hoe minder kans dat hij aanwezig is, of op die locatie staat.
  • Rang van de eenheid: De eenheid met de hoogste rang word de leider.
  • Een speciale status instellen: 'in formation', 'in cargo', 'flying', of 'none'. Met 'flying' begint een air-unit al vliegend in de lucht.
  • Naam van de eenheid: Erg belangrijk voor missies. Als je de eenheid een naam geeft, kun je later een Trigger gebruiken om de lifestatus van de eenheid te controleren. Hiermee kun je dus controleren of een eenheid gedood is of niet, en dit gebruiken om een objective af te laten tekenen.


Groups (te selecteren met F2):
Deze mode werkt praktisch hetzelfde als de Units functie, alleen kun je met deze mode een heel peloton plaatsen.

Triggers (te selecteren met F3):
Een Trigger vormt de belangrijkste functie van de editor. Met een Trigger kun je de belangrijkste functies van een missie controleren.
Een trigger kan voor van alles gebruikt worden, maar de belangrijkste functie die ik ga uitleggen is het controleren van de lifestatus van een eenheid, en het aftekenen van een objective.

Waypoints: (te selecteren met F4):
Waypoints geven de eenheden opdracht om zich ergens heen te verplaatsen.
Om deze te gebruiken selecteer je eerst een geplaatste eenheid (in het geval van een groep, selecteer je de leider), daarna dubbelklik je op een locatie waar je de waypoint wil hebben.
Een kort overzicht van de belangrijkste waypoint functies:

  • Move: dit beveelt een eenheid om zich naar deze locatie te verplaatsen.
  • Destroy: plaats deze op een andere eenheid. Dit vertelt een eenheid dat hij dit ding moet vernietigen (bijv. als je een AI squad gebruikt om een basis aan te vallen waarin een AA geschut vernietigd moet worden).
  • Get in/Get out: Geeft de eenheid bevel om een voertuig binnen te gaan, of juist te verlaten.
  • Search and Destroy: Geeft de eenheid bevel om het gebied rond deze waypoint af te zoeken naar vijandelijke eenheden. Op aankomst van deze waypoint zal een squad zich verspreiden en bijv. een stad gaan onderzoeken. Ze blijven niet op deze waypoint wachten.
  • Join: Dit geeft de eenheid de opdracht een ander peloton te joinen.
  • Join and lead: dit geeft de eenheid de opdracht een ander peloton te joinen waarna hij het commando op zich neemt.
  • Cycle: Dit is een belangrijke waypoint voor patrouilles! Met de cycle waypoint kun je zorgen dat een patrouille een rondje blijft herhalen. Je hebt een eenheid bijv. vier move waypoints gegeven in een vierkant. Plaats de cycle waypoint dicht bij de eerste move waypoint die je geplaatst hebt, zodat de eenheid door ‘cycled’ en weer van voor af aan begint.
  • Unload/Transport unload: Unload werkt ongeveer hetzelfde als Get out, met 1 belangrijk verschil: met Get out stapt elke eenheid uit een voertuig, dus ook bijv. een gunner en een driver. Met Unload stappen alleen de eenheden uit die in de cargo zitten. Transport unload is belangrijk voor transport-eenheden zoals helikopters die los van een ander peloton werken.

Synchronize (te selecteren met F5):
Synchronize word gebruikt om bijv. modules of triggers aan eenheden te linken.
Dit is bijv. belangrijk bij de Secondary Operations Module (SOM). Als je deze los in de missie plaatst zonder hem te synchroniseren aan de speler, zal er niks gebeuren en de speler zal geen extra random opdrachten krijgen.

Markers (te selecteren met F6):
Markers worden gebruikt om locaties of objectives te markeren op de landkaart.
Deze worden tevens gebruikt om links in een briefing naar een locatie te laten verwijzen.

Modules (te selecteren met F7):
Modules vormen een van de grootste toevoegingen aan de editor die Bohemia voor ArmA 2 gemaakt heeft.
Je kan een module gebruiken voor veel verschillende dingen. Zo kan je met een module de wereld laten bevolken door burgers, dieren en lege voertuigen.
Er bestaan twee verschillende soorten modules: modules die los geplaatst kunnen worden, en modules die aan de speler gelinked moeten worden.
Het belangrijkste onderscheid kun je hier in maken door te kijken of de module direct betrekking heeft op de speler: een module die civilians toevoegt heeft geen directe invloed op de speler, dus hoeft niet gelinked te worden.
Maar de Secondary Operations Module moet de speler in staat stellen om extra random opdrachten van HQ aan te nemen, en deze zal dus wel gelinked moeten worden, net als de First Aid Module.

Naast deze functies staat rechts bovenin nog een Intel vakje. Als je hier op klikt krijg je een overzicht waarbij je de datum van de missie kan instellen, evenals de tijd van de dag, en je kunt de missie een naam en een beschrijving geven.
En als laatste kun je hier ook nog instellen of de Independent factie (de NAPA dus) vriendelijk is tegenover bepaalde facties. Zo kun je ze tegen Amerika laten vechten, maar ook samen met hen.
De naam die je de missie hier geeft word tevens de naam die zichtbaar word in het mission selection scherm op servers en dergelijke, dus het is handig in het geval van een co-op mission de mission naming standard aan te houden.


Het begin van missie editing:
Ok, we hebben nu als het goed is een goed idee voor een missie, en een basiskennis van de editor.
Nu is het tijd om de missie te gaan uitwerken. We beginnen met de belangrijkste delen van de missie: de objectives. Deze moeten eerst werken, anders is het zonde om de rest van de missie aan te kleden met patrouilles, defensieve stellingen etc.!
In de voorbeeldmissie die ik nu maak zal de speler een officier moeten doden, en daarnaast een fabriekscomplex moeten schoonvegen.
Plaats eerst een Blufor eenheid en laat hem de speler zijn, zodat jij deze eenheid kan controleren, zodat de game niet gaat zeuren dat er geen eenheid speelbaar is.

We gaan nu beginnen met de vijand te plaatsen.
Dubbelklik op de map, selecteer Opfor en maak van de eenheid een officier.
Geef hem in het naamvakje de naam ‘officier’ (zonder aanhalingstekens).


Plaats daarnaast nog wat extra eenheden en geef ze wat move-waypoints doorheen het complex, die afsluit met een cycle waypoint terug bij de eerste waypoint van de eenheid zodat ze niet stoppen met patrouilleren.
(zet in de waypoint de unit of safe mode, en zijn speed op limited, anders zullen ze gaan rondrennen en niet lopen).

We gaan vervolgens twee Triggers plaatsen.
Één Trigger voor de officier, en één Trigger die controleert of het fabriekscomplex geen vijanden bevat.
De Trigger van de officier heeft geen range nodig, dus in de vakjes Axis a en Axis b kun je het getal 50 verwijderen en vervangen door een 0.
In deze trigger zet je in het vakje condition het volgende neer: !(alive officier)
Hiermee controleert de game of de unit die officier heet nog in leven is, en de trigger zal activeren zodra deze eenheid gedood is.
In het vakje ‘on activation’ zet je het volgende neer: hint “Officer has been killed!”
Hierdoor kun je kijken of de trigger goed afgetekend word. Zodra je de officier dood schiet krijg je rechts bovenin het scherm een hint-vakje met het bericht Officer has been killed!


De 2e Trigger heeft wel een range nodig. Experimenteer hier mee, maar zorg dat het gehele fabriekscomplex binnen het gebied van de Trigger valt.
Voor deze trigger hoef je niks bijzonders neer te zetten in het vakje condition.
Zorg er echter wel voor dat er ten alle tijden 'this' in het Condition vak staat als de trigger niet op aparte omstandigheden controleert, zoals of een eenheid in leven is!
Wel moet je Activation instellen op Opfor. Vlak onder dat vakje zie je meerdere opties staan, selecteer hier ‘Not present’.
Dat betekend dat deze trigger zal activeren op het moment dat er zich geen Opfor eenheden binnen het gebied bevinden.
Zet in het vakje On Activation: hint “Factory complex has been cleared out!”


Als het goed is ziet je missie er nu ongeveer zo uit:


Ik heb hier dus de officier geplaatst met een trigger die zijn lifestatus controleert, en daarnaast 3 soldaten die het fabriekscomplex patrouilleren.
De 2e trigger omvat het gehele gebied waarin alle eenheden staan en patrouilleren, en controleert of de Opfor eenheden nog aanwezig zijn.

Nu ga ik even een stukje vooruit skippen en zorgen dat er een briefing in de missie komt.
Dit is nodig omdat in de briefing elke objective een cijfer krijgt. Je moet weten welk getal dit is voor elke objective, zodat je de juiste objectives kan laten aftekenen met behulp van de triggers.
Sla wel alvast de missie tot zo ver op, geef hem voor het gemak de naam testmissie! Sla hem op als User mission en exporteer hem nog niet!



Het schrijven van een briefing:

Voor het schrijven van briefings gebruik ik Alimag’s Briefing Manager.
Dit is een heel handige tool waarbij je alleen maar tekstvakjes hoeft in te vullen, waarna het programma zelf alle juiste scripts en dergelijke instelt.
Je kunt hier dus heel makkelijk tasks mee maken (dit zijn de objectives, en krijgen een getal), en ook briefings schrijven in de Notes sectie.
Als je je briefing hebt geschreven, sla hem op en noem hem voor het gemak even naar de naam van je missie.



Elke missie komt in je profielmap te staan die je kan terugvinden in de map Mijn Documenten.
Hier staan twee mappen voor ArmA 2: de map ‘ArmA 2’ en ‘ArmA 2 Other Profiles’. In mijn geval staat hij in ‘Other Profiles’ maar dit kan verschillen per speler.
Open je profielfolder. Hierin staat een mapje dat missions heet. Hierin zul je je missie aantreffen nadat je hem hebt opgeslagen in de editor!
Open je missie map.


In de missie map staat tot nu toe maar 1 bestandje, een mission.sqm bestand.
Hierin staan alle gegevens van je missie opgeslagen: de eenheden die gebruikt worden, eventuele addons die je gebruikt hebt in de missie zoals de Nederlandse Landmacht eenheden van Aeneas, etc. etc.
Dit bestandje heb je verder niet nodig. Kopieer je briefing.sqf bestand die je hebt gemaakt met de Briefing Manager naar deze missiefolder.
Het volgende is erg belangrijk: er moet een init.sqf bestand komen, waarin de briefing geinitialiseerd word bij de start van de missie.

Open Kladblok en typ hierin vervolgens het volgende:
execVM "briefing.sqf"
Sla dit bestand vervolgens op als init.sqf.
Dit kun je gewoon typen als je hem opslaat, dan veranderd het bestand automatisch in een .sqf bestand! (In sommige versies van Windows kan het zijn dat het toch een .txt bestand wordt, hernoem het bestand dan in Verkenner handmatig naar .sqf)


Maak vervolgens ook meteen een end.sqf bestand aan.
Open nogmaals kladblok en plaats hierin het volgende:
cutText ["Good work men.", "BLACK OUT",15];
sleep 20;
endMission "END1";

Hierin is “Good work men.” Het bericht dat getoond word nadat de missie is afgerond.
De missie krijgt een fade-out naar het zwart, wat ongeveer 15 seconden zal duren.
Sla dit bestand op als end.sqf.


Als het goed is staan er in je missiefolder nu dus 4 bestanden: mission.sqm, briefing.sqf, init.sqf en end.sqf.

Open als laatste nog even je briefing.sqf bestand zodat je kunt zien welk getal bij welke objective hoort!
Mijn eerste task is ‘Kill the officer’ en heeft dus het cijfer 0 gekregen. Mijn 2e task is “Clear out the rest of the factory complex” en heeft het cijfer 1 gekregen.



Goed, terug naar de missie editor!

Nu we de missiefolder hebben geregeld, kunnen we terug de mission editor in duiken.
We weten inmiddels de cijfers die bij onze objectives horen, dus kunnen we nu een scriptcode gebruiken om deze objectives in de briefing af te laten tekenen op het moment dat ze behaald zijn.

Open de trigger die de lifestatus van de officier controleert, en zet in het vak On Activation nu het volgende:
MAG_tskObj0 setTaskState "SUCCEEDED";


Hierdoor word Obj0 in de briefing.sqf afgevinkt als geslaagd.

In de trigger die het hele fabriekscomplex controleert op aanwezigheid van Opfor-eenheden zet je in het On Activation vak natuurlijk hetzelfde, maar dan met het cijfer 1:
MAG_tskObj1 setTaskState "SUCCEEDED";


Op dit moment zijn we zo ver dat beide objectives afgetekend worden als ze behaald zijn.
Maar de missie word nog niet beëindigd! Om dit voor elkaar te krijgen hebben we nog een derde Trigger nodig.

Deze derde Trigger gaat voor ons controleren of beide objectives zijn afgevinkt, en als dat is gebeurd zal hij onze end.sqf activeren.
De end.sqf zorgt dus voor het einde van de missie, en is een belangrijk onderdeel!

Maak een derde trigger. Ook deze trigger hoeft net als bij de Trigger van de officier geen radius te hebben, dus in de vakjes Axis a en Axis b hoeft niks te staan.
Zet nu in het vak Condition het volgende neer:
taskState MAG_tskObj0 == "SUCCEEDED" && taskState MAG_tskObj1 == "SUCCEEDED"

Deze scriptcode controleert dus of Obj0 en Obj1 zijn afgetekend in de briefing.
In het vak On Activation zet je vervolgens dit neer:
nul = execVM "end.sqf";


Druk op Ok.
Nu hebben we dus 3 Triggers in de missie staan: 1 Trigger die de lifestatus van de officier controleert, 1 Trigger die controleert of er Opfor in het fabriekscomplex zijn, en deze triggers tekenen op activatie de objectives in de briefing af.
De 3e trigger controleert of de objectives in de briefing zijn geactiveerd, en als dit is gebeurd zal deze de missie beëindigen met behulp van het end.sqf bestand in de missie map.

Nu kun je nog extra vijanden toevoegen als je wilt, of natuurlijk extra Blufor eenheden die aan jouw zijde meevechten!
Sla de missie nogmaals op. Vervolgens kun je hem exporteren naar de single player missies of naar de multiplayer missies.
Als je er een coop missie van wilt maken, moet je natuurlijk wel zorgen dat er meerdere eenheden op playable staan!

Download de TDNL Mission Making Pack hier.

.............................Observe everything, Admire nothing........................
De website van deze gebruiker bezoeken Alle berichten van deze gebruiker zoeken
Reageren op dit bericht
05-04-2010, 09:37 AM
Bericht: #2
RE: Tutorial: Een missie maken in ArmA 2
Goed idee SiC, en goed uitgelegd. en je hebt zelfs mijn probleem opgelost. was op zoek hoe ik objectives kon afvinkenTongue2,

Die briefing tool ziet er handig uit maar heb hem zelf nog niet geprobeert,
Heb nu eindelijk de briefing onder de knie op goeie oude manier.

[Afbeelding: tangodownsig.jpg]
Alle berichten van deze gebruiker zoeken
Reageren op dit bericht
05-04-2010, 12:16 PM
Bericht: #3
RE: Tutorial: Een missie maken in ArmA 2
Damn uitgebreid SiC, +1. Ik ben zelf niet zo een missie maker maar kan me voorstellen dat dit erg handig kan zijn als basis document.

.
[Afbeelding: tdnl_sig.jpg]

***** Check de Tangodown video's op Youtube *****
****** Check mijn ArmA2 video's op Youtube ******

Tangodown: Teamspeak // Wiki // Youtube // Facebook // Steam
De website van deze gebruiker bezoeken Alle berichten van deze gebruiker zoeken
Reageren op dit bericht
05-04-2010, 12:19 PM
Bericht: #4
RE: Tutorial: Een missie maken in ArmA 2
Nice, zal het eens een keer rustig doorlezen en testen. Altijd handig. Alles alvast opgeslagen Smile
De website van deze gebruiker bezoeken Alle berichten van deze gebruiker zoeken
Reageren op dit bericht
05-04-2010, 12:52 PM (Dit bericht is het laatst bewerkt op 05-04-2010 om 12:52 PM door zoog.)
Bericht: #5
RE: Tutorial: Een missie maken in ArmA 2
Ja, erg nice SiC. Zeker goede hulp voor de beginner! Nu heb ik eindelijk de moed om eens een klein scenariotje te bouwen Smile

Tangodown: Teamspeak // Wiki // Youtube // Facebook // Xfire // Steam
De website van deze gebruiker bezoeken Alle berichten van deze gebruiker zoeken
Reageren op dit bericht
06-04-2010, 01:17 AM
Bericht: #6
RE: Tutorial: Een missie maken in ArmA 2
Ik zit te hopen op meer custom missies voor TDNL om te spelen, dat moge nu dus duidelijk zijn Smile
Hopelijk gaat het met behulp van deze tutorial iedereen met een leuk idee lukken om het ook daadwerkelijk uit te voeren.

.............................Observe everything, Admire nothing........................
De website van deze gebruiker bezoeken Alle berichten van deze gebruiker zoeken
Reageren op dit bericht
06-04-2010, 11:59 PM
Bericht: #7
RE: Tutorial: Een missie maken in ArmA 2
ik was er al mee begonnen, maar dat afvinken van die objectives ging niet helemaal naar wens.

Die briefing manager krijg ik niet aan de praat (windows 7 64 bit)
De website van deze gebruiker bezoeken Alle berichten van deze gebruiker zoeken
Reageren op dit bericht
07-04-2010, 01:41 PM
Bericht: #8
RE: Tutorial: Een missie maken in ArmA 2
Ik weet niet hoe het kan dat je de briefing manager niet aan de praat krijgt, het lijkt mij dat het gewoon zou moeten werken.
Kan het eventueel ook in een compatibiliteitsmodus gezet worden? Ik zit nu op school dus kan het zo 1, 2, 3 even niet checken.

Maar het afvinken van objectives lukt nu dus wel, of nog niet?

.............................Observe everything, Admire nothing........................
De website van deze gebruiker bezoeken Alle berichten van deze gebruiker zoeken
Reageren op dit bericht
07-04-2010, 04:01 PM
Bericht: #9
RE: Tutorial: Een missie maken in ArmA 2
(06-04-2010 11:59 PM)OldRavenNL schreef:  Die briefing manager krijg ik niet aan de praat (windows 7 64 bit)

Werkt hier prima op Win 7 64bit, zonder compatibility modus oid

Tangodown: Teamspeak // Wiki // Youtube // Facebook // Xfire // Steam
De website van deze gebruiker bezoeken Alle berichten van deze gebruiker zoeken
Reageren op dit bericht
07-04-2010, 06:01 PM (Dit bericht is het laatst bewerkt op 07-04-2010 om 06:02 PM door OldRavenNL.)
Bericht: #10
RE: Tutorial: Een missie maken in ArmA 2
laat maar.. als ik hem als admin run werkt ie wel gewoon Smile
De website van deze gebruiker bezoeken Alle berichten van deze gebruiker zoeken
Reageren op dit bericht




Gebruikers die deze discussie lezen: 1 gast(en)