Bitmap Game
Dys4ia(2012) by Anna Anthropy
Objective
Design and code a bitmap 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 bitmap 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/20)
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.
Part 3: Gray-boxing (DUE 10/27)
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 bitmap 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: Bitmap Game (DUE 11/10)
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
- 7.1 JavaScript Object and the Dot Operator (YouTube), Xin Xin
- 7.2 Mouse & Key Inputs - mousePressed(), mouseIsPressed, keyPressed(), keyIsDown(), keyIsPressed (YouTube), Xin Xin
- 8.1 Class and Objects (YouTube), Xin Xin
- 8.2 Array of Objects (YouTube), Xin Xin
- 8.3 Switch Statement - Changing Scenes! (YouTube), Xin Xin
- 8.4 Class and Objects - Collision Detection (YouTube), Xin Xin
- 8.4.1 Importing Image Assets - Frogger (YouTube), Xin Xin
- 9.1 JavaScript push(), pop(), unshift(), shift() (YouTube), Xin Xin
- 9.2 JavaScript splice() (YouTube), Xin Xin