CYOA Games
Choose Your Own Adventure Games
Choose Your Own Adventure Games
In this project you will create an EXTENSION of the Just Another Day in High School (JADHS) Choose Your Own Adventure (CYOA) game.
This project is different from our previous work in several ways:
All the instructions for this project are here on this page. Additional supplemental material, reminders, and due date/deadlines will be posted in the DCA (Daily Class Announcements)
This is a group project. You will have a team of 2 to 4 students. You may not work alone and you may not be in a group larger than 4 students.
For the most part (until we get to the very very end) will be teacher directed. We will walk through all steps together as a class.
While this is a group project, your final grade will be based entirely on what YOU produce. Other students' work (or lack of work) will not affect your grade.
Let's begin . . .
Do a quick rapid research and find out about the classic Choose Your Own Adventure book series. Additionally, see if you can find a digital adaptation of a CYOA book/game.
Explore one of the original computer “adventure” games: The Colossal Cave Adventure
In order to make a good CYOA game, you need to first be able to create a good game maps - both a Game World Map AND a Decision Tree Map.
Let start by reviewing some maps for the Colossal Cave Adventure game.
Do a quick internet search to find some game world maps for the The Colossal Cave Adventure game.
Let review some decision tree maps for some books from the classic CYOA book series:
Let's play, review, and critique a GAME STARTER that was created in AppLab, by students from previous CSD classes called "Just Another Day in High School" (or JADHS for short). A Game Starter is an UNFINISHED game. One of your tasks for this unit will be to create an additional GAME STRAND to be included in this game. We will discuss this further as a class after everyone has a chance to test the game. For now, check out the following game starter links AND check out the code that was used to create those game starter links:
JADHS Game Starter #1 - Coding individual screens
JADHS Game Starter #2 - Using a DataSet for screen information
and you will probably want to view the JADHS Master DataSet for Game Starter #2.
With your table group, discuss the following:
The game concept
The game UI and UX
The pro and cons of the coding choices for each game.
Finally, try to determine what kinds of storylines would make this game interesting.
When you have finished exploring the JADHS Game Starter, review the following game documents:
JADHS Game World Map
JADHS Decision Tree Map.
Since this is an unfinished game (and unfinished game documents), you should have lots of questions about it.
You are going to extend these game documents when your group develops a new game strand for a future iteration of JADHS.
There is a lot of prep work we need to complete in order to help you be successful on this project. Additionally, the prep work for this project accounts for a significant part of your overall grade. Let's do a quick review of what you will produce (and what you will be graded on) in this section.
There are three main artifacts we will produce in this section:
A digital draft of your story/strand.
A paper draft of your EXTENDED Game World Map(s)
A paper draft of your EXTENDED Decision Tree Map
At then end of this section they will each be turned in for a grade. The specific DUE DATE/TIME will be posted in the DCA.
Unlike most of our other work, there is no DEADLINE for submitting these artifacts since this work MUST come in before you can begin to work on your digital document. Therefore, any work that comes in late will receive no more than 50% credit. Manage your time accordingly and make sure you get your work properly completed and properly submitted by the DUE DATE.
Note: You will need to get this step approved before you can move on to Step 2: Creating a paper draft of your Game World Map. Plan accordingly.
Your first job is to create your main strand (story) that you are going to add to the JADHS game. By STRAND we mean a smaller portion of a bigger story. The JADHS game already has some story elements built in. Your job is to create a strand that builds on and expands the existing story.
Instead of creating a large 500 - 2000 screen full game, you are going to create a strand made up of only 12-20 screens. This strand will represent a new storyline that will be included into the larger JADHS game.
We will complete the draft of our story in five main phases: developing our story ideas, finessing our story ideas, chunking our story ideas, linking our story ideas, and submitting your story for approval.
Before we worry about all the choices, options, and connection for our strand (we'll get to those later), let's first just come up with a simple storyline that we can integrate into our game.
Open a new Google Doc and begin to draft out a simple story (remember, no decisions yet). Keep in mind the following Big Rules:
All events take place on one day - your (the character’s) 16th birthday.
No deaths - not you, not side characters . . . no deaths at all.
As a general rule, lean away from gore and lean into humor.
All “friend” characters intentionally have no physical descriptions and have gender ambiguous names. This way the main character can envision the friends to be anyway they want.
No pronouns (he, she, they, etc.) are to be used to describe the friends - use the character’s Proper Name when referencing a character (again to let the user create the image of the characters).
Next figure out the following basic elements to your story:
How will your strand/story end? It is usually easier to develop your story/strand if you already know where you are going and how you are going to end.
When will your story start? In the Morning? After school? In the evening? Figure out the gist of when and where your story takes place.
Where in our Game World will your story take place? Are there more details that need to be added to the JADHS Game World Map to tell your story?
Now let's add more detail:
What current story elements (from the existing JADHS game starter) will your incorporate into your game?
Are any of the current characters from the story going to be with you? If so, whom?
Are you introducing any new characters to the game world?
Once you have the basic story details worked out we need to chunk our story into 12 - 20 smaller segments. At the end of each of these chunks will be a decision that the user needs to make.
One decision will allow the user to continue with your storyline and another decision will allow the user to branch off to another storyline.
You do not need to create additional storylines for every decision that the user could make that would take them away from your storyline. Nor do you have to know what existing storylines you are going to link to (we will do that in a later step). Right now we just want to make new launching off points where someone else (some future students) could continue to the story. You just need to worry about your story.
Lastly it's time to figure out how to integrate your game strand into your larger group game EXTENSION.
A user should have the ability to play all the original JADHS game starter as well as all the strands in the JADHS Extension that your group is creating. Therefore, there are TWO major links you need to figure out:
How does the start of your strand link to the existing game.
How does your strand link to one (or more) of the strands from your group.
If you complete this step successfully, a user should be able to play your JADHS game EXTENSION and experience the JADHS game starter as well as all the strands in your EXTENSION.
TBD
To get your strand approved, your teacher will expect to see the following:
A coherent storyline that has a beginning, middle, and end that EXTENDS the original JADHS game.
A story that stays consistent with the JADHS world elements (characters, events, locations, etc.) - including any new story elements
A story that is chunked into 12 - 20 discrete steps. At the end of each chunk is a choice for the user to make. One choice will continue the story. Any other choices would branch off to alternate storylines.
There is a clear connection to both the existing game and at least one strand created by a group-mate.
Once your strand has been approved, you may continue to the next step. Story approvals (and/or necessary revisions) will be detailed on the submission spreadsheet.
Steps 2 and 3 go together. In this step you are creating a paper draft of your GAME WORLD MAP (in the next step you will create a decision tree map).
In this step you will need to create a paper draft of the JADHS map that details the new elements you are adding the Game World (locations, buildings, streets (names), structures, etc.) and where they will be placed on the map. Remember that YOUR map is an EXTENSION of the official JADHS Game World Map. Therefore you need to have all the information from the original map PLUS your additions in the new map.
A couple of extra pieces of information:
If your game only takes place in a smaller section of the original Game World Map, say only in the forest, you only need to detail that portion of the original Game World Map - you do not need to include things like the town, school, military base, etc in your paper draft map.
If you are adding something new, like exploring the cave, you need to create a detailed map of the cave system as a supplement to the Game World Map.
Your map(s) can be completed on notebook paper or, if you prefer, your teacher can supply you will a blank sheet of printer paper. Your choice.
For Step 3, you are going to create a paper draft of a Decision Tree Map for your game strand.
Remember, your paper draft is an EXTENSION of the official JADHS Decision Tree Map.
Your strand must pick up from one of the current "To Be Continued" points on the official Decision Tree Map OR from a launching off point from one of your partner's strands. On the paper draft of your Decision Tree Map, you need to include every screen necessary to tell your story (you do not need to include any of the pathways that are irrelevant to your story).
Other than the screens necessary to tell your story, your final map needs to to have/incorporate the following:
Include the starting pathway (either from the JADHS game starter, your partner's strand, or both) that gets you to the start of your pathway.
Use the same symbols as the original JADHS Game World map (decision points, pathway lines, TBC screens, strand ends, and information boxes).
Use the same labeling system as the original JADHS Game World Map (except for screens - see next step).
Use the special temporary screen naming system for your screen names (this will be given in class since it changes from year to year).
Be sure to constantly refer to the digital JADHS Decision Tree Map for a model of what your final paper draft should look like. If in doubt, it's always better to add more detail than less detail. You should have enough detail in your draft that another student in class could create your game without coming to you for clarification about any of your game details.
Up to this point, we have been doing only individual work. Now it's time to see if your GROUP can take your individual game strands and begin to combine them into a single, larger game.
Once your individual paper drafts have been approved, you group needs to begin combining all your individual paper drafts into digital documents.
For each group there will be TWO digital documents: The Extended JADHS Game World Map and the Extended JADHS Decision Tree Map. Every member of each group will add their game strand extensions to the same document.
These two digital documents will guide help guide the prototype development and prototype testing phases of our project.
[Hidden]
Select a member of the group to make a copy of the JADHS Game Starter: Game World Map. Only one person in the group needs to do this.
This copy will become your group's JADHS Extension: Game World Map
Since one or more of the game strand extensions from your group could make it into next year's version of the JADHS Game Starter, it is important that we use a strong naming conventions in order to distinguish your group's work from the work of other groups (past, present, and future).
Our naming convention will be comprised of the following parts:
Semester
Year
Period
Group
Document
If put together it will look something like this:
SemYRPXGX-JADHSGameWorldMap
For example, if I was in Group 3 in Period 5 of the Spring 2023 school year, my filename would look like this:
S23P5G3-JADHSGameWorldMap
Once you have properly named your file, move on to the next section.
Everyone involved in this JADHS project needs to have some sort of access to your document - that includes your teacher, everyone in your group, everyone in your period, and everyone in all the otherperiods. However, everyone does not need, nor should they have, the same level of access to your document.
Use the following guide to correctly set the SHARING setting on your document:
Give you teacher, COMMENTING rights.
Give every other member of your group, EDITING rights.
Share the document with anyone in GUHSD who has the link . . . but be sure to only give them VIEWING rights.
Each member of the group needs to go in and edit the Game World Map to include the new details needed for their story/strand.
If you created a detailed map of a particular area (cave interior, Costco interior, Rocket
Ship interior, etc.) see your teacher for details on how to digitize that map.
Only one person from the group needs to submit the link for your document. Coordinate between group members to make sure your link gets submitted and all other group member names are submitted along with the entry.
Follow these directions to submit your work:
Go to the CSD Class Submission Forms page on our class website.
Scroll down to the Final Submission section.
Be sure to select JADHS - Group Extension as your project type.
Be sure to include the FIRST and LAST names of everyone in the group on the group members prompt.
[Hidden]
Now it's time for your GROUP to review each of the paper maps (the game map and the decision tree map) for each member of your group. Follow these steps:
Make sure each map has met the proper requirements
Make sure each map clearly communicates your ideas for your game strand. If the other members of your group have lots of questions about your work, you are probably lacking detail in your maps.
Your next challenge is to figure out HOW and WHERE to link your games together so a user could possibly visit all game strands. What will be the branching off point from one game strand to the next?
Select a member of the group to make a copy of the JADHS Game Starter: Decision Tree Map. Only one person in the group needs to do this (and this should NOT be the same person who did the Game World Map).
This copy will become your group's JADHS Extension: Decision Tree Map
Since one or more of the game strand extensions from your group could make it into next year's version of the JADHS Game Starter, it is important that we use a strong naming conventions in order to distinguish your group's work from the work of other groups (past, present, and future).
Our naming convention will be comprised of the following parts:
Semester
Year
Period
Group
Document
If put together it will look something like this:
SemYRPXGX-JADHSDecisionTreeMap
For example, if I was in Group 7 in Period 2 of the Spring 2023 school year, my filename would look like this:
Sem23P2G7-JADHSDecisionTreeMap
Once you have properly named your file, move on to the next section.
Everyone involved in this JADHS project needs to have some sort of access to your document - that includes your teacher, everyone in your group, everyone in your period, and everyone in all the otherperiods. However, everyone does not need, nor should they have, the same level of access to your document.
Use the following guide to correctly set the SHARING setting on your document:
Give you teacher, COMMENTING rights.
Give every other member of your group, EDITING rights.
Share the document with anyone in GUHSD who has the link . . . but be sure to only give them VIEWING rights.
Before adding anything to your screen, everyone in your group needs to know the following:
Your group prefix name (the one that looks like "S23P4G1").
Your individual three-digit number range.
You should already know your group prefix from the last step (creating the group Game World Map). In the next step we will review how each person in the group will get their three-digit code.
Each screen on your map must have a unique three-digit code attached to it.
Three digits give us 1000 possible unique "names" (000-999). We obviously won't need all those names. However, if we are creative with our numbering, it can help us troubleshoot down the road if there are any problems.
Each student in your group will be assigned a certain number range (see below). Everyone in the group should stay within their assigned range and not use any names outside of their range.
Student 1: Will use the numbers 100 - 199 (everything that starts with a one).
Student 2: Will use the numbers 200-299 (everything that starts with a two).
Student 3: Will use the numbers 300-399 (everything that starts with a three)
Student 4: Will use the numbers 400-499 (everything that starts with a four).
The number 999 will be reserved for the TBC (To Be Continued) screen.
Please read all the directions in the Edit the Map and the Check Your Work sections before you start editing your map.
Each member of the group needs to go in and edit the Decision Tree Map to include:
All the decision screens (the diamond shapes) with proper screen names (your proper three-digit code).
All the paths a user could take with the "choices" listed along the routes (just like in the starter map)
A circle TBC screen to represent branching off points that haven't been developed yet.
A red square screen to represent any official story endings to your strand.
Blue information boxes for additional clarification of story strand elements, if needed.
Once each individual has completed their individual strands in the Decision Tree Map, double-check and make sure your group has completed the following:
Each person in the group has used all the same symbols (same shapes, same colors, same size(s), etc.) that were used on the original JADHS map in order to maintain consistency across the entire map.
All story strands from the group are connected. That is, a user has the ability (if they make the right choices) to play every strand in the group.
Your groups' strands are properly linked to the original game starter strand.
Somewhere in a open space in the upper portion of the Decision Tree Map, place a LARGE text box that includes your group's prefix identifier (i.e., S22P6G5) - this way everyone knows who's map this is.
[Hidden]
[Hidden]
[Hidden]
[Hidden]
Note: Hard-copies will be available in the classroom. If you trying to complete this from home, download the CYOA Paper Prototype 2x2 file, print up the sheet, and cut the sheet into quarters so that you have one screen page.
Your game game extension to the original JADHS game will consist of somewhere between 12 and 20 new decision screens, informational screens, ending screen(s), and/or TBC screens. We will now convert what you drafted over the last several steps and make a paper "game book" of your group's interconnected strand extensions.
Each page of your paper prototype will represent a screen the user could see while playing the digital version of your game. Reference the JADHS Game Starter for an example of the layout you will try to emulate on your paper prototypes.
The paper prototypes will be slimmed-down versions of our final digital screens but they will still need some important pieced of information. Make sure that each "screen" of your paper prototype contains these basic features:
Under "Game Name" at the top, put your group's prefix number (your "S23p2g8" number).
Under "Page" put the unique three-digit code you created for this screen. You should have created these three-digit codes when you completed your digital Decision Tree Map. These will serve as the "page numbers" for our game book.
Each screen/page will have a "room" identifier.
For our purposes, a "room" is just a location in the game. It can represent something inside (i.e., bedroom, kitchen, classroom, gym, etc.) or something outside (i.e., cave, forest, military base, etc.). Review the JADHS game starter for layout examples.
Each screen will have a "description" to describe where (and when) you are in your game AND and what choices the user can make next. Review the JADHS game starter for layout examples.
Each screen will have "buttons" at the bottom that represent the choices the user can make AND, depending on the choice, where to go next (what page) to continue the story.
For all game strands, your TBC page should be identified as page 999.
[Hidden]
Now it's time to get some user feedback for your game prototype so that we can work out any issues in our game BEFORE we attempt to code it.
In this step we are going to be doing a variation of USABILITY TESTING that will allow us to collect feedback in a different way than we did with our PEER EVALUATIONS.
For our purposes there are two roles when we conduct our user tests: the PARTICIPANT(S) and the OBSERVER(S).
For us, the PARTICIPANTS will be the person(s) who is playing our CYOA game. If you are a participant, it is important that, while you are playing the game, you do the following:
Read everything out loud so the OBSERVERS know where you are in the game
Clearly state (out loud) the options (choices) listed at the bottom of the screen.
Clearly state (out loud) the choice you plan to make.
Clearly explain (out loud) your reasons for making your choice.
Clearly share (out loud) any other additional thoughts and feelings you experience while playing the game.
Finally, if you get stuck at any time, try not to ask the OBSERVERS for help. Try first to figure it out on your own first. Clearly, describe (out loud) the problem you encounter and clearly describe (out loud) what you are trying to do to solve it. If you are truly stuck, you can engage with your OBSERVERS. However, try to do it with only YES or NO questions, if possible.
If you are in an OBSERVER role, you need to do the following:
Remain silent and observe.
Take notes on what the PARTICIPANTS do while playing the game.
Look for patterns across all participants to see if there are things you need to change in your game.
If the PARTICIPANT gets stuck, do NOT jump in to help. Instead, observe and see how the user handles the problem.
Do not speak to the PARTICIPANT unless the participant specifically asks a question of you. When answering, give just enough information to help without influencing the participants choices in any way, if possible.
There are three parts:
Test and Observe
Post-Test Interview
Evaluate and Identify Possible Game Improvements
Follow these steps below to test your game. Review the ROLES (above) if you are unclear what you should do during the test. When you finish the test, move immediately to the post-test interview:
Find a PARTICIPANT to test your game.
Give the PARTICIPANT your game. Make sure they understand their role (see above) and remind them to do everything out loud and that you (OBSERVERS) are just there to observe.
While the PARTICIPANT is testing your game do the following:
LISTEN to the words the participant in reading.
Are they reading the correct information or are they misreading something?
When you hear the words out loud do you notice that some of your phrasing might be confusing?
LISTEN to the reasons why the participant makes the choices they do for the game
Do most participants make the same choices in the game or is it more evenly split?
Do participants have the same reasons when they make the same choices or are they making similar choices but for different reasons?
Are participants making choices based on misunderstandings in the game or are they clear on all their options?
OBSERVE the body language, and especially facial expressions, when they are playing the game.
Do you notice confusion on their face? When and where does this happen?
Do you notice enjoyment on their face?
Do you notice boredom or do they seem engaged with the game?
DOCUMENT what you hear and what you observe. Take good notes so you can ask good follow up questions during the post-test interview.
When the participant is finished playing the game, thank them for participating and move directly to the post-test interview.
Your goal in the interview is to get feedback in order to make improvements to your game before you try to build it.
What you observe during the test should lead to specific questions for the post-test interview. Here are some generic questions you could always ask of your participant if nothing specific comes up during the TEST and OBSERVE section:
What were the biggest things that stood out to you about the game? What did you notice?
What would be a strength of the current version of this game?
Where were your highest/lowest levels of engagement in the game?
What's missing from the game? What would you have liked to have seen/experienced that would have made the game more enjoyable?
Do you have any questions for us about the story?
Do you have any questions for us about the choices/options?
Do you have any questions for us about characters?
Do you have any questions for us about the ending?
Continue to TEST and INTERVIEW as many PARTICIPANTS as possible.
Once you have all your USER TESTING data, try to draw some conclusions about the PARTICIPANTS' game experiences . . . and then see if you can figure out how to make that game experience better.
Just make note of those changes for now. The DCA will have additional information as to when (and how) we will officially incorporate those changes into your game.
[Hidden]
In this section, the group will continue to collaborate together but each member of the group will create their own individual project. At the end of this section, games should be nearly identical. However, in the final phase of the project (the INDIVIDUAL phase), each group member is going to add their own unique twist to the game extension.
To get ready for the transition from GROUP phase to INDIVIDUAL phase, each group member will be completing all their work on their own copy of both the GAME WORLD MAP and the DECISION TREE MAP.
If you are the owner of either of these documents, you will keep working on that file. If you are not the owner of the file, you need to make your own copy of the GAME WORLD MAP and/or the DECISION TREE MAP. All your future work should only be completed in the documents that you "own."
To help avoid any confusion, if you were the original owner of any of the "map" documents, you should now remove the editing rights of your group members.
As always, make sure your teacher has COMMENTING rights to all your documents. Additionally, make sure everyone in GUHSD has viewing rights. In future steps, in order to make all our games come together, it is important that everyone has "viewing" access to everyone else's files.
[Hidden]
[Hidden]
[Hidden]
[Hidden]
[Hidden]
[Hidden]
[Hidden]
[Hidden]
[Hidden]
Here's what you should be looking for as you are evaluating the game strands from your group members:
Game World Map
Make sure all game elements (for all game strands) are included in your copy of the Game World Map
Decision Tree Map
Make sure all strands (for each group member) are included in your Decision Tree Map
Make sure all screen names are named correctly
Make sure all decisions are properly identified
Make sure all Information boxes are properly located and have the correct information.
Make sure all strands are properly linked within the game.
Make sure all the information from the Decision Tree Map lines up correctly with the Master Spreadsheet.
Master Spreadsheet
Make sure all screens are properly named
Make sure all ROOM Locations are accurate.
Make sure all story text is accurate AND not too long.
Make sure all buttons are properly named and the correct location for each button is identified (included any "None" buttons)
Make sure all the information from the Decision Tree Map lines up correctly with the Master Spreadsheet.
JADHS Game Extension (AppLab)
Make sure the game is easy for the user to follow.
Make sure the program is free from any errors.
Make sure you can access all your strands.
Make sure there are no logical errors in your story / game play.
[Hidden]
[Hidden]
[Hidden]
[Hidden]
[Hidden]
[Hidden]
[Hidden]
Make sure everything's in order before you submit your work for the Peer Evaluations:
Game World Map
Make sure all game elements (for all game strands: your strand, your group's strand, your 3 new strands, etc.) are included in your copy of the Game World Map
Make sure you have an INFORMATION BOX, with a RED border, that includes the following:
Your Name
Call of 202X
Your Period
Semester and current calendar year (i.e., Spring '23)
A general description of YOUR overall strand.
Decision Tree Map
Make sure all strands (yours, your group's, your 3 new strands) are included in your Decision Tree Map
Make sure all screen names are named correctly
Make sure all decisions are properly identified
Make sure all Information boxes are properly located and have the correct information.
Make sure all strands are properly linked within the game.
Make sure all the information from the Decision Tree Map lines up correctly with the Master Spreadsheet.
Make sure you have an INFORMATION BOX, with a RED border, that details the following:
Names of the creators for each strand in your game
Starting screen name for each creator's strand.
Master Spreadsheet
Make sure all screens are properly named
Make sure all ROOM Locations are accurate.
Make sure all story text is accurate AND not too long.
Make sure all buttons are properly named and the correct location for each button is identified (included any "None" buttons)
Make sure all the information from the Decision Tree Map lines up correctly with the Master Spreadsheet.
Place a new button (Btn 1) on the SPLASH screen that jumps you directly to the FIRST screen in your game strand:
The Btn1Text should read: My Strand.
The Btn1Loc should be the screen name of the first screen in your strand (s23pXgX-XXX).
Sort your spreadsheet by screenID. Then highlight in LIGHT YELLOW all the rows for YOUR strand only.
JADHS Game Extension (AppLab)
Make sure the game is easy for the user to follow.
Make sure the program is free from any errors.
Make sure you can access all your strands.
Make sure there are no logical errors in your story / game play.
Make sure there is a shortcut button on the SPLASH screen to jump you directly to the first screen in your game strand.
Details will be posted in the Daily Class Announcements for the Peer Evaluation work for this project.
[Hidden]
[Hidden]
If you got feedback from a peer evaluation, make any final adjustments as necessary.
[Hidden]
Go to the CSD Class Projects: Submission Forms page on our class website.
Scroll down to the Final Submissions section.
Use the submission form to submit your work
Use the spreadsheet to check and make sure your work was submitted correctly.
[Hidden]
Make a copy of the CYOA Project: Final Reflection Worksheet.
Follow the directions on the document. When the document is completed, turn it in to the submission form below.
Be sure to check the Daily Class Announcements for specific DUE DATES and DEADLINES for this assignment.
Follow the directions in the Final Reflection section of the CSD: Class Projects: Submission Forms page to submit your work.
[Hidden]