Warp Fleet Game Design

Take the Ultimate Trek

Version: 1.0
Author: Karl Robillard
Copyright: © 2006, Karl Robillard

Contents

1   About this Document

For implementation details see the Software Design document.

1.1   Goal

Create a complete design specification for the game.

This is the opposite of design by accretion and experimentation. Make a complete version then refine (as espoused by Lucas). Prevent getting bogged down in implementation details and experimentation.

Provide core features only! KISS.

2   Game Overview

A melding of Star Fleet Battles and Classic Computer Trek.

There are two game modes: War & Battle.

There is support for single player and multi-player games in either mode.

In War mode, the player warps from system to system to fend off invasion. The player must repair his ship and replenish supplies from starbases.

Battle mode is a single engagement in a solar system.

During encounters, the field of play is two dimensional. The focus is on maneuvering to keep the strongest shields facing the opponent, while trying to strike their weakest shields.

3   Game Mechanics

Server auto-generates star maps, star systems, and fleets. All ships are computer controlled. When clients enter the game, they select a vessel to command. When a player ship is destroyed, they become an observer and can select another vessel in the same fleet to command.

A Battle ends when only ships from one faction remain, a scenario time limit is reached, or all players leave.

A War ends when all ships or all starbases of a faction have been destroyed, or the scenario time limit is reached.

3.1   Meta-Server

3.1.1   Persistent Data

  • Rankings
    • player name
    • password
    • tours of duty (games played)
    • ships lost
    • strike rating (internal hits scored)
  • Ban-list - IP address

3.2   Server Setup

Configure for single battle or a war.

Settings:

  • Meta-server address
  • Port
  • Ban-list - Name or IP address
  • Scenario
  • Player limit

3.2.1   Scenario Setup

  • Mode - battle/war

  • Time limit

  • Star-seed - Random number for map/system generation.

  • Factions
    • Name
    • Starbase Defeat - Lose if all starbases are lost.
    • Control - Percentage of systems under control.
    • Strength - Limit fleet size.
    • Fleet-seed - Random number for fleet deployment.
    • Ship Designs.
    • Stellar body name list.

3.2.2   War Setup

  • Generate star maps and systems.
  • Generate fleets.

3.2.3   Battle Setup

  • Generate star system.
  • Players select ships.

3.2.4   Provided Ships

The server owner can define his own ships using a script.

  • Federation Cruiser
  • Federation Frigate
  • Klingon D7
  • Klingon Bird of Prey
  • Romulan D7
  • Romulan War Bird
  • Starbase
  • Outpost (Sensor station)

3.2.5   Provided Weapons

The server owner can define his own weapons using a script.

  • Phaser I
  • Phaser II
  • Disruptor
  • Photon Torpedo
  • Drone
  • Plasma Torpedo

3.3   Client Setup

Preferences:

  • Video mode
  • Sound Volume
  • Music Volume
  • Meta-server address
  • User name

3.5   Star Systems

Auto-generated star maps and solar systems, based on settings in the Scenario Setup.

All systems have a single sun orbited by random number of planets. Each planet may have moons.

The motion of large bodies is not dealt with during combat (they are static). The orbits of planets & moons does change on the strategic scale.

Nebula, Asteroids, etc., will not be implemented in v1.0.

3.6   Fleet Deployment

This is automatically done by the computer, based on settings in the Scenario Setup.

In addition to space-based stations, there are also planetary Starbases and Outposts.

3.7   Warping

Generating a warp field lenses space-time around the ship, making distances shrink. This effectively magnifies the inertia & thrust by the cube of the warpping factor plus one [(WF+1)3].

Warp fields have an orientation. Forces acting on a vessel will gradually translate to forward motion. This means a ship drifting sideways which activates the warp generator will start moving forward.

Being able to flex space-time also allows a regressive capability, where forces inside the field can be reduced or reversed along the field orientation. By thrusting forwards in a fully regressed field, the ship slows down or moves backwards. This force control is also needed to keep the crew unaffected by the crushing drive acceleration. However, it only works along the axis of field orientation so lateral forces can still shake the crew about!

The ship inside the field obeys relativistic rules, so it can never exceed light speed locally and mass increases significantly at near-light speeds. Therefore, the maximum effective speed of a vessel is limited to about 0.9c times the maximum (WF+1)3 which can be generated. It will take a few days of continuous thrusting at 100g to either accelerate to, or decelerate from, this speed.

To get a feel for the pace of tactical engagements, consider that one minute of 100g thrust at WF 5 will put a ship at 4.2% c (normal space). At this speed, earth to moon is 30.5 seconds. After 5 minutes 21% c will be reached and 1 AU will take ~40 minutes to cross.

It takes energy proportional to WF3 * vessel size (field size) to maintain the warp field.

