Jump to content
Sign in to follow this  
ArmAIIholic

W.I.C.T -- World In Conflict Tool for ArmAII and OA

Recommended Posts

Yes... IT WORKED! Finally. Thank you very much ArmAIIholic.

that's why new WICT has battlefield "indicator"

:notworthy:

Hehe... from now on, I don't think there will be a single mission made by me that does not have WICT involved in some way :D.

...or should I wait till v4.5 is released? (I think I red somewhere in the wiki that v4.5 will not be compatible with 3.5)

Cheers

Edited by kyfohatl

Share this post


Link to post
Share on other sites

Yes, it is completely different, with same philosophy but with many functions and scripts with totally different coding. Although for me is easy to convert mission from 3.5 to 4.5 :)

Mission won't be compatible, but I already wrote about some "conversion" tips. It is possible to convert 3.5 to 4.5 mission, it is just a matter of how skilled you are.

It is your decision. You can make some small missions, test them and play around, and when WICT 4.5 is released you will have mission concept.

Share this post


Link to post
Share on other sites

I have a few questions (sorry, I got confused by the manual):

1. Is it possible to have WICT bases belonging to independent forces? (if so how?)

2. Is it possible to specifically determine the FACTION of units spawned by a WICT base. Not that it belongs to which SIDE, but for example if it spawns CDF or USMC troops. At the moment I can only spawn Russian/USMC troops.

3. In my mission, the player is an escaping prisoner (the convoy transporting him from prison is ambushed by his allies). Thus is it highly like that the player may come too close to the enemy base, and stop the spawning process. However, as the player's mission unfolds, there is a background battle (between the Russians [allies] and the combined force of CDF and USMC [enemies] and the independents), thus it is important that the enemy base does not stop spawning, otherwise the allies (design to be weak, so that mission is challenging) may overcome the enemies and the mission becomes too easy. On the other hand I do not want to decrese the spawning distance as the bases become too hard to capture. Is there anything I could do, or do I have to scrap the idea? (i.e. is there a way to temporarily make the enemy bases' spawning distance "incensative" to the player and his squad?)

Sorry for the noobish questions.

Share this post


Link to post
Share on other sites

@ kyfohatl

1) It is possible to put WICT base in neutral list and to put some independent forces to guard it. Since independent forces are not considered as "main" force in the game I never wanted to make system for spawning them. However with Murklor's spawning system that is implemented in WICT you can have limited spawning on trigger so you can make a effect like some new, fresh independent forces arrived.

Just one remark -- new WICT will have a pool of units that you can fill in with any unit/vehicle from any mod, but still WICT will be working with ONLY 2 sides spawning in turns -- BLUFOR and OPFOR.

2) Yes it is possible, but you have to open at least some of templates man :D And from your question you I see you didn't bother to look at UserSettings and templates. However, since I realized you are not the only one, I am now making it more simple.

You can make your own templates, change units and vehicles and all that stuff. Open for example W_reginf, and open some .sqf = 1.sqf, 2.sqf .... You will see it is a template that creates units. So you just have to change classnames.

3) That is nice idea for a mission :D

No, you cannot force the spawning process if the player is too close to the base. What you are describing is scenario that needs to be scripted (and not based on probability).

What you can do is to make a mission like this:

1) make a trigger that can be: a) convoy with player entered trigger, b) vehicle is destroyed or cannot move, c) player is not in the vehicle anymore

2) when condition is met change trigger variable from 0 to 1 and publicVariable so some scripted Murklor's battle starts, plus you put some null = [] spawn {sleep X; start WICT}; command

3) test your system a little bit and determine that X time and position of the bases

Therefore, you can make exact scripted events every time someone starts your mission, but the WICT kicks in and takes control over events.

----------------------------------

WICT is extremely powerful when it comes to the making probability based dynamic systems. However, I made an article Unleashing the beast of spawning, and I will make more of them about making scripted scenarios and dynamic stories, so you can stay tunned, learn some stuff and them make some fantastic mission.

What I am trying to implement in WICT, besides improving performance, is dynamic task system coupled with spawning from SQF script, so that mission designers can easily make and connect missions into bigger story.

