Skip to content

Space Invaders Arcade Game Emulator made in Rust πŸ¦€ ported to WebAssembly WebGL and WebAudio and build for desktop using Tauri

License

Notifications You must be signed in to change notification settings

Im-Rises/space-invaders-arcade-emulator-tauri

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

29 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

space-invaders-arcade-emulator-tauri

rustLogo javascriptLogo reactLogo scssLogo cssLogo cssLogo

Description

Space Invaders arcade game emulator package demo written in Rust for thethe desktop developped using the Tauri framework

Complete Emulator of the Intel 8080, the app is implemented to run the Space Invaders Arcade game.

πŸš€πŸš€You can try it online from your browser πŸš€πŸš€

The demo source code is available in this repository.

πŸš€πŸš€ The package source code is available in the space-invaders-arcade-emulator repository. πŸš€πŸš€

The game is implemented with all the 10 sounds of the original game and can be played in black and white or in color ( SV), normal screen mode (TV) or in colored mode (CV).

πŸš€πŸš€ The package is available on npm πŸš€πŸš€

Installation

The build are available for Windows, Linux and macOS. Click on the link to download the executable below.

windows
linux
macOs

Images

Without background

SV version TV version CV version
NOBG_BW NOBG_Color NOBG_Geeen

Using background 1

SV version TV version CV version
BG2_Green BG2_BW BG2_Color

Using background 2

SV version TV version CV version
BG1_BW BG1_Green BG1_Color

Videos

space_invaders-video.mp4

Controls

You can use the keyboard to play the game.

Arcade buttons Emulator/Keyboard
Insert coin C
P1 start Space
P1 shoot ↑
P1 ← ←
P1 β†’ β†’
P2 start G
P2 shoot E
P2 ← S
P2 β†’ F

The original game is mapped with some inputs that allow the constructor to choose the difficulty. This allows you to increase the numer of lives and change the extra ship necessity points. To change those settings check the checkboxes before starting the game.

GitHub Actions

Node.js CI ESLint CodeQL Tauri tauri publish

The project is set up to run the following actions:

  • node.js.yml : Runs the tests for the Node.js project.
  • eslint.yml : Runs the ESLint linter on the project.
  • codeql.yml : Runs the CodeQL linter on the project.
  • tauri.yml : Runs the Tauri build for the project.
  • tauri-publish.yml : Publish the Tauri build for the project.

Libraries

React:
https://reactjs.org/docs/getting-started.html

Xo:
https://github.com/xojs/xo
https://github.com/xojs/eslint-config-xo-react

ESLint:
https://eslint.org/docs/latest/user-guide/getting-started

tauri:
https://tauri.app/v1/guides/getting-started/setup/integrate/

tauri-action:
https://github.com/tauri-apps/tauri-action

Links

Check the source code on github

Check the demo on github

Check the package on npm

Contributors

Quentin MOREL :

GitHub contributors