Design and Develop a Game at Your Choice

129 views 7:51 am 0 Comments July 22, 2023

Assignment 4 – Design and Develop a Game at Your Choice
Game Proposal (5 pts) Due: Mar 15 11:59pm
Milestone 1 (8 pts) Due: Mar 22 11:59pm
Milestone 2 (8 pts) Due: Mar 29 11:59pm
Final Code (80 pts) Due: Apr 5 11:59pm
Video walkthrough (5 pts) Due: Apr 6 11:59pm
Follow-up Quiz (6 pts): Due: Apr 8 11:59pm
(Accounting for 20% of your final grade)
1. Submission
2. For the program, each class MUST be saved in a separate file (aka tab). Name of the file
should be the same as the class name
.
3. Zip the
Project Folders (MUST be the folder NOT individual files) into a single Zip File.
Rename the zip file using a naming convention:
LabNumber_Lastname_Firstname_A4_Final_studen ID.zip, e.g.
E104_John_Smith_A4_Final_1234567.zip, and then upload it to the Canvas before or by
the deadline
.
(Please note, -0.5 will be deducted for each violation of the rules specified above)
4. Upload the single zip file to the Canvas before or by the deadline.
5.
Before the deadline, you are allowed to take back and resubmit if you feel necessary.
6.
No late submission will be accepted. If you do not complete the assignment by the deadline,
you will receive
0.
a. For a legitimate reason a late submission might be allowed pending discussion with
your TA
before the deadline. You may be required to provide the supporting
documents.
7. Your code
must be able to run to get marks. You’ll get 0 if it crashes in launching, and get
deduction of at least half of the total grade if crashes in the processing of gameplay.
8. Overview
This is an open ended assignment, for which you are expected to create a game of
your very own from ideation, going through iterations of milestone, to the final code*.
For this assignment, you are required to follow the game design process and MDA
framework (covered in Week 9) to design and develop a game that integrates game
design theories, computing concepts and media processing techniques that you
learned in this course.
*
Please note: you must submit the proposal and at least two milestones among the
three in order for your final code to be accepted for grading
You are expected to be creative or innovative, try to create a game that you haven’t
done in the course context yet, such as a game of a genre that is other than whacking

or shooter type of game, which you have done already. It’s highly appreciated that you
will create a game of a different genre e.g. RPG, adventure (exploration and puzzle
solving), strategy etc. If you still want to create a whacking or shooter type of game, we
demand that you must do it innovatively. Specifically, it must involve with gameplay in
an environment that is significantly different from what you have done in Assignment 2
and 3, for which either platforming or tile-based environment is highly recommended,
and we will cover both of them in our class down the road, although you are welcome
and encouraged to explore and come up with your own way of innovation.
3. Requirements:
3.1 Programming Requirements
Each of the items involved in the game must have its own class to represent,
such as
player character(s), enemies, boss(es), projectiles, power-ups,
health-packs, inventory, just name a few. If some of these items share
something in common,
superclasses must be defined to hold those common
properties and behaviors
Use typed ArrayList to hold item collection wherever it makes sense (when you
want to dynamically add or remove objects)
Use PVectors for any motion modeling (position, velocity, acceleration)
ALL the characters and items must use images (Created by you using certain
application e.g. Photoshop. If you use any of the images and sounds downloaded
from the internet, you must list references appropriately in your final report.
Please note we
highly encourage that you create your own images for the game,
and will
reward it with some credit (minor though) when it comes to the final
evaluation. Apparently using non-self-made images won’t be qualified for the
credit as such)
At least four image based animations that are sensible to the gameplay:
such as animated background (low credit), explosive effect (low credit), character
walking with steps (high credit), bugs or birds flying with wing flapping (high
credit), …, etc
There should be basic sound effects for both interactions and ambient or
background music using the Minim library
And your code must demonstrate application of the following concepts:
Inheritance
o You must define at least two superclasses, each of which is extended by at
least two custom classes
(i.e. classes defined by you rather than any builtin class or third-party class)
o You must define at least one sub-sub class (i.e., a class extends a
superclass that itself is a subclass of another custom class)

o Each of the subclasses must have their own fields and/or methods (or
overriding parent’s methods) beyond their parent classes
Overriding Polymorphism (i.e. parent class’ method is redefined by its child
class(es) with the same signature)
o You must have at least four methods overriding their parent classes’ methods
o The child’s method overriding parent’s method must go beyond simply calling
the parent’s method using “super.” – i.e. it must have its own code on top of it
Inclusion Polymorphism (i.e. using superclass typed variable or parameter to
reference subclass object)
o You must have at least one inclusion polymorphism that is implemented
either with a
superclass typed ArrayList to hold mixed objects of its
subclasses, or a
method using superclass as the type of its parameter so
as to allow it to take an instance of any of its subclasses
Containment (aka Aggregation) (i.e. a single object or collection of objects of a
class is included as a field of another class, forming a ‘whole-part’ relationship
)
o You must have at least one of your custom class that holds as field one or
a collection of objects of another custom class
(Please note although
main sketch will have feature similar to this, however it doesn’t count here as
it’s not really a class)
3.2 Coding Style Requirements
Must use Processing’s native library and libraries bundled with it such as minim
and controlP5 (for GUI) for sound and GUI. NO other 3rd party library is
allowed
Commenting code
o Every class must be commented with a block comment above it for what
it is about and what it does
o Fields (except for very obvious ones like pos, vel, acc, width, height) that
are not intuitively clear to the reader must be commented for what it will be
used for
o Every method must be commented, beyond appropriate inline comments
within its body, with a block comment above it to tell: what it does, what
the parameters are and what they are for
Follows strict naming convention for classes, methods and variables
o All class names must start with a capital and each additional word in the
name is capitalized (i.e. camelCase)
o All method names begin with lowercase and each additional word is
capitalized (i.e. camelCase)
o All variables names begin with lowercase and each additional word is
capitalized (i.e. camelCase)
o ALL NAMES should be clear titles representing what it is (i.e. descriptive)
3.3 Design Requirements
Gameworld, characters and items (e.g. weapons, ammos, collectibles etc.)
must be designed nicely using appropriate images and fit to the theme of the
game
Start screen(s) with info about how to play your game and background story
Game over screen with winning or losing message plus appropriate background
images and/or animations respectively upon if the player wins or loses the game
and allowing player to
replay
GUI of some kind that presents some information to the player about the state of
the game, e.g.
HUD elements (showing health, score), minimap, inventory
screen
, a progress bar/time remaining screen, etc.
A game with at least 3 different levels that escalate challenges progressively
Keyboard and/or mouse input to control player character(s)
Physics (e.g. collisions, simulation of natural forces on movement) must be
accurate and realistic, and
randomness (e.g. randomly generated items,
movement, platforms/obstacles/tiles) is involved in the gameplay to create
uncertainty for the gameplay
Please note for those visual and audio related items listed above, e.g.
Start screen,
Game over screen, image-based animations, gameworld, character, items,
sound effects
etc., design styles and sensibility will matter in evaluation! That
means not only you need to have them but also have them designed nicely and
sensible to the context of their application. These would count on your effort and
creativity and therefore would be credited as such.
Last but not least, as a fully open-ended assignment, the
general rule of evaluation
would be: the more efforts and creativities you put into it, the more rewards you
will be credited.
3.4 Follow-up Quiz and Survey
Tips and Tricks
This is your game, so make sure you design something you like, while meeting the
requirements!
Style counts! Make sure this game is polished and looks great
Start as soon as possible, you’ll have three milestones where you will be expected to
show your progress

Tags: , , , , , , , , , , ,