Project Overview

Project Links

Code

Deployed

Project Description

We will be creating an adventure game in browser powered by React for frontend and have user information (name, health, objects, etc) stored in the backend. The user will have to navigate around a mansion where they must find all the keys to get out. Along the way the user will randomly be attacked and asked questions on where they would like to go next. We will also have 3d objects showing up (powered by three.js and objects found on sketchfab) during certain events that will just spin on screen. Users will be given buttons on their screen to interact with the site. For example, a button for their inventory and choices. We will be using react routes for each room in the game. Components will be split up by rooms, character, inventory, etc. We will also use react usestate and useeffect to change character data and game options.

Models:

  • Character (madness level, health, username)
  • Inventory items (objects users pick up in game like keys)

API

Home made right in Heroku

Wireframes

Upload images of wireframe to cloudinary and add the link here with a description of the specific wireframe. Also, define the the React components and the architectural design of your app.

MVP/PostMVP - 5min

MVP

  • Works on mobile and desktop
  • Basic game layout/map
  • Ability to make choices and go onto next task
  • Ability to finish the game
  • Deploy on netlify and heroku
  • Store user data on backend and send data back to frontend
  • Working inventory
  • Character attributes displayed and can be changed

PostMVP

  • Leaderboard
  • Polished graphics
  • More rooms added to mansion (more routes for adventure)
  • More interactions
  • More 3d objects
  • Perks
  • Enter username (also ties into leaderboard)

Components

Component Description
App Hosts all components with router switches
Rooms Each room will have prompts, choices, and routes to other rooms
Character Includes all character info and updates backend based on what happens in game
Inventory Includes all inventory logic and updates backend
3D objects Includes all 3D objects labeled with a key, so that when the component is called, it chooses a 3D object by object key
Random Interactions When this component is called, a random interaction is chosen from an array and then displayed

Time

Backend

Component Priority Estimated Time Time Invested Actual Time
Cors H 0.5hr
Connection H 0.5hr
Router H 1hr
Server H 1hr
Character Model M 0.5hr
Item model M 0.5hr
Testing API M 1hr
Deploy H 1hr
Total 6hr

Additional Libraries

Three.js for 3d models that show up in game.

Code Snippet