Oops Cat on a Rainy Day
Description:

1. Making ‘Oopscat’ class
o Overall, I used ‘class’ to create Oopscat. It was mostly same with the basic structure of class that we learned during the class.
o Challenging parts:
• To make Oopscat move to left and right direction interacting with keyboard keys. : I put ‘float speed’ on the ‘void move’, then created ‘if’ statement in the outside of class. So it works like “if I press left keyboard button, speed changes to 10(default is 0). So, it starts to have animation.
• To make Oopscat interacting with the rains. : I created ‘Boolean intersect’ that we learned during the class, to calculate the distance between rains and Oopscat. Then I put if and else statement to let it know when it’s intersecting, assuming that 75 is the distance that when they start to intersect.

2. Making ‘rain’ class
o I used the basic structure of class to create rain.
o When I created this class, I knew that I have to use array in the outside of ‘class’ to create lots of rain falling.
o I made rain to start to appear in random x position, with random speed. To do this, I used ‘float speed’ and then used ‘random’ function. Did same thing for the random x position.

3. Finalizing the game
o Basically, I created three Booleans to make game start/restart when I hit enter (gameStart, startPage, deadPage), then I used ‘if’ statements, and ‘void keypressed’ to change the screen when game is over, and to start/restart game when player hits enter.
o I created lots of texts to create something like ‘score’ or ‘life’.
o I created text blinking using float colorSpeed and colorChange, and used if statement.
o I used ‘Array’ and ‘for’ statement to create rains.
o Challenging Parts:
• Resetting the numbers when it restarts
: I spend lots of time to figure out how to rain falls from the top again when restarting the game. First, I made everything to reset when a player hits enter, but this was not working. So I changed to everything to reset when the game is over.
To make rain falls again, I created int ‘rainAmount’ for the array, then I made it changes to 0 when the game is over.
• Showing score when the game is over
: It was actually very simple but it took some time to figure out how text function works. For instance, if I create text like (“Score”, width/2, height/2), Processing will show ‘Score’, but if I create text like (Score, width/2, height/2), Score works as one of ‘int’, so Processing will show some number.

4. Designing the game
o I used one of Mary Blair’s paintings as a reference for the color scheme.
o I created several image files using Illustrator and Photoshop.
o I looked for a font to make the game look like a simple 2d game.


Code: Soure Code

Info
Year: Fall 2014
Type: Game Design
Class:
Intro to Programming, Academy of Art University
Tools: Processing

Concept Design, Visual Development, User Experience Design: Yeong Kyeong Kang
Instructor: Yoon Chung Han