PDA

View Full Version : Studying the AI & fully dynamic game sessions


MarkShot
11-08-07, 09:50 PM
I came across this interesting technique for understanding the AI that is more friendly and fun than reading the doctrine files.

(1) Put together whatever you want to test into a scenario.

(2) If you want purely AI, then create a controllable sub in a remote corner of the map.

(3) Run the scenario and turn on truth. You can watch how the AI performs TMA, launches weapons, evades, ...

I suppose all you scenario designers must know this already as show truth would seem a good means to debug scenarios.

One other thing I found out is that despite units being on different sides with ROE=WAR, you need TACTIC=TRANSIT SEARCH if you want hostilities. TACTIC=TRANSIT basically will result in opposed units just ignoring each other.

---

Right now, I am playing through other people's scenarios, but I have a dream of creating my own dynamic scenarios. What would make them special beyond just dynamic placement boxes, dynamic groups, probability of inclusion?

Well, I would like to do something similar to the TC (Take Command) model. This is an American Civil War game which was designed by a friend, Adam Bryant. A large scale battle goes on around the player and upon that back drop the player plays his role upon the grand stage.

So, unlike your typical SC/DW mission where you the player are tasked and are center stage, my vision would be is that there would be a larger action going on within the battle space. There would be a number of concurrent missions going on each having random elements such that the battlespace would be a dynamic world, since the units and actions going on would be too complex that events could not easily and precisely repeat. Within this dynamic world based on events and random luck, you might be called to intercept a convoy or assist support a commando team that has landed or be part of an alpha strike against a port and lead attrit enemy naval forces before the strike takes place. Part of this would be similar to WWII subsims, so your involvement and tasking would depend on bubbles of activity which you sail which instantiate objects and events and this could be done with goal oriented proximity triggers.

So, head towards a convoy forming, you'll be doing commerce raiding. Head towards a barren area of coast, you'll evacuate friendly nationals. Head towards an area where an airstrike took place, you might have some life guard duty.

This is the thing I miss in SC/DW the feeling that anything and everything is going on "out there". It all depends on where you sail to what you will encounter.

Just curious has anyone tried to create such a dynamic environment in SC/DW?

Other comments?

Thanks.

MarkShot
11-08-07, 10:09 PM
One issue would be the large number of platforms active in the scenario, since effectively there would be lots happening that was not taking place at the players location.

Another issue would be how to end the scenario and given the player some accounting and events on the larger stage.

Lastly, would the player be scored or is it enough to pass/fail missions from HQ along with staying alive as the clock runs.

A longer campaign could be built around this approach. It could be similiar to campaigns like Falcon 3 where if the players does well, generally the war progresses well for the player's side. If the player does poorly, the war goes poorly. Perhaps, the war lasts 10-20 days. A scenario then is 24 hours of dynamic events setting various flags for the next day.

---

Development would have to be done on a number of levels:

Level1 - plausibe 10-20 conventional war with the naval component.
Level2 - various flow paths through the war and feedback loops based on events at sea.
Level3 - individual day's objectives and the frag orders for that day's operation.
Level4 - translation of that day of the war into a scenario with many concurrent naval operations.
Level5 - tie in triggers based on map location and events to task the player and provide a role within a mission.
Level6 - daily player debrief global and personal.
Level7 - linkage to the next day of the war.

MarkShot
11-08-07, 10:19 PM
I have only created toy scenarios so far.

Which editor and engine would be better for a project like this SC 1.08/SCXIIC or DW 1.04/LWAMI 3.08?

For the moment, I am thinking of making this sub only and specific to one side or another.

---

I just thought of something else. Since SC/DW scenarios are simply text, you could pre-process and post-process scenarios similiar to what was done for making the static SH2 campaign into the dynamic Pacific Aces campaign (using the underlying Kriegstanz engine with a templating capability).

MarkShot
11-08-07, 10:22 PM
Does anyone know how to parse scenario files?

Reaper51
11-08-07, 10:32 PM
This all sounds very good, and I think it would make a great campaign, with a lot of replayability. So I hope you'll make it for DW, or if you decide to do it for SC, then I hope you'll port it over to DW. :yep:

:up:

Hawk66
11-09-07, 06:24 AM
Does anyone know how to parse scenario files?
I think, it's not that diffcult, it's just a text file. Just create a very sample mission, look at its content in a text editor and the add more features to the mission etc.

Your idea of a fully dynamic session is good. I would focus on a limited time scale. You can't build a SH4/Falcon4 capable campain with the tools provided by DW (from my understanding). I see the problem in debugging (time compression is not fast enough) and the complexity.

Also, I would have a look at the doctrine scripts (not only in the mission editor, but those in the doctrine folder also). You can do additional things like an 'moving' AEW patrol etc with them.

FERdeBOER
11-09-07, 10:19 AM
You have named all the desires of [almost] all of us who have messed up with the editor. Maybe this should be discussed on the editor forum :smug:

I have also thought on a mission with objetives based half random/half player movements. :yep:

The problems are various:
- time scale/acceleration: is very limited, so transiting to one point to another will take long.

- editor: it's long time since las time I used SC's editor, but the DW ones have some problems, like: it's not possible to create a dynamic group with dynamic locations: the game crashes.
Solution: create varios dynamic groups on different places and random boxes. Problem: the maps starts to be plenty of things...

