Home
Documents
Training Guide

CYBERTANK ENGINEER'S HANDBOOK

PART 1 - TRAINING GUIDE

  • SECTION 1 - GENERAL INFORMATION
    • 1.1 EMPLOYEE IDENTIFICATION DISC 4
    • 1.2 GETTING STARTED
    • 1.3 SPECIAL KEYS
  • SECTION 2 - DESIGNING A CYBERTANK
    • 2.1 CHASSIS DESIGN AND AI DESIGN
    • 2.2 BEGINNING THE CYBERTANK DESIGN PROCESS
      • 2.2.1 The Design Control Module
      • 2.2.2 Creating a New Cybertank
    • 2.3 DESIGNING THE CYBERTANK’S CHASSIS
      • 2.3.1 The Chassis Design Module Display Panel
      • 2.3.2 Selecting Equipment
      • 2.3.3 Choosing ALPHA’s Equipment
      • 2.3.4 Viewing ALPHA's Specifications
    • 2.4 DESIGNING THE CYBERTANK'S AI
      • 2.4.1 Cybertank Command Language (CCL)
      • 2.4.2 Semicustom versus Full Custom Design
      • 2.4.3 The AI Module
      • 2.4.4 Entering ALPHA's AI
      • 2.4.5 Examining ALPHA's Al
      • 2.4.6 Routines
      • 2.4.7 Library Capsules
      • 2.4.8 Saving the Cybertank Design
    • 2.5 AUTHORIZING A CYBERTANK
      • 2.5.1 Activating the Cybertank Authorization Module
      • 2.5.2 Successful Authorization
      • 2.5.3 Unsuccessful Authorization
  • SECTION 3 – BATTLE SIMULATION
    • 3.1 THE COMBAT SIMULATION MODULE
    • 3.2 DESIGNING A BATTLE SIMULATION
      • 3.2.1 The Simulation Design Module Display Panel
      • 3.2.2 Cybertank and Battlefield Files
      • 3.2.3 Selecting the Primary Cybertank
      • 3.2.4 Selecting Other Cybertank
      • 3.2.5 Selecting a Battlefield
      • 3.2.7 Saving the Simulation Design
    • 3.3 CONDUCTING A SIMULATION
      • 3.3.1 Starting a Simulation
      • 3.3.2 Status Bars
      • 3.3.3 Other Status Indicators
      • 3.3.4 Changing the Vantage Point
      • 3.3.5 The Satellite View
      • 3.3.6 Pausing and Resuming the Simulation
      • 3.3.7 End Of the Simulation
      • 3.3.8 Restarting the Simulation
      • 3.3.9 Coffee Break
  • SECTION 4 - BACK TO THE DRAWING BOARD
    • 4.1 ENTERING THE AI MODULE
    • 4.2 THE AI MODULE
      • 4.2.1 AI Module Terminology
      • 4.2.2 Moving the Insertion Cursor
      • 4.2.3 Inserting Text
      • 4.2.4 Deleting Text
      • 4.2.5 Adding New Lines
      • 4.2.6 Double Lines
      • 4.2.7 Outgrowing the Edit Window
      • 4.2.8 Scrolling
    • 4.3 WORKING WITH SECTIONS OF TEXT
      • 4.3.1 Selecting Text
      • 4.3.2 Deleting a Section of Text
      • 4.3.3 Replacing a Section of Text
      • 4.3.4 Cutting and Pasting Text
      • 4.3.5 Copying and Pasting Text
      • 4.3.6 Undo
    • 4.4 EDITING ALPHA
      • 4.4.1 Reloading ALPHA
      • 4.4.2 Replacing a Capsule
      • 4.4.3 Authorizing the new ALPHA
      • 4.4.4 Saving the Design As Beta
      • 4.4.5 Authorizing BETA
  • SECTION 5 - REVISITING THE SIMULATION
    • 5.1 MORE ABOUT THE CYBERTANK SIMULATION
      • 5.1.1 Deleting the Old Simulation Design
      • 5.1.2 Designing the New Simulation
    • 5.2 RUNNING THE SIMULATOR
      • 5.2.1 The Instrument Panel
      • 5.2.2 Watching the Simulation
    • 5.3 – TIME FOR SOME R&R
  • SECTION 6 - FULL CUSTOM DESIGN
    • 6.1 GENERAL INFORMATION
      • 6.2 THE SIMULATED WORLD OF THE CSM
      • 6.2.1 Battlefield Coordinate System
      • 6.2.2 The Eight Standard Directions
      • 6.2.3 Distance
    • 6.3 THE SIMULATED CYBERTANK
      • 6.3.1 Movement
      • 6.3.2 The Movement Sensor and the Scanner
      • 6.3.3 The Weapon System
    • 6.4 ELEMENTS OF THE CYBERTANK COMMAND LANGUAGE
      • 6.4.1 Labels
      • 6.4.2 Reserved Words
      • 6.4.3 System Variables
      • 6.4.4 User Variables
      • 6.4.3 Action Commands
      • 6.4.6 Computation Commands
      • 6.4.7 Sequence Commands
      • 6.4.8 Decision Commands
    • 6.5 THE CCL CONSTRUCTION PANEL
      • 6.5.1 Experimenting with the CCL
      • 6.5.2 MOVE Commands
      • 6.5.3 TURN Commands
      • 6.5.4 DETECT OBSTRUCTIONS Commands
      • 6.5.5 SCAN Commands
      • 6.5.6 ROTATE Commands
      • 6.5.7 FIRE Commands
      • 6.5.8 Special Commands
      • 6.5.9 Decision Commands
      • 6.5.10 Sequence Commands
      • 6.5.11 Assignment Commands
    • 6.6 DESIGNING A CYBERTANK FROM THE GROUND UP
      • 6.6.1 Designing a Chassis
      • 6.6.2 A Cybertank’s Perspective
      • 6.6.3 Moving Around the Battlefield
      • 6.6.4 Searching For an Enemy
      • 6.6.5 HUNTING THE ENEMY
    • 6.7 GOING AT IT ALONE
  • SECTION 7 – TESTING A CYBERTANK
    • 7.1 THE CYBERTANK TEST MODULE
      • 7.1.1 loading the Simulation Design
      • 7.1.2 The CTM Control Panel
    • 7.2 TRACE MODE
      • 7.2.1 Pausing the Test
      • 7.2.2 Single Stepping
    • 7.3 STATUS MODE
      • 7.3.1 Selecting Status Mode
      • 7.3.2 Changing Status Registers
  • SECTION 8 - CLEARANCE EVALUATION
    • 8.1 PROMOTION CRITERIA
    • 8.2 REQUESTING A CLEARANCE EVALUATION
    • 8.3 THE EVALUATION PROCESS
    • 8.4 PROMOTION APPROVAL
    • 8.5 TIME FOR A VACATION

PART 1 - TRAINING GUIDE

SYNOPSIS - This section is designed for the new employee. All new employees must read the Training Guide to develop an understanding of design and implementation. The Training Guide covers many important topics, including the Employee Identification Disc, designing a cybertank, testing a cybertank, and the Clearance Evaluation procedure.


SECTION 1 - GENERAL INFORMATION

SECTION BRIEF - This section describes how to use the Training Guide, explains how to get started, and provides important background information.

1.1 EMPLOYEE IDENTIFICATION DISC

If you have not yet obtained an Employee Identification Disc (ID Disc) do so now. The procedure for creating an ID Disc is detailed in the Orientation Guide. The remainder of this Training Guide assumes that you have read the Orientation Guide and followed its instructions.

1.2 GETTING STARTED

The Training Guide is organized so that you can read it while operating your OSI/CACD terminal. For maximum training benefit, it is recommended that you work through this Training Guide while operating an OSI/CACD terminal. Follow the instructions in this guide carefully to ensure that your terminal session stays in sequence. To begin, make sure that the OSI Security Gate is showing. If not, select CALL IT A DAY from the EMPLOYEE menu, and restart OMEGA. Restarting OMEGA guarantees that your terminal is in sequence with this Training Guide. After arriving at the OSI Security Gate, select the VERIFY button and follow the directions on the screen to gain access to OSI. After your password and retina pattern have been verified, you are transferred to the External Control Module (ECM).

1.3 SPECIAL KEYS

Throughout the Training Guide you will find these names used to identify special keys:

RETURN
DELETE
TAB
MARK
CURSOR-LEFT
CURSOR-RIGHT
CURSOR-UP
CURSOR-DOWN

These names are always typed in UPPER CASE, as they appear above. Some terminals do not have all of these keys. Consult the OSI/CACD System 2 Reference Card to determine which keys are available for your terminal type.

SECTION 2 - DESIGNING A CYBERTANK

SECTION BRIEF - Designing a cybertank consists of two steps: designing the chassis and designing the Artificial intelligence (Al). The term chassis refers to the cybertank’s mechanical components. AI refers to commands which control the cybertank’s actions via an on-board computer. This section details both aspects of cybertank design.

2.1 CHASSIS DESIGN AND AI DESIGN

Designing a cybertank chassis requires the selection of mechanical components from various equipment categories. These choices define the specifications for your cybertank. Designing cybertank AI involves creating a sequence of commands for the cybertank’s on-board computer. Al can be created rapidly using semi-custom or full custom design techniques. Full custom design fully exploits the capabilities of the on-board computer.

2.2 BEGINNING THE CYBERTANK DESIGN PROCESS

To begin, select DESIGN CYBERTANK from the DESIGN menu. The OSI/CACD transfers you to the Design Control Module (DCM). Your name, your clearance level, and the name of your cybertank (currently <NONE>) are displayed on the screen (see Diagram 2.2)

Diagram 2.2 - Design Control Module (DCM)

2.2.1 The Design Control Module

The DCM is the heart of OSI/CACD System 2. As a Cybertank Engineer, you must become very familiar with this module. The DCM includes the chassis and AI design facilities.

2.2.2 Creating a New Cybertank

To create a new cybertank, select NEW from the CYBERTANK menu. This allows you to name your new cybertank, and initiate its design. Every cybertank is given a code name of the designer’s choosing. To maintain consistency with the Training Guide, name your initial cybertank design "ALPHA.”

Your cybertank’s name is entered using the File Storage Panel (FSP) now displayed on your screen (see Diagram 2.2.2). Type ‘in "ALPHA", and click on the Save button (for keyboard control of the FSP, please refer to the OSI/CACD System 2 Reference Card). A place on your ID Disc is now reserved for a new cybertank design named "ALPHA."

Note: the FSP is described in detail in Part 2, Section 9.1

Diagram 2.2.2 - File Storage Panel (FSP)

2.3 DESIGNING THE CYBERTANK’S CHASSIS

After reserving a place for ALPHA, the OSI/CACD transfers you to the Chassis Design Module (CDM). Here, you will design the chassis of your cybertank.

2.3.1 The Chassis Design Module Display Panel

The COM display panel is divided into three parts (see Diagram 2.3.1): the main display area, the component buttons, and the credits display area.

The main display area, located below the cybertank name plague, displays information selected by using the component buttons at the right. Currently, ALPHA's Specifications are displayed.

To get a feel for using the COM panel, try selecting each of the component buttons. Note each button’s effect as it appears on the main display area.

The Specifications button shows a summary of equipment selected for the cybertank. The other component buttons display lists of equipment for each specific component.

