You are on page 1of 6

Chapter 4: The Final Code Ozaria

Final challenge – Michelle Lozano

Goal: Design an object-oriented game to help defeat the Darkness.

Subgoals: · Create and customize different objects

· Set up object interactions with conditionals and methods

· Create a game loop

· Use functions to make your game more efficient.

Take into consideration the next questions:


Who is going to play your game? my classmates
What are some games that your audience likes to play? MarioKart, roblox, minecraft, etc.
Why do you think they like to play your game? Because my game is challenging and fun to
play

ACTIVITY 1: Create and justify your own design thinking process.


I plan to make a game similar to the Atari Breakout one, since I like that game, it's fun and
entertaining, and when I play this game is really fun and I have a good time.
I have thought of doing it with the coding that already appears in ozaria in the level “Rock
Catches Leaf” and that we learn right there, only that I will change some things and ideas that
I have thought to make my game more challenging and fun.
Empathize:
This game is to all the audience, but especially my classmates
Define:
I design and would create a game that will be entertaining, challenging and funny
Ideate:
 Easy to play
 Challenging
 Funny but hard
 Short on time
Plan:
It will be a game that the main point is destroy all the gems in the less time possible. Where
the time will be the enemy here.
Build:
The code of the prototype are in Ozaria
Test:
Positive opinions were obtained in the feedback.
ACTIVITY 2 EMPATHIZE SECTION OF THE DESIGN THINKING PROGRESS: Identify a
game that your target audience likes to play.

Game: Atari Breakout

· How is the story set up in the game?

Atari Breakout: The game is based on the fact that you have to destroy all the boxes that
appear on the screen so that you can win the game.

My game: The story is based on the Atari game, using this game as a guide, with the same
story of removing the boxes with the help of paddle back and arrow keys.

The story is about a ghost that has to destroy all the colored gems to earn point and win. So
basically you have to destroy the gems to gain point and then win the game in the less time
possible.

· How does the player interact with objects in the game?

Atari Breakout: With the paddle back it helps to move the ball that will help to destroy the
boxes, using the arrow keys

My game: using the arrow keys that will help move the ghost to destroy the gems

· How does the player win?

Atari Breakout: Destroying all the boxes

My game: Destroying all the boxes whit the ghost in the less time possible

· How does the player lose?

Atari Breakout: Not destroying all the boxes or not breaking the last record

My game: Not destroying all the boxes or not breaking the last record in time

· What makes the game interesting and/or fun?

Atari Breakout: That you need to make the movements fast so as not to lose as it is also fun
above all entertaining and satisfying to destroy all the boxes
My game: because it is satisfying to destroy all the gems that come out and play with the
arrow keys so that it changes direction

· What are elements of the game that you might want to use in your game?

Atari Breakout: The paddle back and the arrow keys.

My game: The paddle back, the arrow keys, ghost, gem, storm and leaf.

ACTIVITY 3: Build your game in Ozaria!

-How the player controls the avatar in your game:

# I create the avatar and set the control here.

rock = game.spawnObject("ghost", 5, 2)

paddle1 = game.spawnObject("box", 4, 0)

paddle2 = game.spawnObject("box", 4.5, 0)

paddle3 = game.spawnObject("box", 5, 0)

paddle1.setControl("arrows")

paddle2.setControl("arrows")

paddle3.setControl("arrows")

-How objects interact in your game.

# I put additional objects that interact in the game.

game.spawnObject("gem-blue", 0, 7)

game.spawnObject("gem-yellow", 0, 5)

game.spawnObject("gem-red", 0, 6)

game.spawnObject("gem-purple", 0, 4)

game.spawnObject("storm", 3, 5)
-Direction of game

# Here I write the directions for the game

game.addTextDirections("Gamer the last level is here")

game.addTextDirections("Use the arrows to move")

game.addTextDirections("To win you have to destroy all gems")

game.addTextDirections("YOU CAN DO IT")

game.setBorders("infinity")

-The kind of data that is stored in your variables.

# Here I set up some data variables.

gemsToCatch = 32

numOfRocks = 3

ROCK_SPEED = 0.1

rockVX = -ROCK_SPEED

rockVY = ROCK_SPEED

-What kind of data will be displayed to the player.

# I use `setDisplay` to display information to the player.

game.setDisplay("rocks", numOfRocks)

-What your functions do in the game.

#Here are some function do in the game

def initRock():
def bouceLeftRight():

def removeGem(gem):

-How does your game loop work.

# Here is the GAME LOOP work

for i in range(9999):

game.advanceGame()

-How does your code check if the player has won.

# GAME WIN or LOSE

#If the player win

if gemsToCatch == 0:

rock.hide()

game.win("YOU WIN")

-How does your code check if the player has lost.

# GAME WIN or LOSE

#If the player lost

if numOfRocks > 0:
initRock()
else:
rock.hide()
game.end("TRY AGAIN")

Feedbacks:
Zoe: the game is so challenging and I really like it, in my opinion I don’t like a lot this kind of
game, but I ca easy that this is so entertaining

Angie: it’s a good game and so easy to play, is entertaining and very satisficing when all the
boxes are destroyed.

You might also like