$30
Homework 02:
Simple Mode 3 Game
Instructions
In this homework, you will be making a simple game in Mode 3. Some suggested
games along the complexity level we expect are:
● Pong
● Breakout
● Catch the Falling Rectangles
● Dodge the Falling Rectangles
YOU ARE NOT ALLOWED TO COPY LAB CODE EXCEPT FOR YOUR MYLIB.C
AND MYLIB.H FILES.
You are free to choose one of these, but encouraged to create your own original game
(if you choose this option, please speak with a TA first so that we can ensure it is on the
expected difficulty level). Your game must have the following:
● An end (win/lose) state
○ You do not have to have anything happen once you reach this state, as
long as it can be understood that you have reached an end to the game.
● At least two moving objects
● At least two buttons used for input
● Collision that matters
○ Something must happen whenever two different objects hit each other
● A readme.txt file
○ An instruction manual (of sorts) that tells a player how to play your game
● Only a minimal amount of flicker.
Your code must have the following:
● Multiple .c files
● At least one .h file
● Good organization (see tips below)
● Meaningful comments
Tips
● Start early. Never underestimate how long it takes to make a game.
● For collision code, draw pictures. Graph paper is your friend.
● When splitting code between multiple files, put code that will be useful in multiple
games in myLib.c, and code specific to this game in main.c or other files. Those
other files should be specific to a concept (collision, etc.).
● Organize your code into functions specific to what that code does. Your main
method should not be very long.
● Having update() and draw() functions that you call in main() is helpful.
● Make sure the order takes into account waiting for vblank at the correct
times to minimize flicker.
● Build upon the myLib.c and myLib.h files from previous assignments.
Submission Instructions
Compress your entire project folder, including all source files, the Makefile, and
everything produced during compilation (including the .gba file) into a single .zip file.
Submit this .zip on Canvas. Name your submission HW02_FirstnameLastname, for
example: “HW02_DolGrenn.zip”.