docs: document SS13 feature gaps and development priorities

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
Steve Biedermann 2026-10-21 20:57:50 +02:00
parent 4d7d777e86
commit fadd159de6
2 changed files with 145 additions and 0 deletions

View File

@ -25,6 +25,9 @@ with [Bevy](https://bevy.org) in Rust.
| `crates/game_server` | Authoritative simulation, Rune scripting, persistence, `game-server` binary | | `crates/game_server` | Authoritative simulation, Rune scripting, persistence, `game-server` binary |
| `crates/game_client` | Rendering, UI and input (`game` binary); embeds the server for singleplayer/host | | `crates/game_client` | Rendering, UI and input (`game` binary); embeds the server for singleplayer/host |
See [SS13 feature gaps](docs/ss13-feature-gaps.md) for an inventory of major
systems and smaller features that are not yet implemented or are only partial.
The client never changes game state directly. It sends requests (`Login`, `SetMovement`, The client never changes game state directly. It sends requests (`Login`, `SetMovement`,
`Interact`, `Craft`, …) and the server replicates the resulting state back. In `Interact`, `Craft`, …) and the server replicates the resulting state back. In
singleplayer the same server systems run inside the client process, so singleplayer and singleplayer the same server systems run inside the client process, so singleplayer and

142
docs/ss13-feature-gaps.md Normal file
View File

@ -0,0 +1,142 @@
# SS13 Feature Gaps
This document is an inventory of major systems and smaller features that are
not present, or are only represented in a basic form, in Station. It is based
on the current source code and shipped content, not a promise or schedule for
implementation. Space Station 13 differs substantially between codebases and
servers, so this is a practical comparison with common SS13 gameplay rather
than an exhaustive specification.
Station currently provides persistent worlds rather than rounds; free
movement; inventory and item use; crafting, construction and gathering; skills;
simple hunger and health; basic machines; chat; multiplayer; admin controls;
and world/character persistence. Those systems provide a foundation, but do
not yet form the crew-driven, round-based station simulation typical of SS13.
## Major Systems
These are large gameplay pillars. Many depend on several other systems and
would need coordinated data, server simulation, UI, networking and content.
- [ ] **Round lifecycle and lobby:** Lobby, ready-up, round start and end,
round timers, end-of-round summary, and a clean reset or new-round flow.
- Not needed, as I want to go for long running servers instead of round based
- [ ] **Crew roles and departments:** Job selection or assignment, department
rosters, role-specific equipment and responsibilities, access levels, and
command structure. Current skills gate a few recipes; they are not jobs.
- [ ] **Antagonists, objectives and events:** Hidden roles, role objectives,
round-specific threats, dynamic events, and systems for declaring or resolving
round outcomes.
- Not needed for now
- [ ] **Combat and security:** Character-versus-character combat, weapons,
projectiles, armor, restraints, arrest and evidence workflows, and security
tools. Current damage is limited to basic survival/script effects rather than
a combat model.
- [ ] **Atmospherics and environmental simulation:** Gas mixtures, pressure,
oxygen and breathing, temperature, fire, vent/scrubber networks, and
environmental hazards.
- [ ] **Power and electrical engineering:** Power generation and distribution,
cables, breakers, consumers, power outages, and electrical hazards.
- [ ] **Medical simulation:** Damage types and body zones, injuries, surgery,
diseases, status effects, diagnosis, medical equipment, and treatment
workflows. Current health/nutrition and healing items are intentionally
simple.
- [ ] **Chemistry and reagents:** Reagent containers, mixtures, reactions,
chemical effects, toxins, and chemistry equipment. Current crafting consumes
discrete item ingredients rather than simulating reagents.
- [ ] **Research and technology progression:** Research points, unlock trees,
department research workflows, and fabrication tied to discovered technology.
Current crafting uses direct recipes and skill requirements.
- [ ] **Station infrastructure and machinery:** Interconnected machinery and
control systems, including powered/access-controlled airlocks, alarms,
cameras, consoles, telecoms, and other department-specific equipment. Current
doors are manually toggled and machines are generic timed processors.
- [ ] **Communications and evacuation:** Radio channels, headsets, intercoms,
station-wide alerts, emergency communications, shuttle request/control,
evacuation, and escape outcomes. Current player chat is global.
- Communication is needed, evacuation right now isn't
- [ ] **Character roles and species simulation:** Species traits, body structure,
species-specific needs, equipment restrictions, and distinctive capabilities.
- [ ] **NPCs and autonomous station systems:** NPC behavior, station AI, robots
or cyborgs, pets, and other non-player entities with useful behavior.
- [ ] **Station-scale content and workflows:** Full department layouts,
interactive props, specialized tools, jobs' equipment, and multi-step
objectives that give the above systems a playable station context. Current
map and item/building/recipe data are a small prototype set.
## Minor Systems And Features
These are smaller in scope than the pillars above, though some will rely on a
major system before they become useful.
- [ ] **Roleplay interactions:** Emotes, visible speech bubbles, character
examine/look descriptions, and contextual examine text for items and
buildings.
- [ ] **Equipment and clothing:** Wearable slots, uniforms, storage containers,
backpacks, hand-held equipment, and item-specific interaction rules. Current
inventory is a simple slot list without equipment slots.
- [ ] **Richer status and damage feedback:** Temporary status effects,
damage indicators, incapacitation states, and clearer causes of health loss.
- [ ] **Access credentials:** ID cards, access levels, door authorization,
access-denied feedback, and role-based access management.
- [ ] **World interaction details:** Pulling and pushing objects, dragging
incapacitated characters, furniture placement, storage access, and more
contextual interactions.
- [ ] **Construction and repair details:** Building damage and repair, tools
with distinct uses, dismantling steps, and clearer construction feedback.
- [ ] **Item affordances:** Item examination, splitting and merging stacks,
container contents, transfer between containers, and item-specific
interactions.
- [ ] **Personal communication:** Local speech, radio device/channel selection,
department channels, and communication feedback. The current chat is global.
- [ ] **Character appearance and identity:** Configurable appearance, pronouns,
character descriptions, and richer identity/role presentation.
- [ ] **Sensory feedback:** Sound effects, ambient station audio, visual status
cues, and alerts for nearby events.
- [ ] **Player onboarding:** In-game controls and interaction hints, role/job
guidance, and contextual help for station equipment.
- [ ] **Administration and moderation tools:** In-game observation, teleport or
intervention tools, logs and audit trails, and richer player reports. The
server already has basic admin, ban, kick, whitelist, and configuration
controls.
- [ ] **Server discovery and reconnect experience:** Server browser, connection
recovery, and clearer handling of disconnects. Current play supports direct
address joining.
- Not needed for now
- [ ] **Content breadth and polish:** More items, recipes, machines, maps,
station props, sprite variety, animations, sound, and UI for the gameplay
systems added over time.
## Existing Systems That Are Only Partial
- **Survival:** Hunger and health exist, but there is no breathing, fatigue,
temperature, toxin, or broad status-effect simulation.
- **Medicine:** Healing exists, but there is no diagnosis, body-part treatment,
surgery, disease, or reagent-based care.
- **Engineering:** Construction and deconstruction exist, but there is no power,
atmospherics, object damage/repair loop, or linked engineering machinery.
- **Machines:** Input/output slots and timed recipes exist, but machines are not
connected to power, research, access control, or station-wide networks.
- **Social play:** Multiplayer and global chat exist, but there are no local
speech, radios, role channels, or round objectives to structure crew play.
- **Scripting and modding:** Data files and Rune hooks support content
customization, but the current hooks do not provide a broad event, AI, or
multi-entity simulation framework.
## Suggested Development Order
This is a dependency-oriented sequence, not a commitment:
1. Decide whether Station remains a persistent-world sandbox or moves toward a
round-based loop; that choice affects persistence, roles, objectives and
server lifecycle.
- I want to stay persistent world sandbox style. The community should be able to build custom maps (scenarios) that can have goals
2. Establish character state and interaction foundations: damage/status model,
equipment, access, and robust item/container interactions.
3. Add station infrastructure primitives such as power, atmospherics and
machinery networks before building complex department equipment on top.
4. Build role workflows and communications, then round objectives, antagonists,
emergencies and evacuation around those foundations.
5. Expand departments, content, audiovisual feedback and administration tools
alongside playtesting and balancing.
- There should also be tools to generate and modify content, so that communities can make custom content in a simple way