Subcom13 (Submarine Commander)

Warning

This game mode is currently a Work In Progress. Mechanics, balance, and vessel stats are subject to change. Report bugs and feedback on the Civ13 GitHub.


Introduction

Subcom13 is a submarine warfare simulation mode set on a fictional 1000x1000 nautical mile coordinate grid. You command a submarine (or crew one with other players) and must navigate the open ocean, engage hostile surface and air contacts, manage your ship's reactor and crew survival, and complete objectives relayed to you over encrypted radio.

The mode features:

  • Real-time navigation on a virtual overworld map with heading, speed, and depth control
  • Nuclear and diesel-electric submarine propulsion options
  • Weapons systems: torpedoes with acoustic homing, fire control consoles
  • Sensor suites: passive and active sonar, surface radar
  • Environmental simulation: hull breaches, flooding, water accumulation, and atmospheric pressure
  • NPC hostile contacts: surface combatants, aircraft, and enemy submarines with AI state machines
  • Mission objectives: sink cargo ships, patrol sectors, escort allies, recon, rescue, and ambush
  • Crew management: track individual crew health, oxygen status, injuries, and assignments
  • Single-player mode: toggle via admin panel to allow ghosts to operate machinery

Submarine Controls

Your submarine is controlled from the bridge consoles. Each console is an Alt+Click interaction.

Helm Control Station

The primary navigation console. Controls heading, speed, and depth.

ControlDescription
Target HeadingSet in degrees (0-359). The sub turns toward this heading automatically.
Target SpeedSet in knots. Your sub accelerates/decelerates toward this value.
Target DepthPre-set depth buttons: Surface (0m), Periscope (15m), Deep (150m), Crash Dive (250m).
Emergency Blow BallastInstantly vents all ballast tanks and surfaces the sub.

Tip

Diesel-only submarines can only produce propulsion power when surfaced. Submerged, you run on battery at reduced speed (8 knots max).

Reactor Control Station

Manages the two nuclear reactors. Each reactor operates independently.

ControlDescription
Control Rods0-100%. Lower = more heat, more power. 100% = fully inserted (shutdown).
Primary PumpCoolant flow rate (0-18 RPM). Higher = better heat dissipation.
Secondary PumpTurbine steam flow (0-10 RPM). Determines power output in MW.
SCRAMEmergency shutdown. Inserts rods to 100% instantly.

Reactor Meltdown: If core temperature exceeds 1000 C, the reactor melts down. This causes radiation damage in the reactor room and permanently disables that reactor. There is no recovery from a meltdown.

Danger

Never pull control rods below 25% without sufficient primary pump speed. Heat will spiral out of control and cause a meltdown within seconds.

Power Output Formula: MW = secondary_pump_speed * (core_temp * 0.01). You need at least 5 MW total (combined) to run the nuclear turbines for full-speed propulsion (30 knots).

Auxiliary Systems Console

Controls environmental systems and battery power.

ControlDescription
O2 GeneratorToggles electrolysis. Consumes 50 kW/tick. Generates oxygen across all compartments.
BatteryCurrent charge / max capacity in kWh. Drains when running on electric power.
VentilationPer-compartment vent controls. Open/close vents to equalize air between rooms.
Fire SuppressionActivates fire suppression in a compartment.

Radar Console

Surface detection system. Only works when surfaced.

ControlDescription
PowerToggle radar on/off (surface only).
RangeToggle between Short (20km) and Long (50km). Long range uses more power (50 kW vs 10 kW).
Detected ContactsShows surface contacts: name, range, bearing.

Sonar Console

Underwater detection system. Works at any depth.

ControlDescription
PowerToggle sonar on/off.
ModeToggle between Passive (stealth, 5 kW, only detects submerged contacts) and Active (loud ping, 100 kW, detects all contacts but reveals your position).
LOFAR AnalysisFrequency analysis display. Shows propeller cavitation and engine harmonics.
Detected ContactsShows submerged contacts: name, range, bearing, noise signature.

Warning

Active sonar emits a loud ping (noise level 100) that hostile NPCs can detect from long range. Use passive sonar when trying to remain undetected.

Weapons Control Station

Torpedo fire control system.

ControlDescription
Master ArmMust be ON to fire torpedoes.
Tube StatusShows which of the 4 tubes are loaded/empty.
Target SelectionSelect a detected contact as your target. Torpedoes home toward the selected target.
LaunchFires a torpedo from a loaded tube toward the selected target.

