Skip to content

athammana/final-project

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

63 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ItsRainingCows

Project Link

https://webware-final.herokuapp.com

Project Video

https://youtu.be/tAnJIruqn04

Project Members:

  • Isaac Abouaf
  • Aditya Malik
  • Dev Patel
  • Abhijay Thammana

Description

ItsRainingCows allows users to log in, hangout in the lobby with other people, and when ready they can compete against each other in a minigame of dodging the raining cows until everyone is wiped out. Other functionalities of this application are that users can chat with each other in the chat box and view the leaderboard for the highest scores.

Instructions

Users will just need to login with their previous info they signed up with, or simply create a new username/password and be automatically created an account. Users can navigate the player in the game using the up/left/right keys on the keyboard. Click the “Not Ready” button in the bottom right corner to change your player’s state to ready and start the game.

Technologies

Back-end

  • Node.js Express server that hosts a REST API
  • MongoDB for persisting user data
  • Socket.io for bidirectional communication between client and server

Front-end

  • REST API Client carried out with axios
  • Phaser for graphics rendering, control and logic

Challenges

  • None of us have ever used Phaser before. The documentation for Phaser was pretty comprehensive, so we were able to learn and complete the game.
  • Socket.io was also very difficult to learn for us, because we were all first timers.
  • Multiplayer was a very large challenge. The socket io library we used had a lot of trouble interfacing with Phaser. Phaser allows you to switch scenes, but this caused us to have multiple socket connections with different ids for each of them.
  • Different time zones (see note below)

Contributions

  • Isaac Abouaf: Leaderboard, login, UI design
  • Aditya Malik: Authentication/leaderboard
  • Dev Patel: Chat box
  • Abhijay Thammana: Phaser Game

NOTE: Our group struggled with miscommunication errors that led to us submitting the project a little late due to a severe difference in time zones. Our team was spread over the world with a time difference of 8 hours with some members and ran into issues when merging our parts, since it was hard to get availability.

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 99.9%
  • Other 0.1%