Each piece of equipment has an associated cost. As a new engineer with STANDARD Clearance you are allotted an initial budget of 1,000 credits. The credits display area shows the remaining balance as you choose equipment.

Diagram 2.3.1 - Chassis Design Module (CDM)

2.3.2 Selecting Equipment

To see how equipment is chosen, select the Drive System button. The various drive systems appear in the main display area. NOW, select Light as if it were a button. The small, circular button directly to the left of Light becomes highlighted and the credits area is updated accordingly.

Now select Heavy. Notice that selecting Heavy “deselects” Light. This occurs because your cybertank can have only one drive system. Try choosing other drive systems. The five primary equipment components are Tank Class, Fuel Cells, Drive System, Weapon Type, and Scanner. To authorize a cybertank, the cybertank must include one (and only one) choice for each component. In Special Items, you may include as marry items as your budget allows (or none). Special items are optional.

2.3.3 Choosing ALPHA’s Equipment

You are now ready to choose ALPHA's equipment. Display the various equipment by selecting the appropriate component (specified below in bold print). Then choose the item, specified in outline print, by selecting it in the main display area as if it were a button.

Tank Class determines the weight of the cybertank, the thickness of its armor, and other attributes (see Part 2, Section 2.3.3 for details). For ALPHA, choose the Sherman M7 Tank Class.

Fuel Cells provide energy for the drive system, weapon system, and scanner system. If a cybertank runs out of fuel, its mechanical functions cease operation. For ALPHA, choose 300 units of fuel.

The Drive System is the power plant of the cybertank. The cost (in credits) of a drive system indicates the amount of energy it cart produce. For more information regarding drive systems, see Part 2, Section 2.3.5. For ALPHA, choose the Light Drive System.

Weapon Type determines the weapon type to be installed on the cybertank. For a discussion of Weapon Types, see Part 2, Section 2.3.6. For ALPHA, choose Explosive.

Diagram 2.3.3 - Shape of the Scanner

The Scanner is the eyes and ears of the cybertank. It detects enemy cybertanks and other objects in a wedge-shaped area emanating from the cybertank (see Diagram 2.3.3). The length of the wedge is called the range of the scanner and is measured in hectometers (hm). The width of the wedge is called the sweep angle and is measured in degrees (°). For ALPHA, choose the 20 hm - 45° scanner.

Special Items provide advanced battle capabilities. They will be discussed later when you have a large enough budget to use them.

2.3.4 Viewing ALPHA's Specifications

Select the Specifications button to view ALPHA's specifications. The main display area should look like Diagram 2.3.4. Notice that the items you have chosen exhaust your budget of 1,000 credits.

Diagram 2.3.4 - ALPHA specifications in the CDM

2.4 DESIGNING THE CYBERTANK'S AI

With the chassis complete, you can now design the cybertank’s Al. Select Al from the CYBERTANK menu. The OSI/CACD transfers you to the Artificial Intelligence Module (AI Module). Your screen should now look like Diagram 2.4.

Note: The CDM and AI Module are both parts of the Design Control Module (DCM). You can transfer back and forth between the two by selecting CHASSIS or AI from the CYBERTANK menu.

Diagram 2.4 - AI Module

The main viewing area of the screen is called the edit window. The Scroll-Bar directly to the right of the edit window is used to scroll through the lines of AI.

Below the edit window is the CCL Construction Panel (CP). The CP is comprised of various plaques.

2.4.1 Cybertank Command Language (CCL)

Cybertank AI is comprised of commands written in the Cybertank Command Language (CCL), a special language developed by OSI Engineers. CCL is easily understood because it resembles the English language.

2.4.2 Semicustom versus Full Custom Design

There are two basic methods available for designing AI, Semicustom Design and Full Custom Design. When using semicustom design, the designer forms the AI by piecing together predefined sequences of commands, called Al library Capsules. In full custom design, the designer enters each CCL command individually.

You will be using semicustom design for your first cybertank (ALPHA). Full custom design is discussed later in this Training Guide.

2.4.3 The AI Module

The AI Module is used to enter and change Al commands. Commands can be entered by typing, or by selecting the CCL Construction Panel (CP) plaques below the edit window.

Notice the thin vertical bar in the upper left-hand corner of the edit window. It is called the Insertion Cursor (IC). It indicates where text will be inserted when you start typing.

2.4.4 Entering ALPHA's AI

Type in the following lines, ending each with a RETURN:

Start
   Do Seek
   Do Destroy
   Branch to Start

Note: Al commands can be in UPPER CASE (CAPITAL) letters, lower case letters, or both.

Note: The Al Module has a built-in feature which automatically indents the next line when you press RETURN. DELETE returns-the cursor to the left margin.

2.4.5 Examining ALPHA's AI

The four lines entered for ALPHA's Al embody the logic of a simple but effective AI. When ALPHA is battle activated, its on-board computer processes the AI, beginning with Start.

The first line, Start, is called a Label. A Label simply names a segment of AI. Labels always appear on a line by themselves, and always begin in the leftmost column of the edit window.

The second line, Do Seek, instructs the on-board computer to perform a routine called Seek.

Similarly, the third line, Do Destroy, instructs the on-board computer to perform a routine called Destroy.

The last line, Branch to Start, instructs the on-board computer to branch back to the label Start before processing additional commands.

These four lines make up a common structure called a "loop." The on-board computer will “loop back” to Start after it performs Destroy, such that the on-board computer alternately performs the Seek and Destroy routines.

2.4.6 Routines

A routine is a sequence of CCL commands which instruct the cybertank to Perform a particular task.

ALPHA's Al incorporates two routines: Seek and Destroy. Seek causes the cybertank to seek out an enemy. Destroy causes the cybertank to fire at the enemy until it either runs away or is destroyed.

The routines Seek and Destroy are not yet defined in your AI. Fortunately, they are both available as Library Capsules. To use these library Capsules, press RETURN and type the following two lines:

Include Seek
Include Destroy

Note: Press RETURN at the end of each line.

2.4.7 Library Capsules

Library Capsules are prewritten segments of AI. A library Capsule can contain one or more routines composed of CCL commands and are often named after the first routine they contain. This is the case with both Seek and Destroy.

The line Include Seek represents the contents of the library Capsule named Seek. You could replace Include Seek with the CCL commends from the Library Capsule “Seek” without changing the meaning of the Al.

Later in this Training Guide you are shown how to view, edit, and create Library Capsules. Part 4, “Capsule Reference,” describes the Capsules available in the OSI Library.

2.4.8 Saving the Cybertank Design

Your cybertank design is now ready to be saved onto your ID Disc. Before proceeding, make sure that your AI is identical to the following (no distinction is made between upper and lower case letters):

Start
   Do Seek
   Do Destroy
   Branch to Start

   Include Seek
   Include Destroy

To save your cybertank design, select SAVE from the CYBERTANK menu. ALPHA’s chassis and AI designs are now stored on your ID Disc.

2.5 AUTHORIZING A CYBERTANK

Your cybertank design must be authorized before it can be submitted to the Combat Simulation Module (CSM). Your design will be checked by the Cybertank Authorization Module (CAM) for any flaws; such as missing chassis components and incorrect CCL commands, as well as missing Library Capsules.

2.5.1 Activating the Cybertank Authorization Module

By selecting AUTHORIZE from the CYBERTANK menu, the OSI/CACD transfers you to the CRM and automatically begins the authorization Process. If there are no problems with your design, the CRM will display the message "AUTHORIZATION COMPLETE.”

At this point, Select AUTHORIZE from the CYBERTANK menu to Authorize ALPHA.

2.5.2 Successful Authorization

After the CRM has successfully authorized your cybertank, the ECM and Design buttons appear at the bottom of your screen. The ECM button transfers you to the External Command Module (ECM). The Design button transfers you to the Design Control Module (DCM). For now, select the E CM button. When the OSI/CACD System 2 asks if you want to save the changes made to ALPHA, select “YES”.

2.5.3 Unsuccessful Authorization

If the CAM identifies a problem with your design, a message is displayed explaining the problem. If the problem is in your chassis design, press any key. You will be transferred to the Chassis Design Module (CDM) where you can fix the cybertank’s chassis.

If the Problem is in your AI design, the buttons Continue and Cancel appear at the bottom of the screen. Select the Cancel button to return to the AI Module, or select the Continue button to allow the CRM to continue searching for problems. When the CRM is finished, the OSI/CACD transfers you to the Al Module where you can fix your cybertank’s AI. Some problems with AI designs discontinue the authorization of your design. If this happens, press any key and you will be transferred back to the Al Module.

SECTION 3 – BATTLE SIMULATION

SECTION BRIEF - The combat Simulation Module (CSM) is a powerful and flexible tool used by engineers to observe cybertanks under a variety of battle conditions. This section describes how to design and conduct a battle simulation.

3.1 THE COMBAT SIMULATION MODULE

A maximum of 15 cybertanks can be included in a simulation. At least two cybertanks must be chosen for a simulation. One of these must be designated as the Primary Cybertank:

At the beginning of a simulation, the battle is viewed from the vantage point of the Primary Cybertank. During the simulation, the view can be changed to the vantage point of any of the other cybertanks.

The objective of every cybertank Is to destroy its enemies. Its enemies usually include all of the other cybertanks in the simulation; however, the CSM has provisions for organizing cybertanks into teams. Cybertank teams are discussed in Part 2, Section 3.2.

Combat can be waged on a variety of battlefields. OSI includes three pre-designed battlefields and you can design Your own (see Part 2, Section 7). The three OSI battlefields are copied onto every ID Disc.

3.2 DESIGNING A BATTLE SIMULATION

Battle Simulation Design consists of the following steps:

  1. Selecting a Primary Tank
  2. Selecting the Other Tanks
  3. Selecting a Battlefield
  4. Choosing Teams (optional)
  5. Placing Team Headquarters (optional)

To begin the design process, select DESIGN A SIMULATION from the SIMULATE menu. You will be transferred to the Simulation Design Module (SDM).

3.2.1 The Simulation Design Module Display Panel

Diagram 3.2.1 illustrates the SDM display panel. The left side of the panel is comprised of four display areas. The EMPLOYEE display area displays your name and clearance level. The PRIMARY TANK, OTHER TANKS, and BATTLEFIELD display areas show your simulation specifications.

The right side of the panel is used to make selections. It is composed of a three-part display area called the File Selection Area, and three buttons called Select, Category, and Drive.

Diagram 3.2.1 - Simulation Design Module (SDM)

3.2.2 Cybertank and Battlefield Files

The cybertanks and battlefield are selected from the current disc using the File Selection Brea and the Select button as described below. You can change the current disc, which is usually your ID Disc, by inserting another disc into any access slot and selecting the Slot button until that disc is selected. The current disc’s name is always displayed in the center part of the File Selection Area.

When selecting Primary Tank or Other Tanks, the lower part of the File Selection Area displays the names of the cybertanks on the current disc. When selecting the Battlefield, the names of the battlefields are displayed. The upper part of the File Selection Area displays the category: cybertanks or battlefields.

3.2.3 Selecting the Primary Cybertank

Examine the File Selection Area. Notice that the first cybertank is displayed in reverse type - it is highlighted.

There are two ways to change the highlighted file name. (1) If You are using a mouse or a joystick, you can select a file name by simply moving the pointer over it and pressing the button. (2) If you are using a keyboard, use the CURSOR-UP and CURSOR-DOWN keys on your terminal. Note: For additional information on CURSOR keys, consult the OSI/CACD System 2 Reference Card under Simulation Design Module -- File Selection Keys.

