Jump to content
Sign in to follow this  
tj72

Dynamic Mission Notes

Recommended Posts

What makes the perfect dynamic mission? This thread is devoted to defining and streamlining this concept.

To start, a great dynamic mission is one that completely fills the island with vehicles units  and dynamic activity no matter where the player goes. This mission should be reasonable on resources at the same time. The mission could have different versions for people with slower systems to top end. Also the mission should be using stock units and vehicles and allow mission editors to switch out stock units with special addons with ease. But the stock units will allow players to access the mission without hunting for hard to find addons.

 The mission should be single player primarily with a multiplayer version available as a secondary objective.

 The player should be able to command multiple groups as well as indirect artillery and CAS. All of these elements were available in OFP and should be ported to Arma with as much efficiancy and low processing overhead as possible. All versions of this mission should have full command consols and artillery and airstrike as well as air insert and extract, medevac, remote base construction and supply line systems.

 As an alternative the player can play without these features but they will still be implemented with sophisticated AI that is utilizing all the systems in a believable way leaving the player to immerse in a smaller role while this larger background layer is still ongoing.

 In fact the mission should be able to play itself as AI versus AI without the players help at all. The player can wander the island, visit their base to recieve assignments from a mission que, or take direct command of his side as commander or even other roles in the chain of command as they wish. The idea is that they can play the mission from hundreds of different roles so they can play exactly as they want and try new things if they choose.

 This mission should be very easy to port into new Islands simply by changing the island name in the mission file (as in OFP) and going into the editor and adjusting a few markers and then its done. This way a player can explore a new Island with activity occuring all over the terrain wich will make full use of the new Island very quickly.

 Also missionmakers who want an ambient battle effect to their own highly customized missions will be able to merge this mission with thier own with a minimum of time and headache. An editor could make a simple special ops assasination or recon mission and then mix it with the dynamic mission so that the player has to work through the larger battle to get to their special objective.

 In addition the mission should have a variety of custom parameters. Things like battle magnitude and time frame. Whether it has any shortages such as vehicles or air. The AI could have different strategic styles. These paramaters could be randomly assigned or custom set by the missionmaker.  

It should be able to have more than two sides if need be. It could have  a peacetime civilian mode. Well alot of things are possible. Good planing and sound concepts combined with clever scripting can achieve all of these things and I think all of this is attainable in ARMA. One benefit of this is that custom islands and units/vehicles could be quickly deployed and used in missions and would address an issue with OFP that may occur in ARMA. Namely : So many addons/islands, not enough missions that use them.

__

Well there you go. I would love to hear feedback and comments and criticism of the idea. I know there are current projects in this vein. I just thought I would start this thread as a brainstorm or thinktank that should help us get a state of the art Dynamic mission system that the whole community can benefit from.

Any thoughts?

Share this post


Link to post
Share on other sites

Nice ideas, but with such a huge scope it needs huge efforts too.

I'm planning to create a dynamic mission but which is limited to a specific area to reduce complexity. The mission has a civilian-rescue topic.

One thing is important too: The AI should be need-driven to make it more realistic.

Share this post


Link to post
Share on other sites

Thanks,

I know it seems like a huge undertaking but if the code of the mission is tight enough it will be possible without too much headache. Thats why we should lay the groundwork in a community discussion like this so we can start early.

I think I know what you mean by "need driven". You might be saying that the AI commander brain is reactive in nature and will have to assess certain battle situations to gain those "needs" for the current situation yes?

I would love to see the AI react properly if you say, snipe at one of their squads and they are on a looping patroll. They shouldnt just hold pos for a while and then keep looping with one less. They should adapt and try to figure out where the shot came from and investigate. They can recover the body and wait for a replacement unit to arrive and then continue patroll. From playing flashpoint these scripts almost wrote themselves. Also bots should be able to clear buildings and take cover in a variety of situations by some tight on board calculations about where there being fired on from and where the best cover is in that location. Snipers should be smart about where they set up their positions from (i.e. high up and in the foliage and at the edge of the ridge) the hard part is designing the brain and making it not chug on the resource end.

Also the AI needs to have a good complex assesment routine. It should know if its getting chopped up really bad in a certain area to flag it as a trouble spot and then adjust tactics. If a certain part of the map is "RPG alley", then the AI should send in snipers and special ops and non armor untill it gets confirmed kills or a clean sweep before it sends vehicles through again. Same goes of AA. The AI should assess if its tactics are successful or not and pull back if its kill/death ratio is not at the right levels. it should know a tactical disaster when it happens and be as smart as it can about it.

Share this post


Link to post
Share on other sites
Quote[/b] ] I think I know what you mean by "need driven"

With 'need-driven' AI driven I mean, that the AI acts in a reasonable way. For example when a soldier is injured, the commander has to organize a rescue-helicopter and so on. If an AI-commander 'recognizes' that the enemy is too strong he has either to call for support or has to retreat.

I'm an experiecend programmer but not with the Arma-Script lanugage (I'm currently learning the basics). Does you or anybody know, if compiled scripts/functions perform well enough to use complex algorithms (like AI-methods: genetics/neuronal nets)?

Share this post


Link to post
Share on other sites

About time someone made one of these threads. smile_o.gif

I think the whole dynamic missions concept was the logical answer to the well known opf problem we all faced: too many addons, no missions to play with them (you mentioned it in 1st post). So that's exactly what all this is about.

However, it's quite easy to get carried away with featurism, esp at the beginning of new project.

My opinion (based on opf scripting experience):

1. Problem: Belief in 'The magic mother of all DynMisGen scripts'

