"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.
- Git Master: Elena
- Joint Scrum Master: Kelly
- Joint Scrum Master & Fun Master: Simon
- Heroku Master & Head Playtester: Hannah
- 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
- Exit to Home screen at any point in the game
- Winners table
- Sound effects
- Easter egg collectibles
- 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
- Kelly
- Hannah
- Elena
- Kelly
- Hannah
- Simon
- Elena (also React constructors)
- Simon
- Hannah
- Kelly
- Simon
- Hannah
- Elena
- Kelly
-
App
-
UI
- Inventory
- Function
- UI
- Back Button
- Log
-
Rooms
- Cell
- Corridor
- Staffroom
- Reactcore
- Escapepod
-
Items
-
Doors
-
Console Interactions
-
Code Givers
-
Home Screen
-
End Screen
Storyboarding, wireframes and states
- 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 | 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 | 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? |