homepage

Think I'm coming out of my mid-life stupor / some Fleet Defender source

Posted By: MarkG

Think I'm coming out of my mid-life stupor / some Fleet Defender source - 02/05/23 12:34 AM

I wouldn't call it a 'crises' because I didn't do any of that stupid stereotypical crap (hairpiece / sports car / cheat). In fact, my experience has been positive (health and marriage), more of a life-course correction I made almost 15 years ago which I plan to stay on. But now I want to permanently (not another false start) embrace some hobbies that once brought me joy (triggered by a new cheap guitar). And modern-era flight sims bring me joy.

So I thought I'd start (again) with MicroProse's Fleet Defender which IMO is one of the more polished sims. Already I've progressed further than ever with the intention of successfully completing all campaigns.

++++++++++

But going through my old dusty archives, I found some weird stuff, and I don't even know how I got it (or how many years/decades ago).

Like some interesting C files from Fleet Defender...

==========

SUPPORT.C
"// DON'T USE THIS! USE SCOTT'S ARCTAN ROUTINE. MUCH MORE ACCURATE!!"

Yo Scott, you still around? Feeling nostalgic?! biggrin
==========

BOATS.C
/* File: boats.c */
/* Author: Scott Elson */
/* */
/* Game logic for Fleet Defender: boat behaviors */

Partial file, unformatted C code

#include <stdio.h>
#include <stdlib.h>
#include <bios.h>
#include <dos.h>
#include "library.h"
#include "planeai.h"

#include "world.h"
#include "behave.h"

#include "sdata.h"
#include "Cockpit.h"
#include "f15defs.h"
#include "speech.h"
#include "armt.h"
#include "proto.h"
#include "setup.h"
#include "carr.h"

#define CHECKBASES 75

int whichourcarr; // holds value for which boat our carrier
int boatnum; // index of this boat in "ps" array
int junktime = -999;

extern int friendfire;
extern int enemyfire;
extern int firstbehaveshow;
extern UBYTE lastadded;
extern long oldFPX;
extern long oldFPZ;
extern UWORD oldAltval;
extern int olddog;
extern char Txt[];
extern COORD xydist ();
extern long LMul ();

extern COORD Px,Py;
extern long PxLng, PyLng;
extern int OurHead,OurRoll, OurPitch;
extern UWORD AirSpeed;
extern SWORD Knots;
extern UWORD Alt;
extern int Demo;
extern int FIRST_ENEMY_TRACE,DMAX9;
extern int TSpeed;

extern int Rtime;
extern int PovMisl;
extern int detected, atarg;
extern COORD xlast[],ylast[];
extern int zlast[];
extern int Rcolor;
extern int CloseBase[],CloseDist[];
extern int CloseGuy;
extern int Iflew;
extern int LastRate;
extern int REALFLIGHT;
extern int RunwayLeftX;
extern RPS *Rp3D;


extern struct PlaneData far *GetPlanePtr(int PlaneNo);
extern struct PlaneData far *ptype;


extern int planecnt; // used since somebody desided to make i static
// and after the planes file grew to more than
// 5000 lines I got sick of it and desided to
// kludge something so I could split the file.
// I kept I static in this file so wouldn't
// infect something else

extern int pdest; // pitch angle to plane's destination

extern int droll; // delta roll this frame

extern int AIWingMan;

extern int tempvar;
extern int tempbehavevar;
extern struct _path_ aipaths[];
extern struct _wayPoint_ aiwaypoints[];
extern struct _action_ aiactions[];
extern int PlanesLaunched;
extern int Fticks;
extern int Speedy;

extern struct FPARAM{
long X;
long Y;
long Z;
long VEL[3];
int MAT[9];
} FPARAMS;

extern carriers far carrier;
extern int ONTHECAT;
extern int ONTHEHOOK;

//***************************************************************************
void doboats()
{
int i;
int maxrollval;
struct Planes *psi; // pointer into "ps" structure array for this boat
long cdx, cdy;
int orgbasespeed;

int z, n;

// return;

for (i=LASTPLANE, psi=(ps + LASTPLANE); i<MAXPLANE; i++, psi++) {
boatnum = i;
planecnt = i;

if (ps[boatnum].status & ALIVE) {
UpdateI(planecnt);

// ptype = p + ps[boatnum].type;

ptype = GetPlanePtr(ps[boatnum].type);


if (ps[boatnum].status&ACTIVE) { /* Planes in the air */

orgbasespeed = bv[i].basespeed;

#ifdef SHOWBEHAVIORS
if((tempvar) && (i >= firstbehaveshow) && (i < (firstbehaveshow + 4)))
ShowWhichBehave(i);
#endif

if((Rtime & 7) == (i & 7))
bv[i].Behavior();
else
droll = 0;

if(bv[i].Behavior == AIGoHome)
droll = 0;

if(bv[i].behaveflag & DAMAGECONTROLSURFACE) /* Control Surfaces Damaged */
droll /= 2;

droll = rng2(droll, -ptype->maneuver<<9, ptype->maneuver<<9);

// if (ps[boatnum].status & CRASH) droll = 4<<8;

ps[boatnum].status &= ~PANIC;

if(ps[i].status & PITCHUP)
bv[i].basespeed = orgbasespeed;

AvoidLand();

UpdateBoatHeadPitchRoll (i);

UpdateBoatSpeedAndPosition (i);

if ((Rtime%(FrameRate*4) == (i&3)*FrameRate)) {
if (!(ps[boatnum].status&CRASH)) {
// boatsearching ();
search();
}
}

if((!(bv[i].behaveflag & ENEMYNOFIRE)) && (ptype->gun != 0)) {
CheckBoatGunFiring();
}

if(i == whichourcarr) {
#if 0
if(tempvar)
bv[whichourcarr].verticlesep ++;
#endif
cdx = carrier.x;
cdy = carrier.z;
UpdateOurCarrier(i);
cdx = carrier.x - cdx;
cdy = carrier.z - cdy;
UpdateAIsOnCarrier(i, cdx, cdy);
}

} else {
ps[i].speed = 0;
}
}
else {
ps[i].speed = 0;
}
}
if(tempvar)
firstbehaveshow += 4;
if(firstbehaveshow >= MAXPLANE)
firstbehaveshow = 0;
}