There is no 'all-in-1' mission generator script. Just because there are random things spawned somewhere on an island it doesn't lead to a great mission. And imho it's impossible to make ANY random script come up with something like a specific & well thought out mission which was designed the 'normal' way.

A CTI misson can never be a rescue mission for example. Every scenario needs a different environment. A CTI mission environment is totally different from a 'Sneak-into-enemy-base' mission environment.

2. Belief in 'The human factor'

A random mission will never 'magically' become a great mission just because there are 4 or more players thinking about what neat trick they could try. Most players will do what was 'told' them in the briefing/in the mission. Spawn 3 enemy groups, give them an Ari script and tell them to clear the enemy area. They will do it. Spawn a tank platoon and give them a free heli attack. They will do just that. Not more. Why should they ?

If you want a mission that needs deep commitment and planning by the players you need to encourage them to do so. And that won't be easy without any scripting that is not the same as deep/as complicated as the things you want the players to do.

3. Problem: "If it's not happening, it's not real".

This is something i've heard quite a lot during the OpF era. But the truth is: what the player doesn't see isn't really important.

CPU resources are limited, esp now that ArmA is brandnew and many ppl don't have high end systems to run it with 50fps+.

So the last thing you want is anything that wastes resources and isn't noticed by the player(s) at all.

For example supply line movements can be archieved by scripts alone, you don`t need 'real' ArmA trucks driving around from base to base, pretending to unload supplies.

There's no need for real artillery firing from some lonely base 10km away if it has no deeper meaning in the mission.

The only important things for the player are the events happening in his local position.

Everything else can be faked/scripted. It's just a game after all and it should be fun.

The player won't understand he didn't get high scores because 15mins ago 2 of 5 ammo trucks were attacked on a road near this homebase 10km away.

But he will understand he got lower scores this time because he let the enemy commander slip away in his UAZ on the last mission, and a heli was lost because he made the extraction call before he knew where the bloody shilka was hiding.

4. Problem: Random gameplay, believability, human prediction/learning

Since i started scripting for OpF mid of 2003 i tried many different random scripts that were supposed to make any mission more interesting/ more fun to play. I failed of course (you didnt see me posting any finished missions during the last years did ya?)

I found out that you need to find the right balance between different aspects.

- if a missionscript is totally random your chances to get a great mission out of it is also pretty random. Randomization has to be controlled or it gets out of hand. It's easy to get carried away by adding more and more random options but it's impossible to test all combinations and therefore you might end up with a mission setting that's impossible for the players to win.

- even if you have a random script that does things how you want it to, the resulting mission setting can still appear as unbelievable/unrealistic to players. What worked great in the last random scenario looks totally out of place in the next.

When ppl started to complain 'How were we supposed to know that?' or 'Why didn't we get the right equipment for this' i realized that getting a mission setting together is quite a challenge. In a way it reminded me of the time when i was playing pen&paper RPGs with my friends. As a gamemaster you'd do almost the same as a typical OpF mission designer does:

a.) for every task the players get they need an enemy that wants to hinder them (realistic ai behaviour). Otherwise there's no challenge, but heroes need to be challenged.

b.) they need to know what to do, where and when (briefing and ingame messages). Otherwise ppl will get bored easily and while searching for the objective they'll walk right into the next deathtrap. And they have every right to complain about it because it wasn't fun.

c.) for every decision they need to make (to show commitment) you need to lay a path they can go. Every decision leads to a different task which needs a solution which needs special equipment and a tactic. All this needs to be preplanned and handed on a silver plate to the players otherwise they might not realize all choices and only take the straight path to the target.

- Human prediction/learning can make the best mission look boring after a while. Since dyn missions are supposed to be played over and over that shouldn't be the case right?

And that's the final problem. If the misson is too static ppl will learn it, if it's too random it'll get out of control and can't be solved. If you got the right balance it still can look unrealistic and if you haven't planned every way players may take to find the solution they may complain because they didn't know (lack of information) or they couldn't do it (lack of proper equipment).

SO... what would i suggest here ? Applying rules of designing Pen&Paper RPGs to OpF/ArmA mission design.

1. We don't need 1 DMGen, we need specific DMGens for every type of mission. (A rescue mission generator, a CTI mission generator, attack, defend, ambush, patrol, hostage-situation, sneak-into-base, recon, escort etc)

2. We need scripts that build a mission from the end to beginning, not the normal way. It's like designing a labyrinth, you setup the end and then plan out different ways to go from there to the entrance. Then add challenges inbetween and be sure to add solutions so the tasks can be solved. (Have tasks and solutions isolated for every way)

The ingame briefing is then constructed by single phrases depending on what the generator came up with.

3. We also need randomizations for the 'story' of a mission, not only for the targets and enemies. That's what was never done for OpF, maybe because it's hard to script.

What i'm talking about is a total change of direction/meaning of a mission. It should be like in 'From dusk till dawn' - it starts as a normal road movie but in the middle it changes into something totally different. NO, i don't want to change a military op into a vampire frag fest, but story-wise it would be cool to have something like:

- a patrol reveals an enemy secret op to blow up something. allied spec ops need to be called in.

- during a large scale attack all tanks run into a minefield. The attack is halted until engineers have cleared them. During the wait enemy RPG teams are spotted in a nearby forests. All vehicles are sitting ducks, so the players try to clear the forest.

- a pow camp was located and a rescue mission is setup. Upon the pow was rescued all helis are engaged by AA missile fire from the ground. Turns out the pow is an unimportant villager and the whole pow camp is a fake to lure in rescue teams. Players need to escape and fall back to the save zone, trying to save as many downed pilots on their way as they can.

4. Why change the AO on every mission ?

A short campaign of 2-4 missions in the same area could be VERY interesting! (Was never done i think)

Players could adapt their environment with sandbags and setup dropzones/heli pads for support. If mission after mission takes place in the same city, ppl will start to use knowledge of local terrain to their advantage. Wouldn't it be cool to see an enemy tank platoon running on the mines that you laid out 2 missions before because you thougth that'd make a good spot ? smile_o.gif

Ok, lunchtime for me. I'll write more later. Great thread really ! biggrin_o.gif

Share this post


Link to post
Share on other sites
)rStrangelove @ Dec. 26 2006,13:11)]1. We don't need 1 DMGen, we need specific DMGens for every type of mission. (A rescue mission generator, a CTI mission generator, attack, defend, ambush, patrol, hostage-situation, sneak-into-base, recon, escort etc)

Very well written post. Total randomization won't work. I was more thinking of a predefined kit, from which the script chooses randomly from and adapts it (positions etc.)

The challenge is to write a generator which fits some of these components to a believable mission.

I think the generator needs a kind of a simplified scoring algorithm (like which is used in chess engines to determine the 'score' for a given player) to construct balanced scenarios. BTW I do not think that every generated mission has to be 100% balanced...is that real life? surely not.

You are right that the (script)engine should only deal with the local area around the player and abstract all other events. We cannot build a Falcon4 dynamic engine :-).

And: we need a reusable function library which encapsulates complex algorithms (AI,planing algorithms).

Share this post


Link to post
Share on other sites
Guest

There is a mission with *some* of these characteristics in the workings, although I can tell you, simply put, if you want detail, and I mean DETAIL in the various events that are occuring, there will be a limit to how much stuff is gonna happen overall in the mission, and alos how editable the missions 'main dynamic' function will be. Sure, can make a complex system with groups attacking, counter striking, sneaking about, even make it more complex by putting in true 'strategic' moves, but, as time drags on making this all happen, the variety of *different* unique scenarios crop up alover, and if the mission maker wanted to refine most of these *scenarios* to make them apealingly *detailed* (units in safe mode not in combat, units not in combat at gaurd positions, hanging out, safe mode patrols, true reason for them being there( out in middle of nowhere? if so, maybe return to a base, then guard) - so as to not have fifty groups alover the map for no 'true' reason (although to the script enginge they may have reason, it would not be apparent to player) - then try adding in more detail, helo reinforcements, real time, not just spawned helos, guys get in helos from barracks in a base and it flys in to add to a depleted group, artillery barrages... list of details goes on... If one wants a dynamic mission with details, it will be limited in what overall dynamic qualities it has, and it will be limited in what can be edited by users because detailed additions often can only function if certain scenarios in the dynamic engine happen at specific times and/or specific overall circumstances are present in those scenarios.

Take out all the detail, imho, ya, alot can be done with a complex strategy based dynamic mission 'engine', but it probably will lack in detail and immersion per 'major' occurance.

The mission myself and ColonelSandersLite have been working on, has alot of dynamic qualities, but its not like the ai is playing chess against itself, but, it also has a ton of detail in it, personally I think the detail is actually more important than the dynamic qualities, it puts in immersion and removes alot of 'repetitive' type gameplay, also provides 'roleplaying' thru/in the mission design itself, rather than players having to 'roleplay' themselves so their imagination compensates for the lack of immersive qualities.

Now that I think about it, a fine example would be Thobsons Abandoned Armies for Ofp. It is a huge mission involving the entire island full of ai actions, it is dynamic in many ways, but its not anywheres near like the ai is playing chess against itself - now, on the other hand, look at the detail put into that mission. It is really a beautifull thing, cut scenes, ai units talking to player, various towns having patrols in em, convoys moving about, 'sub' missions intertwined within the main mission, and there really tons more in there too in the details. If one were to open that pbo, take a look at the scripts written to pull off all those *details* and additions, its quite clear what sort of time consumption is involved with making a dynaimc mission very immersive, as every little thing that is added (like the convoys for example), you can get a bunch of what if? Thens.. because you want that new addition to keep working if this happens, if that happens, and in a dynamic type mission, there are ALOT of variables involved. His convoy scripts pretty much cover everything you could imagine, moving units from a damaged vehicle to an undamaged one if that were to happen, adjusting speeds to keep vehicles together (I cant even remember it all).. a small example.

Share this post


Link to post
Share on other sites

Thanks for posting guys. I will have to reread the longer posts and give my feedback when Im done.

OFP scripting were very similiar to Java I am told.

 I was able to make scripts for Dynamic helo pickup (there were plenty of these anyway) and drop off. Dynamic LGB strike (using a plane from the airport to your current pos and would arrive and drop one to two LGB's on your laser dot). I was lastly working on a mission that used moving gamelogics to hold positions of groups to try to save resources. The last one was cool because it would spawn the actual group if you got close enough. These were all modules of a big dynamic mission i wanted to see.

I agree that once you develop the mission, new problems will spring up. For my LGB system I still needed to make direction  that the plane would come from i.e. East to West attack run to avoid an AA battery or just avoid landscape in the way.(something I know is realistic from reading about Enduring Freedom). Also what to do if the Plane is shot down.  Point being, once you reach a new level in development, new problems arise but that doesnt mean its endless development.

Thats where clear goals in the potential system will be crucial.  

I think I  understand about the detail factor. You might wind up with groups and vehicles roaming the map but no sense of close local activity from place to place. This is why the squad AI and multi squad AI need to be tweaked to gain that small local sense of activity a big mission will need. This is no small part of the project for sure.

One thought was a set of missions that were cutscened and had some dialogue but was still dynamic as possible. The player could aggree to fix equipment in a civvy town and wind up getting good intell from that town later in the game. There could be a mission for medivacing abunch of wounded and dead in a wicked hotzone. I loved the movie Assault on Precinct 13 which had a prisoner scenario with an army of thugs seiging the jailhouse with silenced M-16's. The player has to hold out untill reinforcements arrive. This would be another module that a skilled missionmaker could develop and write and put some sound and music too. But then it is integrated in the big system so it is as dynamic as possible.

 My thoughts were sub commanders that were responsible for groups of groups and sections of the island while the main general AI controlled those commanders.

 If we can get the AI to play this large scale chess game and these new Arma continents are filled with units AND they act appropriate to whatever local situation they are in that would be a key goal to reach and there would not be anything available like it in any other game save an MMO.  

 There could be long term missions that have many phases like peacetime/flashpoint/pitched battes/key showdowns/and endgame phase. On the local level there could be small side missions that act like easter eggs should the player stumble accross them.

  All of these sub missions and command systems and artillery should be modular and that would be a mission config decision. You might want to try a conflict with no arty or airstrike or no AI or the other way around. You might want all sidemissions turned off or all or some turned on. There could be an insurgent mode where the player fights as or against a realistic insurgency and has a hearts and minds value to keep up in order to win/lose.

Share this post


Link to post
Share on other sites
OFP scripting were very similiar to Java I am told.

ROFL... not even CLOSE...

but to whomever's merit... the new SQF style uses code blocks in paranthesis and ending ';' which is like Java (and C, and C++, C#, J#, etc..).. still not worth comparing...

In regards to topic:

You must keep in mind the constraints of the engine as is and finding the exploits which allow us to bust beyond those barriers. In OFP, that took many years for most good exploits to surface. If you have an idea of what you want, you still need to verify everything can be done... and done effectively. If you can't do it now, you may find a way in the future. However, don't bet your product on it...

Share this post


Link to post
Share on other sites
With 'need-driven' AI driven I mean, that the AI acts in a reasonable way. For example when a soldier is injured, the commander has to organize a rescue-helicopter and so on. If an AI-commander 'recognizes' that the enemy is too strong he has either to call for support or has to retreat.

I'm an experiecend programmer but not with the Arma-Script lanugage (I'm currently learning the basics). Does you or anybody know, if compiled scripts/functions perform well enough to use complex algorithms (like AI-methods: genetics/neuronal nets)?

While reading your post again right now i noticed you've mentioned 'reasonable' behaviour.

This is typically easier said than done, how do you tell your pc what is reasonable ? I guess that is when you have a good strategy to win against your opponent, right ?

What i've read somewhere in one of the AI game programming wisdom books is that a specific AI can only work in a specific scenario and environment. So unless we know what missions we want we can't know what AI behaviour we need. Perhaps lets start to make a 'wanted dyn mission types' list ?

About Genetics/NNets:

I'm not an expert but from what i've read about it i'd say: it all comes down to how you want to use it in ArmA. It's certainly not impossible.

If i got this right Genetics is about a code which describes what capabilities an agent (ArmA: a soldier, a group) has in a specific environment. You randomize those values at the beginning and let multiple agents do whatever they need to do. You get a feedback how good they performed with a fitness-function and use the gen code of the most successful agent for all future agents that will spawn.

Well, soldiers are pretty static in ArmA/Opf, there's not much you could randomize or change. If you take a group of different soldiers you have some options to play with. However, the best choice might be to use several groups (soldiers, commandos,ground, sea & air vehicles) as one big 'battlegroup' and then play around with the mixture.

It could be done, but it`d involve a looong ongoin mission to get a mixture that would perform well in a specific mission type and environment. (soldiers would perform better in forest areas i guess)