To make a selection, simply highlight the desired cybertank or battlefield and click on the Select button. Try this now. Make ALPHA the Primary Cybertank by highlighting “ALPHA” and selecting the Select button. Notice that the PRIMARY TANK display area on the left now displays ALPHA.

3.2.4 Selecting Other Cybertank

Notice that the PRIMARY TANK plaque looks different than the other plaques. The color of the plaque is reversed indicating that the PRIMARY TBNK category is active. Select the Category button. The OTHER TANKS plaque is now reversed indicating that OTHER TANKS is the active category. Other Cybertanks can now be selected.

Other Cybertanks are selected the same way as the Primary Cybertank. Select VIPER by highlighting "VIPER” and choosing the Select button. The OTHER TANKS display area now shows “VIPER.” Select the S el e ct button two more times. Notice that each time the button is selected, another VIPER is added to the OTHER TANKS display area. Now highlight “ALPHA” again and select the Select button. As you can see, this simulation will include five cybertanks. The Primary Cybertank is ALPHA, and the Other Cybertanks consist of three VIPERS and one ALPHA.

Note: Duplicate cybertanks are allowed in simulations.

3.2.5 Selecting a Battlefield

Select the Category button to activate the BRTTLEFIELD category. Notice that the File Selection Area now displays battlefields instead of cybertank files. Highlight HOUSTON and select the Select button. The BATTLEFIELD display area now displays HOUSTON.

3.2.6 Cybertank Teams

As previously mentioned, simulations can optionally involve teams of cybertanks. This is an advanced topic beyond the scope of this Training Guide. After you become familiar with standard combat, you may wish to pursue team scenarios. Cybertank Teams are discussed in Part 5, Section 2 of the Engineer’s Handbook.

3.2.7 Saving the Simulation Design

Like cybertank designs, simulation designs have code names. For the Purposes of this Training Guide, name the simulation ALPHASIM.

Select SAVE SIMULATION DESIGN from the DESIGN menu. The File Storage Panel (FSP) appears. Type ALPHASIM and select the Save button to save the simulation design onto your disc. You are then transferred to the ECM.

Note: In order for the CSM to execute the simulation, the Primary Cybertank, Other Cybertanks, and the Battlefield all must be located on the same disc as that of the simulation design.

3.3 CONDUCTING A SIMULATION

Select START A SIMULATION from the SIMULATE menu. The File Retrieval Panel (FRP) appears. Select the ALPHASIM simulation. The OSI/CACD loads the cybertanks (ALPHA and VIPER), the battlefield (HOUSTON), as specified by the simulation design, and transfers you to the CSM.

Diagram 3.3.1 - Combat Simulation Module (CSM)

3.3.1 Starting a Simulation

Once transferred to the CSM, combat commences automatically. Press the PAUSE key to temporarily stop the simulation (refer to the OSI/CACD System 2 Reference Card to determine the appropriate key for your terminal type). Your screen should resemble Diagram 3.3.1.

3.3.2 Status Bars

A great deal of information is displayed in the CSM. The large area to the left, called the Battlefield Display Area, shows a relatively small portion of the battlefield with the Primary Cybertank, ALPHA, in the center. The instrument panel on the right contains several status displays.

There are six status bars on top of the instrument panel (status bars are summarized in Table 3.3.2). The first is the fuel gauge. The shaded section represents the fuel remaining. As fuel is consumed, this area decreases, in size. When out of fuel, the status bar is completely empty.

The other five status bars are damage indicators. Initially, each bar is empty, indicating no damage. As damage is incurred, the bar begins to fill, moving left to right. A solid bar indicates 100% damage.

  F -Fuel Remaining. Decreases as fuel is consumed. When the cybertank runs out of fuel, all mechanical functions cease.
  I -Internal Damage. If internal damage reaches 100%, the cybertank is totally destroyed.
  A -Armor Damage. If armor damage reaches 100%, the cybertank is totally destroyed.
  T -Tread Damage. If tread damage reaches 100%, the cybertank is immobilized.
  S -Scanner Damage. If scanner damage reaches 100%, the Cybertank Scanner System (CSS) fails and the cybertank is unable to detect cybertanks.
  W -Weapon Damage. If weapon damage reaches 100%, the Cybertank Weapon System (CWS) fails, and the cybertank is unable to fire.

3.3.3 Other Status Indicators

Below the six status bars, are several other indicators. These will be discussed later.

3.3.4 Changing the Vantage Point

Note: This subsection contains references to the Cybertank Selection Keys. To determine which keys should be used on your terminal, referred to the OSI/CACD System 2 Reference Card under Simulation Action Keys.

Look again at the Battlefield Display Area. The Primary Cybertank, ALPHA, is displayed in the center. Press the CYBERTANK SELECTION KEYS to change the vantage point. The vantage point shifts to the cybertank number designated by the selection key.

Our simulation includes three VIPERs and two ALPHAS. Press the CYBERTANK SELECTION KEYS and observe the battlefield from the vantage point of each of the five cybertanks. The plaque below the Battlefield Display Area shows the name of the current cybertank.

3.3.5 The Satellite View

The CSM can simulate a view from the OSICOM I satellite. Select SATELLITE VIEW from the SIMULATION menu to see a satellite view of the entire battlefield. The flashing blips indicate active cybertanks in the simulation. When viewing the Satellite transmission, you can observe all the cybertanks’ actions. To do so, press the PAUSE key to continue the action. After watching the simulation for a while, press the PAUSE key again to pause the simulation. To exit the satellite view, simply press any key or click the mouse or joystick button.

3.3.6 Pausing and Resuming the Simulation

The simulator should now be paused (idle). You can resume operation by pressing the PAUSE key. The PRUSE key toggles between idle and active. Press the PRUSE key now and watch the simulation.

Experiment with the controls as you watch the simulation. Change your vantage point with the cybertank selection keys. Examine the satellite view by selecting SATELLITE VIEW from the SIMULATION menu.

3.3.7 End Of the Simulation

The battle simulation usually continues until only one cybertank remains alive with fuel; however, if none of the cybertanks move for an extended period of time, the simulator will abort the battle, and declare it a draw. This time-out feature prevents battles from continuing even though the cybertanks cannot find and destroy each other.

When the simulation ends, a panel appears in the center of the screen displaying the message, “SIMULATION COMPLETED - PRESS ANY KEY TO CONTINUE.” Press any key.

3.3.8 Restarting the Simulation

Select RESTART THE SIMULATION from the SIMULATION menu. The cybertanks are placed at new random locations on the battlefield and the simulation begins again. To illustrate the random placement of cybertanks, select RESTART THE SIMULATION again and notice that ALPHA is in a different place. As you can see, a simulation can be restarted before it has ended.

3.3.9 Coffee Break

Congratulations. You have successfully designed and authorized a cybertank (both chassis and Al), and designed and conducted a simulation. You have completed a great deal of training in a short time, and your accomplishments have been noted. Your Supervisor says you can take a fifteen minute coffee break. At this time, select EXIT SIMULATION from the SIMULATION menu to be transferred back to the ECM.

SECTION 4 - BACK TO THE DRAWING BOARD

SECTION BRIEF - In this section you will return to the Design Control Module (DCM) to improve your cybertank’s Artificial Intelligence (RI) through the Use of the AI Module.

4.1 ENTERING THE AI MODULE

From the ECM. select DESIGN CYBERTANK from the DESIGN menu, as you did in Section 2.0, “DESIGNING A CYBERTANK." The OSI/CACD remembers the last cybertank design worked on in the DCM, ALPHA. ALPHA's Al is automatically loaded, and you are transferred to the AI Module.

Note: There are several instances in which the OSI/CACD will not load the cybertank design you last worked on. This usually occurs when the OSI/CACD is not able to locate the cybertank design in any of the available access slots. If ALPHA does not load automatically, you must load it manually by selecting LOAD from the CYBERTANK menu.

4.2 THE AI MODULE

The AI Module is used to enter and modify Al designs. You can add new instructions, remove old ones, change their order, etc. The AI Module provides great flexibility for the cybertank engineer.

4.2.1 AI Module Terminology

The material in this section uses terminology which may or may not be familiar to you. The following definitions Will aid in your understanding.

The edit window is the large area that displays the AI. characters are letters, digits, punctuation, or spaces. Text refers to the characters within the edit window. To insert is to add characters to the text; to delete is to remove characters from the text. Editing is the process of altering the text. The Insertion Cursor (IC) is the thin vertical bar in the edit window.

4.2.2 Moving the Insertion Cursor

You are currently in the AI Module, and ALPHAS s AI is visible in the edit window. The IC is currently in the upper left-hand corner of the edit window, next to the word “Start.” The IC can be moved using either a mouse/joystick or the keyboard as discussed below.

Using a Mouse/Joystick: Using a mouse/joystick, move the pointer, the small triangular arrow, to a position just after the word “Start,” and click. Notice that the IC has moved to the pointer’s position. Move the pointer and click to move the IC anywhere in the edit window.

Using the Keyboard: You can move the IC with the following CURSOR keys:

The CURSOR-LEFT key normally moves the IC one character to the left. If the IC is already at the beginning of a line, CURSOR-LEFT moves it to the end of the previous line.

The CURSOR-RIGHT key normally moves the IC one character to the right. If the IC is already at the end of the line, CURSOR-RIGHT moves it to the beginning of the next line.

The CURSOR-UP key normally moves the IC to the beginning of the current line. If the IC is already at the beginning of the line, CURSOR-UP moves it to the beginning of the previous line.

The CURSOR-DOWN key normally moves the IC to the end of the current line. If the IC is already at the end of the line, CURSOR-DOWN will move it to the end of the following line.

4.2.3 lnserting Text

The IC indicates the point in the text at which characters can be inserted or deleted.

Move the IC just to the right of the words "Do Seek.” Now type the letters "i", “n” and “g”. “Seek” becomes “Seeking.” You have just inserted the three characters... i, n, and g. Type several spaces and notice how the IC moves.

Text can be inserted between any two characters. Move the IC between the letters “t” end "a" of the label “Start.” Type “u” and “Start” becomes ‘“Stuart.”

4.2.4 Deleting Text

Text can be removed (deleted) one character at a time using the DELETE key. Move the IC between the letters “s” and ‘t’ of the word ‘Destroy” in the line “00 Destroy”. Press DELETE three times. ” Destroy” becomes “troy.” Notice that each time you press DELETE, the character to the left of the IC is removed. The IC, and each of the characters to right of it, move left to fill in the space.

4.2.5 Adding New Lines

Move the IC to the end of the text (just after the word ‘“Destroy”) and press RETURN. The IC moves to the next line. Type “New Line” and press RETURN, New lines can be added anywhere in the text.

Labels, such as “Start” (now ‘“Stuart”), always begin in the far left column. Other lines, however, are indented. Since labels are less common than other lines, the AI Module automatically indents each new line for you when you press RETURN. Type “Other Line” and press RETURN.

To move the IC from the indentation column to the far left column (i.e., remove the indentation), press DELETE. To move the IC from ‘the far left column to the indentation column (i.e., indent), press TAB.

Press RETURN to skip a line. Press DELETE to move the IC to the left column. Type “Label” and press RETURN. It is a good practice to add blank lines above labels - it makes the AI easier to read.