The goal for now is to make such flexible system, so for example, 20 people can make several missions separately around some story, and then those stories can all be assembled in some open world mission, like we know from GTA4 or Red Dead Redemption.

But that is long and heavy "story" to pull out :cool:

I hope I've helped :D

Edited by ArmAIIholic

Share this post


Link to post
Share on other sites
2) Yes it is possible, but you have to open at least some of templates man And from your question you I see you didn't bother to look at UserSettings and templates. However, since I realized you are not the only one, I am now making it more simple.

Oops, I don't know why I thought that those folders in the UserSettings were core files and not to be touched :o. I feel like an idiot now; after all it was named "UserSettings" FPDR

Indeed, what I had in mind was similar to your idea. The mission does not "end" when the player manages to escape to the Russian base. From there on, the player is given an overall goal, which is to help the crippled Russian forces win the war. He can do this by either simply joining the Russians in the battle, or doing a series of missions via which he allies the independents to the Russians, thus making things easier. This is why I was hoping that WICT treats the independent as a seperate "side", so that they could change their relation (and become allies) to the Russians mid mission. And this is exactly the type of mission I really enjoy. Considering the overall goal of the mission (the Russians winning), the player is not at the centre, nor he is essential to it, he is simply a part of it. The Russians could win without the player (though unlikely), and since the goals of the mission are very general, the player can approach his objectives however he likes, so as you said; you get an open world and open ended mission.

I might change the idea of "allying the independent" to "getting the help of the Chedaki", as Murklor's script is a little difficult for me to understand (probably because of my lack of experience with WICT, so I'll wait until I've had some more experience with it).

Anyway, thanks for the help :thumbsup:

Share this post


Link to post
Share on other sites

Your ideas are excellent and I should really dig into scripting to make them even better.

Independents, as I said, cannot be spawned as a separate SIDE, but if you want to join them with Russian forces it is a piece of cake via UserSettings.

http://wicta2.wikia.com/wiki/Scripting#Making_scripted_missions

Try starting with that and ask questions here. It is powerful script!!!

You place units, put some lines in leaders init field and make a trigger, just basic stuff you have to know already if you are making such mission.

So don't be afraid and experiment with scripting :) we are all here to support you!!!

Share this post


Link to post
Share on other sites

WICT is extremely powerful when it comes to the making probability based dynamic systems. However, I made an article Unleashing the beast of spawning, and I will make more of them about making scripted scenarios and dynamic stories, so you can stay tunned, learn some stuff and them make some fantastic mission.

What I am trying to implement in WICT, besides improving performance, is dynamic task system coupled with spawning from SQF script, so that mission designers can easily make and connect missions into bigger story.

The goal for now is to make such flexible system, so for example, 20 people can make several missions separately around some story, and then those stories can all be assembled in some open world mission, like we know from GTA4 or Red Dead Redemption.

So in one village you can have multiple missions, as complex as you want sitting there waiting to be triggered, kind of like designing missions in photoshop using layers... really nice find bro!

looking forward to the next release, sounds exciting :D

Share this post


Link to post
Share on other sites
kind of like designing missions in photoshop using layers...

Yes, something like that. I found some good scripts for Dedi task update and I am planning to put Double trigger method to the best use.

I just need to come out with some "protocol" for designing mission, so they can be connected like LEGO bricks :D

Share this post


Link to post
Share on other sites

kyfohatl: Aaand, you can always use ghost bases, or move invisiblie markers for bases, if you have problems with too close base distance. Although you really need to know how the system works: I find it very flexible, as it has simple rules for spawning. So I guess every idea can be achived solely by WICT too: You only need to know where units will be when spawned.

And note! Wict will use non named units as well, so manually spawned units will be part of the system too, which can be a good feature too.

Edited by zapat

Share this post


Link to post
Share on other sites

Ok, made some progress... :D, and ended up with some more silly questions :o.

And note! Wict will use non named units as well, so manually spawned units will be part of the system too, which can be a good feature too.

Yap, my first question relates to this:

As the area of the mission is large, lots of AI groups are neede. So I set AI limit to 80, and to prevent WICT having to create all of the units, I placed 50 AI groups via the editor (without names/scripts so that they can join WICT). They did nothing, and waited until WICT created another 30 groups. Then, I could hear editor placed squad leaders shout out orders (e.g. "move 500 meters..."), but no one would move/do anything. WICT created groups moved for 5 seconds, then froze for 5 seconds, and then moved for another 5 seconds. So I checked the manual (and wiki) for solutions, and found out about the anti-jam system.

