Future Warehouse Logistics¶
This document captures a post-vertical-slice direction for warehouse play, freeform item placement, ship scheduling, cargo transfer, scrapping, and special salvage handoffs.
The old fixed Sell/Quarantine zone simplification has been removed from the active direction. The current pre-v1 foundation should prove physical placement first:
The future direction is to grow that into a more physical logistics game where the warehouse is a player-authored space instead of a set of final colored zones.
Design Intent¶
The warehouse should eventually become a freeform storage and transfer space.
The player can pick up salvage, preview where it will land, and place it almost anywhere the station rules allow. How the warehouse is organized becomes part of the game. A careful player can build compact, readable stacks and staging lanes. A careless player may create unstable piles, blocked paths, lost evidence, or fragile items that fall when disturbed.
The core fantasy remains:
Every object is evidence.
Freeform placement should support that fantasy. It should make objects feel physical and consequential, not turn the game into an unrestricted physics sandbox with no rules.
Freeform Placement¶
When holding an item, the player should see a placement preview at the target location.
Expected behavior:
- preview the held item's outline, ghost mesh, or silhouette on the floor, table, shelf, cargo pallet, or other valid surface
- show clearly whether the proposed placement is valid, blocked, unstable, or restricted
- rotate or fine-adjust the item before committing placement
- place the item with a short tactile animation, such as the operator bending down, lowering the object, or bracing a heavy item
- re-enable collision and physics after placement when appropriate
The outline should communicate physical footprint and orientation. It should not be only a generic marker decal.
Placement rules can vary by item:
- small evidence can be placed on shelves, tables, bins, crates, or the floor
- fragile objects may require gentle placement or stable support
- hazardous items may be placeable anywhere but create risk if stored carelessly
- heavy items may require floor placement, a cart, or powered assistance
- suspicious or illegal packages may need concealment, isolation, reporting, or timed handoff
Warehouse As Player-Organized Space¶
The long-term warehouse should not be divided into permanent Sell and Quarantine floor zones.
Instead, the player chooses how to use the space:
- incoming salvage staging
- scanned but unprocessed items
- packaged export goods
- suspected evidence
- scrap feedstock
- high-value goods waiting for the right buyer
- hazardous or legally sensitive objects
- temporary piles created under time pressure
This makes organization an optimization and memory challenge. The game should reward good physical layout through faster transfers, fewer mistakes, reduced accidents, and better ship turnaround.
The station may still contain authored fixtures:
- cargo transfer area
- scrapper
- scanner
- packager
- shelves
- carts
- lockers
- hazard containers
- evidence cabinets
- floor markings
Those fixtures should be tools and Capabilities, not the only legal places objects can exist.
Trade Ships¶
Instead of instantly selling items by placing them in a fixed zone, the player should eventually call or schedule trade ships.
Future trade flow:
store goods in warehouse
-> call or schedule a trade ship
-> ship arrives at the landing pad
-> player moves selected goods to the cargo transfer area
-> transfer completes
-> credits, reputation, or consequences are awarded
The player earns money only when the correct items are physically transferred to the ship. This keeps the final decision spatial and tactile.
Trade ships can vary by role:
- general salvage buyer
- scrap hauler
- medical or biohazard courier
- evidence authority
- black-market contact
- story-specific specialist
- suspicious-package handoff ship
Each ship type can define:
- accepted item categories
- payout rules
- legal risk
- waiting time
- loading capacity
- special requests
- consequences for late, wrong, or illegal cargo
Scheduling Pressure¶
The station should have limited docking capacity. The first future version can assume one landing pad.
Scheduling pressure loop:
trade ship A is docked
-> trade ship B arrives
-> B waits for a short grace window
-> if A does not depart in time, B leaves
-> player receives a penalty or lost opportunity
This creates a planning game without requiring ship piloting. The player can call multiple ships, but bad scheduling creates congestion, missed sales, reputation loss, fees, or story consequences.
Important constraints:
- the player should understand when a ship is inbound, docked, waiting, or leaving
- ship wait times must be readable and fair
- penalties should be predictable enough to support planning
- the player should be able to deliberately accept risk for higher throughput
Scrapper¶
The station can include a scrapper for items the player wants to destroy or convert into bulk scrap.
Future scrapper flow:
place unwanted item into scrapper
-> scrapper consumes item
-> scrap output appears or is credited as bulk material
-> scrap can be sold to a suitable trade ship
The scrapper should not be a consequence-free delete button.
Possible risks and tradeoffs:
- destroying evidence
- lower payout than specialized sale
- contamination if hazardous goods are scrapped incorrectly
- noisy or time-consuming operation
- story flags for illegal disposal
- scrap output that still needs physical storage or transfer
Special Contracts And Suspicious Packages¶
Specialized ships create room for story and moral pressure.
Examples:
- a courier requests a sealed suspicious package with no scan record
- an authority ship accepts evidence but pays less than a private buyer
- a black-market ship pays more but increases legal exposure
- a medical ship urgently needs a bio-sample before it spoils
- a claimant ship arrives for personal effects that were falsely manifested as scrap
These should be authored through data assets or data tables, not hard-coded cases. The player-facing drama comes from physical handling under time pressure: finding the right object, deciding whether to scan or hide it, carrying it to the transfer area, and committing the handoff.
Relationship To Current Placement Foundation¶
The removed Sell and Quarantine warehouse zones were useful temporary scaffolding, but they are no longer the active direction.
The placement foundation should now prove:
- player-controlled physical storage
- item recovery after placement
- package-gated handling without final outcomes
- C++ ownership boundaries for item, carry, workstation, placement, and station-bounded release
Later, placement and storage can evolve into a cargo transfer system:
freeform warehouse storage
-> cargo transfer area
-> ship-specific manifest validation
-> transfer result
Do not build full trade-ship logistics until scan, package, placement, recovery, and basic warehouse organization feel stable.
Implementation Notes¶
Likely C++ ownership direction:
UAndromedaCarryComponentshould remain the player's hands and own the held-item reference.- Freeform placement preview should probably live in a dedicated placement component or narrow helper owned by the player, not inside every salvage item.
- Workstations should remain explicit validation fixtures for scanner, packager, scrapper, and cargo transfer interactions, while item placement stays freeform.
- Salvage items should continue to own salvage data and processing state, not carry or placement state.
- Ship schedules, buyer manifests, payouts, and special contracts should be data-authored.
- Physics should be added carefully, with attention to collision cost, sleeping behavior, item count, and save/load determinism.
Blueprints should own presentation:
- ghost mesh material
- placement outline color
- valid/invalid placement effects
- hand and body placement animation
- ship arrival/departure staging
- landing pad visuals
- cargo transfer UI layout
Core gameplay rules should stay in C++.
Open Questions¶
- Is freeform placement available before scanning, after scanning, or always?
- Should packaged items have different collision and stacking behavior than loose salvage?
- How much rotation and fine placement control does the player need?
- Are trade ships requested on demand, scheduled on a station clock, or both?
- Does the player manually load every item, or can late-game upgrades automate some cargo transfer?
- How are unstable stacks judged without creating frustrating physics noise?
- What is the minimum fair penalty for making an arriving ship wait too long?
- Which illegal or suspicious handoffs are story-critical, and which are systemic repeatable content?