4.2.6 Double Lines

Some AI commands will not fit on a single line. Without pressing RETURN, type this sentence: “This is an example of a line which is too long.” The AI Module automatically wraps your sentence to the next line. Notice that the continuation line is indented further than the original line. This feature also helps to make AI easier to read.

4.2.7 Outgrowing the Edit Window

At present, the text you are editing fits entirely within the edit window. As you add more commands, the text will. eventually outgrow the size of the edit window.

Press RETURN. Notice that the label “Stuart” is no longer on the screen. Type three or four more lines, ending each one with a RETURN. One line disappears from the top of the edit window each time a new line is added at the bottom.

Although some of your lines of AI are no longer visible, the AI Module is still keeping track of them. You can see any Part of the AI using scrolling.

4.2.8 Scrolling

Scrolling can be thought of as moving the edit window up and down to examine different parts of the text. You can scroll with either a mouse/joystick or the keyboard. The two methods are discussed below.

Using a Mouse/Joystick: You can scroll the text by clicking anywhere on the scroll-bar located directly to the right of the edit window. Clicking directly on the scroll-bar will scroll the text several lines. Clicking on the small arrows directly above and below the scroll-bar will scroll one line. By clicking on the small plaque (or “thumbprint” as it is often called), you can drag the plaque to any location in the scroll-bar. This thumbprint represents the location of the text currently visible in the edit window. For example, if the edit window is displaying the first few tines of text, then the thumbprint will be at the very top of the scroll-bar. On the other hand, if the edit window is currently displaying the last few lines of text, then the thumbprint will be at the very bottom of the scroll-bar.

Using the Keyboard: You can always scroll text using the SCROLL keys. See the OSI/CACD System 2 Reference Card to determine which keys to use on your terminal.

4.3 WORKING WITH SECTIONS OF TEXT

The Al Module lets you modify sections of text, such as a words, lines, or paragraphs. You must first select the text. When selected, a section of text appears highlighted.

4.3.1 Selecting Text

Text can be selected using either a mouse/joystick or the keyboard. The two methods are discussed below.

Using a mouse/Joystick: To select text, move the pointer to the beginning of the text you wish to select, press and hold the button down, and move the pointer to the end of the text section you wish to select. Once selected, release the button.

Using the keyboard: To select, move the IC to the beginning of the text you wish to select, press the MRRK key, then move the IC to the end of the section of tent (see the OSI/CACD System 2 Reference Card to determine the MARK key for your particular terminal type).

In either case, the text is highlighted as it is selected. Try Selecting “Branch To” now.

Selected text is deselected when the IC is mooed. If using the keyboard, the text is not deselected until the MARK key is pressed a second time.

Experiment with selecting and deselecting words, lines, and paragraphs. Notice that you can also select text “backwards.” In other words, you can begin selecting from either end of the text section.

4.3.2 Deleting a Section of Text

When editing AI, you will occasionally want to delete a section of text. You could move the IC to the end of the section and press DELETE marry times to remove the section, but there is an easier method.

To delete a section of text, simply select the tent in the manner previously described, then press DELETE. To demonstrate, select “an example of” and press DELETE. The Sentence “This is an example of a line which is too long" now reads “This is a line which is too long.”

4.3.3 Replacing a Section of Text

It is often desirable to replace a section of tent (typically a word) with something else. You could delete the old text and begin inserting new text, but, once again, there is a better method.

To replace a selection of text, select it and type the replacement text. There is no need to press DELETE. For example, select “too long” and then type "short" to replace it. The sentence now reads: “This is a line which is short.”

4.3.4 Cutting and Pasting Text

There will also be times when you need to rearrange text. The Al Module allows a section of text to be removed (Cut) from one location and placed (Pasted) in another.

To cut, select and highlight the text. Next, select CUT from the EDIT menu. The selected text is removed from the edit window and temporarily stored internally by the Al Module.

Note: Only the last cut or copied section of text is stored.

To paste, move the IC to the beginning of the new location for the stored text. Select PASTE from the EDIT menu. Paste inserts the stored tent at the current location of the IC.

4.3.5 Copying and Pasting Text

Sometimes it is desirable to duplicate, or copy, a section of text. The AI Module allows a section of tent to be Copied (without removing it) and Pasted to another place.

To Copy, select the text to be copied. Select COPY from the EDIT menu. The AI Module internally stores a copy of the selected text, without removing the selected text from the edit window.

To paste, move the IC to the beginning of the new location for the stored tent. Select PASTE from the EDIT menu. A copy of the internally stored tent is inserted at the current location of the IC. Each time you select PASTE, stored text is inserted. As you can see, it is easy to make multiple copies of a section of text.

4.3.6 Undo

Special Note: The UNDO feature is not supported on Commodore 64 end Apple //+,c,e terminals.

There will be times when you mistakenly delete Portions of AI and your suddenly realize the error of doing so. If you immediately select the UNDO option from the EDIT menu, then your last action will be undone. Please note that this only works if you immediately select UNDO.

4.4 EDITING ALPHA

Congratulations! You now know almost everything there is to know about the Al Module and are probably curious about the plaques below the edit window. Relax. Those will be covered soon. For now, let’s get on with editing ALPHA.

4.4.1 Reloading ALPHA

The editing exercises you completed in previous sections left ALPHA’s AI in an unusable state. Reload ALPHA's AI by selecting LOAD from the CYBERTANK menu. The File Modification Panel (FMP) appears and tells you that unsaved changes have been made to the current cybertank design. It will ask if you want to "SAVE CHANGES TO ALPHA?”

Select the No button if you select Yes, your good copy of ALPHA will be overwritten (replaced) by the edited one.

The OSI/CACD always informs you of current work that has not been saved to disc. When another cybertank is loaded, it will replace whatever is currently being edited. At present, this is desired since the current design is unusable.

After selecting the Yes button, the File Retrieval Panel (FRP) appears and you can reload ALPHA.

4.4.2 Replacing a Capsule

One of the advantages of semicustom design is that significant changes in the cybertank’s behavior can be easily incorporated using different Library Capsules.

You may have noticed that one problem in ALPHA's behavior is that it spends so much time moving that it does not have much time to scan. The result is that ALPHA often misses “seeing” things.

The Seek routine currently used was designed to move a cybertank fairly quickly. Search, another routine available as a Library Capsule, puts more emphasis on scanning.

Modify ALPHA's AI by replacing Do Seek with Do Search. You can do this by replacing a section of tent (“Seek”) as discussed in Section 4.3.3.

4.4.3 Authorizing the new ALPHA

Each time a cybertank undergoes design modification, the changes must be authorized. Re-authorize ALPHA by selecting AUTHORIZE from the CYBERTANK menu. Oops, an error. The Cybertank Authorization Module (CAM) reports a problem: " The label SEARCH was not found in the following line: Do Search.”

Select the Continue button to look for additional errors. After the CRM examines the rest of the AI, you are then transferred to the Al Module where you can make corrections to the problem.

What happened? There is nothing wrong with the command “DO Search”, but the routine Search is nowhere to be found. it is only available in the Library Capsule named Search and that has not been included in ALPHA's AI. To solve the problem. replace the line “Include Seek” with the line ‘“Include Search”.

4.4.4 Saving the Design As Beta

At this point, verify that ALPHA's AI is identical to the following. If necessary, edit the Al to make it match. It should be pointed out that the case of the letters does not matter (i.e., START is equivalent to Start).

Start
   Do Search
   Do Destroy
   Branch to Start

   Include Search
   include Destroy

Before authorizing your cybertank, save it to disc. This time, select SAVE AS instead of SAVE from the CYBERTANK menu. By selecting SAVE AS, you are able to choose a new name for your cybertank design. Choose the name BETA by typing BETA and pressing RETURN. YOU have now created an entirety new cybertank design named BETA. Notice that the name plaque at the top of the edit window displays BETA. ALPHA has not been replaced; it is still on the disc and can be recalled at any time.

4.4.5 Authorizing BETA

Authorize your new cybertank, BETA, by selecting AUTHORIZE from the CYBERTANK menu. If the authorization is successful, as it should be, return to the External Control Module (ECM) by selecting the ECM button. If the authorization is unsuccessful, please refer back to Section 4.4.4 to verify your cybertank’s AI.

You have now designed your first two cybertanks, ALPHA and BETA.

SECTION 5 - REVISITING THE SIMULATION

SECTION BRIEF - This section revisits the Simulation Design Module (SDM) and discusses additional features of the Combat Simulation Module (CSM)

5.1 MORE ABOUT THE CYBERTANK SIMULATION

Now that you have a new cybertank, BETA, you need to design a new simulation that includes it.

5.1.1 Deleting the Old Simulation Design

Simulation designs which are no longer needed can be removed from a disc to conserve space. You will not be using ALPHASIM anymore, so remove it by selecting DELETE A SIMULATION DESIGN from the SIMULATE menu. The File Termination Panel (FTP) appears. It is very similar to the File Retrieval Panel. Select ALPHASIM in the usual way and select the Delete button.

5.1.2 Designing the New Simulation

To begin your new simulation design, select DESIGN A SIMULATION from the SIMULATION menu. Make the following selections. (If you need a review, refer back to Section 3.2).

PRIMARY TANK
BETA

OTHER TANKS
ALPHA
VIPER

BATTLEFIELD
HOUSTON

Select SAVE SIMULATION DESIGN from the DESIGN menu. Save the simulation under the name BETASIM. You are automatically transferred to the ECM.

5.2 RUNNING THE SIMULATOR

To begin the simulation, select START R SIMULATION from the SIMULATE menu. The File Retrieval Panel (FRP) appears. Select the BETASIM simulation to be processed. Once the cybertanks (BETA, ALPHA, and VIPER), and battlefield are loaded, you are transferred to the CSM and the simulation begins.

5.2.1 The Instrument Panel

The fuel and damage indicators have already been discussed. Several other instruments and lights also appear on the instrument panel.

  SL -Scanner Lock. This LED turns on when the cybertank locks its scanner onto an object or enemy cybertank.
  DS -Defense Shield. This LED turns on when the cybertank raises its shield. It is off when the cybertank has its shield lowered.
  LD -Listener Device. This LED turns on when an enemy cybertank has locked its scanner onto the cybertank.

The three lights above are used only when the cybertank is equipped with specific special items. If the cybertank is not equipped with the items, the lights are inactive.

Also on the instrument panel is the Cybertank Directional Indicator (CDI). This indicator is directly left of the three lights. It indicates which direction the cybertank Is currently facing, and in which direction the scanner is currently facing. (For specific details on the directional indicator, see the OSI/CACD System 2 Reference Card).

Directly below the directional indicator is the Cybertank Vision Indicator (CVI) which depicts what the scanner is “seeing.” Objects and enemy cybertanks which are scanned by the cybertank show UP as blips on this indicator. (For specific details on the Cybertank Vision Indicator, see the OSI/CACD System 2 Reference Card.)

Battle results are located at the lower right side of the instrument panel. The numbers displayed are as follows:

  T -Total number of battles to be simulated
  B -Number of battles previously fought
  S -Number of successful battles
  A -Number of active cybertanks remaining

5.2.2 Watching the Simulation

At this Point, you can sit back, relax, and watch the simulation. When YOU are finished watching the simulation, select EXIT SIMULATION from the SIMULATION menu to return to the ECM.

