How ricott1/rebels-in-the-sky works
Rebels in the Sky is a terminal game about building a pirate crew, traveling the galaxy, and playing basketball. The principal loop runs through the application: load or initialize a world, interact through the terminal UI, simulate world events, and persist game state. The README also describes space adventures, tournaments, online challenges and trading, local bot teams, music, and optional relayer and SSH modes. Some subsystem links are based on documented capabilities and the module tree; unsampled implementation details are not inferred.
Main entry points: app.rs App orchestration · main.rs CLI entry · world.rs World and crew · handler.rs Peer networking
Components 20
Application runtime
- CLI entry
src/main.rs - Arguments
src/args.rs - App orchestration
src/app.rs - Tick events
src/tick_event_handler.rs
Game world
- World and crew
src/core/world.rs - Galaxy adventure
src/space_adventure/mod.rs - Basketball engine
src/game_engine/mod.rs - Tournaments
src/game_engine/tournament.rs - Save data
src/store.rs
Terminal interface
- Terminal I/O
src/tui.rs - Input events
src/crossterm_event_handler.rs - Screens and panels
src/ui/mod.rs - Game imagery
src/image/mod.rs
Network and services
- Peer networking
src/network/handler.rs - Challenges and trades
src/network/challenge.rs - Internet radio
src/audio/music_player.rs - Relayer mode
src/relayer.rs - SSH game server
src/ssh_game.rs
Other components
- Player
- Other players
Connections 21
- Player → CLI entry: starts
- CLI entry → Arguments: parses
- CLI entry → App orchestration: runs
- App orchestration → Terminal I/O: renders through
- Input events → App orchestration: sends events
- Tick events → App orchestration: sends ticks
- App orchestration → Screens and panels: updates
- Screens and panels → Game imagery: uses imagery
- App orchestration → World and crew: simulates
- App orchestration → Save data: loads and saves
- App orchestration → Peer networking: starts polling
- Peer networking → App orchestration: dispatches events
- Peer networking → Other players: exchanges data
- Challenges and trades → Peer networking: uses peer transport
- Player → Screens and panels: interacts
- World and crew → Galaxy adventure: supports adventures
- World and crew → Basketball engine: supports games
- World and crew → Tournaments: supports tournaments
- App orchestration → Internet radio: starts optionally
- CLI entry → Relayer mode: runs optionally
- CLI entry → SSH game server: runs optionally