Share this post


Link to post
Share on other sites
)rStrangelove @ Dec. 26 2006,13:11)]A short campaign of 2-4 missions in the same area could be VERY interesting! (Was never done i think)

I'm still new to OFP and ArmA (I was introduced to it through OEP: E), but even using Elite's simplified editor I made a series of missions that were interconnectedl; basically a US assault on Everon, from the first recon units to the assaults on the cities close to the water.

And yes, it is VERY interesting, and also very fun. Given an effecient randomization system, it would excellent.

I've been wanting a mission exactly like what TJ72 has been describing since I started playing OFP, and absolutely love the idea. Another thing that would be needed, however (this is probably pretty minor) is the ability to fast forward time faster than the time compression, in order to help move the mission/war along.

With regards to the AI, what is needed, and maybe this is what is meant by need-based, is an AI system much like the one created by Rodney Brooks at MIT. Basically it's a pyramidal logic structure. So for the LGB scenario, the pilot would have his goals arranged as such, in order of importance:

1. Stay alive

2. Complete mission

And then within those, there would be multiple parts:

1. Stay Alive

   - Avoid AA

         -If shot down, don't try to attack target, but find cover, activate beacon

   - Avoid terrain

2. Complete mssion

   -Bomb target

   -Return to base

And it would go from there, deeper and deeper with more levels of detail. Eventually the engine would end up handling the most basic actions, such as flying and dropping the bombs, etc.