5.3 TIME FOR SOME R&R

Congratulations. You are now fully qualified to design semicustom cybertanks and simulations and your accomplishments have been noted. YOU have completed this portion of your training ahead of schedule. The Departmental Manager has granted you a two day furlough. When YOU return, YOU Will begin the final phase of your training.

SECTION 6 - FULL CUSTOM DESIGN

SECTION BRIEF - This section describes the development of AI from the ground up. It provides information on how cybertanks operate, and are simulated. In addition, the Cybertank Command Language (CCL) is presented in more detail.

6.1 GENERAL INFORMATION

In the previous sections, cybertank Al was developed Using semicustom design techniques. Predefined sequences of CCL commands, called Library Capsules, were Used as building blocks in the AI construction. In this section, cybertank AI will be developed using Full Custom Design techniques. The AI is created entirely using individual CCL commands.

6.2 THE SIMULATED WORLD OF THE CSM

The CSM, like all simulators, attempts to approximate a real-world system by using an artificial model. As a cybertank engineer, it is important for YOU to understand the specific details of that model.

6.2.1 Battlefield Coordinate System

A battlefield is divided into a 64 x 64 grid of cells, each representing an area equal to one square hectometer (hm).

Each cell contains one of several types of terrain, such as grass, water, trees, buildings, etc. The cells surrounding the battlefield form an impenetrable wall which mark the battlefield boundaries. Each cell is identified by two numbers which are called its ‘H’ and ‘Y’ coordinates (see Diagram 6.2.1). The H-coordinate specifies the cell’s east-west position and ranges in value from zero (west wall) to sixty-three (east well). Similarly, the Y-coordinate specifies the cell’s north-south position and ranges in value from zero (north wall) to sixty-three (south wall). Many CCL commands use these coordinates. It should be noted that since the battlefield wall occupies the outer edges of the battlefield, employees should only be concerned with coordinate values from l-62.

Diagram 6.2.1 - 64x64 battlefield grid

6.2.2 The Eight Standard Directions

Diagram 6.2.2 illustrates the eight standard directions. A cybertank can move, detect obstacles, and scan in any of these eight directions. These eight directions represent the 45’ angles of a circle.

Diagram 6.2.2. - The eight possible facing directions

6.2.3 Distance

Each cell is adjacent to eight other cells, one in each of the standard directions. When calculating distance, any two adjacent cells are considered to be one hectometer apart.

6.3 THE SIMULATED CYBERTANK

As you have learned in your previous design experience, all cybertanks have standard equipment. The following Provides insight into how these devices are simulated.

6.3.1 Movement

Movement is simulated by changing the X- and Y-Coordinates of the cybertank. A cybertank’s movement is limited to the eight standard directions. Each move of one hectometer consumes a certain amount of time, which is based on the weight of the cybertank and the speed of the drive system.

6.3.2 The Movement Sensor and the Scanner

The cybertank has a built-in movement sensor and scanner. Both devices constitute parts of the Cybertank Scanner System (CSS), but they are independent mechanisms and operate differently.

The movement sensor, referred to as the Movement Obstruction Sensor (MOS), which can be aimed in any of the eight standard directions, detects obstacles which can impede the cybertank’s movement. It is limited to a range of three hectometers and covers a one degree area (a straight line) in the direction aimed. It covers a very small area. If more than one obstacle exists along the line, the MOS always detects the one nearest the cybertank.

The scanner can be instructed to find one of three things: 1) an enemy cybertank, 2) the enemy headquarters, or 3) the nearest object. Mounted on a rotating base, the scanner can face any of the eight standard directions. It continues to face that direction until it is instructed to rotate. Scanners are available in 20, 35, and 50 hectometer ranges, with sweep angles from 30 to 90 degrees. The scanner cannot “see through” all objects. Some objects block scanner signals.

6.3.3 The Weapon System

Cybertanks can be equipped with various weapons. Each weapon type has its own characteristics. All weapons have a maximum firing range of four (4) hectometers. They can be fired at enemy cybertanks, enemy headquarters, obstructions, at the closest object, or at any specific location within range. For ease of design, they can also be fired in the direction the scanner is facing, or the direction the cybertank is currently facing.

6.4 ELEMENTS OF THE CYBERTANK COMMAND LANGUAGE

As described previously, the Cybertank Command language (CCL) is the language used to develop cybertank AI. Full Custom Design incorporates the various CCL commands individually to create the cybertank’s AI. This subsection reviews and defines some basic elements of the CCL.

The following are brief descriptions of the basic elements. Do not be alarmed as they will be fully explained, with examples, later in this section.

6.4.1 Labels

Labels are used to designate the beginning of an Al segment (or routine) that can be executed using either the Do or Branch commands. The label provides a way to reference the segment of Al It names. In ALPHA and BETA, the label Start names the entire AI for the cybertank.

Some of the characteristics of labels follow:

  • A label always begins flush with the left margin of the edit window
  • A label is always on a line by itself
  • A label names the segment of Al that follows (up until the next Label)
  • A label is usually referenced at least once by a Branch or Do command
  • A label is a maximum of ten characters long
  • A label is defined by the designer, and can be almost anything.

6.4.2 Reserved Words

The CCL commands, operators, and system variables are ‘reserved” for specific purposes and cannot be utilized as User Variables (see Section 6.4.4). See Appendix 1 for a list of Reserved Words.

6.4.3 System Variables

System Variables are used by the CCL for internal operations and represent the state of the cybertank. They may be used in computations, but cannot be altered. System variables are very useful, and often necessary, in designing cybertank Al. Examples include: TankX and TankY, which specify the cybertanks coordinates; FuelLevel, the amount of fuel remaining; and EnemyDist, the distance to the enemy. See Appendix 2 for a list of the System Variables.

6.4.4 User Variables

User Variables are defined by the AI designer. Unlike System Variables, User Variables can be altered. For example, you might make up a user variable called FuelStart. At the beginning of the AI you could store the value of FuelLevel in FuelStart. Later, you could subtract the current value of FuelLevel from FuelStart to calculate how much fuel your cybertank had consumed.

6.4.3 Action Commands

Action Commands cause the cybertank to perform a mechanical action, such as firing the weapon or rotating the scanner. These are, for the most part, self-explanatory.

6.4.6 Computation Commands

Computation commands, or logic commands, cause the on-board computer to perform computations such as arithmetic calculations. These commands are processed quickly since they do not involve mechanical activity.

6.4.7 Sequence Commands

Sequence Commands change the order in which commands are processed. When a simulation begins, the on-board computer begins processing commands starting with the first line in the cybertank’s Al. Commands are normally processed in order, beginning to end.

Sequence Commands can be used to alter the order, usually to repeat a segment of Al. For example, the command Branch to Start in BETA forces the on-board computer to "loop pack” to the beginning of the AI. As another example, Do Search causes the on-board computer to begin processing commands in the routine labeled Search. At the end of Search, another Sequence Command, Resume, causes the on-board computer to resume processing instructions from where it left off, the line immediately following the Do Search line.

6.4.8 Decision Commands

Decision Commands allow the cybertank’s on-board computer to make decisions. These commands always begin with the word If. The last part of a Decision Command is actually a Sequence Command, only processed if a specified condition is met.

6.5 THE CCL CONSTRUCTION PANEL

The CCL Construction Panel (CP) is helpful in Full Custom Design. CCL commands can be constructed by simply selecting the plaques on the CP. To get to the Al Module and the CP. select DESIGN A CYBERTANK from the DESIGN selection menu. If the File Retrieval Panel (FRP) appears, select ALPHA. At this point, you should be transferred to the Al Module.

6.5.1 Experimenting with the CCL

If you are using a mouse or joystick, you can select the CP Plaques in the usual way --by clicking on them.

If you are using the keyboard, you can use the CP as follows:

  1. Press the CONNECT key to connect to the CP.
  2. Use the CURSOR keys to highlight the desired plaque.
  3. Press RETURN.
  4. When you are through using the CP, press the CONNECT key to disconnect from the CP. Check the OSI/CACD System 2 Reference Card to determine the CONNECT key for your particular terminal type.

Try the following example. Move the Insertion Cursor (IC) to the end of the text. Select the following plaques from the CP located at the bottom of the screen:

MOVE
FORWARD
3

Notice that the command MOVE TANK FORWARD 3 has been entered into the text. Now select these plaques:

ROTATE
TO ENEMY TANK

Notice that the command ROTATE SCANNER TO FACE ENEMY TANK has been entered. Now try one more example:

IF
WEAPON
WEAPON RANGE
ENEMY WITHIN
DO

At this point, the CP is prompting you to enter a label name. Type in BLASTEM and press RETURN. Notice that the command IF ENEMY TANK IS WITHIN RANGE THEN DO BLASTEM has been entered. The CP prompts you to enter label names, variable names, or X-Y coordinates when needed to complete a particular command.

Note: In all of the subsections below, User Variable names are being referenced in the commands. They are being used Only as examples and have no material relevance in the CCL. System Variables can also be used in place of the User Variables in all of the below commands.

All User Variables are printed in upper and lowercase so they will stand out from the CCL commands.

6.5.2 MOVE Commands

Cybertank movement is accomplished by turning the cybertank to face one of the eight standard directions and then moving it forward or back. It is advisable to use the Movement Obstruction Sensor (MOS) before moving to avoid collision damage.

MOVE commands can specify either a fined or variable distance for the cybertank to move. A fixed distance is indicated by a number in the 1 to 62 hectometer range. A variable distance is specified by using a variable name when a variable is used, the value of the variable determines the distance the cybertank will move.

The CP can construct four different types of MOVE commands. Try building each of these:

MOVE TANK FORWARD 3
MOVE TANK FORWARD AdvanceAmount
MOVE TANK BACKWARD 2
MOVE TANK BACKWARD RetreatAmount

6.5.3 TURN Commands

TURN commands change the direction the cybertank Is facing. There are several ways to turn the cybertank. Each is discussed below. Try to construct each of the commands with the CP.

The following two commands will face the cybertank in one of the eight standard directions. For example, TURN TANK TO 5 Will turn the cybertank to face direction 5 (southwest). If a variable is used, the value of that variable determines the direction the tank will turn.

TURN TANK TO 7
TURN TANK TO NewBearing

The following group of commands turn the cybertank a specified amount relative to its current heading. For example, suppose the cybertank is facing direction 6 (west).

If the command TURN TANK RIGHT 1 is processed, the cybertank will be turned to face direction 7 (northwest).

TURN TANK LEFT 1
TURN TANK LEFT ThisMuch
TURN TANK RIGHT 2
TURN TANK RIGHT ThatMuch

The following commands turn the cybertank to face a particular object or battlefield location. The on-board computer calculates the direction that best approximates the actual direction to the object or location.

TURN TANK TO FACE ENEMY TANK
TURN TANK TO FACE ENEMY HQ
TURN TANK TO Xcoordinate Ycoordinate

Finally, the cybertank can be turned to face the same direction as its scanner.

ALIGN TANK WITH SCANNER

6.5.4 DETECT OBSTRUCTIONS Commands

The DETECT OBSTRUCTION commands tell the MOS to probe in a specified direction the nearby cells on the battlefield. The effect is to set System Variables which can then be tested. The System Variables affected are ObstacleX, ObstacleY, ObstacleType, and ObstacleDist. These variables provide the obstacle’s location, type, and distance from the cybertank. The cybertank can make decisions by testing these variables with If statements.

