HackerOS Games
The native game launcher bundled with every edition of HackerOS. One interface for launching, configuring and tracking all HackerOS-native games.
Built With
Launcher Interface
The launcher is divided into four sections accessible from the top navigation bar.
Navigation
| Tab | Description |
|---|---|
| Library | Browse and launch your game library. Shows playtime stats per game. |
| Addons | Expansion content for installed games (coming soon). |
| Settings | Per-game launch configuration: fullscreen, resolution, volume. |
| About | Launcher version info and technology stack. |
Window Controls
The custom title bar provides three window controls:
- — Minimize to taskbar
- □ Toggle maximize / restore
- ✕ Close the launcher
The title bar area can be dragged to move the window. Navigation tabs and window controls are excluded from the drag region.
Library View
The Library tab shows a sidebar list of all games on the left, and a detail panel on the right. Click any game in the sidebar to view its details, playtime stats and launch button.
Playtime Tracking
HackerOS Games records how long you have played each game, similar to Steam's playtime feature.
How It Works
- When you click Launch Game, a session timer starts in the launcher frontend.
- Every 15 seconds, elapsed time is flushed to the Rust backend via a Tauri IPC call (record_playtime).
- The backend appends the delta to a persistent JSON file at ~/.hackeros-games/playtime.json.
- An additional flush occurs when the launcher window loses focus or is closed.
Data Stored
| Field | Type | Description |
|---|---|---|
| game_id | string | Internal game identifier |
| total_seconds | u64 | Cumulative play time in seconds |
| last_played | u64 | Unix timestamp of last session |
| sessions | u32 | Number of times launched |
Resetting Playtime
To reset playtime data for all games, delete the file:
Settings
The Settings tab allows per-game launch configuration. Select a game from the left sidebar, adjust options and click Save.
Available Options
| Option | Values | Description |
|---|---|---|
| Fullscreen | Off / On | Passes --fullscreen flag when launching the game. |
| Resolution | 1280×720 to 3840×2160 | Target resolution. Support depends on each game's own implementation. |
| Volume | 0% – 100% | Master volume level. Passed as metadata; game must support it. |
Reset to Defaults
Click the Reset button on any game's settings panel, or delete the settings file:
Addons
The Addons section is reserved for expansion content that extends HackerOS games with new levels, features or assets.
Planned Addons
| Addon | Target Game | Status |
|---|---|---|
| Extended Waves | Starblaster | In Dev |
| Campaign Mode | Bark Squadron | In Dev |
| World 2 | Bit Jump | In Dev |
| 2027 Season Pack | The Racer | In Dev |
The Racer
A motorsport management simulator where you build a racing team from the ground up and compete across five major racing series.
Racing Series
| Series | Rounds | Highlights |
|---|---|---|
| Formula 1 2026 | 24 | Full 2026 calendar, hybrid power units, pit stops |
| IndyCar | 17 | Oval + road courses, high speed, Indy 500 |
| Formula E | 16 | Electric, no pit stops, attack mode strategy |
| WEC | 8 | Endurance racing, Le Mans, multi-hour stints |
| GT3 | 12 | Production-based cars, pro-am grid |
Game Mechanics
Hire and manage two drivers with individual stats: Pace, Consistency, Wet Skill, Tire Management, Experience and Morale.
Invest in R&D projects across five areas: Chassis, Engine, Reliability, Tire Degradation and Pit Speed. Each takes several races to complete.
Choose tire compound (Soft/Medium/Hard/Inter/Wet) and pit lap for each driver. Wet conditions make compound choice critical.
Visual map of every circuit with accurate outlines. Shows S/F line, pit entry, and post-race results per round.
Navigation
| Tab | Function |
|---|---|
| Dashboard | Season overview, next race info, recent results |
| Roster | Driver stats, contracts, morale |
| Car Dev | R&D project management, car stats |
| Standings | Full constructor standings with points bar |
| Track Map | Circuit selector with SVG track outlines |
| Next Race | Opens race weekend: practice, qualifying, strategy, race |
Save / Load
Progress is auto-saved after each race to the-racer-save.json in the working directory. Use Continue from the main menu to resume.
Cosmonaut
Manage a space agency from the dawn of the Space Race to interplanetary exploration. Inspired by the golden age of NASA.
Starting Eras
| Era | Year | Budget | Description |
|---|---|---|---|
| Space Race | 1957 | $300M | Humble beginnings with Vanguard and Atlas rockets |
| Apollo Era | 1960 | $500M | Lunar ambition, improved technology |
| Shuttle Era | 1975 | $800M | Reusability focus, larger budgets |
| Modern Era | 1995 | $1200M | Advanced technology, commercial partnerships |
Mission Types
Screens
| Screen | Description |
|---|---|
| Control | Mission Control dashboard with active missions and event log |
| Rockets | Fleet overview and design lab for new vehicles |
| Crew | Astronaut corps — stats, status, recruitment |
| Missions | Mission manifest with filters and flight log per mission |
| Research | R&D projects across 7 technology areas |
| Star Map | Interactive Solar System map with exploration status |
| Base | Facility upgrades: Launch Pads, VAB, Tracking, Lab, Habitat |
Controls
| Key | Action |
|---|---|
| Space | Advance one month (when on Dashboard) |
| Esc | Return to previous screen / Dashboard |
| Mouse | All navigation and interaction |
Starblaster
A top-down bullet hell shooter with dynamic difficulty, graze mechanics, combo multipliers and a full save/load system.
Mechanics
- Graze System — flying close to enemy bullets without being hit awards score and charges your Ultimate.
- Combo Multiplier — consecutive kills increase your score multiplier. Missing or taking a hit resets it.
- Heat System — sustained fire overheats your weapons, requiring a cooldown period.
- Ultimate Ability — screen-clearing attack charged by combat actions.
- Dynamic Difficulty — the Director AI adjusts enemy spawn rates based on your accuracy and health.
Enemy Types
| Type | Behaviour |
|---|---|
| Basic | Slow linear movement, easy to dodge |
| Fast | High speed, erratic movement |
| Tank | High HP, absorbs many hits |
| Shooter | Hovers and fires aimed bursts at the player |
| Kamikaze | Charges directly at the player on proximity |
| Asteroid | Fast-falling debris, nearly indestructible |
Controls
| Key | Action |
|---|---|
| ↑↓←→ | Move ship |
| Space | Fire weapons |
| L-Shift | Activate Ultimate (when charged) |
| P | Pause game |
| S (paused) | Save and exit to menu |
| L (menu) | Load saved game |
Bark Squadron
Physics-based 2D dogfighting game with realistic aerodynamics — gravity, drag, stall speed, afterburners and water interactions.
Physics Model
- Gravity & Drag — the aircraft is subject to gravity and air resistance at all times.
- Stall Speed — flying too slowly causes the nose to drop and the aircraft to lose control.
- Afterburner — thrust boost with visible flame and particle exhaust.
- Water Skimming — low-altitude passes create wake mist and spray effects.
- Camera Look-ahead — the camera smoothly leads the aircraft based on velocity direction.
Enemy Types
| Type | Colour | Description |
|---|---|---|
| Grunt | Grey | Standard enemy, moderate speed, tracks player directly |
| Ace | Black | High speed, predictive AI — leads the player position |
| Bomber | Green | Very high HP, slow but heavily armed |
Controls
| Key | Action |
|---|---|
| ↑ / W | Afterburner thrust |
| ← / A | Rotate left |
| → / D | Rotate right |
| Space | Fire cannons |
| Esc | Pause / unpause |
Settings
- Difficulty — Easy, Normal, Hard (adjusts enemy count and damage)
- Sensitivity — Rotation speed multiplier (0.5 to 2.0)
- Particles — Toggle visual effects for performance
- High Quality — Water reflections and heat distortion effects
Bit Jump
A Geometry Dash-inspired precision platformer across 8 hand-crafted levels featuring moving platforms, hazards, power-ups and a final boss.
Game Modes
| Mode | Description |
|---|---|
| Normal | Complete 8 levels in sequence. 3 lives. |
| Time Attack | Race through levels within a time limit that grows per level. |
| Endless | Loop through all levels with increasing auto-speed. Score attack. |
| Practice | Unlimited lives. Learn level layouts without pressure. |
Power-Ups
| Power-Up | Effect |
|---|---|
| Invincibility | 5 seconds of immunity to all hazards and enemies |
| Double Jump | Grants one additional mid-air jump |
| Shield | Absorbs one hit from any hazard |
| Speed Boost | 5 seconds of increased auto-run speed |
Hacking Ability
Press H to activate a hack that disables all nearby enemies for 10 seconds. 10-second cooldown. Unlocks the Hacker achievement on first use.
Achievements
| Achievement | Condition |
|---|---|
| Hacker | Use the hack ability for the first time |
| Data Collector | Collect all data orbs in a single level |
| Endless Runner | Complete a loop in Endless mode |
| Game Winner | Complete all 8 levels |
| Perfect Run | Reach the maximum score multiplier (x5) |
| Speed Demon | Collect a Speed Boost power-up |
Architecture
Launcher Stack
IPC Commands
| Command | Arguments | Returns |
|---|---|---|
| check_game_exists | game_id: String | bool |
| launch_game | game_id: String | Result<bool> |
| record_playtime | game_id, seconds | Result<()> |
| get_all_playtime | — | HashMap<String, GamePlaytime> |
| save_game_settings | game_id, settings | Result<()> |
| get_all_game_settings | — | HashMap<String, GameSettings> |
File Paths
Game Binaries
| Game | Path |
|---|---|
| Starblaster | /usr/share/HackerOS/Scripts/HackerOS-Games/starblaster |
| Bit Jump | /usr/share/HackerOS/Scripts/HackerOS-Games/bit-jump.love |
| The Racer | /usr/share/HackerOS/Scripts/HackerOS-Games/the-racer |
| Bark Squadron | /usr/share/HackerOS/Scripts/HackerOS-Games/bark-squadron.AppImage |
| Cosmonaut | /usr/share/HackerOS/Scripts/HackerOS-Games/cosmonaut |
Data Files
| File | Contents |
|---|---|
| ~/.hackeros-games/playtime.json | Playtime data for all games |
| ~/.hackeros-games/settings.json | Per-game launch settings |
| ./the-racer-save.json | The Racer season save (working dir) |
| ./cosmonaut_save.json | Cosmonaut agency save (working dir) |
Launcher Assets
Troubleshooting
The launcher cannot find the game binary at its expected path. Verify the file exists:
If missing, reinstall the relevant HackerOS game package.
Ensure the Tauri capabilities file grants window permissions:
It must include core:window:allow-minimize, core:window:allow-toggle-maximize and core:window:allow-close.
Playtime syncs to disk every 15 seconds and on window blur/close. If you force-kill the launcher, the last 15s may not be saved. Check:
Bit Jump requires LÖVE2D. Install it:
The launcher auto-sets executable permissions on AppImages. If it still fails:
Ensure all Tauri 2 dependencies are installed: