Jump to content
Sign in to follow this  
DualJoe

MP-mission WIP - Incy Wincy Mercenary

Recommended Posts

Title is not set in stone, but somewhat captures what I'm trying to do.

This all came about because of me getting fed up with a couple of mp-missions.

You probably know the ones I'm talking about. The ones featuring epic journeys through desolate terrain and ghost towns ending with the complete and utter destruction of the only living things in the entire world, somewhat resembling shooting fish in a barrel. Sometimes this will end the mission, but if you're lucky, you get to repeat the same epic journey through the empty wasteland you started with.

Before asking for feedback I'll elaborate a bit on the context.

The problem I have with making my own missions is that I don't like playing them. I find it very difficult to be unpredictable to myself. However it seems I may have found a way around that with the mp-mission I'm working on now.

The setting is a country not part of the G20, divided by 2 factions at war. The players in the role of mercenaries trying to cash in on this business opportunity.

Small teams of 1 up to a maximum of 4 players for each team competing with each other in a living, breathing sandbox world.

First I'll describe what I've done sofar and which seems to be working surprisingly well. I still get more than playable framerates on my 3 year old pc, with most settings turned all the way up.

Using the improved BIS-modules the world is no longer desolate. Towns have civilians in them, sometimes driving on the roads and there's wildlife all around.

Next I've made a script which does the following:

At the start of the mission territory is randomly divided between the two factions in the form of connected towns. Those factions take turns trying to conquer each others territory. To keep framerates manageable only two towns duke it out at a time.

Supplies are distributed across the network of connected towns of each side, and this will decide what kind of forces are generated for that particular town. If a town is captured this will change the supply distribution on both sides. It surprised me how well this works, big thank you to Silola for DAC.

I've laid the foundation for the missiongenerator I'm currently writing, which will hook into the above turn-based war. The outcome of side-missions like blow-up the fuel-supply or steal the payroll, will have an effect on supply state/number of troops available for one of the towns in the coming battle.

It's with the main objectives and scoring system that I could use some feedback. I'm having a hard time coming up with an alternative to the Vietnamwar scoring system, which is still rewarding for players and competitive at the same time. The basic idea I have, is for the players to compete with other teams via objectives and playing smart, instead of impersonating Rambo.

Couple of possibilities I've come up with sofar.

- Similar to the tabletop game Risk, each team is assigned a random objective at the start of the mission and all teams try to complete their objective(s) before one of the other teams does.

- Money, earn/grab/steal and collect the biggest stash of cash.

- Mutual exclusive objectives, both teams fight for the same objectives, but from opposing sides. A bit like domination team vs team, but on a smaller scale.

As I said, I've seem to have run into a bit of a creative dip and would appreciate some ideas and suggestions.

Edited by DualJoe

Share this post


Link to post
Share on other sites

Wow, sounds great. I take it it's not available for play / testing yet?

So for objectives i take it you'd need tasks for each team that contradict to create conflict?

Team A gets orders to steal an ammo truck from town X, whiles as Team B gets orders to destroy this ammo truck - something like that?

How many player teams / sides are there?

Random ideas:

- go to a shady guy marked on map and pay a reasonable sum to get infos about what task the other team pursues atm. That way, smart players could follow other players and try to exploit their actions. why get dirty hands yourself?

- how about players getting stopped and stripped of their weapons at checkpoints of whoever is holding a certain town atm? players would need to come up with a way to kill somebody secretly to get new equipment (plunder an ammotruck, drive over a lonely guard)

- killing guards could get you a prize on your team's head. the other team could decide its really worth the trouble.

- special action menu entry: sabotage vehicle. if you saw the enemy player arrived with it, chances are high he'll use it to get away again, so why not place a nasty surprise underneath? lets say he needs to steal drug money which you have orders to destroy anyway, so blowing him up with his car will also successfully end your task.

Edited by ])rStrangelove

Share this post


Link to post
Share on other sites

