Skip to content

Deaponn/river-raid

Repository files navigation

Game link

River Raid

Reproduction of 8-bit Atari game River Raid using TypeScript.
The game is a close copy and it was playtested next to an emulator of the source material. My teacher told me that he feels young again when he started to play :)
Everything is made using pure Typescript and HTML Canvas API.

You can play the game here

How to play

Your objective is to kill as many enemies as you can and don't die yourself. Destroy your enemies and their bridges to save your allies! Glory to the victorious!

Controls:

  • ANY BUTTON - start the game,
  • W - accelerate,
  • A - turn left,
  • S - slow down,
  • D - turn right,
  • Space - shoot.

Rules:

  • Use your bullets to destroy enemies. Don't let them fly into you or shoot at you,
  • The further you go, the more enemies appear who are more difficult to overcome,
  • Fly over a Fuel to refill your tank. You can also destroy it if you want more points,
  • Passing a bridge is a checkpoint,
  • Every 10.000 points you get an extra life,
  • Your highscore is saved in localstorage when you loose the game.

A page refresh (F5) might be necessary after you had lost the entire game and fancy a new one.

Usage

To run the code locally, you need to clone this repository, build the project and serve its files. Follow the steps below.

  1. Clone the repository
git clone git@github.com:Deaponn/riverRaid.git

(or)

git clone https://github.com/Deaponn/riverRaid.git
  1. Download dependencies
npm i
  1. Build the project or run it in development state
npm run build

(or)

npm run dev
  1. Run the project
npm run start

(not needed when you used npm run dev before)

  1. Go to localhost:3000 in your browser and enjoy the game!

TODO

Things I would like to work on in the near future

  • (feature) add additional mapping for arrow keys controls
  • (feature) add slowing under S key
  • (feature) add interpolation of player's bullets so they won't miss a target when the framerate is low
  • (QoL) make flight sound loop sound nicer
  • (QoL) remake speed equations so they would be more smooth when stopping braking/accelerating
  • (bugfix) fix the bug after restarting the whole game after loosing without refreshing the page
  • (bugfix) implement bouncing of enemies when they collide with terrain since currently they sometimes get stuck
  • (bugfix) fix shooting helicopter's bullets collision with the terrain

About

River Raid reproduction usting TypeScript

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published