Torpedo Stats: 40 knots, 800 unit range, 150 base hull damage. Homing torpedoes track the target automatically.

Radio Console

Encrypted command communications. Receives mission objectives and displays mission status.

ControlDescription
Transmission LogShows all received messages with timestamps.
Mission StatusShows current objective type, target coordinates, and target integrity.
Fast TravelEngages 10x speed multiplier. Auto-disables when a hostile contact is within 50nm or if speed drops below 5 knots.

Flooding & Water Physics

When your submarine takes damage (torpedo hits, depth charges, crush depth), hull breaches can occur, flooding compartments with seawater.

How Flooding Works

  1. Hull Breach: A damaged hull wall (sub_hull) loses integrity. When it hits 0, the wall is breached and water begins pouring in at 5 cm/tick.
  2. Water Accumulation: Deck tiles (sub_deck) accumulate water measured in centimeters (0 = dry, 200 = fully flooded).
  3. Water Spreading: Water flows to adjacent tiles within the same compartment, equalizing depth.
  4. Bulkhead Containment: Internal bulkheads are watertight by default. If a bulkhead is destroyed, water flows through it to adjacent compartments.

Water Depth Effects

DepthEffect
0-29 cmThin film. No gameplay effect.
30-49 cmAnkle-deep. Visual change.
50-99 cmDrowning risk begins. Mobs take minor respiratory stress.
100-149 cmWaist deep. Movement is difficult. Continuous losebreath buildup.
150-199 cmChest deep. Heavy brute damage (8/tick), severe drowning, CO2 buildup.
200 cmFully flooded. Tile is underwater.

Bilge Pumps

Located in various compartments. Activate by clicking them.

  • Standard Bilge Pump: Drains 10 cm/tick from its tile + adjacent tiles. Uses 15 kW/tick. Range: 1 tile.
  • Emergency Bilge Pump: Drains 5 cm/tick, single tile only. Uses 8 kW/tick.

Note

Bilge pumps require battery power. If your battery is dead, the pumps will not function. Prioritize keeping the diesel generators running if your reactors are offline.

Hull Breach Sealant Sprayer

An automated device that scans for breached hull walls and seals them with fast-curing polymer. Each use consumes one unit of sealant (100 units total). Requires 10 kW/tick to operate.


Atmospheric System

Each compartment has independent atmospheric simulation:

  • Oxygen (O2): Consumed by mobs breathing. Depleted O2 causes suffocation. Replenished by the O2 generator (electrolysis).
  • Carbon Dioxide (CO2): Produced by mobs. Levels above 5.0 cause respiratory distress and CO2 poisoning.
  • Pressure: Calculated from gas moles and temperature. Normal = 1 atm (101.325 kPa).

Ventilation Ducts

Link compartments together for air sharing. All ducts with the same vent ID form a network. Air gradually equalizes across the network.

ObjectFunction
Ventilation DuctPassive air equalization. Click to open/close.
CO2 ScrubberActive CO2 removal (0.5 moles/tick). Optionally injects O2. Uses 25 kW/tick.

Tip

If a compartment is flooding, the water displaces oxygen. A fully flooded compartment will have almost no breathable air. Prioritize evacuation or O2 injection.


Vessel Roster

Player Submarine

StatNuclear SubDiesel Sub
Max Speed (surfaced)30 knots18 knots
Max Speed (submerged)30 knots8 knots (battery)
PropulsionNuclear reactorsDiesel generators (surfaced only)
Battery3000 kWh3000 kWh
Diesel Fuel40000 L (backup)40000 L (primary)
Crush Depth300m300m
Torpedo Tubes44

Hostile Surface Combatants

VesselTypeSpeedHullSensorsWeapons
Oliver Hazard Perry FFGFrigate30 kts800Sensor 40km, Sonar 25kmHarpoon Missiles, Mk 46 Torpedoes
Kirov CGNBattlecruiser28 kts1200Sensor 50km, Sonar 30kmP-700 Granit, SS-N-14 Silex, 53-65 Torpedoes
Krivak FFGFrigate26 kts600Sensor 35km, Sonar 20kmRBU-6000 Depth Charges, SET-65 Torpedoes
Nanuchka CorvetteCorvette32 kts450Sensor 25km, Sonar 15kmP-120 Malakhit, 40mm CIWS
Grisha MPKPatrol Boat24 kts350Sensor 20km, Sonar 18kmRBU-2500 Depth Charges, SA-N-4 Gecko