/*----------*/
void UpdateBoatHeadPitchRoll (int bnum)

==========

PLANES2.C
/* File: Planes2.c */
/* Author: Scott Elson */
/* */
/* Game logic for Fleet Defender: plane behaviors */
==========

With some Stealth stuff in the FD source...
FLIGHT2.C
/************************************************************************
* *
* Project: Stealth Fighter(TM) *
* *
*<t> Flight Equations *
* *
* Author: Jim Synoski *
* Written: Jan 1988 *
* Last Editted: Jan 22,1988 *
* *
* Copyright (C) 1988 by MicroProse Software, All Rights Reserved. *
* *
************************************************************************/
==========

And check this out...
3DOBJECT.C

/*----------*/
/*
/* File: 3DObject.C
/*
/* Auth: Andy Hollis 11/25/87 <<<<< Amazing !!!
/*
/* Edit: Hacked yet again for F15 III, AWH - 8/92
/* AND YET AGAIN FOR F-14, MJM 4/93
/*
/* Routines to draw a 3D object. - NOT!!
/*
/*----------*/
==========

I believe I have only a little of the source, but still interesting to look at.
One more, this time posting the complete file...

RADARS.C

/* File: Radars.c */
/* Author: Sid Meier */
/* */
/* Game logic for Stealth: enemy radars */
/* */

#include "library.h"

#include "world.h"
#include "sdata.h"
#include "Cockpit.h"
#include "sounds.h"
#include "f15defs.h"
#include "awg9.h"
#include "speech.h"
#include "planeai.h"
#include "setup.h"

#define NM10 475

extern int timetargetplayer;
extern long PxLng;
extern long PyLng;
extern COORD Px,Py;
extern UWORD Alt;
extern int CloseDist[];
extern int detected;
extern COORD xlast[],ylast[];
extern int zlast[];
extern int pulse,pulsee;
extern int Rtime;
extern int JAMMER[];
extern int FTicks;

int CloseGuy;
int DMAX9;

int LastSpike;
int LastMud;

extern struct PlaneData far *GetPlanePtr(int PlaneNo);
extern struct MissileData far *GetMissilePtr(int MissileNo);
extern struct RadarData far *GetRadarPtr(int RadarNo);


//***************************************************************************
// Process enemy ground radar sites
doradar()
{
int i;
struct Radars *r;

if (LastSpike) LastSpike -= FTicks;
if (LastMud) LastMud -= FTicks;

// determine active radar

// Make sure that the Rdrs array is set up properly before this
// is working

// for (i=0; i<NERADAR; i++) {
for (i=0; i<NRADAR; i++) {
r = Rdrs + i;
r->status &= ~RACTIVE;
if (r->rclass != RL_NONE && !(r->status&DESTROYED)) {
--r->pause;
if (r->pause < 0) {
// r->pause = 256*FrameRate/(32+(r->alert>>2))+i;
r->pause = 512*FrameRate/(32+(r->alert>>4))+i;
}
else if (r->pause == 0) {
r->status |= RACTIVE;
detect (i);
}
}
}
}

//***************************************************************************
// Radar detection check
detect(int i)
{
COORD dist,xydist();
int signal,j,k,angl,a,m;
long x,y;
int targetnum;
struct RadarData far *tempradar;
struct MissileData far *tempmissile;
long ldist;
int gtnum;


// check if returning a signal

// SCOTT - The radar list needs to be read in like the new data list stuff
// A radar list is built and the various types are stored

j = Rdrs[i].rclass;
tempradar = GetRadarPtr(j);
signal = Rsignal (Rdrs[i].x,Rdrs[i].y,0, j,&angl,&dist, Rdrs[i].status & (FRIENDLY|NEUTRAL), &targetnum);

if(targetnum < -1)
return(0);

if (!Night && dist <= 2) { // visual
signal = dist+1;
Rdrs[i].alert = 255;
}

// check if detected

if (signal>dist) {
if (Rdrs[i].alert + (5<<Diff) <256) {
Rdrs[i].alert += (5<<Diff);
} else {
Rdrs[i].alert = 255;
}

if (Rdrs[i].alert>127) {
tempgotcha = 1;
gotcha(targetnum);
tempgotcha = -999;
if (!(Rdrs[i].status&RTRACK) && (tempradar->detectiontype==RADAR)) {
if (!(Damaged&D_ECM)) {
if(targetnum == MAXPLANE)
Sound(N_RadarSearch, 1,0);
if (CloseGuy==0 && !LastMud) {
Message("Singer!",RIO_MSG);
Speech(SINGER);
LastMud = 8*60;
}
}
}
Rdrs[i].status |= RTRACK;
}

if (!(Rdrs[i].status&RTRACK) && (tempradar->detectiontype==RADAR)) {
if (!(Damaged&D_ECM)) {
if(targetnum == MAXPLANE)
Sound(N_RadarSearch, 1,0);
if (CloseGuy==0) {
TEWS_SPOTTED (i); // set TEWS display
if (!(Rdrs[i].status&RSEEN) && !LastSpike) {
Message("Spike!",RIO_MSG);
Speech(SPIKE);
LastSpike=8*60;
}
}
}
}

Rdrs[i].status |= RSEEN;

// SAM WILL BE FIRED IF:
// 1) MISSILE IS ASSOCIATED WITH RADAR INSTALLATION
// 2) NOT OUT OF MISSILES
// 3) RADAR ALERT LEVEL IS HIGH ENOUGH
// 4) PLAYER IS NOT CLOSE TO FRIENDLY BASE
// 5) PLAYER IS WITHIN MISSILE ENVELOPE

// m = r[j].mtype;
tempmissile = GetMissilePtr(tempradar->missiletype);
a = (CloseGuy ? ps[targetnum].alt : Alt);

if (tempradar->missiletype == ML_NONE) return 0; // 1)
if (Rdrs[i].status & NOAMMO) return 0; // 2)
if (Rdrs[i].alert <= 250) return 0; // 3)
/* if (CloseDist[CloseGuy]<NM10) return 0; */ // 4)
if (dist > tempmissile->range) return 0; // 5)
if (dist < tempmissile->minrange) return 0; // 5)
if (a > tempmissile->maxalt*3281L/4) return 0; // 5)

if (JAMMER[CloseGuy]) {
if (tempradar->jam>(Rtime+i)%10) return 0;
}

x = (long)(Rdrs[i].x + 8)<<HTOV;
y = (long) Rdrs[i].y<<HTOV;

if (tempmissile->homing==IR_1 && !CheckTailAspect (x, y)) return 0;


// k= (Diff ? i%Diff : 0) + 15; // planes use the first fifteen slots
k = FindEmptyMissileSlot2 (NPSAM, NESAM, i);


if(k == -1)
return(0);

if (ss[k].dist != 0) return 0; // NO OPEN SLOTS

Rdrs[i].alert -= 50<<(3-Diff);

ss[k].x = x;
ss[k].y = y;
ss[k].alt = 25;
ss[k].speed = 1;
ss[k].head = angl;
ss[k].pitch = 0x4000;
ldist = (long)tempmissile->range*(825/8);
ss[k].dist = (int)ldist;
ss[k].type = tempmissile->MissileEnumId;
ss[k].source = i;
ss[k].srctype = 0;
// ss[k].target = CloseGuy?0:MAXPLANE;
ss[k].target = targetnum;
ss[k].tgttype = 1;
ss[k].losing = 0;

gtnum = GetRadarGTNum(i);

LogIt (SLG_GROUND_MISSILE_LAUNCH, gtnum, x, y, 1, -999, tempmissile->MissileEnumId, 0L, LOG_GRND);

if (CloseGuy==0) {
Sound(N_RadarLock, 1,0);
Message("Singer Launch!",RIO_MSG);
Speech(SINGERLAUNCH);
}

if(CloseEnoughFor(SLOWSTUFF, (int)(x>>HTOV), (int)(y>>HTOV)))
NoAccel();

if (rnd (tempradar->missilecount) == 0) { // OUT OF MISSILES?
Rdrs[i].status |= NOAMMO;
return 0;
}
} else {
Rdrs[i].status &= ~RTRACK;
Rdrs[i].status &= ~RSEEN;

if (Rdrs[i].alert >= (2<<(3-Diff))) {
Rdrs[i].alert -= (2<<(3-Diff));
} else {
Rdrs[i].alert = 0;
}

}
}

