GithubHelp home page GithubHelp logo

happy-ferret / gitmaster Goto Github PK

View Code? Open in Web Editor NEW

This project forked from pushmeproductions/gitmaster

0.0 2.0 0.0 3.72 MB

Point and click adventure game. Written in React and Redux and utilising an Object Oriented programming style.

JavaScript 96.41% HTML 0.46% CSS 3.13%

gitmaster's Introduction

"It is the year 3000. Organic lifeforms battle for freedom against their robot overlords. The Version Control wars have been raging since before you were born. You are the last in the line of Gitmasters, and have been captured after your defeat in the most recent Merge Conflict. You awaken in a cell…"

Gitmaster is an interactive point and click adventure game that demonstrates the havoc that can be caused by pushing straight to master. The player must navigate through a series of different locations, collecting items and using them to solve small puzzles to win. The aim of the game is to blow up the React Core and exit the base in the Escape Pod.

Roles:

  • Git Master: Elena
  • Joint Scrum Master: Kelly
  • Joint Scrum Master & Fun Master: Simon
  • Heroku Master & Head Playtester: Hannah

MVP

  • Home screen
  • Interactive Items
  • An inventory to store and use items from
  • Log to read item and story messages
  • Five different locations: Cell, Corridor, Staffroom, React Core, Escape Pod
  • Back arrow moves player back to previous area
  • End screen

Stretch Goals

  • Exit to Home screen at any point in the game
  • Winners table
  • Sound effects
  • Easter egg collectibles

User stories

  • As a user, I want to be able to click items to pick them up
  • As a user, I want to be able to move between different rooms
  • As a user, I want to be able to choose items from my inventory and use them to interact with other items
  • As a user, I want to be able to move back to the previous room easily
  • As a user, I want to be able to read story and item messages in the log
  • As a user, I want to be able to exit to the home screen
  • As a user, I want to be able to compare my game time with other players

Team Learning Objectives

Redux States and Reducers

  • Kelly
  • Hannah
  • Elena

React Class Components

  • Kelly
  • Hannah
  • Simon
  • Elena (also React constructors)

Agile Project Management

  • Simon
  • Hannah

Testing in React/Redux

  • Kelly
  • Simon
  • Hannah
  • Elena

Inkscape

  • Kelly

Beautiful original art created by Kelly!

Base Components

  • App

  • UI

    • Inventory
    • Function
    • UI
    • Back Button
    • Log
  • Rooms

    • Cell
    • Corridor
    • Staffroom
    • Reactcore
    • Escapepod
  • Items

  • Doors

  • Console Interactions

  • Code Givers

  • Home Screen

  • End Screen

Wireframes

Storyboarding, wireframes and states

Developer Information

  • Npm install
  • Run dev
  • Local host 3000
  • File structure is separated into base component files, a list of which can be found above
  • Please check the reducer index to get a good idea of our states.

Item List

Item Location OnClick Log Message Joins Inventory Used For
Skull Cell =>Inventory "You feel like you're being watched" Yes Try to jam Escapepod door closing. It fails.
Bucket Cell =>Inventory "The contents of this bucket glow strangely, you wonder if they might be corrosive..." Yes Corroding Cell Door
Cell door Cell if open=>to corridor & msg if locked=>locked msg if open =>"Spark! Flash! The door opens and you find yourself in a corridor" if locked=>"The door is locked..." No Getting to corridor
Second Cell Corridor =>Cookie msg "You search the empty cell and find...a cookie?' No Finding Cookie
Cookie Second Cell N/A Yes Giving to robot
Staffroom Sign Corridor =>To Staffroom No Find code/items
AuthBot Corridor no cookie=>msg cookie=>msg no cookie x2 => restart game msg no cookie=>"I MOUSTACHE you to authorise yourself" cookie=>"Authbot smiles benignly, moves aside and gives you...some code?" no cookie x2=>"Back to your cell human" No Lets pass to staffroom/reactcore
AuthBot Moustache Corridor =>msg "So curly" Yes Closing function
Staff Logs Staffroom =>readable gives password "ENTRY 3876: Lucky, I didn't double checked this morning, I was about to push to master!! That would have been a disaster" "ENTRY 3100: System password update: 1000001" No Finding Password
Password Staff Logs N/A Yes Entering in Control Panel Computer
Locker 1 Staffroom =>gives crowbar msg "You rummage around and find a crowbar" No Giving Crowbar
Locker 2 Staffroom =>gives picture msg "Something catches your eye, a family portrait?Robots just like me" or something blah No Giving Picture
Locker 3 Staffroom =>gives key msg "You find an old rusty key" No Giving Key
Crowbar Locker 1 N/A Yes Jamming Escapepod door
RobotFamilyPicture Locker 2 N/A Yes None
Random Key Locker 3 N/A Yes None
Control Panel Computer Reactcore =>pop up for password/branch change "Password Required" SWITCH TO MASTER BRANCH No Entering password
Don't Push Button Reactcore =>no password=>nothing happens =>password=>msg "Meltdown sequence initiated. 10...9...8..." No Initating meltdown sequence
Escapepod Sign Reactcore =>To Escapepod Getting to Escapepod
Escape Pod Panel Escapepod =>pop up for function if complete functio=>To Endscreen "Unexpected Token" "Escape Function Incomplete" Escaping to Endscreen== Win!

Code List

Code Location
function escape () Cell/ written on skull?
(core.status == ‘meltdown’) Corridor/from Authbot
{ Corridor/Authbots stach
var core.status = ‘meltdown’ Staffroom/Logs
{ return ‘escapeKey’} Staffroom/Locker?

gitmaster's People

Contributors

don-smith avatar elenaschubel avatar hannahbeale avatar harrison-symes avatar joshuavial avatar kelly-keating avatar richchurcher avatar simonol1 avatar tony-luisi avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.