Turning while moving in warp can be done by shaping the field so that a re-orientation occurs. This requires no extra energy.

When the field is no longer powered, it collapses quickly, but not immediately. A warp factor is lost every 5 seconds. The velocity of the ship drops in proportion. When the warp field fades completely, the ship will be at it's local-space velocity, moving in the direction which the field was oriented (forwards or backwards).

3.7.1   Non-warp Maneuvering

The bottom line is that a ship without an active warp field is a sitting duck.

Thrusting can be done, but acceleration will be limited to a few gs. For maximum deceleration and course correction the ship must be turned backwards so the main drive can be used. Station keeping thrusters generate only a tiny fraction of main drive thrust and are useful for docking only.

3.7.2   Warp Speed Chart

Factor Multiplier Power Req. %c @ 1 min Days/Light Year Travel 10 LY
No field 1 0 0.019 365 6097.5
1 8 1 0.157 45.625 763.938
2 27 3.375 0.529 13.519 227.759
3 64 8 1.256 5.703 97.2422
4 125 15.625 2.453 2.920 50.764
5 216 27 4.239 1.690 30.2199
6 343 42.875 6.732 1.064 19.7711
7 512 64 10.049 0.713 13.9053
8 729 91.125 14.308 0.501 10.3615
9 1000 125 19.627 0.365 8.0955
10 1331 166.375 26.123 0.274 6.57964
11 1728 216 33.915 0.211 5.52749
12 2197 274.625 43.120 0.166 4.77447

'%c @ 1 min' is calculated using 100g of thrust.

'Days/Light Year' are given at a local-space velocity of 1c.

'Travel 10 LY' is calculated with the System Travel Formula.

3.7.3   Lorentz Factor Chart

%c Lorentz factor reciprocal
0 1.000 1.000
10 1.005 0.995
20 1.02062 0.980
30 1.04828 0.954
40 1.09109 0.917
50 1.155 0.867
60 1.250 0.800
70 1.40028 0.714
75 1.51186 0.661
80 1.66667 0.600
85 1.89832 0.527
90 2.294 0.436
95 3.20256 0.312
99 7.089 0.141
99.9 22.366 0.045

3.7.4   System Travel Formula

Due to limited reaction mass for the main drive and a desire to keep deceleration time down, the typical local-space velocity during interstellar travel is less than 1c. Assuming two extra days are spent during acceleration/deceleration, and cruising at a local-space velocity of 60% c we get the following formula:

LY   = Light years to travel
WF   = Warp Factor
DLY  = 365 / (WF + 1)^3
Days = (LY * DLY * 1.67) + 2

3.7.5   Distances & Measurements

  • Speed of light = 299,792,458 metres per second.
  • 1 g = 9.80665 m/s²
  • 1 AU = 149,597,870.691 km = 92,955,807 miles = 8.317 light minutes.
  • Earth to the Moon is 1.282 light seconds.
  • Proxima Centauri is 4.22 light years away from Sol.

3.8   Ranking & Victory

Each player has a Strike Rating which is the number of internal hits scored on ememy vessels. The amount of damage inflicted is ignored, only the fact that a weapon does internal damage is noted.

Each missed shot reduces the strike rating by one. This rewards players who use weapons in their effective range. If the rating is zero, it remains zero.

Each multi-player game played is recorded on a Meta Server as a tour of duty.

3.9   Engagement

3.9.1   Strategic Movement

During a War, ships move between Systems. The time scale is in days.

See the System Travel Formula.

Ships are often grouped into squadrons or task forces which travel together.

3.9.2   Entering Combat

It can take many weeks for ships to travel between systems. When factions encounter each other in a system, the time scale shifts to real-time. Players not involved in the combat will become observers of the current encounter and may take control of any computer controlled ships of the same faction.

Attention!

Because ships are so fast, a pre-combat phase may be good where the new arrivals to the system are given a choice to avoid engagment. They can maintain high warp at the outer system to await reinforcements and/or monitor system activity.

Defenders could be given the option to send out interceptors to try and catch the loiterers. This might make an interesting mid-level to the strategic game.

3.9.3   Leaving Combat

Ships which travel very fast move out into interstellar space and may not re-enter combat.

Attention!

Should there be a consequence (coward rating, lower strike rating) to players who constantly run from combat?

Players could interrupt play by entering engagments and promply leaving.

4   Ship Systems

4.1   Weapons

4.1.1   Energy Beams

Beam Attributes:

  • Damage
  • Recharge power draw
  • Recharge rate
  • Damage/Range curve
  • To-hit/Range curve

Beam weapons can only be used when traveling less than light speed, and time to target will be reduced by the Lorentz factor.

4.1.2   Torpedoes