//***************************************************************************
// General radar detection algorithm for ground radars and planes
Rsignal(COORD x,COORD y,int z, int type,int *ang,int *dst,int isfriend,int *targetnum)
{
COORD dist,dist1,xydist();
int dx,dy,dx1,dy1;
int signal, alt, DeadZone, cap;
int founddist, cnt;
int friendflag;
struct RadarData far *tempradar;

*targetnum = -999;
founddist = 0;

/* Calculate signal strength */
if(isfriend != FRIENDLY) {
founddist = 1;
dx = Px-x;
dy = Py-y;
dist = xydist(dx,dy);
CloseGuy=0;
*targetnum = MAXPLANE;
}

for (cnt=0; cnt<NPLANES; cnt++) {
if ((ps[cnt].status & ALIVE) && (ps[cnt].status&ACTIVE) && (!(ps[cnt].status&(CRASH|CIVILIAN))) && (ps[cnt].speed)) { /* Planes in the air */
if(!FriendMatchType(cnt, isfriend)) {
dist1 = xydist(dx1=ps[cnt].x-x, dy1=ps[cnt].y-y);
if ((dist1<dist) || (!founddist)) {
founddist = 1;
dist=dist1;
dx = dx1;
dy = dy1;
CloseGuy=1;
*targetnum = cnt;
}
}
}
}

*dst = (int)((long)dist*32/825); // convert to Km
*ang = angle (dx,-dy);

tempradar = GetRadarPtr(type);

signal = tempradar->range;

if(!founddist)
*targetnum = -999;

// dead zone for ground-based radar only

if (z==0 && tempradar->detectiontype == RADAR) {
alt = (CloseGuy?ps[*targetnum].alt:Alt);

// Dead Zone is approx: Capped at:
// Level 3 - 1013 ft per 10NM 10000 ft
// Level 2 - 1216 ft per 10NM 12000 ft
// Level 1 - 1500 ft per 10NM 14000 ft
// Level 0 - 2026 ft per 10NM 16000 ft

if (dist<475) dist = 475; // min dist 10 NM
DeadZone = ((long)dist<<HTOV)/(30+(Diff*10));
cap = 4000 - (Diff*500);
if (DeadZone > cap) DeadZone = cap;
if (DeadZone > alt) signal = *dst;
}

if ((AWG9_REALITY_LEVEL==AWG9_AUTHENTIC) && AWG9_SNIFF && Diff>=2) {
signal -=signal*2/8; // reduce range by Diff factor
} else {
signal -=signal*(3-Diff)/8; // reduce range by Diff factor
}

return signal;
}

//***************************************************************************
// We've been detected !! (Arghhhh)
gotcha (int targetnum)
{
int i;

detected = FrameRate<<8;
DMAX9 = FrameRate<<6;

if (targetnum != MAXPLANE) {
if((ps[targetnum].status & CRASH) || (!((ps[targetnum].status & ALIVE) && (ps[targetnum].status & ACTIVE))))
return(0);
xlast[1]=ps[targetnum].x;
ylast[1]=ps[targetnum].y;
zlast[1]=ps[targetnum].alt;
InterceptControl(targetnum);
ps[targetnum].time = Gtime; /* Us this to tell us last time plane detected */

} else {
xlast[0]=Px;
ylast[0]=Py;
zlast[0]=Alt;
InterceptControl(-1);
// bv[0].behaveflag &= ~ENEMYNOFIRE;
timetargetplayer = Gtime;
}

// Make sure the Rdrs array is setup properly before turning this on
// for (i=0; i<NTARGET; i++) {
for (i=0; i<0; i++) {
if (Rdrs[i].rclass!=RL_NONE) {
Rdrs[i].alert = rng (Rdrs[i].alert, 10<<Diff,255);
}
}
}