Regards, 8Ball

Share this post


Link to post
Share on other sites
)rStrangelove @ Dec. 27 2006,10:33)]This is typically easier said than done, how do you tell your pc what is reasonable ? I guess that is when you have a good strategy to win against your opponent, right ?

Reasonable behavior does not always mean to win a mission etc. but to retreat etc. if the losses are too high/the opponent is too strong.

Quote[/b] ]...

Well, soldiers are pretty static in ArmA/Opf, there's not much

That's right, group behaviour should be the focus, not the individual behaviour (that should handled by the ArmA engine anyway). Perhaps it can slightly be modified by forcing the FSM to a certain state (doFSM) in some situations.

Share this post


Link to post
Share on other sites

I like the idea of a "unified" dynamic mission, but only in case if people unite to actually make it.

I saw other similar threads die off, so I'm a bit sceptic. I like the ideas promoted here, but IMO you have always to balance between ideal and achievable.

I made a dyn camp for OFP and trying to make a decent succesor of it for AA. Actually will try. It's much simpler than the ideas described here, but I already fear if it's too much for the engine & CPU (and too much work for me! ).

Don't get me wrong, I like the initiative, but people get ideas and don't think about realizing them. I'm not a fan of scripted missions (the reason I started my project), but you need to find a balance. Try to make dynamic as much as possible, but at some point, you have to fix some values or at least make them random. I think that the real messy job is to decide where that line is.