- IA behaviour: as You said, very lacy, but very VERY improved with LwAmi mod; despite that, still has bugs that will force you to "simulate" somethings (like most airstrikes). problem: simulating things adds more stuff to the editor map... :nope:

- game stability: very long missions, specially the ones with a lot of triggers and plattforms makes the game a bit unstable. Solution: simulate the actions and then make the report to the player (specially usefull if the action takes place far).
i.e.: the result of a distant battle will make possible or not air escort. Better to "make" the battle that will require to use a CV, variuos escorts, planes, bombers... and the kill or attack triggers... create a fishboat with probability of inclusion of 50%: if appears: your side wins; if not, your side loses.

- and the most difficult thing: order and memory. If you go away and don't touch the mission for a while... when you return to it you will not remember what you were doing, why did you put that there... what things you did and what are not already done... solution: have a great memory, being very organized (I'm not neither of those) and not leave without, at least, finishing that speciffic part/goal/mission/whatever... :know:

- antoher problem is testing the mission: the more dinamicly, the more difficult to test.
Moreover, if you test one thing after included a lot of changes, triggers, scrpits... maybe you will never know what is what worked bad...:damn:

But, if you are very patient, organized, and have a lot of spare time, go ahead, please, if will love to play it :up:

MarkShot
11-09-07, 01:31 PM
NOTE: Admin feel free to move this thread ... originally, I put it here, since I was talking more about a way of playing SC/DW, then actual techniques of mission writing. However, now, the conversation will probably be getting more technical.

I have noticed what you described with regards to long missions resulting in the CTDs.

You are proposing the "bubble" as opposed to the "full stage" method of simulation:

Bubble: Only instantiate world events/objects within a range that the player would be able to perceive them. Distant events are abstracted and the outcomes are purely summarized as opposed to being decided by simulation.

Full Stage: The entire stage is set and put in motion. Although it is not necessarily likely that the player may bring his troops a few miles (by foot) across the battle field in 20 minutes, if somehow the player achieved a break in the lines and exploits it, there will be something more than emptiness awaiting him and his brigade beyond the next ridge line.

I see that the advantage of the "bubble" in the reduction of complexity especially since doctrine language is interpreted and probably results in two orders of magnitude of simulated code lines being realized for simple scenario constructs.

However, I was hoping that the "full stage" method would result in the creation of random situations with a depth and richness not realizable by simple permutations or decision trees. The thinking was: if you apply some random objects and locations into a complex battlefield situation, then you will realize further complexity based on how things proceed from initial conditions. Now, the player has X number of hours to live in that world; maybe with an extention clause such that he needs to break contact in order to close the current session after 24 hours have passed.

Now, in terms of carry out an initial mission, he does not know what other assets might roam into his initial orders area. After completing the first mission, perhaps he now transits to pick up a convoy to escort for his second mission. What he will run across in the transit or what shape the convoy is in no one can say based on things that had happened hours earlier. Even the scenario designer after a few hours of running cannot predict the state of the space as permutations of outcomes arise rapidly and each juncture further complicate the possibilities. The world continues to become an increasingly chaotic situation despite the firing off mission orders at various intervals. With the "bubble" approach, the player can expect one of a few possible variants (especially if it is the designer or someone who has inspected the scenario). With the "full stage" approach, it is quite possible that other units with other missions and previous orders have wondered into the clean little defined problem which has just been delegated to you. Not even the designer after many hours can know what is lurking. The world is not a set of little disjoint action areas where you walk from one ride to the next in the theme park. The world is alive and while having dropped off commandos and moving to closing off a shipping lane, you may run into sub who has survived another mission and sees you as a target of opportunity along the way. Or perhaps you find yourself close to a friendly battle group that is unexpectedly being decimated by a wolfpack. A distress signal is sent to any close assets to join the fight and even the odds. Effectively, there are hostilities taking place along a broad front. At any given point in time, one cannot know where you will be along that broad front and what role you make be invited to play.

Your kills and their quality for the current session is tallied and sets force levels for the next cycle. Good performance and enemy assets being instantiated for the second day is reduced. Poor performance and the flood gates of enemy units are open. Each day (if you live), the balance of forces may shift. Perhaps, the player may trigger various difficulty options such that reinforcements will play a role in later cycle independent of performance related results. As the war drags and political solutions come closer, the player may bring an early victory to his side by helping his side to acheive sea dominance before a political peace can be imposed. Or the players has lived, but fails to be aggressive, the enemy are dominating the seas. Either the enemy wins before a political solution or the player fails to survive a sea ever saturated with hostile units. So, besides individual risk to the player, an aggressive player (despite randomness) will shift the course of the war with each cycle as the enemy suffers from attrition. A cautious captain will find the odds each cycle mounting against him. So, you have a complex dynamic where excessive focusing on realistically preserving ownship will make the war harder to survive.

MarkShot
11-09-07, 01:36 PM
You know the SC/DW community has benefitted by tremendous modding work, but at the very technical level; not at the strategic total mod level.

I would love to see this community realize a high-level strategic mod more along the lines of a Gray Wolves Expansion for SH3 or a Pacific Aces for SH2. As I have often said both of these games (SC/DW) have engines with fantastic potential. However that potential is not realized, since the world around the player is made of up of puzzles to play one after another. The world powered by the engine is not alive and fails to immerse the player in the potential that anything might happen.