Next time I set AI limit to 60, but anti-jam to 90 (with 50 editor placed groups). For some reason, after creating a few groups, WICT deleted all editor groups (???) and restarted. What am I doing wrong?

Oh, and a question about the nature of WICT: If for example West has 5 bases, but East has only 1, and all bases deffinately spawn something each turn (i.e. spawn probability = 100%), do both sides get the same number of troops each turn? This is what seems to happen from the tests I was doing. The problem was that even though West was clearly stronger than East, they both had an equal number of units due to equal spawns. I guess to get around this I could set the spawn probability of each base only to say 40%, so that West whic has more bases would have a higher chance of getting units, and then to compensate for the slower rate of unit spawn, I could decrease WICT turn time.

Again, sorry for the silly questions.

Edited by kyfohatl

Share this post


Link to post
Share on other sites

You clearly missed essential stuff...

Editor units won't "join" by themselves, but only when the limit is reached, and I clearly wrote that this is due to a fact that WICT is using all units (not named units) when global assault begins. So only when WICT_jam is reached spawning will stop!!!

However, the global assault will begin when WICT_numAIg is reached!!!

And I suppose from your description that those placed units WERE NOT involved in the battle :) because if they were near you and WICT is spawning enemies they would fight!

So my deduction goes like this :D :

1) you placed editor units far away

2) WICT was kicking around you in God mode

3) editor placed units were deleted

...because there is option removeMan and removeVehilce. So, yes, WICT is actively removing men and vehicles if they are far away.

Now, I don't know why editor placed units are not moving and I will check that out, but I didn't change anything there from the last time, so it should work (but I will check -- I have never a priori dismissed a bug report).

Number of bases is not important. WICT is not calculating probabilities taking into account number of bases. Yes, both sides get the "same number of units" but depending on base configuration, one base can get tanks and the other can get the infantry.

So the accent/stress is not on the number of bases, but on the bases' types, so when designing or playing a mission you have to think about capturing/unlocking bases that will give you more power.

Therefore, when you design a mission with WICT there is a strategical moment when it comes to base design. You have to think: "what should player do to gain tactical advantage over the enemy and start shifting the battlefront".

If I had designed the script your way, then it would have been completely unimportant what player does since enemy would have 99 bases against friendly's 1 base, so that base would be crushed in no time.

This system gives player possibility to attack weak bases and to progress on the battlefield.

I hope you now understood the philosophy of WICT :cool:

Edited by ArmAIIholic

Share this post


Link to post
Share on other sites

Speaking of this: A2H: is it possible to write something like this into "setupE":

"E_reginf = count WICT_ebl * 10" ?

I mean when are base setups loaded? Only at initialization? Or when exactly?

(making Wict4 opensource will be great for such questions...)

Share this post


Link to post
Share on other sites

Bases' setups are loaded every time the base is active.

Actually the formulation you've made is possible, but it could be done on limited number of bases and limited number of units.

Reason: the calculation have to be extremely precise, since it is easy to go over a 100% with spawning probability, which is bad.

In your example above 10 bases will give 100% of spawning and nothing else from that base can be spawned... So either you would have to adjust number of bases or, better solution, to adjust your coefficient :)

For example (scenario), you want particular base to spawn max 50% of infantry, and other 50% are light vehicles. Now you want to make number of light vehicles depending on number of bases. "They" can have maximum(!) 10 bases captured, so you will make:

E_lightveh = count WICT_ebl * 5

therefore you can make one side holding 5 bases and the other holding other 5 bases.

In that case your configuration will produce 25% light vehicles with a chance to dynamically go to 50% or to 0% depending on battles.

Problem: this can work ONLY on bases with ONE CLASS PER BASE!!!

Don't forget that probabilities are cumulative, in order to make die with uniform distribution between 0-100. So you would mess the whole system by dynamically changing probabilities.

Conclusion: it is possible, but in limited number of cases

Share this post


Link to post
Share on other sites

@Armaholic:

Firstly

