After fiddling around for the past week or so with the campaign builder, I feel I have a somewhat basic understanding of how it works. To truly understand the builder, you'll need to understand the mission builder (where I'm kind of weak).
This is not a complete documentation of the campaign builder. There are several areas that I still need to try and figure out - i.e. the process res. Check box for nodes, the resources settings for a node, how to edit the ctexte.exe file (or where to put text files for campaign briefings and updates), dimensions of campaign specific graphics (though that's not hard to find when I get around to it!). I'm hoping that the Jane's F/A-18 community can collaborate on this to flesh it out into a full documentation of the campaign builder, and I'd like to eventually add some graphics for better understanding.
As a group effort, I ask that a few ground rules be applied to this document. First, I think all discussion of creation/improvement of this document should be handled on the Janes_FA18@onelist.com mail list - I don't want this documentation used to bolster any individual website, including my own. If you use any information contained within this document in your own documentation, please acknowledge those who contributed to this document. All those who contribute to this document will receive acknowledgement of such within this document. This document should be distributed in plain text, rich text, or HTML formats to ensure easy access for all. There shall be only one "master version" of this document, which will always be posted under the Files area of the Recluse's FA-18 Forum on Onlist.com(www.onelist.com/files/Janes_FA18/ ). Copies of the latest master version will be disseminated via the comp.sys.ibm.pc.games.flight-sim newsgroup, the Janes_FA18@onelist.com mail list, SimHQ.com, Hornet Central, Ham's F/A-18 Online Operations, Limech's Jane's Site, F/A-18 Resource Center, Game Tools Technologies, and any other site than expresses interest in this document.
Jane's F/A-18 Campaign Builder
Updated to include additional information from CJ Martin.
A node is anything that happens during the campaign. This can be something the player interacts with, such as a mission or video clip, or something that happens behind the scene such as a decision point or start/end point of the campaign. Every box shown in the builder is a node. To see a node's information screen, right click on the node itself.
There are several types of nodes.
Movie nodes designate a video clip seen by the player. These are identified by the "director's board" icon. Movies must be located in the FA-18\Movies folder. Double clicking a movie node will play the video clip associated with it.
Mission nodes are missions the player may fly depending on how he progresses (determined by the pilot's success/failure vs. the variables in place). These are identified by the map icons. As far as I can tell, missions must be located in the \FA-18\Campaign\MISSION folder.
Text nodes designate text messages seen by the player - i.e. campaign updates. From what I can tell, text files are embedded in the ctexte.cmp (English text) and ctextg.cmp (German text) in the \FA-18\Campaign\DATA folder.
Initial nodes are found once in a campaign, and designate the start of the nodal flow. There must be one and only one Initial node in a campaign.
Final nodes are designate the end point of the campaign. There are three of these nodes - Final Success, Final Fail, and Final Tie - I'll leave their meanings to your imagination :) A campaign must have at least one Final node, and typically will have a Final Success and Final Fail at minimum.
State nodes are used as logical operators in conjunction with Campaign Variables to control branch randomization and/or logical branch progression between cells of missions, to other State nodes, or to Final nodes.
A mission cell is a group of mission nodes containing missions designed around a specific intent - i.e. in Phase1 there is a blockade cell of five possible missions (only 3 will be played by the player) based upon the intent of blocking all Red Russian naval activity from leaving their ports and resupplying Red forces elsewhere. Typically these missions are bordered by state nodes.
A link joins two nodes with specific logic for that link. Some nodes are linked only to a single other node, while other nodes can be linked to two or possibly more, requiring a logical or random operator to determine the possible path. This is the basis of randomizing missions as well as creating special event missions. The lines between nodes in the builder are the links, with the originating node holding the logical/random operations for the link. Right clicking a link will display its logic statements (if any).
It's always a good idea to have a "default" link from each node; this is the link that will be followed if no other logic is true. Link logic is processed in order, first true wins (defaults always go last regardless of their order).
Set numbers of resources and resupply rates within the campaign. Can also be used to monitor certain force levels for logical nodal and/or global links. One things I've seen so far is that you should never allow a resource to fall to zero if its to be used within any mission. Do so and the player will drop to desktop as soon as he clicks on the fly button. A resource with a negative one (-1) value denotes an unlimited number of the resource.
I'm still trying to figure out the data within the Resource Modify area.
Campaign Variables are specific values or indicators used to control the flow of nodes via nodal links or global links. You create these variables as needed for each campaign, so this section can be as strong as you make it.
In the Phase1 campaign, the variables are as follows:
(From CJ Martin: Note these are just varables I created for use within the campaign, and as you suspect, some are only used in certain campaigns. The phase one campaign was built first as a proof of concept, and had most of the variables I thought I would need in the grand...but probably not all.)
Dice Roll=1. This is the operator that generates random branch generation. The value of 1 designates a constant value as far as I can tell (I'll experiment with this later) as opposed to a zero which indicates no value (i.e. the win counts that increment throughout the campaign). When included with a link and given a random value of 2 within the link (see the P1 Intro text node), a value of 1 or 2 is generated and the next node is determined by this value.
Master Win Count=0 This sets the initial Master Win Count as zero (of course!). Each successful mission increments the Master Win Count by one. Right click any mission node and you'll see the statement for this - Master Win Count = Increment by 1 If (Debrief Variable 0==1). Obviously the Debrief Variable 0 pertains to the Debrief logic from the mission builder, and in this case indicates the mission was successful. Logical links later in the campaign rely in the Master Win Count to determine flow of the campaign, and eventually determine campaign outcome.
Local Cell Win Count does for mission cells what Master Win Count does for the entire campaign. This is critical for the campaign to flow to different cells dependant on the outcome of the previous cell.
War At Sea Fail. This is used only in the Grand Campaign.
Special Refrag 1. I don't believe this is used in Phase 1, except to increment by 1 at the completion of one or more mission nodes. Its logic comes into play during Phase 2 of the Grand Campaign, where the value of 1 is necessary to proceed along a certain branch.
A vestige of the F-15 campaign builder, which did not have the various node types as does F/A-18. This was used in F-15's builder to differentiate types of nodes by assigning color codes for each type of node (i.e. movies nodes one color, mission nodes another, etc). The Groups function is not necessary for F/A-18 campaigns.
Campaign Global Link
Uses resources and/or campaign variables to alter flow of the campaign at any time, rather than at specific points as with the standard nodal link. Phase1 has a global link that will consider the USS Reagan sunk if it sustains a damage level of 3 or greater (or at least that's what I believe the numbers state) and will instantly link to Node 49, which begins the CV sunk nodes (movie, text, and final fail nodes).
Campaign Builder Options
No need for explanation.
Campaign Builder Setup
This is where you input the basic information for the campaign, which is seen by the player in the Campaign Selection screen. Here you designate the locations of a text file for the description of the campaign, and two bitmapped images - one for the campaign selection, and one for the campaign save file. You can also add the author's name and any remarks for the campaign here.
General Tips, Hints, Tricks
(From CJ Martin) Think in logical terms and you'll be fine. Lastly, avoid the temptation to make very complex campaigns, at least until you are sure of what you are doing. Simple = bulletproof (or at least easier to troubleshoot).
Master Document - version .91a - 0052Z27Jan2000
Get this document and a Sample campaign file here.