There are four types of DETECT OBSTRUCTION commands. Each is listed below. Try constructing each with the CP.

DETECT OBSTRUCTION AT 4
DETECT OBSTRUCTION AT ThataWay
DETECT OBSTRUCTION AT TANK DIRECTION
DETECT OBSTRUCTION AT SCANNER DIRECTION

6.5.5 SCAN Commands

The SCAN commands cause the scanner to scan an area around the cybertank for a specified type of object. The scanner can scan for enemy cybertanks, enemy headquarters, or the closest object to the cybertank. The area scanned is dependent upon the scanner’s maximum range, sweep angle, and current direction.

The scanner cannot "see" through certain types of objects such as buildings, and it is possible for an enemy cybertank or headquarters to be hidden from view. The scanner’s visibility may be improved by destroying intervening objects. For a complete list of objects and obstructions and their impact on the scanner, see Appendix 3.

The effect of scanning is to set System Variables which can then be tested. This process is similar to that of the movement sensor. The System Variables affected depend on the type of scan performed.

When scanning for enemy cybertanks, EnemyX, EnemyY, and EnemyDist are affected. These System Variables provide the enemy’s location and its distance from the cybertank.

When scanning for enemy headquarters, EnemyHQX, EnemyHQY, and EnemyHQDist are affected. These System Variables provide the headquarter’s location and its distance from the cybertank.

When scanning for the closest object to the cybertank, ObjX, ObjY, ObjType, and ObjDist are affected. These System Variables provide the object’s location, type, and distance from the cybertank.

The three SCAN commands are listed below. Try constructing each with the CP.

SCAN FOR ENEMY TANK
SCAN FOR ENEMY HEADQUARTERS
SCAN FOR CLOSEST OBJECT

6.5.6 ROTATE Commands

ROTATE commands change the direction the scanner is facing. There are several ways to rotate the scanner. Each is discussed below. Try to construct each of the ‘commands with the CP.

The following two commands face the scanner in one of the eight standard directions. For example, ROTATE SCANNER TO 3 will rotate the scanner to face direction 3 (southeast). If a variable is used, the value of the variable will determine the direction.

ROTATE SCANNER TO 7
ROTATE SCANNER TO OldBearing

The following commands rotate the scanner a specified amount relative to its current heading , For example, suppose the scanner is facing direction 4 (south). If the command ROTATE SCANNER LEFT 3 is processed, the cybertank will be turned to direction 1 (northeast).

ROTATE SCANNER LEFT 1
ROTATE SCANNER LEFT ThisMuch
ROTATE SCANNER RIGHT 2
ROTATE SCANNER RIGHT ThatMuch

The following commands rotate the scanner to face a particular object or battlefield location. The on-board computer calculates the standard direction which best approximates the actual direction to the object or location.

ROTATE SCANNER TO FACE ENEMY TANK
ROTATE SCANNER TO FACE ENEMY HQ
ROTATE SCANNER TO 52 13
ROTATE SCANNER TO Xcoordinate Ycoordinate

Finally, the scanner can be rotated to face in the same direction as the cybertank.

ALIGN SCANNER WITH TANK

6.5.7 FIRE Commands

Cybertanks can fire their weapons at specific objects, battlefield locations, or in a specified direction. When firing at either an object or a location, the direction of fire is not limited to the eight standard directions ; however , the weapon has a maximum range of four hectometers. Although the cybertank has an unlimited supply of ammunition, the Cybertank Weapon System (CWS) must be operational to use it.

The various FIRE commands are listed below. Try to construct each with the CP.

This command instructs the cybertank to fire its weapon at an obstruction previously detected by the Movement Obstruction Sensor (MOS).

FIRE WEAPON AT OBSTRUCTION

These commands fire at specific targets previously scanned by the scanner. Important: When firing at an enemy cybertank, it is possible to miss since it may move out of the way.

FIRE WEAPON AT ENEMY TANK
FIRE WEAPON AT ENEMY HQ
FIRE WEAPON AT CLOSEST OBJECT

These following commands fire at a battlefield location specified by X- and Y-coordinates.

FIRE WEAPON AT 23 46
FIRE WEAPON AT Xcoordinate Ycoordinate

The last two commands cause the weapon to fire in a specified direction.

FIRE WEAPON AT TANK DIRECTION
FIRE WEAPON AT SCANNER DIRECTION

6.5.8 Special Commands

The majority of special commands involve special equipment which is not covered in this Training Guide. For detailed information about their function, refer to CCL Reference Guide in the Engineer’s Handbook.

The special commands are listed below.

SELF DESTRUCT

LAUNCH REMOTE SCANNER
   (requires the Remote Launcher)

RAISE SHIELD

LOWER SHIELD
   (requires the Defense Shield)

JAM SCANNER SIGNAL
   (requires the Jamming Device)

LOCK SCANNER

UNLOCK SCANNER
   (requires the Scanner Lock)

REPAIR INTERNAL

REPAIR TREADS

REPAIR WEAPON

REPAIR ARMOR

REPAIR SCANNER
   (requires the Repair Kit)

6.5.9 Decision Commands

Decision Commands, also known as IF commands, are too numerous to discuss individually. All IF commands have the following form:

IF <decision condition> THEN <sequence command>

When an IF command is processed, the decision condition is tested. If the decision condition is met, then the sequence command is processed.

A few of the decision conditions are listed below. The sequence command is either a BRANCH TO “Label” command or a DO “label” command. Both are discussed in the following subsection.

TANK TREADS ARE NOT FUNCTIONAL
MOVEMENT IS OBSTRUCTED
TANK IS NOT FACING ENEMY TANK
TANK IS FACING ENEMY HO
TANK IS ALIGNED WITH SCANNER
FUEL IS EMPTY
SCANNER IS NOT FUNCTIONAL
SCANNER IS LOCKED
ENEMY TANK WAS FOUND
ENEMY HQ WAS FOUND
CLOSEST OBJECT WAS NOT FOUND
TANK IS NOT ALIGNED WITH SCANNER
WEAPON IS NOT FUNCTIONAL
ENEMY TANK IS WITHIN RANGE
ENEMY HQ IS BEYOND RANGE
CLOSEST OBJECT IS WITHIN RANGE
REMOTE SCANNER IS AVAILABLE
SHIELD IS UP
REPAIR KIT IS UNAVAILABLE

Several examples of the above decision commands follow:

IF TANK TREADS ARE NOT FUNCTION THEN BRANCH TO CantMove
IF ENEMY TANK IS WITHIN RANGE THEN DO Killit

In addition to the IF commands discussed above, there are three other forms:

IF <var> <op> <value> THEN <sequence command>
IF <var> <op> <var> + <value> THEN <sequence command>
IF <var> <op> <var> - <value> THEN <sequence command>
  <var> -Represents a variable. It can either be a System or User Variable
  <op> -Represents a relational operator. It can be any of the following:
  • <  (less than)
  • >  (greater than)
  • =  (equal to)
  • <= (less than or equal to)
  • >= (greater than or equal to)
  • <> (not equal to)
  <value> -Represents a value. It can be either a number, a System Variable, or a User Variable
  <sequence command> -Can either be a BRANCH TO “Label” command or a DO “Label” command

Some examples of these types of IF commands follow:

IF TankY = 1 THEN BRANCH TO FoundTop
IF NewDamage > OldDamage THEN DO BeenHit
IF ScanDir = TankDir + 4 THEN BRANCH TO WatchRear
IF EnemyDist <= 4 THEN BRANCH TO FireAway
IF Delta <> NewVal - OldVal THEN BRANCH TO Error

6.5.10 Sequence Commands

Al Commands are normally processed in the order in which they appear: however, Sequence Commands can change the processing order. There are three Sequence Commands: BRANCH TO, 00, and RESUME.

The BRANCH TO command changes the processing order by redirecting the on-board computer to a specified Label. After encountering a BRANCH TO Label, the on-board computer processes the first command following the specified Label. It will continue to process commands in order from that point on. This can be used to form a loop, as in BRANCH TO START, or to skip past a segment of AI. BRANCH TO can also be written as GOTO.

The DO and RESUME commands work together. They are used primarily with routines. In Section 2, a routine was defined as “a sequence of CCL commands which causes the cybertank to perform a particular task.” To be more precise, a routine is a sequence of CCL commands beginning with a Label and ending with a RESUME command.

When the On-board computer encounters a DO “Label” command, it remembers the command’s location within the AI and then begins processing the commands following the specified Label. when the on-board computer encounters a RESUME command, it recalls the location of the DO “Label” command which called the routine and branches back to the command immediately following the Do “Label”.

In summary, the DO command causes a routine to be processed, and the RESUME command marks the end of the processed routine.

6.5.11 Assignment Commands

Assignment Commands alter the values of User Variables.

These commands are used in the following three forms:

<user var> = <value>
<user var> = <var> + <value>
<user var> = <var> - <value>
  <user var> -Represents any User Variable.
  <var> -Represents a variable. It can either be a System or User Variable.
  <value> -Represents a value. It can be either a number, a System Variable, or a User Variable.

When an Assignment Command is processed, the User Variable on the left side of the equals sign is assigned the value of the right side.

Some examples of Assignment Commands are as follows:

MyVariable = 100
NewCount = OldCount + 5
CountDown = CountDown - 1
DirTemp = TankDir
DeltaVal = NewVal - OldVal

All variables have values from 0 to 100. Any operation that results in a number greater than 100 is automatically assigned a value of 100. Any operation that results in a number less than 0 is automatically assigned a value of 0.

6.6 DESIGNING A CYBERTANK FROM THE GROUND UP

In previous sections, predefined sequences of CCL commands, called library Capsules, were used as building blocks in AI construction. In this section, cybertank Al is developed entirely from individual CCL commands.

So far, you have designed two cybertanks. You have also designed and executed simulations. Hopefully, you are fairly comfortable with the operation of the AI Module, the Simulation Design Module (SDM), and the Combat Simulation Module (CSM). If you need further help with any of these review the appropriate section of this Training Guide.

6.6.1 Designing a Chassis

At this time, select NEW from the CYBERTANK selection menu. When the OSI/CACD System 2 asks if you want to save the changes to Alpha, select NO.

When the File Storage Panel (FSP) appears, name your new cybertank GAMMA. Once in the AI Module, select CHASSIS from the CYBERTANK selection menu to proceed to the Chassis Design Module (CDM).

While in the CDM, select whichever cybertank components you like. Keep an eye on the credits remaining. Try not to spend too much on any single item. Remember - you have a lot to choose.

After selecting GAMMA's Tank Class, Fuel Cells, Drive System, Weapon Type, and Scanner, you should proceed to the AI Module.

6.6.2 A Cybertank’s Perspective

To successfully design a cybertank’s Al, you must begin thinking about all of the tasks a cybertank must perform. YOU must begin asking yourself, “If I were a cybertank, what would I do?” To answer this question, you should ascertain exactly what it is that makes a cybertank function and then decide how to implement that function. During most battle simulations, a cybertank must accomplish three basic tasks to be effective; moving around the battlefield, searching for an enemy, and eliminating the enemy. Each of these tasks is covered in detail in the fallowing sections.

6.6.3 Moving Around the Battlefield

Like a baby, a cybertank must learn to walk before life becomes very interesting. Movement is THE most basic function used in cybertank operation.