Hostile Submarines

VesselTypeSpeedHullSensorsWeapons
Kilo-class SSKDiesel Sub18 kts700Sensor 30km, Sonar 35kmTEST-71 Torpedoes, Type 65-76 Torpedoes
Akula-class SSNNuclear Sub30 kts900Sensor 40km, Sonar 45kmSS-N-16 Stallion, 53-65K Torpedoes
Delta III SSBNBallistic Sub22 kts1100Sensor 25km, Sonar 30kmR-29 Vysota SLBM, 53-65M Torpedoes

Hostile Aircraft

AircraftTypeSpeedHullSensorsWeapons
Tu-22M BackfireBomber50 kts400Sensor 80kmAS-4 Kitchen, AS-6 Kingfish
Su-24 FencerStrike45 kts300Sensor 60kmAS-7 Kerry, FAB-500 Bombs
Il-38 MayASW Patrol38 kts350Sensor 70km, Sonar 10kmRGB-1N Torpedoes, RGB-2 Depth Charges

Neutral / Mission Targets

VesselTypeSpeedHullSensorsNotes
Bulk Cargo FreighterCargo15 kts500Sensor 15kmLarge radar signature (2.0x). Common mission target.
Fleet Oil TankerTanker12 kts400Sensor 12kmVery large signature (2.5x). Catastrophic explosion on death.

AI Behavior

Hostile NPCs use a three-state AI with tactical movement:

StateBehavior
PATROLMoves between random waypoints at patrol speed. Non-hostile until detection.
HUNTTriggered when the NPC detects the player (passive noise or active sonar ping). Moves toward the player's last known position at attack speed.
ATTACKWhen within weapon range, the NPC circle-strafes around the player while firing weapons on cooldown. Maintains a tight orbit (25 unit radius) to avoid torpedo lock. Reverts to HUNT if the player moves out of range.

Detection Triggers:

  • Passive Sonar: NPC detects you if your noise_level exceeds their passive_sonar_threshold. Noise increases with speed and active sonar use.
  • Active Sonar Ping: If you use active sonar within the NPC's sonar range, they instantly know your position.

Tactical Behavior:

  • NPCs circle in a random direction (clockwise or counter-clockwise) at 8 degrees per tick
  • They fire one weapon per volley cycle with cooldown management
  • If you move beyond 40 units, they switch to HUNT to chase you

Tip

Stay deep and slow to minimize your noise signature. A submarine running at 5 knots at 200m depth is extremely difficult to detect passively.


Crew Management

The submarine tracks individual crew members and their status. Crew are automatically detected when they board the submarine.

Crew Member Status

Each crew member is tracked with:

StatDescription
HealthCurrent health percentage (0-100)
Total DamageSum of brute, burn, toxin, and oxygen damage
ConsciousFALSE if unconscious or dead
InjuredTRUE if total damage exceeds 20
Oxygen Status"Nominal", "Low O2", "Suffocating", or "Drowning"
CompartmentCurrent compartment ID (e.g., "Operations", "Reactor Room")
AssignmentJob title (Captain, Officer, Crewman)
Role"captain", "officer", or "crew"

Crew Query Procs

The submarine datum provides these crew management functions:

ProcReturns
get_crew_count()Total number of tracked crew members
get_crew_by_role(role)List of crew members matching a role
get_injured_crew()List of crew members with damage > 20
get_suffocating_crew()List of crew members with non-nominal oxygen
get_crew_in_compartment(id)List of crew in a specific compartment
get_crew_summary()Associative list: total, injured, suffocating, unconscious counts

Crew Auto-Detection

Crew are automatically added to the tracking list when:

  1. They are a /mob/living/human on the submarine's Z-level
  2. They are standing on a turf in internal_turfs (the submarine interior)
  3. They are not already tracked

Dead crew members are automatically removed from tracking.


Mission System

Missions are relayed to you over the radio console. Complete objectives to earn mission points and progress through the game.

Mission Types

TypeObjectiveCompletionFailure
SINK_CARGODestroy a hostile cargo vessel at target coordinatesSink the target vesselTarget escapes or 120 tick timeout
PATROL_AREANavigate to and patrol a sectorReach coordinates and survive 60 ticksTake too much damage or 60 tick timeout
ESCORTProtect a friendly cargo vessel to waypointCargo survives to destinationCargo is destroyed
RECONInvestigate coordinates and observeReach target and maintain position 30 ticksTake damage or leave area
RESCUEFind and escort a damaged allied submarineEscort sub to safe watersAllied sub is destroyed
AMBUSHSet up and eliminate a hostile patrol groupDestroy all hostilesFail to eliminate all or 120 tick timeout

