| Version: | 1.0 |
|---|---|
| Author: | Karl Robillard |
| Copyright: | © 2006, Karl Robillard |
For implementation details see the Software Design document.
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.
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.
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.
- Rankings
- player name
- password
- tours of duty (games played)
- ships lost
- strike rating (internal hits scored)
Ban-list - IP address
Configure for single battle or a war.
Settings:
- Meta-server address
- Port
- Ban-list - Name or IP address
- Scenario
- Player limit
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.
- Generate star maps and systems.
- Generate fleets.
- Generate star system.
- Players select 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)
The server owner can define his own weapons using a script.
- Phaser I
- Phaser II
- Disruptor
- Photon Torpedo
- Drone
- Plasma Torpedo
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.
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.
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).
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.
| 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.
| %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 |
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
- 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.
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.
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.
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.
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.
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.
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.
Each weapon system has a firing arc. Only targets in the arc can be fired upon.
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.
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.
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 |
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.
Attention!
Possible options:
- Check made periodically (more stress = more often)
- Chance to fail increases with more stress.
- Check more often and increase chance.
These move the ship forward and provide some reserve power.
Enables space warping.
When a warp field is established, thrust is magnified by (WF+1)3.
Vessels have a Structural Integrity rating.
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.
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.
Torpedoes, repair units, and anti-matter fuel must be replenished.
Anti-matter is consumed at a rate of vessel size * WF3.
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
Each point of damage reduces the sensor effective level by level/total structure units.
When Structural Integrity reaches zero the ship breaks up and is destroyed.
No other critical hits will be implemented in v1.0.
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.
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
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.
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.
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.
Pauses game in single player mode.
Sound Volume [--------------- ] Music Volume [-------- ] Return to Game Quit Game
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.
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.
This displays the star systems in the disputed area of space.
Attention!
3D or 2D?
| 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.
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 |
When the joystick Orders button or the right mouse buttin is pressed, the following menu will be shown:
Orders Menu Tree
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.
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.
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
Shows the tacitcal situation of the entire solar system.
This shows confirmed orders (this means the server has executed them).
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
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 |