Molon Labe
11-09-07, 02:07 PM
Just curious has anyone tried to create such a dynamic environment in SC/DW?

Other comments?

Thanks.
I've had ideas to try to accomplish this from time to time.
The GDT concept was to use a human being (me) as a dynamic campaign engine to set up DW matches within a strategic context
http://www.commanders-academy.com/forum/forumdisplay.php?f=70

Of course, using a human being for that sort of thing is incredibly cumbersome and complicated, so its better to have a computer be able to do those things
http://www.subsim.com/radioroom/showthread.php?t=124314

But we may never get any help from SCS, so it's back to the drawing board...
http://www.commanders-academy.com/forum/showthread.php?t=16518

I wouldn't try to pull off anything using the campaign feature as it exists now, both because I'm only really interested in MP campaigns and also because the amount of effort to get it to work would be absolutely herculean.

kage
11-27-07, 06:43 AM
It is technically doable to create 'mission of the day' for a longer campaign programmatically, by generating a mission file and reading the debrief.txt generated by DW.

----

SuBB and I have been working on a particular style of missions, that may be worth mentioning here.

We have done a lot to maintain "dynamics". I know SuBB can explain it better than I do, though it's conceivable he might dedicate a forum page or so to that. :lol:

We've been trying to make these maps MP usable, which means that the 'bubble' approach is unavoidable. (In particular since DirectPlay is involved) - Then again, there is little to no chance of the player going somewhere he would (realistically) meet another ship.

MarkShot
11-27-07, 10:15 AM
At the moment, I have put my grand schemes on back burner, since I have yet to play all the SC and DW missions hosted at SubGuru. Right now, I am still playing through the user missions for SC 1.08. Then, I will move on to SCX, SCU, and finally, LWAMI.

First, other people's scenarios although usually not very dynamic are dynamic, so to speak, the very first time you play them, and I have lots ahead of me.

Second, I am learning a lot about scenario design and the game engine by playing what others have done.

However, I still think a dynamic campaign set of scenarios or pre/post-processor would be a rebirth for these two sims. For example, SH2, was a relatively closed game system. The PA team through work done with Kriegstanz (a scenario templating engine) and pre-processors created SH/PA (Pacific Aces) and turned it into a true dynamic campaign. Sadly, like most great mods it was still hampered by original games bugs (like save games not working) and finally the arrival of SH3 killed off large scale community interest in the mod. At least, those of us who play SC/DW don't really need to worry about anything usurping these games. Yes, UBI could bring out a Cold War subsim, but it will be a hack on the SH3/4 engine focusing on graphics first and simulation second.

FERdeBOER
11-27-07, 10:46 AM
OK... I've been doing a small test.

It's about how to make acceptable random civilian "shiplanes" without finishing with the mission editor map plenty of ships and route lines.

I used "suicide attack". With this, you can place the ships wherever you want and will be sure they will head to port... sounds great, really? No! We face one of the game bugs: the AI is stupid and if an island is between the ship an its objetive... :damn:
http://img267.imageshack.us/img267/7678/decabezapm3.jpg

This problem is not only with suicide attacks; the same happens whit other options. :nope:
I've tried the "pathfinding" and "avoid collision" scripts, but nothing...:shifty:

But, when the area is clear between the ship and port, the "solution" works... well, not allways, as some ships instead of heading to port just turn arround 180º and others (generally those with speeds bellow 8 knots) reduce their speed to 3-4 knots. But I think we could live with that.
http://img510.imageshack.us/img510/6809/engeneralus3.jpg
http://img515.imageshack.us/img515/1893/unpocodedetallexp8.jpg
I've made this example with 15 minutes before the trigger fires so it can be visible the turning of the ships, but can be done just at the beginning of the scenario.

This is the editor map when this is done. As you can see, one script for all ships is enought. For making the map even more clear it can be done creating a dynamic group and all ships in the center with a random box, but I think this could make that sometimes some ships will appear together and collide.
http://img515.imageshack.us/img515/1296/asiquedaze1.jpg

Remains the final step, that would be to create a script to stop the ships before they collide against port. I fear this will force us to use one script for each ship, but...

kage, can You (or SuBB) tell us some of how you create your "dynamics"?

Thanks

MarkShot
11-27-07, 11:34 AM
What I would like to see for realistic behavior of platforms:

AI subs:

- Sprint and drift even when ordered to make high speed runs.

AI surface ships:

- Maybe also sprint and drift with zig-zags when ordered to make high speed runs.
- Handle emcon more intelligently. Meaning going active when there is reason to believe a contact is in close.

---

I have recently played a batch of user designed missions suffering from the following:

(1) High speed surface groups forcing escorting subs run at such a high speed that they effectively deaf and dumb.

(2) Escort subs placed in close proximity to the surface group making it impossible for them to take out an attacker before the attack can threaten the group.

(3) Surface groups running at high speed pinging away like crazy. Think about it. A surface group running at 30kts (should have been randomly zig-zaging) would pose a tracking targetting problem for a sub (especially using torpedos). If you (sub) run with it, then you can can keep pace, but you become deaf. If you slow to listen, then will not be able keep up with it make repeated attacks. However, if the group stupidly pings non-stop, then you can plot perfect solutions and wire guide wake homers while running along blind and deaf.

---