Before tackling cybertank movement, try a simple experiment. Close your eyes and put your hands in your Pockets. Now try to walk around the room. If you are like most people, you probably ran into a few walls, chairs, or other obstructions. What you just did is visually represented in Diagram 6.6.3.1.

Diagram 6.6.3.1 - Process flow of simple movements

As you can see, the above process does not require any thinking other than that used to move forward. From the experiment, you con also tell that the process is not very effective. To move more effectively, you should leave your eyes open and your hands out of your pockets. If that were the case, then the thought process could be depicted like that shown in Diagram 6.6.3.2.

Diagram 6.6.3.2 - Process flow of complex movements

The above diagram shows the flow of your thinking while attempting to move around a room.

To See how this flow diagram works, try a specific Situation. Suppose that you ore in the corner of a room. To your left is a wall and Straight ahead is a wall. So, starting at the top of the diagram and following the arrows, you ask yourself “Is Something in my way?” The answer is “Yes, there is a wall in my way”, therefore, you follow the arrow labeled ‘“YES” and then ask yourself, “Can I move the obstruction?” Since the obstruction is a solid wall, the answer is ‘“No.” Since the wall cannot be moved. follow the arrow labeled ‘“NO” and you turn either to the left or right and repeat the process.

Since a cybertank cannot physically pick up and move an object in its path, a commonly used technique is to attempt to destroy it. If after shooting on obstruction it is Still intact, then it is known to be an indestructible object (like a wall, fortified building or water) and the cybertank must move around it.

The result of converting all the above ideas into cybertank terminology is shown below in Diagram 6.6.3.3.

Diagram 6.6.3.3 - Process flow of cybertank movement

Once you have determined the thought process for some function, converting that process to CCL commands is a fairly simple process. For example, the above flow diagram can be written in CCL as follows:

A ==> SMARTMOVE
B ==>    DETECT OBSTRUCTION ATTANK DIRECTION
         IF MOVEMENT IS NOT OBSTRUCTED THEN BRANCH
            TO GO
C ==>    FIRE WEAPON AT OBSTRUCTION
D ==>    DETECT OBSTRUCTION ATTANK DIRECTION
         IF MOVEMENT IS NOT OBSTRUCTED THEN BRANCH
            TO GO
E ==>    TURN TANK LEFT 1
         BRANCH TO SMARTMOVE
F ==> GO
         MOVE TANK FORWARD 1
G ==>    RESUME

The letters along the left side correspond to the circled letters in the flow diagram. For example, the box labeled "B" represents the instructions “DETECT OBSTRUCTION ATTANK DIRECTION” a n d “IF MOVEMENT IS NOT OBSTRUCTED THEN BRANCH TO GO”. You may have noticed that the label “GO” was included. This is because all boxes that have more than one arrow coming into them need to be preceded by a label. Since box “F” can be entered from boxes “B” and "D", it needs a label.

When developing an idea to use in a cybertank’s AI, it is a good idea to use the following three step procedure:

  1. Determine the thought process required for you as a human to accomplish the goal.
  2. Convert your human thought process to that of a cybertank. Always keep in mind the limitations of a cybertank. In the above examples, a person could have picked up a chair and moved it out of his or her path. A cybertank does not have the luxury of arms with which to physically move objects; therefore, a cybertank must accomplish the needed action the best way it can. Since a cybertank cannot physically move the obstruction, it would attempt to shoot and destroy it.
  3. The last step in developing an AI routine is converting the thought process to CCL instructions that the cybertank can understand. If you use the type of flow diagrams shown in the above examples, this conversion process should be painless.

To aid in your design training, this three step procedure will be used in the next two sections.

The above SMARTMOVE routine is going to be an integral part of your first cybertank created from scratch, so go ahead and enter it into the AI editor and AUTHORlZE it. When Authorization is complete, proceed to the ECM. When the File Modification Panel (FMP) asks if you want to save the changes you have made to GAMMA, select YES.

Once you are in the ECM, proceed to the Simulation Design Module (SDM) and design a battle simulation using your new cybertank, GAMMA. Include all of the other tanks you have worked on in previous sections of this Training Guide. Choose Austin as the battlefield. Austin has a lot of trees and buildings which GAMMA will have to maneuver around, Save the simulation design as GAMMASIM.

After designing the simulation, proceed to the Combat Simulation Module (CSM) and select the GAMMASIM simulation design. If you did everything correctly, you should see GAMMA mooing around the battlefield. GAMMA should be shooting its way through trees and small buildings, but should be turning away from large buildings, brickwalls, and water. If GAMMA does not seem to function Correctly, go back to the Al Module and check the Al you entered.

After watching GAMMA for a while, you will notice that it does not search for enemy cybertanks and does not fight back when an enemy attacks it. That is because no A I has yet been designed to handle these situations. This is what will be covered in the next section.

At this time, proceed back to the Al Module.

6.6.4 Searching For an Enemy

Searching for an enemy cybertank is actually One of the easier tasks in designing Al. Think of a battle simulation as a game of “Hide and Seek.” Your cybertank is ‘“IT” and all the other cybertanks are somewhere out on the battlefield hiding. It is your job to find them.

If you were ‘“IT” in a game of hide and seek, how would you go about finding the other players? If you are like most people, you would go from area to area, always looking around YOU for any sight of a head bobbing up from behind a table or a foot sticking out from under the curtains. This thought process is depicted in Diagram 6.6.4.1.

Diagram 6.6.4.1 - Process flow of Hide and Seek

When converting the above process flow into cybertank terminology, you must take into account the differences between humans and cybertanks. Whereas a human has eyes, a cybertank has a scanner mechanism. It uses the scanner to “look” in a particular direction. If the scanner detects an enemy cybertank, it informs, the on-board computer system just as the eyes would inform the brain that a person has been seen hiding under a table. With this in mind, the above human thought process can be converted to cybertank terminology as shown in Diagram 6.6.4.2.

Diagram 6.6.4.2 - Process flow of Cybertank Search

There are several points regarding the cybertank thought process that bear further discussion. The box labeled “F” uses the SMARTMOVE routine which was designed in the previous section. It is analogous to the "Move to a new area and start looking again” box in the Hide and Seek thought process. By moving the cybertank forward (or possibly off in a new direction due to obstacles), it is better able to cover a larger area of the battlefield in search of enemy cybertanks than it would if it just sat in one place. Going back to the Hide and Seek example, if a human stayed in one spot continually looking for people, the game would never end.

Another item that warrants further discussion is Box “E”. Box “E” performs the same function as the “Have you already looked in this direction?” in the Hide and Seek thought process. Bon “E” is only true fan answer of yes) when the scanner has made a complete 360° revolution. When this is true, Box “F” will be performed and the whole process will repeat. Going back to the Hide and Seek example, assume that your head can rotate a complete 360" revolution. If you walked into a new area to search, you could continually scan the area for people as you slowly rotated your head. As soon as your head returned to its “normal” position (i.e., straight ahead), you would know that you had scanned the entire area and could therefore move on to another area. This same type of procedure can be used with cybertanks. By checking to see if the scanner is aligned with the chassis of the cybertank, it is possible to determine if the scanner has rotated 360°.

With these facts in mind, the above cybertank search process can be converted to CCL instructions as follows:

A ==> SEARCH
B ==>    SCAN FOR ENEMY TANK
C ==>    IF ENEMY TANK WAS FOUND THEN BRANCH TO
            ENDSEARCH
D ==>    ROTATE SCANNER LEFT 1
E ==>    IF TANK IS NOT ALIGNED WITH SCANNER THEN
            SEARCH
F ==>    DO SMARTMOVE
         BRANCH TO SEARCH
G ==> ENDSEARCH
         RESUME

Go ahead and enter this SEARCH routine into GAMMA's AI. Since this is a "routine", we need a few instructions which "use" or call it. You can accomplish this with the following lines:

START
   DO SEARCH
   BRANCH TO START

These lines should be the first instructions in GAMMA’s AI. Since the routine SEARCH exits (or ends) when an enemy cybertank is found, the BRANCH TO START instruction is used to send the cybertank’s on-board computer back to the beginning of the AI (the label START).

With these three lines, the SMARTMOVE routine, and the SEARCH routine entered into GAMMA's AI, GAMMA should be able to move around the battlefield searching for an enemy. At this time, go ahead and AUTHORIZE GAMMA. If your version of GAMMA did not AUTHORIZE properly, check your Al commands to make sure you entered them correctly.

Once you have an AUTHORIZED version of GAMMA, proceed to the Combat Simulation Module (CSM). When the File Modification Panel (FMP) asks if you want to save the changes you have made to GAMMA, select YES.

When the CSM asks which simulation to use, you should Select GAMMASIM.

Once the simulation begins, you will see GAMMA moving around the battlefield. Since your cybertank’s turret always rotates with the scanner, when a new direction is specified, you should see GAMMA's turret turning in a counter-clockwise direction. If GAMMA happens to detect on enemy cybertank, it will stop moving and continually scan in the direction of the detected enemy cybertank. This is because there is no Al in GAMMA that is designed to hunt or track down on enemy. As soon as the SEARCH routine detects an enemy cybertank, it exits and the on-board computer system returns to the line directly after the "DO SEARCH” instruction. Since the next instruction after the “Do SEARCH” is a “BRANCH TO START” instruction, the on-board computer system begins executing the instructions directly after the label "STAR". Since the instruction directly after the label “START” is “DO SEARCH", the computer system directs AI execution to the routine SEARCH. The first instruction in the SEARCH routine is “SCAN FOR ENEMY TANK”. At this point, there is a very good chance that the enemy cybertank found earlier will be found again. If the enemy cybertank is found again, then the SEARCH routine exits, the computer system directs AI execution back to the “BRANCH TO START” instruction, and the process repeats., In this situation, GAMMA’s on-board computer system will continue this loop until the enemy cybertank moves out of GAMMA's view. When (and if) the enemy cybertank moves out of GAMMA’s view, GAMMA will go back to its normal scanning pattern until it detects another enemy cybertank. To solve this problem, the next section describes the creation of a “HUNT” routine.

After watching GAMMA search for enemy cybertanks for a while, proceed to the Al Module to create the last basic function of a cybertank.

6.6.5 HUNTING THE ENEMY

Now that your cybertank is moving around the battlefield and searching for enemy cybertanks, it is time to tackle the last aspect of designing a cybertank from scratch -- hunting down and destroying the enemy.

Going back to the example game of “Hide and Seek,” assume that you not only have to find the people hiding, but you must also “tag” them before they make it back to home base. Under this situation, you must ask yourself “Once I have found someone, how do I get close enough to tag him?" If you are like most people, you would move in the direction in which you last sow the person. For example, if you walk into a room und see someone in the bock-right corner, you will begin moving towards the bock-right corner. As long as the person stays in that corner, you will continue moving towards him. If, however, the person sees you coming and starts to run away, you would change your direction of pursuit to follow the person. Once you move to Within arms-reach of the person, you would reach out and attempt to “tag” him.

The above human thought process could be represented like that shown in Diagram 6.6.5.1

Diagram 6.6.5.1 - Human thought process of tagging an opponent

When converting the above human thought process to that of a cybertank, you must remember that the purpose of the cybertank is to destroy the enemy, not simply “tag” it.

Converted to cybertank terminology, the above Diagram would look something like Diagram 6.6.5.2.

