Skip to content

LouayMagdy/Astronaut-Game-frontEnd

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Front-End of Astronaut Game Web Application 👨‍🚀

About the Game

a front-end system of a web flash game about an astronaut trying to collecct some doughnuts floating in space while some lava rocks are also floating.

  • Collision with doughnuts 🍩 will add 5 points to his life, while collision with a lava rock 🔥 will take 20 points from his life.
  • The astronaut should try to collect as much doughnuts 🍩 as possible as the score depends the most on the maximum number of collected food all over the played games.
  • He also should also take care of his life; as the score depends on it in case equality of the previous aspect ⚡.

Development Info.

  • Developed using React Js
  • there is a JWT to store once the user register but he can join as Anonymous user but in this case no score will be saved in the DB
  • The Game loop screen is developed using React Konva and connected to the Backend using Websocket
    • The frontend sends: a. JWT if present 🔑 b. Browser window dimensions c. Astronaut represented in 3 Circles Covering his body in konva
    • The Backend sends: a. Astronaut Life ⚡ b. List of movables represented with type which is either rock or food and its coordinates. There is a thread in the backend moving it
    • Game ends after 2 minutes or if the Astronaut dies

Some Screen Shots from the game

  • Welcome Page 🤝 image
  • Sign-in Page image
  • Sign-up Page image
  • Game Menu for Anonymous User 😎 image
  • Game Menu for a Registered User image
  • JWT cached in local storage for a Registered User image
  • Ranking Page 📊🏆 image
  • About page ❔ image the contact label in the navbar will direct the user to Gmail to type a mail to the me
  • Rules Page ❕ image
  • Match 👨‍🚀 image

DESCLAIMER: I am not as a specialist in game development. This project is just for practising React Js, Konva, Connection with Websockets, caching, ... So, I am sorry if the user found sth not user-friendly