My suggestion is to make something that works. Just because in RL too many times I saw (and did) great things started, but not finished.

About neurals. Don't have much experience with them, but read a lot. Okay, it's cool, but do you really need it? It isn't that easy to make. You can make it, but it really needs time to set it up properly. How can you test if it's working okay? The only debugging tool for AA that I know of is the recently released console addon. I like it, but it's nothing compared to the tools of programming languages. I think that a simpler solution could be made with a state algorithm. I don't believe Civ4 uses neurals and IMO it plays believable. And it would need huge processing power to make neurals for everything.

To cut the crap, all I want to say is make something simple (at least to some degree) and if it works, improve on it. When the improvements are destroying the architecture, make a new one (much more complex than the first one). Now improve this architecture. And so on. Otherwise, you'll find that you have too small an axe to cut that huge tree (but only after you tire like hell).

I hope I didn't sound too negative, just tried to help.

Share this post


Link to post
Share on other sites

If we have several ppl interested in random missions i'm all ears. I think it would be best to decide what all random missions should have in common. We'll all have our own ideas how a specific mission type should develop IN THE END, but until we get there it MUST be possible to find a very basic mission structure where we can start off from together.

I dunno exactly what this basic idea could be, but i'd start with this:

A basic mission in OpF/ArmA normally develops like this:

Phase A - Briefing or ingame messages what you're supposed to do

Phase B - Preparations (getting equipment, ammo, vehicles) and everyone is inserted at his positions (allied groups, support groups)

- a little recon phase before the mission is GO (Optional)

- players may choose position for remote fieldbase (Optional) or dropzones

Phase C - Mission is GO, groups follow mission plan and report on new sightings. Support groups maybe called in as needed.

Phase D - Extraction of all groups after mission has a result (success, failure, draw(?))

Phase E - Results and performance are being calculated for overall after action report. In case of an ongoin campaign results can also be used to determine the campaign status.

To get all kinds of missions out of such a structure it might be good to actually define what Phases are needed for the next random mission. A defend-the-homebase mission doesn't involve an insertion/extraction part normally, does it?

That also means that a mission doesn't have to end with the last phase, it could also stop at any phase and lead directly to another mission. This could work with links that are triggered by certain events during a specific phase.

Example: you're on your way (in phase 2) to the insertion point in order to join allied groups for a major attack. Suddenly your heli is under fire and is going down (with the help of rotor-failure script). This event leads to phase 1 of another mission type, an escape scenario. The old attack scenario has ended, you start off in phase 1 by getting new orders in the field (HQ: 'There's nothing you can do, get away from your crashsite and report back at base asap'wink_o.gif.

So basically i'd say mission types can change on the fly with random events - from any phase of mission type 1 to any other phase of mission type 2.

What do ya think ? smile_o.gif

Share this post


Link to post
Share on other sites

That was constructive smile_o.gif

I'm having an idea, that fits this concept: all phases are actually one (in a technical sense). When a mission is running, all of these are calculated. Like in Falcon 4.0.