//***************************************************************************
// General radar detection algorithm for ground radars and planes
// When looking at only one specific plane
int RsignalOne (COORD x,COORD y,int z, int type,int *ang,int *dst,int isfriend,int targetnum)
{
COORD dist,dist1,xydist();
int dx,dy,dx1,dy1;
int signal, alt, DeadZone, cap;
int friendflag;
struct RadarData far *tempradar;

if(targetnum < -1){
tempradar = GetRadarPtr(type);
signal = tempradar->range;

*dst = signal + 100;
*ang = 0;

return(signal);
}

/* Calculate signal strength */
if((!isfriend) && (targetnum == -1)) {
dx = Px-x;
dy = Py-y;
dist = xydist(dx,dy);
CloseGuy=0;
}

if(targetnum >= 0) {
if ((ps[targetnum].status & ALIVE) && (ps[targetnum].status&ACTIVE)
&& (!(ps[targetnum].status&(CRASH|CIVILIAN))) && (ps[targetnum].speed)) { /* Planes in the air */
if(!FriendMatchType(targetnum, isfriend)) {
dist1 = xydist(dx1=ps[targetnum].x-x, dy1=ps[targetnum].y-y);
dist=dist1;
dx = dx1;
dy = dy1;
CloseGuy=1;
}
}
}

*dst = (int)((long)dist*32/825); // convert to Km
*ang = angle (dx,-dy);

signal = tempradar->range;

// dead zone for ground-based radar only

if (z==0 && tempradar->detectiontype == RADAR) {
alt = (CloseGuy?ps[targetnum].alt:Alt);

// Dead Zone is approx: Capped at:
// Level 3 - 1013 ft per 10NM 10000 ft
// Level 2 - 1216 ft per 10NM 12000 ft
// Level 1 - 1500 ft per 10NM 14000 ft
// Level 0 - 2026 ft per 10NM 16000 ft

if (dist<475) dist = 475; // min dist 10 NM
DeadZone = ((long)dist<<HTOV)/(30+(Diff*10));
cap = 4000 - (Diff*500);
if (DeadZone > cap) DeadZone = cap;
if (DeadZone > alt) signal = *dst;
}

if ((AWG9_REALITY_LEVEL==AWG9_AUTHENTIC) && AWG9_SNIFF && Diff>=2) {
signal -=signal*2/8; // reduce range by Diff factor
} else {
signal -=signal*(3-Diff)/8; // reduce range by Diff factor
}

return signal;
}
Posted By: MarkG

Re: Think I'm coming out of my mid-life stupor / some Fleet Defender source - 02/07/23 07:09 PM

Just a heads up...

I'm currently using speech-to-text to create a Word doc of the complete Fleet Defender Strategy Guide. I'm doing it this way for a few reasons:

1. 80+% of Guide is campaign/mission walk-throughs with pics solely of easily recreatable mission map screens (no in-play screens, although I may add some later). Guide info is almost all text-based.

2. The few illustrations are very simple and easily recreatable using AutoCAD.

3. When I lived in Jax, FL I had a place to take my EF2000, F-22 ADF, TAW and F-117A Manuals to have the spines removed for PDF scanning. Does Kinkos even exist anymore? I don't believe I ever unpacked my scanner from last move.

4. I'm going to like having an editable version of the Guide to forever keep it an active project. I'll release when done.
Posted By: PanzerMeyer

Re: Think I'm coming out of my mid-life stupor / some Fleet Defender source - 02/07/23 07:14 PM

Originally Posted by MarkG
Does Kinkos even exist anymore? .



You piqued my interest.

https://en.wikipedia.org/wiki/FedEx_Office


It's known as "FedEX Office" now. FedEx bought Kinkos in 2004 and eventually dropped that brand name.
Posted By: Arthonon

Re: Think I'm coming out of my mid-life stupor / some Fleet Defender source - 02/08/23 12:34 AM

I used to go to Kinko's to print out stuff on a laser printer for some graphics I produced for a small software company. Back when the cheapest laser printer you could buy was a few thousand dollars. Now I have a full-color laser printer in my house that I paid less than $300 for.
Posted By: MarkG

Re: Think I'm coming out of my mid-life stupor / some Fleet Defender source - 02/08/23 01:59 AM

Oh yeah, laser is the way to go (recently purchased my first laser printer, but B&W).

++++++++++

For anyone still interested in Fleet Defender, here's a teaser of the beginning of the Strategy Guide in txt format (after quick clean-up, speech-to-text kinda iffy..."-" marks new paragraph)...


FLEET DEFENDER
THE OFFICIAL STRATEGY GUIDE

by Bruce C. Shelly

CONTENTS
***********

CHAPTER 1 INTRODUCTION
DESIGNING FLEET DEFENDER
Simulating the F-14
Wingman and Squadron
The Artificial Intelligence
Missions
THE OFFICIAL STRATEGY GUIDE
Description
Using the Guide

CHAPTER 2 RADAR
RADAR OPTIONS
Standard Mode
Standard Search Mode
Standard Track Mode
Moderate and Authentic Modes
Pulse Doppler Search (PDSRCH)
Pulse Doppler Single Target Track (PDSTT)
Range While Search (RWS)
Track-While-Scan-Automatic (TWS-A)
Track-While-Scan-Manual (TWS-M)
Boresight (BRST)
Vertical Scan Lockdown (VSL)
RADAR SCANNING
AWG-9 Scan Patterns
Scan Pattern Parameters
Moderate Mode Scan Patterns
Authentic Mode Scan Patterns
ACHIEVING TARGET LOCKON
Standard Mode Lockdown
PDSRCH and RWS Lockon
Losing Radar Lock
RADAR TIPS AND TROUBLESHOOTING
In General
Radar Screen Explanations
Radar Cross Section
RIO Assistance Levels
Using TWSA and TWSM Modes
Activation and Setting Scan Patterns
Target Identification
Target Designation
Reading Target Information
Launching Missiles
Data Link Targets
Using Combat Maneuver (ACM) Radar Modes

CHAPTER 3 AVIATOR NOTES
STARTING A MISSION
Preflight Checklist
Postlaunch Checklist
AIR-TO-AIR WEAPONS
AIM-54 Phoenix
Sparrow
Sidewinder
Guns
AIR COMBAT
General Tips
Corner Velocity
Enemy Pilots
Fighting the Weirdos
T-28
Dragon
TBF Avengers
Flying Saucer
GENERAL PILOT TIPS
Target Identification
Tracking Information
Television Camera System (TCS)
Reverse Tactical View
The Big Picture
Fuel Management
Drop Tanks
Efficient Fuel Line
Landings
SQUADRON MANAGEMENT
Sharing the Experience
Using Your Wingman
Fighting Position
Sanitize
Attack My Target
Go Tactical
Loose Goose
SOVIET SCRAMBLES

