Dys4ia(2012) by Anna Anthropy
Autobiographical Game
Objective
Design and code a game that tells an aspect of your own story.
Description
          Every one of us has a story, a narrative that we either tell to
          ourselves or others, about who we are. This story can reveal a lot
          about our interests, values, and history.
          
          For Assignment #7, you will design an autobiographical game. We
          have learned how to incorporate elements of time using the
          conditionals; how to create repetitions and patterns using for loops,
          and we have learned how to store lists of values using arrays. In the
          upcoming weeks we will learn about classes and objects. Think about
          how you would incorporate all that you have learned and will learn to
          design a unique game idea.
          
          The specific details about yourself that you choose to include in your
          game are up to you. The tone of the game can be serious and reflective
          or lighthearted and whimsical. You can either follow game conventions
          by creating rewards and winning conditions, or follow examples of
          experimental or indie games that do not follow a prescriptive format
          (e.g.
          walking simulator games). What is most important is that the game reflects who you are and
          is intentional in terms of how you present your story.
        
Design Requirements
Main Character
          Design a character who will serve as the protagonist of the game. This
          character will play a crucial role in your autobiographical game, so
          please take careful considerations when designing what the character
          is capable of and how their fears and desires manifest.
          
          You will use classes and objects to code your character.
        
Beginning / Middle / End Scenes
          Incorporate three scenes in your game, each representing the
          beginning, the middle and the end. At the end of your game,
          incorporate a feature so that the player can hit a button to play
          again. 
You will use the switch statement to create scene
          transitions.
        
Mouse / Keyboard Interaction
Incorporate mouse or keyboard interaction in your game. Please don’t use more than four keys. Make it easy for the player to figure out which keys to press.
Design Constraint
Canvas Size: 600 pixel width * 400 pixel height
Production Schedule
Part 1 : Draft Proposal (DUE 10/15)
Bring a basic description of your game to Lab. Include details on who your main character is, and what is going to happen in the beginning, middle and the end.
Part 2 : Completed Proposal (DUE 10/19)
Update your draft proposal to create a thoughtful, scene-by-scene description of the character and the game. Include visual details and storyboards that show the layout of your scenes. You will present your proposal during Lecture.
Part 3: Gray-boxing (DUE 10/22)
          Building on what you have learned about classes and objects from the
          Frogger tutorial, you will pre-determine the placement of your
          character and interactive targets the character can collide into along
          the journey to create a “gray-boxed” version of your Autobiographical Game. 
          This gray-boxed version of your game allows you to map out basic
          interactions throughout all three scenes before working out the
          specific visual and interactive details. Use the switch statement to
          create your scene-to-scene transition.
          
          Creating a gray-boxed version of the project keeps your code organized
          and makes it easier to debug before you add in all the details. You
          can integrate features in addition to the basic “Frogger” functions,
          such as a score keeper, a pop-up dialogue box, or a treasure chest.
        
Part 4: Autobiographical Game (DUE 11/9)
          Once the gray-boxed version of your game functions, complete your game
          with visual details. You can either draw your bitmap graphics with for
          loops or create illustrations that you import using image(). Test play
          your game with a friend or a classmate without giving them any
          guidance on how to play the game. You will likely learn a lot about
          what’s missing in your design by watching someone else play.
          
          Be sure to include the following information on your CC Portfolio
          Assignment #7:
        
- Your p5 sketch (embedded iframe)
 - Your proposal, including game description and storyboards
 - Your assignment reflections
 
Submission Guidelines
Please submit your sketch to two places:
- Submit the sketch to the CC Lab class Canvas Assignment 7
 - Add the sketch to your CC portfolio
 
Tutorials
- 8.1 Class and Objects (YouTube), Xin Xin
 - 8.2 Array of Objects (YouTube), Xin Xin
 - 7.2 Mouse & Key Inputs - mousePressed(), mouseIsPressed, keyPressed(), keyIsDown(), keyIsPressed (YouTube), Xin Xin
 - 8.3 Switch Statement - Changing Scenes! (YouTube), Xin Xin
 - 8.4 Class and Objects - Collision Detection (YouTube), Xin Xin
 - 9.1 JavaScript push(), pop(), unshift(), shift() (YouTube), Xin Xin
 - 9.2 JavaScript splice() (YouTube), Xin Xin
 - 8.4.1 Importing Image Assets - Frogger (YouTube), Xin Xin
 - (optional) 7.1 JavaScript Object and the Dot Operator (YouTube), Xin Xin