Torpedo Attributes:

  • Speed
  • Turn rate
  • Life span
  • Damage (warhead strength)
  • Damage/Range curve
  • Reload power draw
  • Reload rate
  • Ammo

Torpedos lose the warp factor of the launching vessel at the same rate at which warp levels are lost when no power is applied to the Warp Generators.

4.1.3   Firing Arcs

Each weapon system has a firing arc. Only targets in the arc can be fired upon.

4.2   Shields

Each vessel has 8 shield areas covering the following arcs:

  • Forward
  • Port/Fwd
  • Port
  • Port/Aft
  • Aft
  • Starboard/Fwd
  • Starboard
  • Starboard/Aft

Each shield area has a coverage rating relative to the size of the ship. Larger ships have more surface area and therefore a higher coverage rating. Coverage is equal to the total structural units / 8.

As the areas are damaged, further hits have a greater chance to pass through the un-shielded areas. See Damage Distribution.

Power is applied to regenerate shielding as weapons strike them. Each unit of protection reduces damage by one unit. When the shield regeneration is overwhelmed, a unit of shield coverage is lost.

4.3   Power Core

The anti-matter power core has a power output rating and a number of structural units.

When damaged, the maximum power output drops proportionally to the percentage of damaged power units.

4.3.1   Power distribution

Power is drawn in the following order:

System Drain
Shield Regeneration Units of protection set by player * vessel size / strength
Warp Field vessel size * WF3
Thrusters vessel size
Arming weapons Uses remaining power

4.3.2   Emergency Warp

The warp generators can draw double the normal power output for short periods of time. This allows for emergency speeds a few warp factors above normal.

This places strain on both the power core and the warp generators.

4.3.2.1   Power Core Stress Formula

Attention!

Possible options:

  • Check made periodically (more stress = more often)
  • Chance to fail increases with more stress.
  • Check more often and increase chance.

4.4   Drive Engines

These move the ship forward and provide some reserve power.

4.5   Warp Generators

Enables space warping.

When a warp field is established, thrust is magnified by (WF+1)3.

4.6   Structural Integrity

Vessels have a Structural Integrity rating.

4.7   Sensors

Each ship's sensor array has a level (normally 1.0 - 2.0) and a number of structural units.

Damage to sensors can reduce the ability to detect of ships and degrade targeting.

Sensor range on the Star Chart is 15 light years times the current sensor level.

During combat, an effective sensor level of less than one modifies the to-hit chance proportionally.

4.8   Navigational Deflectors

Attention!

Make navigational deflectors a primary system?

Navigational deflectors must be very powerful - they would be able to sweep aside any torpedoes. Beam weapons would then be more effective for frontal attacks.

4.9   Consumables

Torpedoes, repair units, and anti-matter fuel must be replenished.

Anti-matter is consumed at a rate of vessel size * WF3.

4.10   Damage Distribution

For each point of damage done, a check is made against the remaining shield area coverage percentage. If less than the remaining percent, the hit reduces the shield coverage by one. If greater the the percent, the damage passes through to internal systems.

Internal Systems:

  • Power Core
  • Drive Engines
  • Warp Field Generators
  • Each weapon
  • Control Systems
  • Sensors
  • Structural Integrity

4.10.1   Sensor Damage

Each point of damage reduces the sensor effective level by level/total structure units.

4.10.2   Critical Hits

When Structural Integrity reaches zero the ship breaks up and is destroyed.

No other critical hits will be implemented in v1.0.

4.11   Damage Repair

Each ship has a number of repair points. Each point can repair 1 unit of damage or fully restore one shield area.

May fully repair at an outpost or starbase.

5   User Interface

5.1   Main Menu

        WarpFleet

Play Single-player Game  -> Select Scenario Screen
Join Multi-player Game   -> Join Game Screen
Start Server             -> Select Scenario Screen
Configure                -> Configure Screen
Quit                     -> Really? Y/N

                   v1.0

5.2   Scenario Selection Screen

Scenario selection simply shows a list of scenarios which the user may pick from. A splash image, name, and description are shown for each scenario.

The scenarios are read from scripts which are manually created.

For single-player games, [Play] and [Cancel] buttons are shown.

For server setup, [Start Server], [Start & Join], and [Cancel] buttons appear.

5.3   Join Game Screen

This screen shows a list of the current games the meta-server knows about.

The server list shows the following:

  • Server Name/IP
  • Ping delay
  • Scenario name
  • Number of players/Player limit
  • Number of vessels in play

A [Join] & [Cancel] button appear at the bottom of the screen.

5.4   Configure Screen

Video Mode       [1024x768 @60Hz  v]
Sound Volume     [---------------  ]
Music Volume     [--------         ]
Joystick device  [/dev/input/js0      ]
Meta-server      [meta.ultratrek.net  ]

