{"id":17012175,"url":"https://github.com/tobiasvl/moon-invaders","last_synced_at":"2025-03-22T16:31:04.943Z","repository":{"id":78266005,"uuid":"269484191","full_name":"tobiasvl/moon-invaders","owner":"tobiasvl","description":":space_invader: Space Invaders emulator written in Lua :moon: and LÖVE :blue_heart:","archived":false,"fork":false,"pushed_at":"2023-11-14T19:15:19.000Z","size":4045,"stargazers_count":30,"open_issues_count":8,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-16T23:47:49.765Z","etag":null,"topics":["8080","arcade-game","emulation","emulator","intel-8080","love2d","lua","space-invaders","space-invaders-emulation","space-invaders-emulator"],"latest_commit_sha":null,"homepage":"https://tobiasvl.github.io/blog/space-invaders/","language":"Lua","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tobiasvl.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":null,"patreon":null,"open_collective":null,"ko_fi":"tobiasvl","tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"lfx_crowdfunding":null,"custom":null}},"created_at":"2020-06-04T23:11:42.000Z","updated_at":"2024-12-27T17:07:19.000Z","dependencies_parsed_at":"2024-10-28T14:11:04.192Z","dependency_job_id":"229b1d73-6f7c-4063-b47e-9b596a31694c","html_url":"https://github.com/tobiasvl/moon-invaders","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tobiasvl%2Fmoon-invaders","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tobiasvl%2Fmoon-invaders/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tobiasvl%2Fmoon-invaders/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tobiasvl%2Fmoon-invaders/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tobiasvl","download_url":"https://codeload.github.com/tobiasvl/moon-invaders/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244986481,"owners_count":20543020,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["8080","arcade-game","emulation","emulator","intel-8080","love2d","lua","space-invaders","space-invaders-emulation","space-invaders-emulator"],"created_at":"2024-10-14T06:09:46.183Z","updated_at":"2025-03-22T16:31:03.938Z","avatar_url":"https://github.com/tobiasvl.png","language":"Lua","funding_links":["https://ko-fi.com/tobiasvl"],"categories":[],"sub_categories":[],"readme":"Moon Invaders\n=============\n\nA _Space Invaders_ emulator powered by [LÖVE](https://love2d.org) and [lua-8080](https://github.com/tobiasvl/lua-8080).\n\n* [Emulating the Space Invaders look and feel](https://tobiasvl.github.io/blog/space-invaders/) (my blog post about this emulator)\n* [The Quest for the Greatest: ...the greatest invaders...](https://videogamegeek.com/blogpost/115294/greatest-invaders) (testimonial/review by Alexandre Correia)\n\n![Moon Invaders](screenshot.png)\n\n## Features\n\n* Persistent high scores that are saved between runs!\n* Authentic-looking CRT shaders, customizable colored gel overlay and background\n* Gamepad controller support\n* Sound support (for user-provided sound files)\n\n## Controls\n\nYou can use the keyboard or gamepad controllers (up to two, for two players).\n\n| Key        | Button           | Action              |\n|------------|------------------|---------------------|\n| Arrow keys | D-pad / Joystick | Move (both players) |\n| Space      | A / B / X / Y    | Fire (both players) |\n| C          | Back             | Insert coin         |\n| 1          | Start            | Start 1 player mode |\n| 2          | Start            | Start 2 player mode |\n| T          |                  | Tilt                |\n\n## How to run\n\n### Windows / macOS\n\nDownload the latest release from the [Releases](https://github.com/tobiasvl/moon-invaders/releases) page.\n\n### Linux\n\nFirst install [LÖVE 11.4](https://love2d.org). Your Linux distribution might have it in its package repository, but there are no guarantees that this emulator works with older versions of LÖVE.\n\nFor Ubuntu, there's a third-party repository you can use to install LÖVE 11.4:\n\n```\nsudo add-apt-repository ppa:bartbes/love-stable\nsudo apt install love\n```\n\nThen clone or download this repository, including submodules with `--recursive`, and run LÖVE:\n\n```\ngit clone --recursive https://github.com/tobiasvl/moon-invaders.git\nlove moon-invaders/\n```\n\nNote that to get the menu bar at the top of the window you will need to install [love-imgui](https://github.com/MikuAuahDark/love-imgui), but you will need to build it yourself since the [Lua rock](https://luarocks.org/modules/slages/love-imgui) requires an older version of LÖVE.\n\n## Setup\n\nYou will then need to supply the emulator with ROM files, and some additional optional assets, in order to play.\n\nFor all the following files, put them in the following locations:\n\n* Windows, one of the following:\n  * The `assets` directory inside the game's folder (containing the `.exe` file)\n  * `C:\\Users\\\u003cyour username\u003e\\AppData\\Roaming\\Moon Invaders\\assets\\`\n* Linux, one of the following:\n  * `$XDG_DATA_HOME/love/Moon\\ Invaders/assets/`\n  * `~/.local/share/love/Moon\\ Invaders/assets/`\n* macOS: `/Users/\u003cyour username\u003e/Library/Application Support/LOVE/Moon Invaders/assets/`\n\n### ROM\n\nYou will need to supply your own Space Invaders ROM files. There are four files:\n\n* `invaders.e`\n* `invaders.f`\n* `invaders.g`\n* `invaders.h`\n\n### Images\n\nThese are optional:\n\n* `background.png`: Background image\n* `overlay.png`: Colored gel overlay, see the default one for the format\n\n### Sounds\n\nThis emulator doesn't emulate the sound chip (yet?), so to get sound, you'll need to download a sound pack online.\n\nThe sound files found online have different file names, so two variations per file are supported. These are optional.\n\n* `0.wav` / `ufo_highpitch.wav` (UFO flying)\n* `1.wav` / `shoot.wav` (player firing)\n* `2.wav` / `explosion.wav` (player death)\n* `3.wav` / `invaderkilled.wav` (alien death)\n* `4.wav` / `fastinvader1.wav` (alien fleet movement \"heartbeat\")\n* `5.wav` / `fastinvader2.wav`\n* `6.wav` / `fastinvader3.wav`\n* `7.wav` / `fastinvader4.wav`\n* `8.wav` / `ufo_lowpitch.wav` (UFO death)\n* `9.wav` / `extendedplay.wav` (extra life)\n\nNote that at least one website that provides these files for download have swapped the names of `shoot.wav` and `invaderkilled.wav`.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftobiasvl%2Fmoon-invaders","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftobiasvl%2Fmoon-invaders","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftobiasvl%2Fmoon-invaders/lists"}