...because there is option removeMan and removeVehilce.

Actually, I had already red about that option and set it to 10km, so it shouldn't have deleted editor placed units.

1) you placed editor units far away

Nope, I was right besides them.

And about the bases thing: Fair enough. I see your tactical approach, which indeed does work. So if a faction holds certain bases, that faction will have tectical advantage over the other, for example because that base spawns choppers. However, it would be nice if there was an option to turn the spawning to one unit per base, so that if a faction has "X" number of bases, then it would have "X" number of AI groups spawned per WICT turn. Now you may say that this is a stupid idea, and not worth the time, however, I think sometimes you need to establish superiority of numbers by one faction. For example in my mission; where I would like to show heavy enemy presense while having a weak allied (Russian) presense to make the mission challenging.

so that base would be crushed in no time.

Yes, that is true to some extent, however you could have, say three enmy bases and one allied base. And to prevent allies getting defeated too early, you can simply use the nice little WICT feuture: spawning distance. As you already know, a very low spawning distance makes a WICT base extremely difficult to capture. Thus the spawning distance could be adjusted to give the player enough time to come to the aid of the Russians and even ally the resistance. So really, it would be nice if sometimes extra bases just provided some reinforcements.

then it would have been completely unimportant what player does

Well, WICT excells at creating large dynamic battle with minimum effort, and in reality, in such large battles, there is only so much one unit can do. So yeah, basically in any large bettle, the action of one unit will most likely not make a huge difference (unless the player a whole battlion under his command or is an extreme tactical genious). And I think this is realism. The player can't change te course of a huge WICT battle by himself or his tiny squad. What you CAN do is to let the player, for example through a series of missions, to ally the resistance with the Russians (or alternatively get reinforcements), and under the system I'm proposing, that would mean more friendly bases for the Russian ===> More units spawned per turn ====> Can help the Russians win. That way, what the player does IS important.

Of coruse this "greater presense" could be done by the editor, but I would much prefere to use WICT units as they behave not as individual units, but as a whole faction. They flank, come to the aid of bases and each other, display dynamic behaviour and have goals (such as capturing enemy bases) that change depending on what happens in the mission.

Anyway, its just a suggestion :)

Oh, and another thing:

Editor units won't "join" by themselves, but only when the limit is reached, and I clearly wrote that this is due to a fact that WICT is using all units (not named units) when global assault begins. So only when WICT_jam is reached spawning will stop!!!

As I said, I created a scenario with max AI set to 60, and WICT_jam set to 90. Then I waited for global assualt to begin (i.e. when WICT created an extra 10 AI groups), and still nothing happened. When near squal leaders, I could hear them giving the order to assualt the enemy base to their squad, but no one would move. Though again, I should have provided more detail.

Regards

Kyfohatl

Edited by kyfohatl

Share this post


Link to post
Share on other sites

I will check problems you reported, but I still cannot understand that AI units that were beside you didn't rush to engage in fights if the fight is near. However, I will check it before releasing a new version, and I will test with the same parameters.

I personally think that you are still missing the point of WICT, although idea of allying faction and increasing number of units is good, and I already discussed it with zapat few posts before, there are some problems and limitations that would require completely different approach, believe me, you will see the FSM when it comes out.

Everything you wrote here:

-- the nice little WICT feuture: spawning distance

-- as you already know, a very low spawning distance makes a WICT base extremely difficult to capture.

-- in such large battles, there is only so much one unit can do

-- the action of one unit will most likely not make a huge difference (unless the player a whole battlion under his command or is an extreme tactical genious)

-- the player can't change te course of a huge WICT battle by himself or his tiny squad

-- they flank, come to the aid of bases and each other, display dynamic behaviour and have goals (such as capturing enemy bases) that change depending on what happens in the mission

is based on wrong assumption --- the fact is that the role of the player is to determine the position of the battlefield, so:

-- if you increase the spawning distance player can "knock out" enemy base from the distance and THAT is the reason why it is more easy to capture

-- when player moves battlefront moves with him every turn!!!

So, basically this is dynamic environment where player needs to adapt and watch what AI does and use situations, small victories, vehicle wrecks etc. to move. The goal is to keep moving, to come closer to enemy base, be patient and wait for reinforcements to clear the area.