CHAPTER 4 OCEANA MISSIONS
FLEET READINGS TRAINING
RADAR TRAINING
Formation Identification Sorties
Target Identification Sorties
ADVANTAGED DACT SORTIES
One-On-One Advantaged DACT Sorties
One-On-Two Advantaged DACT Sorties
NEUTRAL DACT SORTIES
One-On-One Neutral DACT Sorties
One-On-Two Neutral DACT Sorties
DISADVANTAGED DACT SORTIES
One-On-One Disadvantaged DACT Sorties
One-On-Two Disadvantaged DACT Sorties
MISCELLANEOUS DACT SORTIES
WINGMAN TRAINING SORTIES

CHAPTER 5 POWDER KEG
SITUATION AND MISSIONS

CHAPTER 6 EL DORADO CANYON
SITUATION AND MISSIONS

CHAPTER 7 CARRIER DUEL
SITUATION AND MISSIONS

CHAPTER 8 FIGHTING WITHDRAWAL
SITUATION AND MISSIONS

CHAPTER 9 RETURN TO NORWAY
SITUATION AND MISSIONS

CHAPTER 10 ASSAULT ON THE KOLA PENINSULA
SITUATION AND MISSIONS

CHAPTER 11 KHYBER RIFLES
SITUATION AND MISSIONS

CHAPTER 12 INDIAN OCEAN CRUISE
SITUATION AND MISSIONS

CHAPTER 13 INDIAN ROPE TRICK
SITUATION AND MISSIONS

CHAPTER 14 RETURN TO ROK
SITUATION AND MISSIONS

CHAPTER 15 PUSH ‘EM BACK
SITUATION AND MISSIONS

CHAPTER 16 PICK A CARD
SITUATION AND MISSIONS



ACKNOWLEDGMENTS
**********************

Late in 1993, Larry Russell of MPS Labs, MicroProse Entertainment Software, first proposed that I write this strategy guide. At the time, MicroProse was considering preparing such guides for all their software releases and publishing these books themselves. Because so many old friends from my own MicroProse days had been involved with the project, I welcomed the opportunity before even seeing the game.

I counted on two factors: first, I was certain the talented staff assembled to develop the game would create a fine product; second, I was certain that my longtime friendship with much of the team would assure that I received all the help I would need. I was right on both counts.

I want to thank everyone involved in creating Fleet Defender, and especially those who helped me directly while preparing this guide. Larry Russell not only served for much of 1994 as the editor for all of the strategy guide projects, but he also was my main contact and source of materials. Larry wrote the game documentation and designed most of the missions.

Scott Elson programmed the missions and provided me with the files from which the mission information was obtained. For several weeks I was on the phone with Scott almost daily deciphering the code. Mike McDonald programmed the radars and provided me with several pages of valuable notes that were the basis for Chapter 2. Chris Clark also worked on missions and was considered one of the hottest Fleet Defenders. I relied on him and the quality assurance crew for much of the information in Chapter 3. When I needed an answer about game play quickly, Chris always had the answer. I need also mention George Wargo, a former F15 pilot, who graciously led me by the hand through some of the intricacies of flight and air combat.

I visited my old haunts in April of 1994 and had the chance to talk to several members of the Fleet Defender team about their work. Scott Elson and Mike McDonald each shared part of their day with me. Vaughn Thomas was the lead tester on the quality assurance team, and he arranged for me a meeting with most of his top Fleet Defenders: David Ginsburg, Walter Carter, Russell Clark, Andy Mazurek, Mike Wise, Scott Zlotak, and Bob Abe. Recordings of those conversations proved very valuable when the writing got underway in earnest.

John Possidente took over the outside writing projects in the middle of 1994 and I want to thank him for helping to bring the guide to completion.

On the Prima Publishing side, I want to thank my editors, Dan Foster and Brett Skogen, for their help on this challenging collaboration. My thanks go also to Colleen Green, copy editor, and Jimmie Young, book designer.

And back at my office, which is also my home, I want to thank my wife Barbara for being so willing and understanding a partner in my writing. I must also mention with gratitude Samantha Jane, our ten pound Yorkshire terrier with the fifty pound personality, who is my exercise consultant. Yes, I believe it is time for another walk right now.

Bruce C. Shelly


INTRODUCTION
1

Within the first six months following its release, Fleet Defender quickly won acclaim as one of the most realistic and challenging flight simulators in the entertainment software industry.

Meanwhile, responses have been collected from the first generation of Fleet Defender players. These include information about the more difficult parts of the game to understand, strategies and tactics that have been discovered, and requests for additional information from the players themselves. This strategy guide addresses these player requests and passes along additional information that will add to your enjoyment of Fleet Defender.

Another purpose of this guide is to provide additional and correcting information that is not included in the original game documentation. In entertainment software development, the documentation that is included with the product is usually completed long before the software itself. Game development may continue for weeks or months after the manuals or sent off to the printer. Although most of the game design is finished in time for inclusion in the documentation, there are usually a few things added, deleted, or changed that don't make it into the game manual. Reporting these differences is one of the purposes of this guide.

Finally, the release of Fleet Defender Gold adds six new campaigns and many new missions to the original game. This guide discusses these enhancements, as well.

Before describing the contents of this guide in more detail, let’s discuss the design and implementation of Fleet Defender.


DESIGNING FLEET DEFENDER
The F-14 was selected for MicroProse’s next flight game because a quality detailed simulation of modern carrier aircraft had not yet been achieved. The F-14 plays a unique role in the modern air battlefield, and the design team believed that simulating that role offered many interesting game situations.

Early on in the design process, the Fleet Defender development team decided on several goals. One goal was to strive for a high level of realism. Often in entertainment software, realism is ignored or downgraded in favor of gameplay—as it should be. But the designers felt that selective use of realism would enhance the game.

