Modern Rust port of the classic Space Trader (Palm OS). Status: Playable core loop.
Prereqs: Rust 1.70+, Python 3.
git clone https://github.com/yourusername/rusttrader.git
cd rusttrader
cd tools && python3 generate_placeholder_assets.py && cd ..
cargo run- Implementation roadmap: docs/ROADMAP.md
- Live project status: docs/STATUS.md
- Multi-agent handoff template: docs/AGENT_HANDOFF.md
- Validation guidance: docs/TESTING.md
- Architecture/workflow decisions: docs/DECISIONS.md
- 120 procedural systems, dynamic pricing, warp travel, encounters
- Ship upgrades, repairs, ship shop, short-range chart + galactic chart
- Save/load, asset system with placeholders
- Main:
TTrade,WWarp,IInfo,UUpgrade,RRepair,HShips,FRefuel,SSave,Q/ESCQuit - Trading:
↑/↓select,Bbuy 1,5buy 5,Ssell 1,Asell all - Warp:
↑/↓select,ENTER/Wwarp,Ggalactic chart - Galactic chart:
Ffind,ENTERset waypoint,ESC/Qback
- Placeholder sprites:
tools/generate_placeholder_assets.py - Original art extraction: see ASSET_CONVERSION.md
- src/main.rs (game loop + screens)
- src/game (trading, travel, encounters, upgrades, repairs, ships)
- src/types (state + data types)
- src/ui, src/assets, src/save, tools/, assets/
- docs/ (canonical roadmap, status, handoff, testing, decisions)
-
Special Events (8-10 hours)
- 37 special events from original game
- Quest system (Marie Celeste, Captain Ahab, etc.)
- Artifact delivery missions
- Moon purchase
- Tribbles!
-
Special Ships (2-3 hours)
- Space Monster encounter
- Dragonfly (stolen prototype)
- Scarab (alien ship)
- Bottle Good (retirement reward)
-
Endgame Content (3-4 hours)
- High scores system
- Retirement screen
- Multiple endings
- Reputation system (Harmless → Elite)
Priority: Low - Quality of life improvements
-
Audio (4-6 hours)
- Background music
- Sound effects (warp, trading, combat)
- Audio settings
-
Visual Enhancements (4-6 hours)
- Animated ship sprites
- Particle effects
- Better UI styling
- System background images
-
Quality of Life (3-4 hours)
- Auto-save option
- Multiple save slots
- Game statistics tracking
- Achievements system
-
Configuration (2-3 hours)
- Settings screen
- Difficulty levels
- Game options (auto-fuel, auto-repair, etc.)
- Keyboard remapping
Priority: Future - Major expansions
-
Expanded Galaxy (8-10 hours)
- More systems
- Wormholes
- Galactic chart improvements
- System ownership/factions
-
Multiplayer (20+ hours)
- Online trading
- Shared galaxy
- PvP encounters
- Leaderboards
-
Modding Support (10-15 hours)
- Custom ships
- Custom systems
- Custom quests
- Asset packs
Current areas that need refactoring:
- Encounter system - Stubbed, needs full implementation
- UI code - Main.rs is getting large, should split into modules
- Error handling - Some unwraps should be proper error handling
- Tests - No unit tests yet
- Documentation - Need doc comments for public APIs
Current performance is excellent:
- Startup: <200ms with assets
- Frame rate: 60 FPS stable
- Memory: ~2-5 MB total usage
- Asset loading: Async, non-blocking
- Rust: 1.70+ (2021 edition)
- Platforms: macOS, Linux, Windows (via macroquad)
- Graphics: OpenGL 3.3+ or WebGL2
Contributions welcome! Areas that need help:
- Asset extraction - Converting Palm OS bitmaps
- Combat system - Implementing battle mechanics
- Quest system - Porting special events
- Testing - Writing unit and integration tests
- Documentation - API docs and guides
cargo testcargo build --releasecargo fmt
cargo clippyOriginal Game:
- Created by: Pieter Spronck (2000-2002)
- Additional coding: Sam Anderson, Samuel Goldstein
- Original artwork: Alexander Lawrence
- Inspired by: Elite (1984)
- License: GNU GPL v2+
Rust Port:
- Development: 2024-2026
- Engine: macroquad 0.4
- License: GNU GPL v2+
This project is licensed under the GNU General Public License v2.0 or later - see the LICENSE file for details.
This is a port of the original Space Trader game. All original artwork and game design are copyright their respective owners.
- Original Game: https://github.com/videogamepreservation/spacetrader
- Elite: https://en.wikipedia.org/wiki/Elite_(video_game)
- macroquad: https://macroquad.rs/
GPL-2.0-or-later - Same as the original Space Trader
- Original Game: Pieter Spronck, Sam Anderson, Samuel Goldstein
- Original Artwork: Alexander Lawrence
- Rust Port: Michael Rogers
- Inspired by: Elite by David Braben and Ian Bell