I tought about a general AI that is generating missions as for you, as for AI squads (inf, armor, arty etc). When a mission is generated for you, that would be the briefing (pick up weapons at your current base). Once you get it, the equipment phase would be real time. After that, you execute the mission (ingame). When you finish, return and the AI evaluates your work (maybe better even when you're on mission). You go to rest, some time passes, and a new mission is generated to you. In the concept, I'm having problems with resting. I imagined a realtime battlefield. But with resting, there should be a script model of the battlefield too, to simulate the passing of time. For start, I thought to do nothing, except a skiptime (but then, the situation wouldn't change during resting).

For group AI, that remains untouched for me. I thought about general AI that gives purpose to groups, not to wander around randomly. My most basic idea is just to give them waypoint/combat modes. If it looks believable, leave it at that. If later, someone has time/energy, improve it.

IMO the best start is to do a bit of research. By this I mean to look at games that have a similar system. Like Falcon, IL2 DCG, Total Air War and probably some more. Falcon has the best dyn camp that I played. Most people (maybe including myself) are not aware how a complex thing this is.

Share this post


Link to post
Share on other sites

Naturally, a lot of discussion and ideas around the dynamic mission concept tend to centre on AI, and the ways in which both the engine and scripting can be used to simulate more human-like decision-making. However, a directly related topic which tends to get overlooked is the way in which mission design influences the decision making process human players.

Earlier in this thread 8Ball596 uses a nice example illustrating a tree-like struture for explaining the 'motivation' of a pilot, which in turn could be used to drive the decision making process for that agent. There are issues with tree-structures, but for the purpose of this argument it is a good foundation.

If we take the whole tree, one thing which we should notice is that all of its elements are 'in-game' (IG): the whole structure is written from the perspective of an agent that exists only in the mission, and in the mission's reality. If the pilot was being played by a human, we would need to start the tree at a different place, taking real life (RL) into account. For a human player in an MP Coop game, the tree would probably have these motivations at the start:

1. Stay alive as long as possible.

2. Get more kills than everyone else.

3. Complete the mission.

Even looking more closely at point (1), we should note that 'staying alive' does not necessarily mean staying alive with the same character. If respawns are available, a human player can still satisfy his/her personal motivation by acting like a kamikaze if there are free slots still available at the spawn-point. If respawns are not available, the situation changes - especially if it is apparent that the mission is very long, the server is already full, and the human player is likely to have to sit around for a long time if s/he dies early.

If the mission is SP, the RL motivations are again different. Since ArmA now allows multiple saves in SP missions, the motivation of the human player involves a lot more trial-and-error play - this contrasts strongly with OFP, which forced players to be much more cautious since they only had a single user-selected save per mission.

The point about RL motivations is that they are ever-present. IMHO, the way in which a mission's design does (or does not) take RL motivations into account is much more influential on the mission's overall 'success' or popularity than anything else, except perhaps serious bugs.

So, on the logic of this post so far, one could be mistaken for wanting to go out and build Unreal Tournament 2008 - since that does a very good job of meeting most human players' core RL motivations - right? Well, not if you like ArmA and OFP, which aim to achieve much higher levels of immersiveness not only through having large-scale environments, but also through the use of narrative.

Good ArmA and OFP MP Coop and SP missions tend to have a great storyline, and it is this that helps to create the IG motivations that drive a human player's decisions (once his/her RL motivations have been considered). Why else do human players put up with sniper missions that are 95% running across the landscape, if were not important for players to feel engaged by, and involved in, some form of narrative?

Returning to 8Ball596's tree, let's look again at the first pair:

1. Stay alive

2. Complete mission

Assuming we've taken care of the RL version of 'stay alive' elsewhere, why is this an IG motivation? Is the agent married, with a wife and children living happily in another part of the island? Is this why s/he cares more about living than completing the mission? More importantly, why is the IG motivation even important at all?

Context is crucial to influencing the human player with regards to what is percieved as 'realistic'. Understanding the context for the whole conflict (why are we at war? who with? for how long? over what?), the mission itself (what are the objectives? why does it matter?), and finally the individual role (why does my character care?), helps to construct a whole tree of IG motivations in the mind of the human player. Everything the human player experiences, and all decisions s/he makes in the game, will be evaluated against that tree of RL and IG motivations - and if something is not aligned with the tree, it will be obvious very quickly.

For example: tell a human player s/he is a plucky teenaged resistance fighter whose family has been murdered in cold blood, and who now has to go and kill a garrison armed only with his father's rifle, and you wil not get any complaints about how hard it is to complete the mission when starting with only an iron-sighted AK and 2 mags of ammo. Take the exact same mission, tell the player s/he is a SpecOps commando, but leave them with the same iron-sighted AK and 2 mags of ammo, and the complaints will rush in (where is my M4xx etc.!wink_o.gifwink_o.gif

Context also helps string together different events in a coherant narrative, even if key elements of the story are not fully simulated in the mission. For example, in the context of a contested beach landing, human players do not care that the artillery shells exploding around them are scripted - and not coming from in-game batteries. This is forgiven, because the gaps are filled by the storyline ("... the batteries are over that hill, sir, but we can't go there because it's mined - Charlie company bought it in that minefield two hours ago.").

My reason for raising all these points is that dynamic missions often suffer from a lack of context and narrative - no characters, no storyline, few cutscenes. In the absence of these elements, the only part of a human player's 'motivation tree' that will exists will be his/her RL ones - and so everything will be judged on that. In such a situation, the mission designer has missed an opportunity to start creating a set of IG motivations in the human players' minds, and with it the chance to do two important things:

a) Disguise the modular mechanics of a dynamic scripting engine, by creating meaningful links between seperate events / sub-missions through the use of an adaptive storyline that fits with the overall context.

b) Use short-cuts in the simulation which players will forgive (or not notice), since they fit with the context and narrative (e.g. scripted artillery, or boundaries on the AO which are explained by minefields etc.).

So whilst much attention as is being paid to the actual scripting of events, my suggestion is to spare some decent time for creating an equally adaptive story to go with it, as well as the elements that realise the narrative: cutscenes, radio chatter etc.

- Fer <TZW> smile_o.gif

Share this post


Link to post
Share on other sites

Fer you brought up some excellent points, I really hadn't thought about why someone would put staying alive over completing the mission. Ironically, I was just playing Metal Gear Solid: Portable Ops before this, and one character told Snake that he had suspended concern for his personal safety to complete his mission. Someone trying to tell me something maybe???

Anyway, while I seee some of the points brought up about needing a story and context, I belive that you can't allow a story to limit the gameplay or open-endedness (is that even a word?) of the mission. However the context could create some very interesting AI when it's fully thought out, for example, RACS solider putting the mission over their lives because they're fighting for their homeland, while SAL soldiers putting life over the mission.