As part of the drive to provide a balanced combination of realism and entertainment, the designers built a rich mission environment in which the player plays one role while many other characters act out theirs. Although the player’s actions are an important determinant in how individual missions proceed, other encounters may occur simultaneously that also contribute to the mission's outcome. This is known as the big picture. For example, while the player leads an escort team on an air strike in one part of the world, other friendly aircraft might attack another enemy installation. The overall success of the mission may hinge on the player’s group’s performance, but the player of other battles going on around him.

The big picture includes the normal CAP patrols around the carrier, ASW patrols, search and rescue helicopters on standby to pick up downed crews, the Hawkeye performing its AWACS mission, the other ships of the carrier task force, enemy recon aircraft, neutral air forces defending their airspace, and even the occasional civilian passenger aircraft passing by. The inclusion of the Reverse Tactical View makes it possible for the player to jump to the scene of other action in the world. While he carries out his role, he can witness the performances on other parts of the stage.

The player functions as part of a team, in this case the F-14 squadron based on the carrier. While the player’s personal success is the main motivation for play, the success of his squadron is also important and perhaps critical to a successful campaign. To ultimately succeed, the player must occasionally forgo personal satisfaction in favor of team accomplishment. The player enjoys the payoffs of his own promotions and medals, plus those of his squadron. Fleet Defender offers the chance to play on the championship team, as well as the satisfaction of becoming Most Valuable Player.

The team aspect of Fleet Defender is somewhat of a break from the traditional view of solitaire entertainment software, in which the player is the hero. In that view, there is no team. Success or failure depends solely on the player. While the player has the opportunity to be the hero in Fleet Defender and must do very well at a minimum, he must share part of the action and glory with his squadron. At times in the game the player has little to do, because friendly F-14s win the air battles before you can make a significant impact.

To make all this happen, the designers set smaller goals for the game that add to a significant whole. Among these are simulating the role of the F-14, providing a realistic and useful wingman, implementing a sophisticated artificial intelligence, and building campaigns of challenging and interesting missions.


==========

Going to take a while to format and polish, but it'll be nice when I'm done (DOC and PDF).

++++++++++

Wife even noticed I've got my flight sim mojo back for real! smile

Told her I need to spend a couple of grand or so because I can't play this on my Win2k/XP desktop (2001)...

THE MOST AUTHENTIC TOP GUN SIMULATOR! - DCS F14 Tomcat Supercarrier Ops


https://www.youtube.com/watch?v=wA4HrhSk90Y


Lol. Nah. I'm good staying retro.

She was impressed with the video though.
Posted By: MarkG

Re: Think I'm coming out of my mid-life stupor / some Fleet Defender source - 02/08/23 07:31 AM

^ I cleaned up my start of the FD Strategy Guide above and finished the Table of Contents to show what all the book contains. Some big ideas for this project, but for now I'm going to work on getting the first 4 chapters completed (with tables and pics) as the rest is post-training campaign play-throughs (as seen in the TOC). I'll complete those as I play through the game.

Speech-to-Text isn't working so well so I'm just going to type it all up. Time consuming, but what a great way to learn the details!

Will eventually do the same with the SUBWAR 2050 Strategy Guide.

DOS rules!