That's why I make COOPs, it is not a massive shooter "shoot as many as you can", but "cover me while I assault the position", and AI can help you a lot.

Cheers

Share this post


Link to post
Share on other sites
Bases' setups are loaded every time the base is active.

Conclusion: it is possible, but in limited number of cases

Ok, thanks. The code-line I wrote was only an idea: if basesetup would have loaded only at ini, there would be no point going in that direction. BUT! It is not, so it opens up a whole new dimension for me! And I understand that I need a longer system to make this work, but the possibility is there.

My conclusion: using a well made condition system together with dynamic invisible markers one can create a separate strategy game. :)

Now my concept mission is forming slowly in my head, I am only waiting for Wict 4 to get started with it.

And another conclusion: Wict is way more tweakable than I originally thought. I guess it can handle every situation one can think of. At least I've never got an answer like "no, it is not possible to do such with it...". It may not be obvious at first glance, but the engine can _simulate_ many situations

Share this post


Link to post
Share on other sites
Then, I could hear editor placed squad leaders shout out orders (e.g. "move 500 meters..."), but no one would move/do anything. WICT created groups moved for 5 seconds, then froze for 5 seconds, and then moved for another 5 seconds.

I will check this, but since you measued time, I concluded it the matter of clearing script which operates on every 5 sec. Actually it is not designed for what you tried to do, but I also ran similar tests, and I will run then again when I get home.

Now let me explain -- the main assumtion is that

  • once there is too many units on the field
  • script for clearing memory kicks in
  • it usually has much to do when clearing dead units and groups
  • usually it exits - because that is enough
  • that's why it has two limits -- like a buffer / tampoon zone

But what you did is to force it to work right from the beginning, so I guess that could be source of the problem --- you forced it to work repeatedly so that's why you observed 5-sec-behavior of the units.

What you can do is to zip the mission and send me, so I will check it out once I have time.

Sincerely,

A2H

Wict is way more tweakable than I originally thought. I guess it can handle every situation one can think of. At least I've never got an answer like "no, it is not possible to do such with it...". It may not be obvious at first glance, but the engine can _simulate_ many situations

I hope gaming will be even better with new one :D

Cheers

Share this post


Link to post
Share on other sites

Every now and then the WICT tool stops spawning units when I create different factions other than default ones. It is almost as if they are unexpectedly deactivited at random times. Is it possible that I may have made an undetected error to any of the groups in the User Settings folder and the WICT tool deactivates itself as a result of the corrupted syntax? Or would it simply skip it? Or does anyone have any other ideas?

Share this post


Link to post
Share on other sites

I don't know what could be the problem just reading your description above. Some people tried putting other factions, no one ever reported a problem.

Share this post


Link to post
Share on other sites
Every now and then the WICT tool stops spawning units when I create different factions other than default ones. It is almost as if they are unexpectedly deactivited at random times. Is it possible that I may have made an undetected error to any of the groups in the User Settings folder and the WICT tool deactivates itself as a result of the corrupted syntax? Or would it simply skip it? Or does anyone have any other ideas?

Hey Dax01,

Maybe a bit more detail? do you mean no custom units spawn at all? i pretty much only use custom factions with WICT and everything spawns no problem...

Do you mean 'every now and then' in game... as in they sometimes spawn etc, that sometimes happens with me if im close to a base, it stops spawning, i think that has something to do with scandist settings in startSettings.sqf

Or if they are not spawning at all then maybe you need to look at base distances?

Share this post


Link to post
Share on other sites

Any news on the new version, mate?

I haven't been around for some weeks, but no else was as I see... :)

Share this post


Link to post
Share on other sites

Maybe around New Year... :( I am too busy at the University.

What I have to do is to make one global function that controls spawning process.

There are no more templates, everything is pool-based and all units and vehicles can be custom.

But I don't have time for making a final code because it is not enough to write it down, I have to test it myself and to make a demo mission...

Share this post


Link to post
Share on other sites

Nice to hear that it is still being thought about. For a while I thought you might have given up :) :)

Share this post


Link to post
Share on other sites

As a pro-swimmer for 19 years --- I never give up :D I am not used to giving up, more exactly :)

Edited by ArmAIIholic

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  

×