Return to Main Menu

Note

Could keep main menu on-screen like Wings2.

5.5   In-game Menu

Pauses game in single player mode.

Sound Volume     [---------------  ]
Music Volume     [--------         ]

Return to Game
Quit Game

5.6   Joining Play

Once connected to the server, the player is an observer. Either the Star Chart (War server) or system (Battle server) is shown.

A [Leave Server] button and a [Join XX] button for each faction is shown. For example: [Join Federation] [Join Klingon] [Leave Server].

If the [Leave] button is selected, the player returns to the Main Menu.

If a faction is selected, the Select Ship Screen is shown.

5.6.1   Select Ship Screen

A list of computer controlled ships is shown. Hovering over a vessel causes a line to be drawn to the ship on the Star Chart or system.

Player may hover/select with the mouse, cursor keys, or joystick.

A [Leave Server] button is shown.

5.7   Star Chart

This displays the star systems in the disputed area of space.

Attention!

3D or 2D?

5.7.1   Star Chart Controls

Action Joystick Key Notes
Select System stick .  
Make Warp A Enter Engage, Depart
Joystick mode C . Analog only

Moving the cursor over a system automatically displays information about it. A solar system mock-up is shown, as well as sensor readings of vessels & bases in it.

5.8   Encounter Controls

images/screen640.png

Screen Mock Up

The game should be comfortably playable with a four-button joystick, keyboard, or mouse.

Action Joystick Key Notes
Turn Lt/Rt Lt/Rt  
Thrust/Slow Up/Down Up/Down  
Set warp factor C, Up/Down +, - 0.1 inc., shift for 1.0 inc.
Set shield power C, Lt/Rt [, ]  
Set Nav. Ref. D, Menu, Lt/Rt n  
Keep bearing D, Menu b  
Steady as she goes D, Menu Home Nav. Ref. set to sun, thrust 0
Follow Nav. Ref. D, Menu f Use to join task force.
Set target D, Menu, Lt/Rt t  
Fire beams A z Only if target in arc.
Fire torpedos B x Only if target in arc.
Show star map D, Menu m  
In-game menu D, Menu Esc, p  
Chat D, Menu Tab  
Damage Control D, Menu d  

For fire buttons: Tap to fire one weapon, hold for 1 sec. to fire all.

Button D brings up the Orders Menu tree. In Orders mode the (C) button will cancel and return to Helm mode.

The joystick has the following modes:

Mode Up/Down Left/Right
Helm 1 +/- Thrust Turn
Helm 2 +/- Warp +/- Shield Power
Orders Menu Select Item Select Item
Set Nav. Ref. . Select bodies relative to ship
Lock Weapons . Select bodies relative to ship

5.8.1   Orders Menu

When the joystick Orders button or the right mouse buttin is pressed, the following menu will be shown:

images/orders_tree.png

Orders Menu Tree

5.8.2   Selecting Targets

When set Nav. Ref. or Lock Target is selected from the control menu, the joystick axes change to a directional indicator. When the desired ship or body is highlighted, press (D) to return to Helm mode.

5.8.3   Navigational Display

5.8.3.1   Speed/Warp Indicator

Must show current warp factor, programmed warp factor, and effective velocity. Velocity will change units automatically between m/s, km/s, & %c.

The abbreviations for units are:

m = meters per second k = kilometers per second p = percentage of light speed g = gravities

The field regression & thrust setting are combined. Full forward is thrust forward, full back is a regressed field and full thrust.

Must show local-space velocity, acceleration in gees, time to stop, and time to nav. ref.

5.8.4   Ship Systems Display

5.8.4.1   Shield/Ref Display

Shields levels are shown as a percentage with 5 dots per shield area.

The bearing of the Nav. Ref. and target are shown by indicators on a surrounding circle. The Nav. Ref. dot may be the following colors:

red - Enemy vessel blue - Friendly vessel yellow - Planetary body

5.8.5   System Display

Shows the tacitcal situation of the entire solar system.

5.8.6   Report Display

This shows confirmed orders (this means the server has executed them).

5.8.7   Damage Control Display

Must be able to spend repair units.

100 Power Core
100 Main Drive
100 Warp Generator
100 Structural Integrity
100 Sensor
    Armament
100  2 Beam
100  2 Beam
100  2 Beam

5.9   Chat Commands

Chat window slides down from the top when Chat input hit. The Chat window takes the input focus.

Two send buttons are shown [Send Team] and [Send All].

Macros must be manually specfied in the preferences file.

Action Input Notes
Team <nothing> ...  
All /a ...  
Print ETA ... /eta ... Estimated time of arrival at Nav. Ref.
Macro F1 - F12  
Send Message Return