Unlike Windows-based games which often become unplayable over time (especially when you don't possess compilable source code), these games will last forever! I have no doubt that 100 years from now, whatever OS we might be running, there'll be a compatible DOSBox (or equivalent) for playing our favorite DOS titles. old_simmer
Posted By: MarkG

Re: Think I'm coming out of my mid-life stupor / some Fleet Defender source - 02/08/23 07:47 AM

This is a test...

EDIT: Oh, cool! Also supports PDF (for Key Reference). I don't have a website server yet, but this will do for small docs.



Attached File
Posted By: MarkG

Re: Think I'm coming out of my mid-life stupor / some Fleet Defender source - 02/08/23 09:23 PM

In case Scott stumbles upon this thread, I thought he might get a kick out out some FD source filename nostalgia...

[Linked Image]

I also apparently have a 3D editor for the game that works in Win2k/XP (but not Win10).

Attached picture FD_Source.png
Posted By: Crane Hunter

Re: Think I'm coming out of my mid-life stupor / some Fleet Defender source - 02/09/23 03:03 AM

I had a retro phase were I played Fleet Defender in the early 2000s, but I just couldn't bring myself to play it now, especially when DCS F-14 exists.
Posted By: MarkG

Re: Think I'm coming out of my mid-life stupor / some Fleet Defender source - 02/09/23 03:57 AM

Originally Posted by Crane Hunter
I had a retro phase were I played Fleet Defender in the early 2000s, but I just couldn't bring myself to play it now, especially when DCS F-14 exists.


I purchased Fleet Defender from GOG, and as with all of my GOG DOS sims, the first thing I did was to strip out the added GOG content leaving only the original game files (easy to tell, mostly by file dates). All I need from GOG besides the core game are the PDF docs and the DOSBox Config file (I use my own DOS batch menu system to load DOSBox configs).

Although heavy for a DOS title, my entire Fleet Defender game folder is under 18MB (7MB zipped)! That’s the kind of full game sizes I enjoy working with. Loading the game and all gameplay is lightning quick, and no DRM/online umbilical. ‘Authentic Mode’ across the board is challenging enough to be interesting but not overwhelming, mostly relaxing. My only peripheral is a Logitech Wingman.

But really, it's all about kicking the Soviets out of Norway! smile


TL;DR: 18MB of easy-to-manage fun, 1980's WWIII over Kola Peninsula.
Posted By: MarkG

Re: Think I'm coming out of my mid-life stupor / some Fleet Defender source - 02/09/23 04:50 AM

This is my other favorite game (developed by Particle Systems, published by MicroProse 1993)...

<320x200 images scaled x2>

[Linked Image]

[Linked Image]

[Linked Image]


Observing a shark at the bottom of the ocean under the lowest layer...

[Linked Image]

Stealth gameplay (especially regarding sonar: active vs. passive), evasive maneuvering/knuckles/decoys, multiple thermal layers (and they matter), Subwar 2050 is a very atmospheric blast with beautiful pixel art, IMO.


SubWar 2050 (PC/DOS) 1993, Microprose, MT32, SB


https://www.youtube.com/watch?v=rSNgx2ybVPk

Attached picture sw_001.png
Attached picture sw_002.png
Attached picture sw_003.png
Attached picture sw_004.png
Posted By: MarkG

Re: Think I'm coming out of my mid-life stupor / some Fleet Defender source - 02/09/23 06:24 PM

One more test update with Chapter 1 completed (speech-to-text working much better, but needs final proofread and formatting)...

Attached File
Posted By: MarkG

Re: Think I'm coming out of my mid-life stupor / some Fleet Defender source - 02/09/23 06:28 PM

Enjoying a YouTube lunch break...

Classic FLIGHT SIMS Collection & Favorites [MS-DOS ROCKS!]


https://www.youtube.com/watch?v=GhwPI50esKE
Posted By: PanzerMeyer

Re: Think I'm coming out of my mid-life stupor / some Fleet Defender source - 02/09/23 06:51 PM

I haven't played Falcon 3.0 since about 1995 but Falcon 4.0 I was playing as recently as 2012 or so.
Posted By: MarkG

Re: Think I'm coming out of my mid-life stupor / some Fleet Defender source - 02/09/23 07:09 PM

Originally Posted by PanzerMeyer
I haven't played Falcon 3.0 since about 1995 but Falcon 4.0 I was playing as recently as 2012 or so.


Falcon 3 is still in my play queue (GOG package).

++++++++++

Wanted to note that in the Subwar 2050 video I posted above, that guy was clueless (although I thank him for posting it). And he didn't show one of the cooler features of the game, a smooth panable 2D cockpit with a 135 to 225 degree FOV. You can only pan horizontally, but making it look right in 2D takes some artistic skill, and they pulled it off quite nicely.
Posted By: mikew

Re: Think I'm coming out of my mid-life stupor / some Fleet Defender source - 02/19/23 08:43 PM

Dang! I missed a MarkG retro sim thread.

Great stuff! FWIW, I've got Subwar 2050 from GOG, but haven't played it yet.

So, you have no idea at all where those F-14 source code snippets came from?
I don't remember that game being leaked...
Posted By: PanzerMeyer

Re: Think I'm coming out of my mid-life stupor / some Fleet Defender source - 02/19/23 11:19 PM

Oldest game I’ve recently played is Portal which was released in 2004. So a bit retro but not super retro.
Posted By: MarkG

Re: Think I'm coming out of my mid-life stupor / some Fleet Defender source - 02/20/23 08:40 AM

<Couldn't sleep, thought I'd catch up with other stuff like this.>

Apologies to you mikew and to PM, I should have checked this thread earlier.

mikew, I don't think I have enough to compile anything (there's references to compiler and possibly custom libraries that I don't have), but I'll dig into it and get back to you on that. EDIT: And figure out a way to get you the files as I always have bad luck on those free file services and don't have my own server yet.

Subwar 2050 has fantastic atmosphere for a DOS title IMO, but like Fleet Defender, I had to tweak the config files to get it to work properly. But it does play perfectly now on my Win10 laptop. I can probably help with that if you have a problem (I remember something with the mouse settings).

Tomorrow I'm back on the Fleet Defender Strategy Guide (chap. 2 Radar and the rest are much longer than chap. 1 so it's taking more time).
Posted By: MarkG

Re: Think I'm coming out of my mid-life stupor / some Fleet Defender source - 02/20/23 08:55 AM

One more thing, mikew.

I'm back for good on retro sims, I have no doubt. I can feel it. smile It's just that local news mentioned something about Black History Month and it popped in my head to do a music playlist that I've been talking about for forever and never got around to. It's done, so now it's back to where I was on this thread.

In Fleet Defender we can shoot down UFOs! WooHoo! And flying dragons too. biggrin But no commie spy balloons.
Posted By: MarkG

Re: Think I'm coming out of my mid-life stupor / some Fleet Defender source - 02/20/23 09:44 AM

Originally Posted by PanzerMeyer
Oldest game I’ve recently played is Portal which was released in 2004. So a bit retro but not super retro.


Yeah, that's pretty old. Every once in a while I replay Call of Duty (2003) to completion, and probably the newest game I play to that degree.

I've been meaning to install some old Windows games on my Win10 laptop just to see what still installs/works (F4:AF, Medal of Honor (AA/PA), Delta Force BHD/? [green box], some Need for Speeds). I still enjoy the heck out of Need for Speed SE (DOS), though.
Posted By: mikew

Re: Think I'm coming out of my mid-life stupor / some Fleet Defender source - 02/28/23 04:44 PM

Sorry for the late reply, but was going to post something like 'Retro sims rock!' but then got to thinking why that is.
So, I've got to realize that while many things have changed over the last 25-30 years, the games that give me enjoyment haven't...and what I seem to appreciate is comparatively simple gameplay.
It's like some complexity thereshold where a game flips from 'fun' to 'too much work'.
For a particular genre, that threshold occurred in the late 1990s. eg those city building games from Sierra, for which the first I remember playing was 'Caesar III' around 1997. Its successor 'Pharoah/cleopatra' was an improvement and I played the hell out of it. After that came 'Zeus' in around 2000 which while basically the same game, they had added more 'things to do' and I hardly played it all.
In terms of sims, the best by far was 'F-22ADF/TAW' which was reasonably easy to learn and a blast to play. 'Falcon 4' went into the 'too much work' category despite my efforts to get into it.
Posted By: PanzerMeyer

Re: Think I'm coming out of my mid-life stupor / some Fleet Defender source - 02/28/23 05:21 PM

Originally Posted by mikew

It's like some complexity thereshold where a game flips from 'fun' to 'too much work'.



I understand what you mean by this and it also explains why so many people have dropped out of flight simming. Sims like Falcon 4.0 and DCS simply require a significant time investment if you want to have an even minimal grasp of what you are doing. Quite understandably many of the simmers from the 90's got married, had kids, got jobs, etc so that significant time investment is no longer practical.
Posted By: F4UDash4

Re: Think I'm coming out of my mid-life stupor / some Fleet Defender source - 02/28/23 05:51 PM

Originally Posted by PanzerMeyer
Originally Posted by mikew

It's like some complexity thereshold where a game flips from 'fun' to 'too much work'.