Maybe if folks are serious about producing more dynamic and realistic scenarios, we should start by listing the behaviors we want both at a high and low level and then develop solutions for each requirement. Finally, begin to build some prototypes scenarios and test them.

GrayOwl
11-27-07, 12:21 PM
DW it is not strategic sim. [Khe-Khe - if this game is possible in general is to named SIMULATOR :lol: ].

By it is designed only for individual actions. The reasonable Actions formations are simply impossible in the mission - on it you do not hope. You never will make 100 % the reliable mission - game uses casual factors for account of distances of detection - in the same mission, it will give always different distances, and you will never have the same distance at repetition of mission.

You have offered it to make with the help scripts - in individual scenario mission. But these scripts too same stupid as well as engine of game or stock doctrines... It is very a pity...

This game Live only duel events In Multiplay. It is Rock…:know:

suBB
11-27-07, 01:04 PM
At the moment, I have put my grand schemes on back burner, since I have yet to play all the SC and DW missions hosted at SubGuru. Right now, I am still playing through the user missions for SC 1.08. Then, I will move on to SCX, SCU, and finally, LWAMI.

First, other people's scenarios although usually not very dynamic are dynamic, so to speak, the very first time you play them, and I have lots ahead of me.

Second, I am learning a lot about scenario design and the game engine by playing what others have done.

However, I still think a dynamic campaign set of scenarios or pre/post-processor would be a rebirth for these two sims. For example, SH2, was a relatively closed game system. The PA team through work done with Kriegstanz (a scenario templating engine) and pre-processors created SH/PA (Pacific Aces) and turned it into a true dynamic campaign. Sadly, like most great mods it was still hampered by original games bugs (like save games not working) and finally the arrival of SH3 killed off large scale community interest in the mod. At least, those of us who play SC/DW don't really need to worry about anything usurping these games. Yes, UBI could bring out a Cold War subsim, but it will be a hack on the SH3/4 engine focusing on graphics first and simulation second.
Before I begin, I can only account for LW/AMI, DW and MP missions and not SC & SP scenarios. Maybe this will help in your efforts of scenario design.