Diagram 6.6.5.2 - Process flow of cybertank HUNT

Your cybertank’s HUNT routine will only be called when the SEARCH routine (designed in Section 6.6.4) has succeeded in detecting a cybertank. It should be noted that the HUNT routine will abort if the enemy cybertank manages to elude it. In other words, if the HUNT routine loses sight of the enemy, it will abort and execution will go back to the SEARCH routine.

It should also be noted that a cybertank’s weapon has a maximum range of four (4) hectometers, therefore a cybertank must move very close to the enemy before firing at it is practical.

Once the cybertank process flow is created, it can be converted to actual CCL commands as follows:

A ==> HUNT
B ==>    SCAN FOR ENEMY TANK
C ==>    IF ENEMY TANK WAS NOT FOUND THEN BRANCH
            TO HUNTDONE
D ==>    IF ENEMY TANK IS BEYOND WEAPON RANGE THEN
            BRANCH TO CLOSEIN
E ==>    FIRE WEAPON AT ENEMY TANK
         BRANCH TO HUNT
F ==> CLOSEIN
         TURN TANK TO FACE ENEMY TANK
G ==>    DO SMARTMOVE
         BRANCH TO HUNT
H ==> HUNTDONE
         RESUME

Go ahead and enter this HUNT routine into GAMMA’s AI. Since this is another routine, you need another instruction to “use” or call it when necessary. This is accomplished by inserting the line "DO HUNT” before the “BRRNCH TO START" instruction at the beginning of GAMMA’s AI. The beginning of GAMMA's AI should look like the following:

START
DO SEARCH
DO HUNT
BRANCH TO START

With these instructions, the SMARTMOVE routine, the SEARCH routine, and the newly created HUNT routine entered into GAMMA's AI, GAMMA will now be able to move around the battlefield, search for enemy cybertanks, move towards any enemy cybertanks found, and attempt to destroy them. At this time, go ahead and AUTHORIZE GAMMA. If your version of GAMMA does not AUTHORIZE properly, check all of your AI commands to make sure you have entered them correctly.

Once you have an AUTHORIZED version of GAMMA, proceed to the Combat Simulation Module (CSM). When the OSI/CACD system 2 asks if you want to save the changes you have made to GAMMA, select YES.

When the CSM asks which simulation is to be used, you should select GAMMASIM.

once the simulation begins, you should see GAMMA moving around the battlefield searching for enemy cybertanks. When GAMMA detects an enemy cybertank, It should turn to face it and begin moving towards it. Remember, if an obstruction blocks GAMMA's scanner the HUNT routine will “give up” end quit hunting. At that point, GAMMA will resume searching for other enemy cybertanks. Once GAMMA finds a clear path to an enemy cybertank, it should move to within weapon range (4 hectometers) and then begin firing. GAMMA will continue to fire at the enemy cybertank until one of three conditions is met: 1) GAMMA is destroyed, 2) the enemy cybertank is destroyed, or 3) the enemy cybertank moves in such a way that it is no longer detected by GAMMA. Of course, the condition we are most interested in is the destruction of the enemy cybertank.

After watching GAMMA search for enemy cybertanks and (hopefully) destroy a few, pat yourself on the back for a job well done. You have successfully designed and implemented a cybertank from scratch. You have seen what it takes to Create a cybertank without the use of library Capsules and you have done well. If you keep in mind the three steps outlined in the previous sections in regards to creating a cybertank’s Al, you will do very well when creating future cybertank designs. Remember to always ask yourself the basic question “If I were a cybertank, what would I do?”

6.7 GOING AT IT ALONE

Now you are ready to design your own cybertanks using the Full Custom Design techniques discussed in the previous three sections. Use what you have learned to design the best AI you can. Borrow ideas from other designs and add your own. Remember to use the three step procedure outlined in the above sections.

  1. Determine the thought process necessary for a human to accomplish the task.
  2. Convert the human thought process to that of a cybertank.
  3. Convert the cybertank thought process to actual CCL commands.

You will probably have problems getting your first few designs authorized. If this happens, do not panic. Check your commands carefully and try again.

Once your cybertank design has been successfully authorized, save it. Next, you should create a new simulation design using your new cybertank as the primary cybertank, and with GAMMA, ALPHA, BETA, and VIPER as the other cybertanks. Choose a battlefield and save the simulation design.

Run the simulation and see how your new cybertank fares.

If you do not like it, transfer back to the Design Control Module (OCM) and improve it. Testing your cybertank design is the topic of the next section.

SECTION 7 – TESTING A CYBERTANK

SECTION BRIEF - This section describes the Cybertank Test Module (CTM), the Primary diagnostic tool for design problems.

7.1 THE CYBERTANK TEST MODULE.

OSI/CACD System 2 includes a facility used for testing cybertanks known as the Cybertank Test Module (CTM). The CTM is particularly helpful when a cybertank is not behaving as the designer intended. Such discrepancies are usually due to incorrectly formulated Al, and are known as “bugs”. The CTM is commonly referred to as the “debugger.”

7.1.1 loading the Simulation Design

In order to test a cybertank, you must first have a simulation design in which the cybertank to be tested is the Primary Cybertank. In this section, GAMMA will be tested using the simulation design GAMMASIM.

To begin testing your cybertank, select TEST CYBERTANK from the DESIGN menu. When the File Retrieval Panel (FRP) appears, select GAMMASIM.

7.1.2 The CTM Control Panel

After you Select the simulation design to be used for testing, the OSI/CACD loads the related cybertanks and battlefield, then transfers you to the CTM. The CTM automatically starts the simulation. The CTM is actually an extensively modified version of the Combat Simulation Module (CSM).

The CTM differs from the CSM in several ways. The instrument panel has been replaced by a display area, and the SIMULATE menu has been replaced by the DEBUGGER menu. The CTM operates in one of two modes – Trace Mode and Status Mode. The mode can be toggled by selecting and deselecting TRACE MODE ON from the DEBUGGER menu.

NOTE: If during the following sections of the Training Guide, GAMMA gets destroyed, select RESTART from the DEBUGGER menu.

7.2 TRACE MODE

When the CTM is in Trace Mode, as it is now, the display a r e on the right side of the screen shows the cybertank’s AI. The upper part of this display area shows the cybertank number and name (currently #01: GAMMA), and the label of the section of Al currently being executed. The lower part of this display area shows the cybertank’s “thoughts”.

A great deal can be learned by watching the cybertank’s behavior on the battlefield while examining its Al being processed. Trace Mode allows you to see the cybertank’s commands as they are being processed.

7.2.1 Pausing the Test

Press the PAUSE key to pause the test. The PAUSE key works the same way in the CTM as It does in the CSM. That is, pressing it toggles the pause mode on and off. See the OSI/CACD System 2 Reference Card to determine the PAUSE key for your particular terminal type.

7.2.2 Single Stepping

When the test is paused, pressing the STEP key causes the test to run just long enough to process one CCL command, after which the test remains paused. This allows you to examine the AI and its effects one command at a time. This feature is known as single stepping. See the OSI/CACD System 2 Reference Card to determine the STEP key for your particular terminal type.

Experiment with pausing and single stepping now.

7.3 STATUS MODE

Status Mode lets you examine the cybertank’s current status registers. These status registers are comprised of various System and User Variables used by the cybertank. User variables and certain System Variables can be altered for testing under specific conditions.

7.3.1 Selecting Status Mode

Change from Trace Mode to Status Mode by deselecting TRACE MODE ON from the DEBUGGER menu. The display area on the right side of the screen shows one of several different pages of status registers.

Note: When Trace Mode is on, you will notice a check mark in the Debugger menu. When Trace Mode is off, the check mark is removed.

Three groups of System Variables are displayed on the current page. Use the PAGE SELECT keys to view other pages. Consult the OSI/CACD System 2 Reference Card to determine which keys to use on your terminal.

7.3.2 Changing Status Registers

it is sometimes useful to change the value of a specific status register while testing a cybertank. This can help you check the cybertank’s response to a particular situation. Status registers can only be altered when you have paused the test.

Note: Not ail of the status registers can be altered. Consult Part 2, Section 5.5 of the Engineer’s Handbook to determine which registers can be altered.

TO alter a status register, first use the PAGE SELECT keys until the appropriate register is displayed. Next, select the register by using either a mouse/joystick or the REGISTER SELECT keys (consult the OSI/CACD System 2 Reference Card to determine which keys to use on your terminal). The current value of the status register is highlighted. Finally, enter the new value using the keyboard and press RETURN.

Note: Most status registers have restrictions on what value can be entered. For example, the X-location of the cybertank ranges from l-62. Entering a value larger than 62 is invalid.

Experiment with changing status registers. Changing the X location and Y Location under TANK relocates the cybertank to the new location entered.

When you are finished testing your cybertank, select EXIT from the DEBUGGER menu. The OSI/CACD transfers you to the ECM.

SECTION 8 - CLEARANCE EVALUATION

SECTION BRIEF - This section describes procedures used in obtaining a Clearance Evaluation.

8.1 PROMOTION CRITERIA

As an OSI employee, you may request an evaluation at any time. The Cybernetic Engineering Division of OSI uses employee performance as the sole criterion for advancement. Promotions are accompanied by an automatic Clearance Level upgrade and an increased budget.

To aid OSI management in making objective performance assessments, an automated system for evaluating cybertanks has been installed in the OSI/CACD System 2. When you request a Clearance Evaluation, you are required to submit a cybertank design as an example of your work.

Your cybertank will be subjected to ten (10) simulated battles - against a cybertank created by OSI, and on a battlefield created by OSI. If your cybertank design is adequate (wins at least 7 out of the 10 battles), as demonstrated by its success in combat, the Director will approve your promotion.

8.2 REQUESTING A CLEARANCE EVALUATION

You may request a Clearance Evaluation electronically. through your terminal. Select CLEARANCE EVALUATION from the EMPLOYEE menu. The File Retrieval Panel (FRP) appears. You should then select your best authorized cybertank for evaluation.

8.3 THE EVALUATION PROCESS

After you have selected your cybertank, the OSI/CACD loads your cybertank, an OSI cybertank, and an OSI battlefield. The OSI cybertank is your cybertank’s enemy during the evaluation. A modified version of the Combat Simulation Module (CSM) is used to perform the evaluation. Most of the functions of the standard CSM, such as the satellite view, ore available under the EVALUATION menu.

To complete the evaluation process as quickly as possible, you can turn off the sound and graphics. It is advisable, however, to examine the battles closely to identify the enemy’s weaknesses.

8.4 PROMOTION APPROVAL

When your evaluation is complete, an official OSI Employee Evaluation Report is filed. The Printer Setup Panel (PSP) appears and you can display the report on your terminal screen or send it to your printer (if one is connected). For more information regarding the PSP, please refer to the OSI/CACD System 2 Reference Card.

If your cybertank fared well (wins at least 7 of the 10 battles), the report is stamped “Promotion Approved," and your Clearance Level is raised accordingly. If not, do not be discouraged. Your skills will improve with experience.

8.5 TIME FOR A VACATION

Congratulations. You are now conversant in the basics of cybernetics. YOU have completed the OSI training program in record time, and your accomplishments have been noted. The Director has granted you a two-week vacation. Enjoy it if you can!

Toadstool's Home | Contact © 2003 Toadstool's Game Shrines. All Rights Reserved.