# OMA-LANDER A faithful Lunar Lander arcade recreation for Omarchy Linux, inspired by the 1979 Atari vector cabinet. Built with Love2D — pure Lua, vector line graphics, procedural terrain, procedurally generated audio. The lander itself is drawn as an Apollo Lunar Module silhouette: wide octagonal descent stage, angular ascent-stage cabin, splayed A-frame legs with saucer foot pads and surface probes, descent engine bell, docking tunnel, rendezvous radar, and triangular cockpit windows. ## Install ```bash curl -sL https://git.no-signal.uk/nosignal/oma-lander/raw/branch/master/install.sh | bash ``` ## Uninstall ```bash oma-lander-uninstall ``` ## Controls | Input | Action | |-------|--------| | **Up / W** | Thrust (main engine) | | **Left / A** | Rotate counter-clockwise | | **Right / D** | Rotate clockwise | | **Space** | Abort burn (auto-level, kills horizontal speed, heavy fuel cost) | | **Enter** | Confirm / advance menus | | **Escape** | Back / quit | ## Gameplay Select a mission difficulty, then pilot the LM down through procedurally-generated lunar terrain to a marked landing pad. The camera tracks you and zooms in as you descend — altitude, horizontal and vertical speed, fuel, score and time are on the HUD. ### Mission difficulties | Mission | Gravity | Fuel | Notes | |---|---|---|---| | **CADET** | 8 | 1000 | Training — low gravity, extra fuel | | **PILOT** | 12 | 750 | Standard mission | | **COMMANDER** | 16 | 600 | Heavier pull, less fuel | | **ASTRONAUT** | 22 | 500 | Elite — extreme gravity | ### Landing pads Three pads are placed on each generated map, each with a score multiplier. Narrower pads pay more: | Label | Width | Multiplier | |---|---|---| | 2X | widest | × 2 | | 3X | medium | × 3 | | 5X | narrowest | × 5 | ### Landing results Your touchdown is graded by vertical speed, horizontal speed and tilt at contact: | Result | Required | Score | Fuel bonus | |---|---|---|---| | **A PERFECT LANDING** | on pad, v<8, h<15, tilt<5° | 50 × mult | +50 | | **GOOD LANDING** | on pad, v<15, h<30, tilt<15° | 25 × mult | +25 | | **ROUGH LANDING** | on pad, v<25, h<45, tilt<25° | 10 × mult | — | | **YOU MISSED THE LANDING AREA** | off pad, survivable | 5 | — | | **CRAFT DESTROYED** | else | 0 | — | Run out of fuel and the mission ends. Top-10 high scores are saved locally; enter three initials on a new high score. ## Omarchy Integration - **Theme colours** auto-detected from your active Omarchy Ghostty theme - **System font** detected from your Waybar config - **Full-screen** via SUPER+F (Hyprland compositor) ## Requirements - Love2D (`sudo pacman -S love`) - Omarchy Linux (or any Arch-based distro) ## Acknowledgements Inspired by the 1979 Atari Lunar Lander cabinet. No arcade assets, logos, or trademarked names are reproduced. The LM silhouette is drawn from public reference photographs of the Apollo Lunar Module. ## License MIT