If people really are interested in working on a mission/campaign like the ones discussed on this topic, I'd love to help out, I can't really help with the actual scripting, but I'd love to contribute what I can.

Share this post


Link to post
Share on other sites

Tbh i'm not really sure if it's really important to explain exactly why something needs to be done. Remember what Hood says at the end of BlackHawkDown - why he does it ? It's about the man next to you.

If at all necessary a short explanation should be enough, i mean in RL a soldier doesnt get too much info does he ?

I guess upon wondering why you have to go on that patrol your officer would tell you it`s because somebody higher in rank has reason to believe there's something going on there and somebody has to find that out. wink_o.gif

Sorry, i don't mean to be that negative. It's just because i think if you're making up a fat deep storyline with characters & stuff it's quite likely you'll get yourself caught in that. As a consequence you might have to cancel a lot of random events out because they actually no longer fit the actual status of the 'story campaign'. See what i'm on about ?

If you need to explain everything what a random script produces, you'll have to restrain it at some point.

I'd say we need to

1.) let a script produce what will happen

2.) make up a short explanation from a randomized text array for the produced scenario.

I guess that'll do. And i believe we're going too deep here at this time, it's already too specific. Shouldn't we discuss about basic things and what is needed as an open toolset before we discuss exactly how things should be done ?

Just my opinion of course. tounge2.gif

Share this post


Link to post
Share on other sites
)rStrangelove @ Dec. 27 2006,19:59)]It's just because i think if you're making up a fat deep storyline with characters & stuff it's quite likely you'll get yourself caught in that. As a consequence you might have to cancel a lot of random events out because they actually no longer fit the actual status of the 'story campaign'.

I agree with that, as I said, you can't let story restrain gameplay. I think the best type of mission in the 'dynamic mission' idea is a mission that is long, open-ended, and is very difficult, due to both excellent enemy AI and an effeicient and reasonable randomization algorithm.

The AI issue is one that I believe is part of the foundation of having an enjoyable mission, especially one like this. It's no fun to have to attack a location - an airport, for example -and have the defenders just standing in the open, nicely arranged in formation. In order to have a realistic situation, you'd have soldiers talking, some manning MG's, some sitting down, others sleeping, etc. And the AI, mainly on the officer's level, needs to be able to comprehend, or at least allow its subordinates to do other things when not in action, and then when it does have a goal, efficiently organize and command them. The individual AI then needs to be able handle itself efficiently, taking cover, and not doing stupid stuff like running out in the open to engage a BMP. This is being discussed in another topic though: AI discussion

As I think about it, it becoming clearer and clearer that a mission or campaign of this scale wouldn't just be a mission; it'd almost develop into a mod/addon unto itself. If one were to really want to make Sarahni a living, breathing island, and warzone, It would require an immense amount of scripting, and, in some cases, additional animations and models.

Thinking about a single, massive mission like TJ72 described, it's not hard to think about many other things in war that aren't touched on. Supply lines, for example. It's possible (maybe) to script an entire system of supply lines, where trucks carry ammo to bases, and then the ammo crates at the bases are replenished with ammo. You could then enivison resistance forces ambushing the trucks. I'm thinking the Resistance camaign, but with one mission. The player could determine what to attack, where to hide out, etc. If one could pull it off, it would be possibly the best single-player addon EVER, as well as a testament to the amazing engine BIS created. If you could get it to work.

And so, the one major problem is complexity. Given the already massive specs ArmA seems to require, having the computer calculate a new AI system, supply system, and everything else that could be added on, it seems to me that it would be nearly impossible.

So to sum everything up, a new AI system or new scripts for AI are needed. Depending on what type of mission is wanted, new scripts that deal with supply, C&C, artillery, etc, would be required and/or beneficial. All this must be balanced with performance and what is practical to develop.

P.S. Could someone give a definition/definitions as to what exactly they mean by 'dynamic mission'? It seems as though people have different definitions, and that can lead to alot of confusion.

Share this post


Link to post
Share on other sites

My aim is to make the core Dynamic system first and then address the narrative story aspects after. Then story elements can be given blank modules so that they can be written in later with the most flexibility and range to handle what will be needed. Also it should be single player first with Multiplayer available after SP is complete.

If the system works in SP then the 800 lb MP gorilla can be handled after with more attention and less complication since the core issues of the mission are allready worked out.

Also, the idea of having a long term mission that roams from town to town and takes hours even days is a key part of the idea. When you finally die or win/lose the mission you will think back to how many locations you hit, all the tasks you performed and truly wonder at how great this game is. This is a mission/system that will push the limits of the game program. And the "story" of that mission will be your journey through it and wont need too much cutscenes or story. If you think about a huge mission that is truly dynamic and unpredictable then you will picture a path through the mission that will be different every time and hundreds of different events can take place.

I would like to develop a core Base or General AI system that can be easily ported to new Islands as they come out. This system can start out very basic and simple but with the ability to add modules. The base should have all the core elements it needs to generate missions for the player as well as react to events with the appropriane response.

Your medical mission will be spawned off of a infantry OP that went bad which created your location and count of wounded. Ongoing spec ops recon missions are out there locating the convoys you will hit as an A10 pilot and etcetera. Players can sign up for rescue team/Medical/Supply duty/ Special Ops or etc but meanwhile the other missions are ongoing and handled perfectly by the AI.

 As you playtest the mission more and more ideas for new modules will become apparent. If the system is designed well it should not be a problem to expand or clone the base modell and cover an entire Island with it and reach the goal of full units/groups missions. I know that this is aiming high but anyone who looks at programing knows that good planning can solve almost any problem. We will see what is really possible soon enough.

I plan on looking at every script and addon that fits this project and testing it out, then looking at the code of those scripts and seeing how well they work as a module. Then I will start to make missions that combine as many modules as possible and check for errors and bugs. Then I would see how easy it is to transfer the mission to new Islands.  Alot of old OFP scripts should be carried into Arma but at the same time completely re written to fit this modular design model..

CoC's Unified arty was a perfect example of a modular system. It was so easy to add to your missions yet within the Obelisk and their development cycle there was volumes of coding going on.

KeyCats GLII was similar it was not hard to mix into your missions and would work well with other scripts and mission elements going on.

I think the Arty and other elements should be practical wherever possible. If the engine can handle real arty then its all the more realistic because these camcreate tricks eventually become obvious. If you camcreate arty then you ruin the chance of finding the battery by listening to the rounds sailing through the air with your 3d soundcard.

Neural Nets is an interesting concept but is way beyond me on how to implement. I would love to be able to buy a cheap of the shelf program that lets you play with NN's and use them on your comp for a variety of tasks but it seems its in the realm of advanced programers and students for the time being. I have heard arguments that they are not necessary as "tree culler" type programs are still superior in games like chess and will beat a NN chess player every time. I believe the program (Deep Blue was it?)that beat that Chess champ was a tree culler and that was allways the model I was thinking of. Still if someone made a NN module for AA I would be first in line to test it out. I used to read the AI board over at GameDev.net for some very interesting debates about this subject.

Share this post


Link to post
Share on other sites
Neural Nets is an interesting concept but is way beyond me on how to implement. I would love to be able to buy a cheap of the shelf program that lets you play with NN's and use them on your comp for a variety of tasks but it seems its in the realm of advanced programers and students for the time being. I have heard arguments that they are not necessary as "tree culler" type programs are still superior in games like chess and will beat a NN chess player every time. I believe the program (Deep Blue was it?)that beat that Chess champ was a tree culler and that was allways the model I was thinking of. Still if someone made a NN module for AA I would be first in line to test it out. I used to read the AI board over at GameDev.net for some very interesting debates about this subject.

Brute-force AI algorithms work 'fine' for chess-like games, in which the CPU has plenty of time to solve problems. This is definitely not true for ArmA, neither is the environment the same.

If NNs could be part of a possible solution has to be evaluated. BTW: There are several non-commercial NN toolkits available (open source etc.) You don't have to buy one.

Share this post


Link to post
Share on other sites

The commander AI is playing a kind of chess game against the other commander. Its an abstraction of what is going on but that was my model. A simple tree culler that is driving the sub systems with enough conditions written to handle almost anything.

I have ben meaning to look at games like C&C to see how their AI is coded because that is a closer model to the Arma virtual battlefield than a chessboard. The problems I was reaching were what the AI does "reactively" to its strategy.

The core AI commander could follow a simple tree structure to start which could later be added onto.

Start Game

1. Recon/Locate Enemy/Assess Enemy

2. Dispatch appropriate attack force

3. Engage Enemy/Establish frontline/Supply lines

4. Assess results/formulate counter strategy.

repeat these steps untill enemy is destroyed or defeated.

It gets complicated from there in my model. What ifs spring up. What if the enemy strikes home base amidst all this. What if a retreat is necessary. What if the attack force is hit along the way. So some kind of checking of strategy needs to occur at the right time. The tree needs to be ready for any event that will make it look like the dumb framework it is.

It all comes from an if then structure because that is what I know. If an NN can be implemented to make this obsolete I would be happy to use it.

But the basic system was like Chess or C&C and then the fine details get added in later.

Dynamic Mission: Any mission that plays differently each time it is played. Enemies are not the same and in same location. Objectives and waypoint change either by random or progression of events by random seed code.

Share this post


Link to post
Share on other sites

Honestly, before attempting to script hundreds of events for an island-wide war campaign i'd start off by placing many helis, tanks and infantry groups for each side and let them engage anywhere on the island. Then see how much your fps drop.

If it doesn't work it'll save you months of scripting and testing. wink_o.gif

Share this post


Link to post
Share on other sites

I think if you're trying to create such an open-ended mission, a NN or some form of similar logic structure is necessary. The same AI problem arises when creating robots to autonomously function in the real world. There are so many what ifs that programming them all in is nearly impossible, and certainly impractical.

Thinking about it now, probably the best thing to implement would be a hybrid structure. What I mean is, you keep the basic tree you created, elaborate on it a little, mainly adding in how the AI does things, not just what it needs to do, and then allow more generic things to take over the infinite number of what ifs. Example of the priorities a commander would have:

1. Hold all current territory

Identify key positions

Establish defensive positions

Defend any areas that come under attack

2. Defeat enemy

[this is TJ's plan]

Recon/Locate Enemy/Assess Enemy

Dispatch appropriate attack force

Engage Enemy/Establish frontline/Supply lines

Assess results/formulate counter strategy.

And then for the smaller goals, it would know what was needed. I.E:

Establish Defensive Postions:

Dispatch units to positions that need to be defended

(The defensive procedures would then be handled by the lower officers)

Defend any areas that come under attack

If recieve reports of attack, wait.

If reinforcements required, allocate reinforcements from reserves

Now this probably looks alot like the tree structure, but the way TJ (seemed) to propose it was an if then structure for all different situations. What I'm saying is that by allowing some situations to be handled by other, lower AI, and then grouping other situations, such as the defensive meaures, the system becomes more efficient.

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

×