A fullscreen sci-fi arcade game launcher for Godot 4.7, designed for physical arcade cabinets running Ubuntu Linux with X11.
- Automatic game detection from
/arcade/gamesdirectory - Fullscreen launcher with space-station OS theme
- Drop-in game support via SFTP upload
- Preview videos and screenshots for each game
- Per-game high score tracking
- Live game list refresh without restart
- Attract mode with auto-scrolling
- Boot sequence animation
- Gamepad and keyboard support
- Ubuntu Linux (20.04 or newer recommended)
- X11 display server (Wayland should be disabled)
- Godot 4.7 or compatible version
- inotify-tools package for live refresh
For detailed installation instructions, see INSTALL.md.
- Set up Ubuntu with X11
- Create
/arcadedirectory structure - Export and install the launcher
- Install systemd services
- Upload games to
/arcade/games
See GAME_SPEC.md for the complete game upload specification (c-base Arcade Upload Spec v1.0).
Each game folder under /arcade/games/ must contain:
Required:
- Linux executable:
*.x86_64OR*.AppImage - Godot pack:
*.pck - Must support
ui_exitinput action to quit
Strongly Recommended:
game.json- metadata (title, author, description, players, year)preview.mp4orpreview.ogv- gameplay clip (5-15 seconds)screenshot.png- fallback imageicon.png- list entry icon
GD_ArcadeLauncher/
├── project.godot
├── scenes/
│ ├── Boot.tscn # Boot sequence (optional)
│ ├── Launcher.tscn # Main launcher UI
│ └── GameEntry.tscn # Game list item template
├── scripts/
│ ├── Boot.gd
│ ├── Launcher.gd # Main controller
│ ├── GameInfo.gd # Game data model
│ ├── GameScanner.gd # Directory scanner
│ └── ScoreStore.gd # High score manager
├── media/
│ ├── sounds/
│ ├── fonts/
│ └── shaders/
├── tools/
│ └── watch_games.sh # inotify watcher script
└── install/
└── systemd/
├── arcade-launcher.service
└── arcade-watch.service
Built with Godot 4.7 using GDScript.
The launcher uses standard Godot input actions:
ui_up,ui_down- Navigate game listui_accept- Launch selected gameui_cancel- Back/cancelui_exit- Exit game (required for all games)
- Open the project in Godot 4.7.x
- Go to Project → Export
- Select Linux/X11 preset
- Export as
launcher.x86_64with embedded PCK or separate.pckfile
Contributions welcome! Please ensure:
- Code follows existing GDScript style
- New features are documented
- Game upload specification compatibility is maintained
[Add your license here]
Developed for the c-base space station arcade cabinet.