Here is what we’ve done in less than 2 years time (http://www.subsim.com/radioroom/showthread.php?t=92394) regarding creating a scenario with in-game dynamics. But missing some vital points recently learned and verified. More points will be included in a features list of a MP map set currently WIP that will go into greater detail of new lessons learned and what we did to accomplish in-game dynamics.

The following points are:

Suppression of Predictability / Optimized In-Game Dynamics - I’ve learned that the only way to optimize in-game dynamics is to suppress predictability as much as possible. One big no-no that plays into predictability is spawning platforms as such to where detection WILL BE made by the same opposing platforms each time the map is loaded, or some period after heading into a general direction, or both. This doesn’t give players many options to choose from, which equates to limitation of tactics and strategy. Sooner or later the player will know the map as such that there really isn’t a need for tactics or strategy, only deployment of weapons. There are other ways to suppress predictability based on scenario design. The more you suppress predictability while balancing playability, the more you optimize in-game dynamics, something I call ‘optimized in-game dynamics’

LWAMI & AI – in achieving in-game dynamics I want to say we’ve accomplished our objective in harnessing what LW/AWI does for us in terms of AI. Sometimes AI has a mind of its own and at best to make ai contribute to in-game dynamics is use of RSB / DL combo along with RS tactic. The wider the area the more dynamic the experience, but be mindful of SSP type and balancing (more later). Thorough scripting can make AI just as effective as humans and use of scripts can make AI even more robust. It could be argued that AI can’t react and adapt to situations as a human can. But since LWAMI allows AI to be influenced by humans, in some regard AI can adapt to an ever-changing situation. IIRC that SC editor does not include scripts and AI is crappy, for those two reasons SC scenarios will fall on their face w/o use of lw/ami & DW. Since AI is AI, AI is limited to lack of reaction time and adaptation to an ever-changing situation. For that reason any scenario involving AI w/o at least 1 human ally would assume a linear performance curve.

Human Intervention – Simply put human intervention definitely makes up for Ais’ ability to react and adapt to the situation. Contributions of AI to in-game dynamics are limited by how robust you make them in editing, and nothing more.

Spawning & SSP / Sense of Freedom – Spawning should be as such to where it offsets ‘guaranteed detection’ so that form of predictability is reduced. In the same token be mindful of the SSP and not create a scenario that isn’t playable. By means of extensive testing under normal conditions of the map, a ‘base detection’ can be determined where SSP and spawning over the area are contributing factors to this number. Base detection should be optimized for 50%, which gives both sides 50% chance of countering each others’ tactics and strategy. What this does it gives players a true sense of freedom and room for their personal skill sets to contribute to the scenario and vary the opposing sides chance of success.

Hope this helps, good luck

suBB
11-27-07, 04:42 PM
OK... I've been doing a small test.



kage, can You (or SuBB) tell us some of how you create your "dynamics"?

Thanks
I didn't notice earlier but of course, I'll be happy to share what was learned in this 'quest for truth' behind in-game dynamics.

You’ll find some limitations beyond control such as 'suicide attack' script. but with some creativity and sharing ideas with others you can come up with a way to workaround it or something better.

For example I ran into a fuel problem with su-27 interceptors flying a 4.5 hour CAP after leaving the airport. The workaround was ‘converting’ a tu142 bear or IL May into ‘in-flight refueling aircraft’ for the flankers using some triggering w duration and scripting.

The tanker and CAP will fly formation and refuel every 2 hours (1:30 dw time w 30 minutes duration 15 minutes / plane) but if the 27’s make contact w hostile, they engage afterburners for 6 minutes breaking formation w tanker, engage contact w either missiles and guns, and when the contact is destroyed they return to formation w the tanker and resume CAP.

I think I can be far more descriptive in ‘how’ we did it when the features list is complete for the beta I’m releasing soon. But for now use the use this (http://www.subsim.com/radioroom/showthread.php?t=92394) as reference and any questions you have about scripts, triggering & whatnot I’ll be glad to offer assistance.

:up:

MarkShot
11-27-07, 04:49 PM
So, are the only serious mission/hardcore players all playing DW MP?

DW is regarded to have better general characteristics than SCXIIc?

SP is regarded as no way to create really and interesting/challenging scenarios?

That's what I am getting from reading between the lines. I must say that I have gone through 30-50 SC 1.08 scenarios and I have generally been dissappointed with play and challenge. Thus, my inclination that despite having a written a scenario or two that I could do, at least, as well if not better.

GrayOwl
11-27-07, 05:02 PM
Very good doctrine - Has no been equal in reality.

Compatible only with AI Helos - NOT FOR CONTROL HELO FROM FFG!

The helicopter will not be clued any more never.


; Reinforce Alert Add On AI Helo Doctrine.
; -- HeloDipping.txt Original Name Doctrine ---
; Compatible for LWAMI 3.08
var DipTimer
var TargetCount
var WaypointReached
var Pinging
var Dipping
VAR TIME_ZVON
VAR FLAG_PADENIE
VAR T_NOPADENIE
VAR OLD_SPD
var LAST_CONT
var GaugesOn
var GaugesOff
var TR1
var TakeOff
var TimeInit
VAR ROK
VAR RX
VAR RY
VAR RokRng
VAR PROZVON
VAR TEMP
VAR Delay
var Lock
IF INIT THEN {
; DebugOut "AI Helo_Dipping Doctrine INIT"
PROZVON = 0
ROK = 0
GaugesOn = -1
GaugesOff = 0
TR1 = True
TakeOff = True
TimeInit = ( Time + 60 )
LAST_CONT = 0
FLAG_PADENIE = 0
TIME_ZVON = -1
Lock = 0
Delay = 0
TargetCount = 0
WaypointReached = 0
DipTimer = -1
} ENDIF
IF ( GaugesOn != -1 ) THEN {
IF ( ( OwnAlt < 50 ) AND ( NOT TakeOff ) AND ( OwnSpd <= 5 ) ) THEN {
Enable
Lock = 1
DebugOut OwnName
Debugout "SENSORS ON"
GaugesOn = -1
GaugesOff = 0
} ENDIF
} ENDIF
IF ( GaugesOff != -1 ) THEN {
IF ( ( OwnAlt > 50 ) OR ( OwnSpd > 5 ) ) THEN {
Preenable
DebugOut OwnName
DebugOut "SENSORS OFF"
Lock = 0
GaugesOff = -1
GaugesOn = 0
} ENDIF
} ENDIF

IF ( Lock == 0 ) AND ( GaugesOff == -1 ) THEN { Delay = ( Delay + 1 ) } ENDIF

IF ( Delay > 2 ) THEN {
Enable
SensorEnable "AI Dip Active" 0
SensorEnable "AI Dip PassiveS" 0
SensorEnable "AI Dip PassiveD" 0
DEBUGOUT "RADAR,ESM,MAD,Visual - ENABLED / Acoustic SENSOR DISABLED"
Delay = 0
Lock = 1
} ENDIF
; Covert TakeOff, Don't Ping Near Parent Ship!
IF ( ( Time > TimeInit ) and TR1 ) THEN { TR1 = false TakeOff = false } ENDIF
IF NEWTRACK AND ( ( OwnAlt <= 55 ) AND ( ( TgtSource $= "Passive Sonar" ) OR ( TgtSource $= "Active Sonar" ) ) ) THEN {
IF ( TgtClass $= "SUB" ) THEN {
SETTACTIC "HeloDipping"
} ENDIF
} ENDIF
IF ( ( OwnSpd <= 13 ) AND ( OWNALT > 150 ) AND ( ( TIME_ZVON == -1 ) OR ( TIME > TIME_ZVON ) ) ) AND NOT TakeOff THEN {
DEBUGOUT "Dipping Sonars"
SETPRIORITY 250
SETPERSIST 90
SETSPD 0
SETALT 45
DipTimer = ( TIME + 90 )
TIME_ZVON = ( TIME + 300 )
} ENDIF
; Assign Dipping Tactic
IF NEWTRACK THEN {
; Sub?
IF ( ( ( TgtClass $= "SUB" ) OR ( TgtClass $= "SURF" ) ) AND ( ( NOT ( ORDER $= "TRANSIT" ) ) ) ) THEN {
DEBUGOUT "Assigned Dipping Sonar"
TACTICCENTER
LAST_CONT = ( TIME )
ROK = 0
SETTACTIC "DippingSonar"
Pinging = 0
WaypointReached = 0
DipTimer = -1
TargetCount += 1
} ENDIF
; Missile?
IF ( ( TgtClass $= "MISSILE" ) AND ( ( TgtMissileClass "AAM" ) OR ( TgtMissileClass "SAM" ) ) ) THEN {
SETTACTIC "AirEvadeMissile"
} ELSEIF ( ( TgtClass $= "MISSILE" ) AND ( TgtMissileClass "SSM" ) ) THEN {
DEBUGOUT "Missile CheckUp"
IF ( ROK == 0 ) THEN {
RX = TGTX
RY = TGTY
ROK = 1
} ENDIF
} ENDIF
; Enemy Plane?
IF ( ( TgtClass $= "AIR" ) AND ( ( TgtID $= "HOSTILE" ) OR ( TgtID $= "UAE" ) OR ( TgtID $= "UPD" ) ) ) THEN {
SETTACTIC "AirEvadeAir"
} ENDIF
} ENDIF
; lost track
IF LOSTTRACK THEN {
DEBUGOUT "Helo Doctrine, Lost Track!"
; decrement target count
IF ( TgtSource $= "Active Sonar" ) OR ( TgtSource $= "Passive Sonar" ) THEN {
TargetCount -= 1
; lets make sure our variable doesn't go negative!
IF TargetCount < 0 THEN {
TargetCount = 0
} ENDIF
} ENDIF
} ENDIF
; Check Up Point Missile Start
IF ( ( TargetCount == 0 ) AND ( ROK == 1 ) AND ( NOT ( ORDER $= "TRANSIT" ) ) ) THEN {
TEMP = XYBRG ( RX - OWNX ) ( RY - OWNY )
STEERXY ( RX - OWNX ) ( RY - OWNY )
SETSPD ( 110 )
ROKRNG = xyrng ( OwnX - RX ) ( OwnY - RY )
IF ( ROKRNG < 500 ) THEN {
ROK = 0
PROZVON = 1
} ENDIF
} ENDIF
; Search only
IF ( NOT ( ORDER $= "Transit" ) ) THEN {
; Dip
IF ( WaypointReached == 1 ) OR ( PROZVON == 1 ) THEN {
; game has just clued us we've reached a waypoint
DEBUGOUT "Waypoint Reached,Lower Dipping Sonars"
SETPRIORITY 249
SETPERSIST 90
SETSPD 0
SETALT 45
Pinging = 0
WaypointReached = 0
PROZVON = 0
Dipping = True
} ENDIF
; Start pinging
IF ( ( Pinging == 0 ) AND ( Dipping == 1 ) AND ( OwnAlt < 50 ) ) THEN {
DEBUGOUT "Commence Check Point"
SETPRIORITY 249
SETPERSIST 90
SETSPD 0
SETALT 45
Pinging = 1
DipTimer = ( TIME + 90 )
} ENDIF
; Stop Dip
IF ( ( DipTimer != -1 ) AND ( TIME > DipTimer ) ) THEN {
DEBUGOUT "Check Is Completed, Raise Dipping Sonars"
SETPRIORITY 250
SETPERSIST 60
SETSPD MAXSPD
SETALT 300
Pinging = 0
DipTimer = -1
Dipping = False
TACTICCENTER
} ENDIF
} ENDIF
; Don't Dive!
IF ( ( OwnSpd > 100 ) AND ( OwnAlt < 80 ) AND ( FLAG_PADENIE == 0 ) ) THEN {
OLD_SPD = OwnSpd
; DEBUGOUT "Helo Stall"
FLAG_PADENIE = 1
T_NOPADENIE = 0
SetPriority 251
SetPersist 20
SetAlt 150
SETSPD ( OWNSPD - 15 )
} ENDIF

IF ( FLAG_PADENIE == 1 ) THEN {
T_NOPADENIE = ( T_NOPADENIE + 1 ) } ENDIF
IF T_NOPADENIE > 30 THEN {
SetPriority 251
SetPersist 40
SetAlt 200
SETSPD OLD_SPD
T_NOPADENIE = 0
FLAG_PADENIE = 0
; DEBUGOUT "Refresh Spd"
} ENDIF





================================================== ==================================

Second Doctrine For Helo....

; HeloDipping --- Dipping Sonar.txt --- Search Doctrine For -Reinforce Alert- Addon /KPV_1974 design/
; Compatible for LWAMI 3.08
; -- DippingSonar.txt Original Name Doctrine ---
var DipTimer
var ReattackTimer
var ValidTarget
var GOGO
var T_G
var G
var TEMP
var L_C
var F
var LCX
var LCY
var TLC
IF ( INIT ) THEN {
LCX = TGTX
LCY = TGTY
L_C = ( GetEntVar "LAST_CONT" )
TLC = L_C
G = 0
T_G = 0
F = 1
SensorEnable "MAD" ON
GOGO = 0
DipTimer = -1
ReattackTimer = -1
IF ( ( TgtID $= "HOSTILE" ) OR ( TgtID $= "UPD" ) ) THEN {
ValidTarget = -1
} ELSE {
ValidTarget = 0
} ENDIF
} ELSE {
IF ( LOSTTRACK ) THEN { F = 1 } ENDIF
L_C = ( GetEntVar "LAST_CONT" )
IF ( DipTimer == -1 ) AND ( ValidTarget == -1 ) THEN {
TEMP = ( TIME - L_C )
IF ( ( ( TgtID $= "UPD" ) OR ( ( TgtID $= "HOSTILE" ) AND ( TEMP > 100 ) ) ) AND ( TgtRng <= 1200 ) ) THEN {
; DEBUGOUT "TIME:"
; DebugValueOut TIME
; DEBUGOUT "L_C:"
; DebugValueOut L_C
; DEBUGOUT "TEMP:"
; DebugValueOut TEMP
IF ( TgtID $= "HOSTILE" ) THEN {
; DEBUGOUT "Drop Contact1"
DROP } ENDIF
F = 1
DipTimer = ( TIME + 90 )
SETPRIORITY 251
SETPERSIST 80
SETCRS TGTBRG
SETSPD 0
SETALT 45
} ELSEIF TgtRng > 500 THEN {
; Close
SETPRIORITY 251
STEERTO
SetSpd MAXSPD
SETALT 300
SensorEnable "MAD" ON
} ELSE {
DEBUGOUT "Smell Him!"
F = 1
DipTimer = ( TIME + 90 )
SETPRIORITY 251
SETPERSIST 80
SETCRS TGTBRG
SETSPD 2
SETALT 45
} ENDIF
} ELSEIF ( ValidTarget == 0 ) THEN {
SETPRIORITY 251
SETSPD MAXSPD
SETALT 300
IF TgtRng > 13715 THEN {
; DEBUGOUT "DropContact2"
Drop
} ENDIF
} ELSEIF ( TIME > DipTimer ) THEN {
; Stop dip
DEBUGOUT "Stopping prosecution dip"
SETPRIORITY 251
TACTICCENTER
SETSPD MAXSPD
SETALT 300
SensorEnable "MAD" ON
DipTimer = -1
} ENDIF
; Engage
TEMP = ( TIME - L_C )
IF ( ( TEMP <= 100 ) AND ( TgtRng <= 1100 ) AND ( TgtID $= "HOSTILE" ) AND ( ( ReattackTimer == -1 ) OR ( TIME > ReattackTimer ) ) ) THEN {
GOGO = 1
G = 1
SETPRIORITY 252
SETPERSIST 10
SETSPD MAXSPD
SETCRS TGTBRG
SETALT 200
SETPRIORITY 250
SETPERSIST 200
ATTACKBEST
DipTimer = -1
ReattackTimer = ( TIME + 300 )
} ELSEIF ( ( G == 0 ) AND ( TgtRng > 1200 ) AND ( ( TgtID $= "HOSTILE" ) OR ( TgtID $= "UPD" ) ) ) THEN {
GOGO = 1
SETPRIORITY 252
SETALT 300
SETSPD 110
SETCRS TGTBRG
DipTimer = -1
} ENDIF
IF ( G == 1 ) THEN {
T_G = ( T_G + 1 )
IF ( T_G > 1200 ) THEN { G = 0
T_G = 0
LAND
} ENDIF
} ENDIF
LCX = TGTX
LCY = TGTY
} ENDIF




:lol: :|\\

suBB
11-27-07, 05:54 PM
So, are the only serious mission/hardcore players all playing DW MP?

DW is regarded to have better general characteristics than SCXIIc?

SP is regarded as no way to create really and interesting/challenging scenarios?

That's what I am getting from reading between the lines. I must say that I have gone through 30-50 SC 1.08 scenarios and I have generally been dissappointed with play and challenge. Thus, my inclination that despite having a written a scenario or two that I could do, at least, as well if not better.
Again I can only account for goings on in MP, in particular mission objective MP in DW. And when a mission is on the line, especially with some key features coded into a map(like the requirement of staying alive & reaching safe distance unharmed) you better believe you’ll take it serious in terms of out-smarting human opponents. Other than myself, keep your eye open for: Molon Labe, Sonoboy, MahuJa(kage), To Be (btw good dive guys did you prep the 53cm correctly?), admbleeannoying, foogleman, -moose- and about 15 others from gamespy by means of achtachtel who all play DW mission MP. Really, you don’t need a lot of people, you just need the appropriate scenario for the headcount. Typically we will dive scenarios based on headcount.

When you mention SCX still SC remains as source of editor. DW / LWAMI offers far more flexibility in editing (use of scripts & triggers for sake of AI than SC. So the answer is yes. AFAIK SCXIIC only gives you more platforms and that is it. I’ve even reinstalled SC for sake of SCX platforms and our concept of in-game dynamics, but when I learned that SC didn’t offer use of scripts, there really isn’t a point dealing with SC. Someone confirm for me that scripts do not exist with SC / SCXIIC running. If so I’ll change my tune about SC / SCXIIC.

SP isn’t my department and I’m sure some good scenarios can be created, like RSR for example. But when it comes to being challenged, AI even after coded to be as effective as humans still can’t cut it w/o some human intervention involved. It’s common sense. Plus some SP scenarios literally spawn platforms out of thin air, which isn’t realistic in my book. Instead I account for departure of platforms and random arrival times for both humans and AI alike.

MarkShot
11-27-07, 06:00 PM
SC's editor does not have scripts.

I think the one thing it has missing in DW is user actions. You can check if particular controls have been pressed or certain masts have been raised.

It was probably implemented in order to script the interactive tutorials that came with SC. DW just had videos, but no interactive tutorials.

The SC ones were similar to the high quality interactive tutorials that came with games like Long Bow. Come to think of it, it was probably a requirement of Electronic Arts at that time.

Molon Labe
11-27-07, 06:15 PM
So, are the only serious mission/hardcore players all playing DW MP?

DW is regarded to have better general characteristics than SCXIIc?

SP is regarded as no way to create really and interesting/challenging scenarios?

That's what I am getting from reading between the lines. I must say that I have gone through 30-50 SC 1.08 scenarios and I have generally been dissappointed with play and challenge. Thus, my inclination that despite having a written a scenario or two that I could do, at least, as well if not better.
AI is always going to have its limitations, even with quality doctrines controlling it. The general rule for SP is that challenge and dynamics are opposing factors. To create a serious threat for the player, you have to set up the mission to increase the likelihood of detection, put the platform up against its natural enemies, and/or put the platform at a tactical disadvantage against its enemies. By making the mission dynamic, the player is able to dictate part of the tactical picture because the player can think ahead, plan, and adapt. The player is also going to win in a "fair fight" by virtue of better detection and engagement capability.

So if you're looking for a dynamic fight that is also challenging, your best bet is human opposition in the context of a rather open-ended MP scenario.

SP is still good for creating specific scenarios, though. There's nothing wrong with thinking up new situations (or hearing about real life ones) and seeing how they would play out.

MarkShot
11-27-07, 06:22 PM
Interesting point. I had not considered that dynamic behavior and challenge or pulling in opposite directions, but you are right.

Also, there are mainly two ways to challenge the player:

(1) Overwhelm - numbers exceed the players ability to counter or events happen too fast.

(2) Outclass - the player is at a disadvantage; maybe has a platform with half the sensor range as the enemy.

So, going back to dynamic that leaves the designer with not really using dynamic creation/placement of objects, but instead having a small fixed set precisely scripted missions where only one is actually instantiated and the player doesn't know and cannot quickly determine which.

Molon Labe
11-27-07, 06:59 PM
Interesting point. I had not considered that dynamic behavior and challenge or pulling in opposite directions, but you are right.

Also, there are mainly two ways to challenge the player:

(1) Overwhelm - numbers exceed the players ability to counter or events happen too fast.

(2) Outclass - the player is at a disadvantage; maybe has a platform with half the sensor range as the enemy.
If you want to see a perfect example of all three factors I mentioned before used to screw a SP player in the ass, hard, check out Bill's Race of the Cripples. Use LW/Ami so that the helo that launches has a working MAD and so the Udaloy doesn't overshoot when it fires its Silexes.


So, going back to dynamic that leaves the designer with not really using dynamic creation/placement of objects, but instead having a small fixed set precisely scripted missions where only one is actually instantiated and the player doesn't know and cannot quickly determine which. I tried using this design philosophy for an MP FoF scenario about sinking supply ships... after sinking more than 12 hours into it to complete only about 1/6 of the work (just to set it up, not counting testing and revisions) I tabled it indefinitely.

I think RSBs and DLs are great time savers whenever you can use them, but obviously their utility is very limited, especially when you have a specific destination in mind (including moving targets) or when you're trying to spawn formations instead of lone platforms. Thus, DGs tend to be the best option for creating different starting positions. Rather than create entirely separate instantiations, whenever possible, I would try to use layered DGs and probability inclusions to randomly select dynamic design elements individually. You get more dynamicity (yes, I made that word up) for your buck that way.

FERdeBOER
11-28-07, 12:42 PM
AI is always going to have its limitations, even with quality doctrines controlling it. The general rule for SP is that challenge and dynamics are opposing factors. To create a serious threat for the player, you have to set up the mission to increase the likelihood of detection, put the platform up against its natural enemies, and/or put the platform at a tactical disadvantage against its enemies. By making the mission dynamic, the player is able to dictate part of the tactical picture because the player can think ahead, plan, and adapt. The player is also going to win in a "fair fight" by virtue of better detection and engagement capability.

Of course fighting aginst a human is allways better, and in single player, a good mission is great... but only a few times, then You know all You need about the scenario You will not play it anymore (except if you really love it). But the point is to find a way to create an scenario (or better, a campaign) so dynamic that can be played many times, even by its creator.

I'm talking as submarine (Akula) player:
Is by far more dificult to design, but I think a dynamic mission can be challenge without overwelming the player or putting him in disadvantage. The point is that only the uncertainy of who, where and how many enemies are out there puts you in a little disadvantage. Also the fact that you have to choose a variety of weapons because you don't know what will you need untill the mission message arrives, or that you may have to choose different ways to reach one location, gives the mission a good challenge.
Also the uncertainy of knowing that maybe that enemy sub you found last time can be close... or maybe is at 20 miles... or maybe it isn't this time... or maybe it is, but this time the mission of that submarine is other than killing you... maybe an ally this time? :hmm:

It will be hard, VERY hard, but a good dynamic scenario will be great :yep:

(I'm going now to play now those Bill scenarios :arrgh!: )

edit: what does RSBs and DLs means? Sorry, I'm not English...

To be
11-28-07, 04:20 PM
To Be (btw good dive guys did you prep the 53cm correctly?)
Yes!

Molon Labe
11-28-07, 05:11 PM
edit: what does RSBs and DLs means? Sorry, I'm not English...

Random start boxes and Dynamic locations.