Page 1 of 2

Custom Mission Definitions

Posted: Tue Jan 04, 2005 3:55 am
by Maxim
What I have copied and pasted below is from the MissionsFormat.pdf file showing the template, or in other words - the individual data fields with names that should indicate what they mean for each line...

The problem I am having is that there are too many data-fields that do not offer enough description / definiton / and/or potential values that are legal. I did notice the enumeration chart posted by another player, where it lists the various ports, and various ship types etc.. but we need more of this type info.

I think we need a complete description of each field, and where possible, we also need a list of potential values, or a range of values to give us a better idea of the uses or limitations of each field within reason.. some fields seem to be optional but were not really pointed out..

While I am reading through the sample and tutorial, I have seen some instances where the discussion seems to be lacking in detail.. so I am going to highlight the first few categories that I would like some more detail on.. anyone who wishes to post here might copy some of the lines they have a question on also.. highlight them if needed. In time we have an important series of posts with answers that could help immensely.

My FIRST group of questions will be in my next post to set an example of how highlighting the line in question should help others to reference the proper paragraphs while reading the answer that someone will hopefully provide.

M - Mission Header

M Mission Header Line

Mission_ID integer

Mission_Name string

Points integer

Time_Of_Day military format: 0600

Weather Conditions integer

Faction1_Homeport integer

Faction2_Homeport integer

Faction3_Homeport integer

MessageCount integer

UseMessageTimer boolean (only applies to faction 0, Mtype of 0)

TimerInterval integer (seconds)

Longitude string (LONGITUDE.HOURS.MINUTES)

Lattitude string (LATTITUDE.HOURS.MINUTES)

MM - Mission Message

MM Mission Message Line

FactionID integer

MessageType integer

Plain Text string (line feed is end of message).

T - Task Group (1 or more ships combined for timelining).

T.TaskGroup_ID integer

T.Task_Group_Description string

T.Friend_Or_Foe boolean(0:1), 0 = friendly

T.Faction integer index of Faction

T.MessageCount integer

T.ShipCount integer

T.DestinationType integer index of DestinationType

T.DestinationData variant: DT.0 =TaskGroupID, DT.1=Heading.distance

TM - Task Group Message

Message Faction ID integer

Message Type ID integer

Message string

TS - Task Group Member (ship). Has to be at least 1 ship

TS.EnigmaVehicle integer index of VehicleType

TS.EnigmaBoat/Plane_Type integer index of BoatType or PlaneType

TS.VehicleClass integer index of VehicleClass

TS.Variant integer index of shipVariant

TS.AmmoLoad dot delimited integers index of AmmoType

TS.Health integer - as percentage

TS.Speed integer - as percentage

TS.Fuel integer - as percentage

TS.Altitude integer - as percentage sea level to ceiling

TS.Depth integer - depth in meters

TS.Battery integer - as percentage

TS.AirQuality integer - as percentage

O - Objective Group

O.ObjectiveID integer

O.ObjectiveDescription string

O.Orders integer index of Orders

O.MessageCount integer

O.ObjectiveMemberCount integer

O.ObjectiveActionCount integer

O.ObjectiveBonus integer 0 to 99999

OA - Objective Actions - Variant record targeting TaskGroup or Objective

OA.ObjectiveActionType integer index of ObjectiveActionType

0: OA.TargetGroup integer - target TaskGroup ID

OA.FriendOrFoe integer index of FriendOrFoe

OA.Ammo dot delimited integers index of AmmoType

OA.Health integer - as percentage

OA.Fuel integer - as percentage

OA.Battery integer - as percentage

OA.Air integer - as percentage

1: OA.TargetObjective integer - target Objective

OA.NewOrders integer index of Orders

OA.Timer integer - time in seconds

OA.TaskGroup integer target TaskGroupID (if Self sets waypoint to go to).

OA.HeadingRange dot delimited integers of heading and range; 180.2000

OM - Objective Group Message - need a set of types ( 0,1,2,3 ) for each obj member when orders=8

Message Faction ID integer

