Skip to content

azureaSRG/ChooseYourPath

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Choose Your Path Project

This project was made in an APCSA class. The purpose of this project is to practice using Java as well as collabration using the SCRUM teams format. This project is a decision game where each decision the player makes results in a different ending that they can get. There are also minigames in the program, where the result of the minigame also lead to different endings.

Collaborators

  • Conner Chan
  • Matthew Jones
  • Malik Khamis
  • Samuel Rijo

Technologies

Features

  • Interactive Story
  • Short Minigames
  • Mutliple Endings

The Process

Brainstroming

We began by brainstorming potential story ideas to incorporate into the game. We then incorporated an aspect that each team member suggested into the overall project goal.

Planning

The next step was to plan out the story in a flowchart. During this process, the story script was being created by one of the team members. Each decision was marked by an index. Each result based from the decision was also given an index based on the decision index. For example, decision #4 with route 2 would have an index of 4.2. This helped in the creation process as it allowed for the code to be structured better and in a way that allowed all of the members to work simultaneously, even if one of the member's story routes led to another members. This sped up the creation process for the stories.

Design

This phase consisted of splitting the story and it's multiple endings into different sections. This was also the phase where the flowchart and story were beginning to be finalized and polished. Each member would be assigned a section to program. A milestone chart in a Github project was used to keep track and report progress. Members that encountered issues with the program reported the issues in the repository through the project. When the task was finished, members would record their actual time in the description of the task in the project.

Task Assignee Size Priority Estimate (min) Actual Time (min)
Decison Method CC S High 15 30
Story Print CC M High 30 10
Introduction MK M High 45 20
Intro. Decision CC L High 60 20
Upper Route 1 SR & MJ L High 60 30
Upper Route 2 CC & MK L High 60 20
Lower Route 1 SR & MJ L High 60 30
Lower Route 2 CC & MK XL High 90 50
Story Endings All L High 30 35
Formatting Text All M Medium 30 20
Hacking Minigame CC M High 30 ~20 hrs

Create & Test

During the creation process, each of the members did a section of the flowchart and transferred the text from the script into the code. Due to the structure of the code, not a lot of errors were encountered during the coding process. A lot of the errors that happened during the coding process was in the minigames. After, the members worked on the minigames in the story and this marked the end of the project.

What We Learned

The team learned how to collaborate effectively in the SCRUM team format. Each member was able to contribute a significant amount of work to the project in a reasonable amount of time. We also learned how to use escape sequences in print statements for Java.

Potential Improvements

  • Improving code by simplifying statements, compressing methods, and removing redundant methods
  • Adding text delay so the user has time to read and process the story
  • Adding a larger variety of minigames
  • Having difficulty changing more stuff (varying IPs, less time for verification, tougher choices, etc.)
  • Adding an interactable UI
  • Making T-timings a class
  • Being able to replay the game and achievements

Running the Project

  1. Open the CodeHS Program
  2. Click run
  3. Press the key corresponding to your choice
  4. Enjoy the game

Example