Skip to content

Latest commit

 

History

History
121 lines (74 loc) · 5.69 KB

README.md

File metadata and controls

121 lines (74 loc) · 5.69 KB

Quaranteeny start menu

TypeScript CSS3 React Redux Toolkit Express PostgreSQL TypeORM Jest

Quaranteeny: Stay inside to survive!

Quaranteeny video

The Game

Giant crabs have taken over and lockdown has been enforced! You must help Quaranteeny stay inside their flat and away from pinching claws. Keep them happy, healthy, and well-fed. Neglect quaranteeny's needs for too long and they will venture outdoors...

Play Quaranteeny!

Players must keep quaranteeny's hunger, energy, and health meters within safe parameters. If any of these three meters are too low for too long, it's game over. Behind these three visible meters are many hidden ones. Players only get hints as to what they are, and must pay attention to quaranteeny's thoughts in order to react appropriately. Give quaranteeny too much or too little of anything and game changing conditions will be applied.

Quaranteeny night

Navigate quaranteeny's flat using either a mouse or keyboard and interact with the furniture within. You can even leave quaranteeny to make their own decisions, though they rarely know what's best for them. Play in real time and watch the days pass by or choose one of the increased speeds to make things a little more stressful. How long can you help quaranteeny survive?

Quaranteeny was built in lockdown conditions. We no longer remember what outside looks like...

Tech Stack

Front End

Quaranteeny has been written in TypeScript and built with:

Back End

Our server and database setup has been built with the following tech:

Testing

All unit tests have been written using Jest:

Quaranteeny crabs

Getting started

Run git clone https://github.com/jachamberlain86/quaranteeny.git.

Run npm install from the root project folder.

Server

Make sure you have postgreSQL installed. Run createdb quaranteeny.

In the server folder, create a .env file based on .env.example and a ormconfig.env file based on ormconfig.env.example.

Client

In the client folder, create a .env file based on .env.example.

Start the app

Start the server by running npm run start:dev from /server.

Start the client by running npm start from /client.

Quaranteeny day

To Do

  • Refactor the game's main loop to use requestAnimationFrame instead of Date.now() and setInterval()
  • Redistribute state stored across slices, in components, and data files to make better use of Redux
  • Refactor Redux to act more like an event handler, reworking helper functions to be reducers
  • Improve database security
  • Deploy via Heroku
  • Add meaningful values to the conditions object
  • Balance meters at all gameplay speeds
  • Extend personality system, quaranteeny randomisation, and flat status conditions

Built By

James Roman Ro Ross
James Chamberlain Roman Duda Ro Thomas Ross Curry
LinkedIn LinkedIn LinkedIn LinkedIn
GitHub GitHub GitHub GitHub