Message Type ID integer

Message string(255)

OS - Objective Group Member (Task Group)

OS.TargetGroup integer - Tactical Group ID #

OS.Timelimit integer - Objective duration in seconds

OS.RatioTarget integer - index into ObjectiveRatioTarget

OS.Ratio integer - percentage of objective for objective ratio target

must be accomplished/remain for success.

IF RATIO TARGET is 2 (coordinates) then Ratio is

HEADING.DISTANCE

OS.SpecialShip integer - (0= no, 1=yes) turns ship YELLOW.

V - Victory Conditions

V.MessageCount integer

V.ObjectiveCount integer - How many Objectives for victory

VM - Victory Messages (at least the #2 - defeat and #3 - victory for the status screen)

Message Faction ID integer

Message Type ID integer

Message string

VS - Victory Group Member ( Objective Group )

VS.OBjectiveID integer - ObjectiveGroup ID #

VS.CompletionPct integer - as percentage required for victory (unused)

L - Lineup (Timeline of scenario by Task Group)

L.LineupItemCount integer

LS - Lineup Item (Task Group - in order - Player must be first)

LS.TacticalGroupID integer - TacticalGroup ID #

LS.RangeTarget integer - TacticalGroupID #

LS.RangeType integer - index of RangeType

LS.ETA integer - seconds till arrival at RangetTarget(Type)

LS.IncomingDirection Char[3] - Nautical Direction (N,S,E,W, NW?).

Specifying a 3 digit direction reduces range

of direction from ? to 1/8 (NNW- N to NW)

LS.Heading integer - in decrees 0 ? 359

D - Mission Description

This is at the very end of the mission record, each line begins with a ?D?

Custom Mission Definitions

Posted: Tue Jan 04, 2005 4:00 am
by Maxim
What is the difference between taskgroups and objective groups? (the word "objective" would seem to indicate your objective, in other words the enemy taskgroup?) So why do we have the option to set an enemy value in both taskgroups & objectives ?

T - Task Group (1 or more ships combined for timelining).

T.TaskGroup_ID integer

T.Task_Group_Description string

T.Friend_Or_Foe boolean(0:1), 0 = friendly

T.Faction integer index of Faction

T.MessageCount integer

T.ShipCount integer

T.DestinationType integer index of DestinationType

T.DestinationData variant: DT.0 =TaskGroupID, DT.1=Heading.distance

TM - Task Group Message

Message Faction ID integer

Message Type ID integer

Message string

___________________________

O - Objective Group

O.ObjectiveID integer

O.ObjectiveDescription string

O.Orders integer index of Orders

O.MessageCount integer

O.ObjectiveMemberCount integer

O.ObjectiveActionCount integer

O.ObjectiveBonus integer 0 to 99999

OA - Objective Actions - Variant record targeting TaskGroup or Objective

OA.ObjectiveActionType integer index of ObjectiveActionType

0: OA.TargetGroup integer - target TaskGroup ID

OA.FriendOrFoe integer index of FriendOrFoe

OA.Ammo dot delimited integers index of AmmoType

OA.Health integer - as percentage

OA.Fuel integer - as percentage

OA.Battery integer - as percentage

OA.Air integer - as percentage

1: OA.TargetObjective integer - target Objective

OA.NewOrders integer index of Orders

OA.Timer integer - time in seconds

OA.TaskGroup integer target TaskGroupID (if Self sets waypoint to go to).

OA.HeadingRange dot delimited integers of heading and range; 180.2000

OM - Objective Group Message - need a set of types ( 0,1,2,3 ) for each obj member when orders=8

Custom Mission Definitions

Posted: Tue Jan 04, 2005 9:17 am
by Pioneer
Disclaimer: the following is my own explanation.

Taskgroup: Taskgroups are either a single ship or a group of ships that are working towards a common purpose. The player is always identified as Taskgroup 1. In each misson the player must "exist" and therefore they must be identified as as the primary entity in the mission, therefore Taskgroup 1.

Taskgroups can be identified by any combination of ships/submarines/and aircraft. However, when combining various elements try to group supporting characteristics.

Example: Enigma patrol mission "Fish in a barrel". The merchants and tankers are grouped as a convoy taskforce, the single escorting patrol craft is one taskgroup, and the aeroplanes are another taskgroup. Each of those three entities have similarities. Caution: recommend you segregate fighters and bombers as taskgroups for reasons below.

Objectives: Objectives are those parameters that you set for each Taskgroup to achieve. Each taskgroup has a set of objectives, and in mission construction, these objectives may also apply to the enemy. If the victory conditions relate to saving the convoy, then the enemy's objectives would be to sink the convoy. If the enemy succeeds with their objective, you fail, and vice versa.

Example: Enigma patrol mission "Fish in a barrel". Your objective is to sink the convoy; that being the tankers and merchants; and NOT necessarily the escorts. The enemy objective may be to reach safety at coordinates XY. Thus you set up two opposing victory conditions; either you sink the fleet or they get to location XY.

Now, when putting taskforces together, think about whether the objective could best be met by one taskgroup, or, with two taskgroups with similar objectives. This is particularly important when dealing with the planes. The AI fighters (appear to me) are more passing sweeps to distract the enemy, whereas the bombers are more target orientated. I have a third mission in the works where I have split the opposition air forces into two taskgroups, they both have similar objectives, but how they carry them out is more effective to their own characteristics.

You won't group a Battleship, 3 DE's, 6 Destroyers and 20 aircraft into one taskgroup. You would split them up. The battleship is one taskgroup with the objective to destroy the enemy fleet. The DE's are a second taskgroup to protect the battleship, the DD's are another taskgroup to have multiple tasks (destroy fleet, protect battleship and get to coorordinates XU thereby clearing the path) and the aircraft, depending on make up, are another taskgroup.

Custom Mission Definitions

Posted: Tue Jan 04, 2005 1:44 pm
by timetraveller
Excellent explanation for grouping task groups, Pioneer. Thanks.

Now some perceptions from what I have seen. Just some odds and ends. (disclaimer: open to rebuttal, of course)

I have attempted to pit opposing airforces against each other. It seems that planes won't attack planes as far as I can tell. Maybe you guys know the definitve answer.

Objectives are starting to come a little more clear to me, except for the Objective Action, as I haven't fooled with that yet.

Initial task force placement (LS) takes some getting used to. I found in order to get the center screen coordinates to agree with the latitude and longitude (not that it matters, really), you must set the player task force as both the tactical group and range target, as the player is always in the center.

In initial placement (LS), if you set the ETA timer to 0, the task force (particularly noticable with planes) comes directly from the "incoming direction", of course right now. If you set an ETA of a minute or two, they may arrive anywhere up to about 90 degrees from your specified incoming direction. They may not take the direct path. It adds a little bit of unpredictability to it all, especially for plane strikes. Try setting a couple of fighter and bomber task forces (9 planes each) to appear immediately at a low altitude. Turn your volume up and start the mission. It is a sight to behold. I at one time I had 4 aircraft task groups in the air (2 player, 2 enemy, nearly 40 planes) battling it out. It was amazing. Now if the planes would just shoot each other.

In initial placement (LS), I am confused a little about the range type "Combat Line". I have to assume it means that the task group will line up in combat formation? And how is Combat Line different than Tactical Group?

In the pdf description, Tactical Group seems to be interchangable with Task Group.

Are ship variants B and C available for ships and planes other than submarines? How do they differ? Come to think of it, I'm not sure I've noticed a B or C variant in a submarine either. The type (German only), is set in the Class parameter (VII, IX, and VII-MILCHCOW).

What is this Special Ship (=1, yellow) all about? It's in the Objective Group Member (OS) line. Haven't had a chance to test it out.

I think I have most of the value ranges down. If you guys have a question on one, please ask and I'll do my best.

Sorry for all the detailed questions. However, I am attempting to write a graphical mission editor and one needs to know these things. No promises it will ever be completed. If it doesn't work in the end, I just won't release it. I've got about 50 hours in it so far. Another 50 might do it. Things are very, very complicated with all these settings. If I get further along I'll post some screenshots. If it's too monumental of a task, I'll have to dump it.

-timetraveller

Custom Mission Definitions

Posted: Tue Jan 04, 2005 4:49 pm
by East
Let me clear up a couple of things:

- Objectives are for the player only. To assign tasks to a taskforce use taskforce orders. They function much like objectives, but they are independent of the players objectives.

- Taskforces are marked friend or foe IN RELATION TO THE PLAYER. This way you can add enemy ships of any faction: random selection or selected in the patrol menus, or a specific faction: certain missions (especially in campaigns) are against a specific enemy every time.

- Your AI will not shoot at friendlies and they will not shoot at ships marked as "special"

- Aircraft will not dogfight or pattern attack each other. They will collision avoid and they will use guns on each other if they are in range, but they will not go out of their way to fight.

- Layout: Most often you will use the player as the center of the layout, but it isn't required. You can place a target ship, convoy, etc. at the center, ranged to itself (you can only adjust the heading for the self-ranged convoy btw).

- Combat range is 3000 meters. This however is averaged and if you specify less than 30 seconds from the ranged target at combat range you may find yourself in battle upon spawning. Little trial and error needed here.

- Yes TaskGroup and Tactical Group are both used (bad form I know)

- The variants (a,b,c) are a holdover and are currently not used except for submarines. Generally use C.

- A Special ship designation is useful for a rendezvous ship indicator (easy to identify), but most useful for marking an enemy ship as special so you can approach at battlestations and not worry about your crew firing upon it. It however CAN fire at you so equip it accordingly. In "Hostile Takeover" and "Last Voyage of the Black Cat" the enemy ships are marked as Special until an objective (or timer) is completed, then an objective action turns off the special flag so you can then blow it out of the water (it's an enemy again).

- A neat trick of the Objective Action Triggers are to re-supply someone or something once the objective is accomplished. Say for example you escort a convoy to certain coordinates, that objective is triggered and it automatically re-supplies all of the submarines belonging to a different taskforce (I think it's on a timer so that it isn't instant).

timetraveller - if there is any information or guidance you need for the mission editor, please don't hesitate to email me: east@warfleet.net

Custom Mission Definitions

Posted: Fri Mar 18, 2005 4:02 am
by Maxim
I am attempting to create a step by step guide for users who want to create custom missions.. these screenshots are just basic guides to the four page layout.

This walkthrough will allow you to create a simple mission with no enemies.. very simple.

The first screen is the mission setup screen. In order to get your first mission running as quickly as possible, we will just leave this info intact and move to the next screen.

Image

On the next screen, you can see the first row of data boxes contains this info..

task group #1, PLAYER, FRIEND, FACTION 'ANY', and a large yellow button to the right that says 'NEW TASK GROUP'.

Image

We will NOT modify the default submarine ammo, speed or health at this time.

Still looking at the above screen, the next row has the orange button that says 'ADD UNIT'. Press this once, and a warning says 'note this unit is all stop'. Press OK.

You now have one player submarine in the list, but when the mission is ready to be started, this player may not want the submarine and he may choose a destroyer or something else. This submarine in the list is therefore not a permanent choice.

Over to the right you have a list of messages for taskgroup #1, which currently is a sub.

T1-information

T1-warning

T1-failure

T1-success

We will NOT modify these messages for now, in order to quickly get to the point where we can test if everything is working.

Halfway down the screen it says 'Task Group Orders'. For the time being, we will NOT modify anything here. There is a large orange button that says 'Add order'. The data boxes to the right say 'DESTROY' , Order timer 0, Trigger Objective Action in group #-0=NO', Destination Type 'TASK GROUP', Task group destination 'PLAYER'.

OK - now on to the next screen which is the OBJECTIVE GROUPS:

Image

The first row of data boxes says O-Group# '1', O-Group Name, Order 'DESTROY', Bonus points '0', and to the far right are two large yellow buttons that say 'Delete this objective group', 'New objective group'.

First click the arrow next to Order 'DESTROY' and change it to 'HOLD'.

The next row has a large orange button that says "ADD MEMBER', and the following data fields say Target task group 'PLAYER', Objective Duration 10000, Special Ship 'NO', Ratio target 'GROUP COUNT', Percentage for success '100'.

Change the 10000 to 100. The objective duration is now 100 seconds (just a little over a minute and a half for testing purposes). Now click the orange button to the left that says "ADD MEMBER'. The player is now required to hold location for 100 seconds for a mission success.

In the lower part of this screen, it says Objective Actions -OA.

We wont change anything here for now, to get to the testing quicker.

Here is the final screen to check your mission for errors and setup victory conditions and extra messages.

Image

In the middle right of the screen there is an orange button that says 'Test your mission'. Click on that now. You should get a message that says :

Warning. Mission has only one task group (PLAYER).

Mission test successful. No errors detected.

Now you need to look over to the right and below the image of the submarine, there is a large yellow button that says 'SAVE MISSION'. Also there are two CHECKBOXES below the save button. Click both of these boxes, then click SAVE MISSION. Allow the mission to be saved into the folder where it defaults to.

(If this you your 2nd, 3rd or more time using this walkthrough, you may want to backup the mission file for future reference before saving over anything you worked on previously or you can select a new NUMBER by clicking on the arrow to the right of the filename- small white data box).

The bottom area of the screen shows all the line items that you normally would have typed in manually before Timetravellor created this useful mission utility.

Take a moment and scroll down to see all the lines of data.

After meditating on all the potential areas for typos that you could have created for yourself, you will probably be thankful that you dont have to.

If you decide to use this walkthrough (or mission editor) more than once, remember to modify your other files to represent the total number of custom missions you have created and saved to keep everything organized.

Your file named 'CustomPatrols.cgn' should look like this if you only have one custom mission:

P 0 3 CustomPatrols 1

ML 1 Custom Mission1 Custom

Your file named 'index.pkg' should look like this

N 1 Single Player Package 4 6

P 0 0 TrainingPatrols

P 0 1 CombatPatrols

P 0 2 RandomPatrols

P 0 3 CustomPatrols

C 1 1 Retail_USA_Submarine

C 1 2 Retail_USA_Surface

C 1 3 Retail_IGN_Submarine

C 1 4 Retail_IGN_Surface

C 1 5 Retail_LFN_Submarine

C 1 6 Retail_LFN_Surface

CN 1 1937 Enigma Campaign

T 1 3 0 The WAR JOURNAL

T 1 3 0 Spring-Summer 1937

T 1 3 0 Weapons, Tactics and Battle Analysis for over 35 Years

etc etc...

Custom Mission Definitions

Posted: Fri Mar 18, 2005 12:55 pm
by timetraveller
Excellent work, Cpt-Maxim! Thanks for this contribution.

-timetraveller

Custom Mission Definitions

Posted: Tue Mar 22, 2005 2:57 pm
by JL007
Excellent work, Cpt-Maxim! Thanks for this contribution.
-timetraveller
Hello Guys,

Has anyone had any success in running a Custom Mission and having the T-1 and O-1 warning messages appear while playing the custom game?

I am able to get T-1 infomation, T-1 defeat. and T-1 victory but I never see any of the warning messages. What should I do to trigger and see all the warning messages.........Please advise.

Thanks,

JL007

Custom Mission Definitions

Posted: Tue Mar 22, 2005 11:33 pm
by timetraveller
Hi JL007,

O-1 warnings should only be issued if the O-1 objective is near failure. If that never occurs, you won't get the message. T-1 warnings are usually issued (if I remember right) if the task group is near destruction. However, I'm not sure this one is issued all that often for some reason. I guess the bottom line on this is that not all messages may be issued in any given circumstance.

-timetraveller

Custom Mission Definitions

Posted: Wed Mar 23, 2005 7:36 pm
by JL007
Thanks......Timetraveller