That's exactly where I was planning to go with this. As of now I don't have a mission to test, unless you like to watch the war between two sides one town at a time (Which is actually very addictive I've noticed, far more enjoyable than most screensavers with virtual fish and such). As I said the supply distribution and background conflict is now working fully automated so the stage is set, but now I'm getting to the nitty gritty.

I'm currently trying to work out a bountyboard-like feature. I hope the mission will be popular enough that a number of teams could go up against each other, but realistically I think it should work for small teams going up against the AI. Should another playerteam accept the contra-mission, the AI will then be replaced by the other team.

There are a couple of ways I could implement the bountyboard-style missiongeneration. Hardest thing is figuring out a nice balance between single team missions and a large number of teams.

For example, should I make every mission available to all teams, playable from both sides? Like the missions in Domination. This would mean you're not only trying to defeat the enemy and complete the mission, but also have to keep an eye on the competition so that they won't run away with the prize. Although I kind of like this idea (very easy to implement and I suspect easy on the cpu as well), I'm afraid it will be very difficult to keep this from becoming complete chaos. Also it would go against the up close and personal effect I'm trying to get.

Alternatively should a mission be generated for two teams at a time (where the two teams are opponents, or AI generated as replacements if no opposing team accepts). After two teams accept no other teams are able to select the mission.

Because of the turn-based flow of the background war I could also make a mix of the above. First generate a few small missions, which when completed/failed will trigger the big multi-team missions which will have an indirect effect on the following war between two towns (How much and what kind of units are available for each side, for example). After this war has finished the cycle repeats with a number of small missions generated, which if the frontline has changed could be very different from the previous round.

Another point I'm considering. Should I generate a bountyboard in each town with missions close to that town? Or should the players return to a central location each time they want a new mission? First option would mean less boring long trips on the road, while the latter would mean more interaction with other players, provided the mission is popular enough.

EDIT

As a reaction on the mission ideas

A buddy of mine was experimenting with Hitman style missions, very similar in style, change uniforms and hide your weapon, that kind of thing.

The tricky part is how to allow players to do such tricky business and still register the score, like with the rigged car. As long as there are only 2 teams, tallying up the score would be easy, but add more teams and suddenly it is not that easy anymore. Although pulling of a stunt like blowing other players in their own car, would be a reward in itself.

Edited by DualJoe

Share this post


Link to post
Share on other sites

Little update.

I'm still working on this, I had planned to have a demo ready by now, but I'm reworking my dynamic world script. I discovered a feature in DAC which possibly should make my dynamic war script far more efficient, especially if numerous human players are active. Also while working on my mission-generator I ran into a couple of things I needed which are missing in my current dynamic-warfront-script.

Generating multiple DAC-zones in succession after the mission has already started takes up quite a bit of time. The current system generates completely new zones on the fly and on demand, but I'm starting to suspect that this is too slow for numerous fast moving players and multiple missions. The new system I'm working on will do all heavy cpu-stuff at the start of the mission and after that should work its magic unnoticeably for the players no matter how fast they move.

I've got a couple of different solutions I'll need to test, to see which one works best. Unfortunately, because of my lack of experience, this will require quit a bit of Bistudio script-language puzzling and testing will add a big delay before I'll have a demo ready for testing.

Share this post


Link to post
Share on other sites

Big sigh of relief, that took considerable more effort than I was expecting. Took me several hours to figure out a bug with converting an array of strings to a list of arguments for a function-call. String conversions in arma are plenty difficult.

Didn't help that I had very little time to spare this month.

Anyway, in the little time I had left do some tests, all seems to be working well, except for a bug with the turn-based background war.

How it works now is that at the start of the mission a couple of scripts are started in parallel. One of those is turning on and off territories from a territory-pool, depending on the distance to the players. That pool of territories is gradually being generated and filled by another script running in the background. Starting with the territories nearest to the player character.

Currently generating all the territories takes a lot longer than I'd like. DAC has difficulty placing camps in a few towns with rugged terrain (currently testing on the Takistan-map). I remember reading something in the DAC-manual, about adding locations manually in the editor, which should speed up this process. After those territories are generated turning them on and off seems to be working like a charm, also comes in handy for resetting the stage for a mission.

I'll also have to do some major cleanup in the future, because it is currently very messy and I put a lot of stuff in the init.sqf instead of the scripts (I got lazy and frustrated and just wanted to get it to work).

Eventually I want to have a single script-call with some arguments/parameters, and one central place for all customizations like units to generate, area of influence and such.

Things left to do, before I have a testable demo-mission:

- Working out the bug with the new victory-system I had to make for checking which of the towns won the war.

- Writing a new mission-generator for my rewritten dynamic war script.

- Come up with a good name for my script, which describes what it does.

- replacing the default DAC units and camps with custom versions. (Using the default DAC-settings, feels a bit unbalanced, suddenly being confronted by a tank-platoon, while driving around in my rusty car with my trusty old pea-shooter.)

- Make a few missions.

I'm a bit tired at the moment. Once I've got a bit of time and energy to spare, I'll continue.

Edited by DualJoe

Share this post


Link to post
Share on other sites

This thing is fighting me every inch of the way. Everytime a fix one bug, more of them pop up.

This time I suspect that I've run into a bug in DAC. Somehow after a first war-round between 2 towns, in subsequent wars DAC places all generated camps in the exact same spot, which seems to be the campsite from the very first time DAC_fchangezone is called.

I've only noticed this now, because I had camps turned off till now, to make testing faster. I'll ask in the DAC forum if there's a solution, otherwise I'll have to disable DAC-camps, which would mean no artillerie-support.

Share this post


Link to post
Share on other sites

How about PMing Silola about it, or bite the bullet and make your own spawn-armies-and-camps script?

Complicated scripts like DAC can get really nasty when you try to do special stuff with them they were never intended to do.

Share this post


Link to post
Share on other sites

I'm going through my DAC-calls with a microscope at the moment, if I'm unable to work it out, I'll pm Silola.

Currently DAC is the best thing I could find for generating not so random points and I'm staying very close to the way DAC was intended btw. I'm only integrating it in my own setting.

Everything else is working, I just thought that DAC-camps and DAC-artillery would add a nice touch.

The way I've set things up now should make it easy enough to replace DAC with something else. In the future I was thinking of making the use of GL4/UPSMON optional via a parameter at missionstart. Could be, I'll make my own camp/units generator in the future.

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  

×