Welcome to the Save Gudetama typing game! The typing game for "adults."
In 'Save Gudetama' users type as fast as they can to save their Gudetama. If they type fast enough you can save your own Gudetama and watch as your opponent's gudetama gets crushed to eggy-goo by a pile of bricks! Challenge your friends, enjoy the 8-bit design and retro-themes /sounds. We really enjoyed building this project, your feedback is welcomed!
In this project we built multiplayer functionality to enhance the gameplay of the 'Save Gudetama' typing game. Players are now able to authenticate with Facebook, create & enter game rooms to chat and play 'Save Gudetama' with their friends.
- Responsive web design with web and mobile views
- User Authentication via Facebook
- Real-time client to client communication
- Fun gameplay!
- Lobby, chat, matchmaking
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.
- Fork the github repo
- In the root directory, run the following scripts in node
- 'npm run react-dev'
- 'npm run server-dev'
- 'npm install'
- Generate a local SSL certificate (we used this article! --> https://medium.freecodecamp.org/how-to-get-https-working-on-your-local-development-environment-in-5-minutes-7af615770eec)
- Setup a developer account on Facebook to facillitate oauth.
- Create an oauth application in the Facebook developer console.
- Navigate to https://localhost:5000/ on your browser to test and enjoy!
What things you need to install the software and how to install them
Node (>9.8.0)
Web-browser (Chrome preferred, limited testing on alternative browsers)
A step by step series of examples that tell you how to get a development env running
Install the required dependencies.
npm install
Run the server using the provided script
npm run server-dev
Run the server using the provided script
npm run react-dev
Create a .env file with the following information --> NOTE: the file should literally be titled '.env'
The information in this file with facillitate configuration for authentication with facebook as well as connecting to the DB instance!
APP_ID = 'insert your data'
APP_SECRET = 'insert your data'
DB_LOCATION = 'insert your data'
DB_USERNAME = 'insert your data'
DB_PASS = 'insert your data'
CALLBACK_URL = 'insert your data'
We used heroku to deploy this code!
In order to deploy your own version, you need to:
- Set up an SQL database - we used AWS RDS to persist our data
- Set up a Facebook oauth application
- Configure the .env file
- Install Heroku terminal utilities
- React - Used to render the client application
- React Spring - Used to animate certain functionality
- React Router - Used to generate distinct views at virtual endpoints
- Express - Framework leveraged to create and run server
- Passport JS - Authentication framework
- Passport Facebook - Configuration framework used with passport to authenticate with Facebook.
- Sockets.io - Used to facillitate realtime communication between client and server.
- Axios - Used to facillitate HTTP requests from client to server and vice-versa.
- Emojis-mart - Framework used to get emoji data reliably.
- React Emoji Picker - Slick emoji selector component integrated into chat.
- MySQL - Used to configure and query SQL database.
- John Cynn - Lobby, chat, matchmaking, authentication, gameplay enhancements - jcynn12
- Philip Gonzalez - Lobby, chat, matchmaking, authentication, gameplay enhancements - p-gonzo
- Nick Rogers - Lobby, chat, matchmaking, authentication, gameplay enhancements - rogersanick
This project is licensed under the MIT License - see the LICENSE.md file for details
-
Team Iron Man for letting us build on top of their wonderful gameplay! https://github.com/IronMan-HR/IronMan-HR
-
Scott McCreary - Original game functionality - scottmccreary
-
Lina Lei - Original game functionality - lina-lei
-
Koichi Sakamaki - Original game functionality - jcynn12