Mission Weighting

Missions are randomly selected with these weights:

TypeWeight
SINK_CARGO30%
PATROL_AREA25%
ESCORT20%
RECON15%
AMBUSH8%
RESCUE2%

Mission Timing

  • Delay Between Missions: 150 ticks (approximately 2.5 minutes)
  • Mission Timeout: 120 ticks (approximately 2 minutes) for most types
  • Completion Check: Every tick while mission is active

Mission Scoring

  • Completed: +1 to missions_completed counter
  • Failed: +1 to missions_failed counter
  • Mission Status: Displayed in radio console and map metadata

Single Player Mode

Single-player mode allows ghosts to interact with submarine machinery, enabling solo play without other human crew.

How to Enable

  1. Open the Server tab in the game menu
  2. Select "Toggle Single Player Mode"
  3. Requires admin privileges

Effects

When enabled:

  • Ghosts can interact with all submarine consoles and physical machinery
  • Dead players can operate systems while observing
  • All machinery can_use() checks are bypassed for observers

When disabled:

  • Only living players can interact with machinery
  • Ghosts cannot operate systems

Note

Single-player mode is intended for testing and solo gameplay. It can be toggled at any time by an administrator.


Physical Machinery (Interior)

These objects exist on the submarine's interior Z-level and can be interacted with directly.

ObjectLocationInteraction
Reactor CoreReactor RoomVisual indicator of reactor status. Emits radiation if damaged.
Coolant PumpReactor RoomDegrades with health. Damaged pumps reduce max RPM.
Steam TurbineEngine RoomCaps max speed based on health. Makes noise at high speeds.
Diesel EngineEngine RoomCarbon buildup at low throttle. Overheats at high throttle.
Diesel Propulsion MotorEngine Room (diesel only)Converts diesel power to thrust. Overheats and seizes if damaged.
Torpedo TubeForward/Aft Torpedo RoomLoad/unload torpedoes. Click with a torpedo item to load, crowbar to unload.
HTP Fuel TankTorpedo RoomHigh-test peroxide storage. Volatile if damaged or heated. Explodes at 70 C.
Bunk BedCrew QuartersRest area. No gameplay effect yet.
GalleyGalleyFood processor. Produces nutritional rations when clicked.
Equipment LockerVariousContains gas masks, welding tools, fire extinguishers, and basic tools.
Stern PlaneExternalAffects steering efficiency. Must be repaired while surfaced.
Bilge PumpVarious CompartmentsDrains water from tiles. Standard (10 cm/tick, 15 kW) or Emergency (5 cm/tick, 8 kW).
Hull Breach Sealant SprayerVarious CompartmentsSeals breached hull walls. Uses sealant charges (100 total). Requires 10 kW.
Ventilation DuctVarious CompartmentsEqualizes air between compartments. Click to open/close.
CO2 ScrubberVarious CompartmentsRemoves CO2 (0.5 moles/tick), optionally injects O2. Uses 25 kW.
Ballast Control ValveOperationsControls ballast tank flooding/venting for depth control.

Quick Reference

SituationAction
Taking on waterActivate bilge pumps. Seal breaches with welder or sealant sprayer.
Running out of airTurn on O2 generator. Open ventilation ducts.
Reactor overheatingIncrease primary pump speed. Insert control rods. SCRAM if critical.
Enemy detected on sonarGo deep (150m+), reduce speed to 5 knots, go silent.
Need to fire torpedoesMaster Arm ON. Select target from sonar contacts. Load tube. Launch.
Battery deadSurface and engage diesel throttle to recharge.
Crush depth warningIncrease target depth. Check ballast. Emergency blow if needed.
Crew member injuredCheck crew status via submarine console. Move to medical bay.
Crew suffocatingCheck oxygen status. Inject O2 into compartment or evacuate.
Solo play neededToggle Single Player Mode in Server tab (admin only).
NPC attackingGo deep and slow. Use passive sonar. Avoid active sonar pings.
Mission receivedCheck radio console for coordinates. Navigate to target area.
Multiple hull breachesEmergency blow to surface. Activate all bilge pumps. Seal breaches.

Subpages