I understand what you mean by this and it also explains why so many people have dropped out of flight simming. Sims like Falcon 4.0 and DCS simply require a significant time investment if you want to have an even minimal grasp of what you are doing. Quite understandably many of the simmers from the 90's got married, had kids, got jobs, etc so that significant time investment is no longer practical.



Not only that but as a result of the ultra hard-core factions insistence on every switch and system being modeled it takes 2-3 years minimum for a new aircraft to reach the end user. Multiple DCS Flaming Cliffs level aircraft can be completed in the time it takes for one full fidelity F-16/F-18.
Posted By: mikew

Re: Think I'm coming out of my mid-life stupor / some Fleet Defender source - 02/28/23 10:50 PM

DCS is a great technical achievement, and looks stunning, especially in VR. Before DCS World, I bought LOMAC, Black Shark and the A-10C thinking that ‘this time’ I’ll put some effort into learning how to fly these things properly.
It turns out that I have absolutely no interest in doing that and probably never will. Wrong brain chemistry I guess.

I get a huge amount of pleasure out of getting a 1990s sim running nicely on modern hardware though.
So, while there might be an F-14 DCS Module, it’s Fleet Defender on DosBox for me.
Posted By: MarkG

Re: Think I'm coming out of my mid-life stupor / some Fleet Defender source - 02/28/23 10:59 PM

mikew, no problem. I'm not good at multi-tasking my thoughts, but I'm going to be back on this thread in a couple of days or so. And it's going to rule!

Attached picture beavis_butthead.gif
Posted By: MarkG

Re: Think I'm coming out of my mid-life stupor / some Fleet Defender source - 03/02/23 04:13 AM

There are 4 games I plan to play for the rest of my days that have nothing to do with stealth aircraft, and they are...

Fleet Defender
Subwar 2050
1942: PAW (floating mouse issue that needs to be resolved, IIRC)

...and the only one without MicroProse on the box...

Need For Speed SE...

[Linked Image]

[Linked Image]

[Linked Image]

Attached picture NFS_SE1.jpg
Attached picture NFS_SE2.png
Attached picture NFS_SE3.png
Posted By: PanzerMeyer

Re: Think I'm coming out of my mid-life stupor / some Fleet Defender source - 03/02/23 11:24 AM

I played the heck out of 1942 Pacific Air War back in the day. Hard to believe that sim came out 30 years ago.
Posted By: F4UDash4

Re: Think I'm coming out of my mid-life stupor / some Fleet Defender source - 03/02/23 01:40 PM

Originally Posted by PanzerMeyer
I played the heck out of 1942 Pacific Air War back in the day. Hard to believe that sim came out 30 years ago.


+1

Still my all time favorite combat flight sim
Posted By: mikew

Re: Think I'm coming out of my mid-life stupor / some Fleet Defender source - 03/11/23 02:55 PM

This maybe should be in the 'Flight Sim Pit Builders' forum, but I was setting up for some gaming and noticed a couple of things:
1 The relative proportions of hardware have changed a bit since Fleet Defender came out
2. Fleet Defender itself could use a resolution bump.

Attached picture f14simpit.PNG
Posted By: MarkG

Re: Think I'm coming out of my mid-life stupor / some Fleet Defender source - 03/11/23 06:08 PM

Nice screen you have there, mikew.

About bumping Fleet Defender's resolution, I don't believe it's possible for us mortals to do anything with it. As with most DOS games, there's no in-game resolution options (thus no variables in code). I believe the game is super-hard-coded (including some ASM for speed) to a single graphics mode, the most popular being Mode 13h (320x200 pixel linear 256-color paletted). Not to mention any hacks which would assume this single graphics mode.

Which makes me wonder what kind of Juju magic DID used to squeeze an incredible 640x400x256 out of DOS EF2000! Also, Need for Speed SE (640x480x256) as shown above, which I play under DOSBox (versus the Windows setup option)! How they accomplished this in pure DOS, I have no idea. Note that each has a lower 320x200 option.

I know of no DOS games which used the 640x480x16 mode, the idea that many more colors (256 vs. 16) was worth a lower resolution. ModeX only increased resolution a little, from 320x200 to 320x240.

And then there's this...

"In 1995, TIE Fighter also received a Collector's CD-ROM. The CD-ROM version offered optional enhanced SVGA graphics, increasing the game's resolution from 320x200 to 640x480."
https://en.wikipedia.org/wiki/Star_Wars:_TIE_Fighter

I need to refresh my memory...
https://www.reddit.com/r/dosgaming/comments/smat02/what_were_the_earliest_svga_dos_games_and_what/

++++++++++

Anyway, my other stuff is done so I'm back on thread. Looking at my options now for file transfers.
Posted By: mikew

Re: Think I'm coming out of my mid-life stupor / some Fleet Defender source - 03/29/23 05:54 PM

Originally Posted by MarkG
Nice screen you have there, mikew.
Thanks! It's just a generic 65" TV. The 60fps limitation doesn't bother me, and I'll never let it connect directly to the internet...but thank you, streaming companies for keeping the price down. biggrin

Fleet Defender is probably best played on a smaller screen for the reasons you describe.
We need a remake with natively higher resolution...but it doesn't need to be much higher.
Posted By: mikew

Re: Think I'm coming out of my mid-life stupor / some Fleet Defender source - 04/16/23 12:35 PM

..and now I've come across my boxed version.
I miss the old days where buying something like ' Fleet Defender' would go something like this:
1. Read rumours about upcoming game in gaming magazine.
2. A month or so later there may be pictures and an interview with the dev.
3. Maybe then a preview/demo on the magazine's CD.
4. Head off into town on release day only to find out we're too off the beaten track, so buy another couple of games instead.
5. Finally have it in my hands, so straight to the pub to read the manual. As seen in the picture, I'd be in the pub a long time to read though the Fleet Defender documentation.
6. Get home and realize that a 80486 is not good enough, so need to upgrade PC. Yes!! Been waiting for an excuse to do that.
7. Buy new PC
8. Finally Install game and start it.
9. Meh....

Now it's down to this
1. Half-heartedly look through Gog and Steam's stores.
2. Buy a game and install it
3. Meh...

Attached picture fleetdef.png
© 2024 SimHQ Forums