Processing代写 | Assignment 4 Design and Develop a Game at Your Choice


Assignment 4 – Design and Develop a Game at Your Choice
Game Proposal Final Version Due: July 5 in Week 9 lab Milestone 1 Due: July 11 Thursday 11:59pm Milestone 2 Due: July 18 Thursday 11:59pm Milestone 3 Due: July 25 Thursday 11:59pm
Final Code Due: Aug 1 Thursday 11:59pm (Accounting for 20% of your final grade)
2. 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 (will be 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.
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 innovation. 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 encourage 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 built- in 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 Requirements for final interview
To demonstrate that you learned the relevant concepts involved in the assignment, there will be an interview session in the last lab, where you are going to demo your game and be interviewed by your teaching staff to answer some concept related questions regarding the work you’ve done To get the credit for the interview, you must be able to:
• justify why each class should exist and what their roles are
• modify any part of the code as requested by interviewer to show some different
results during the interview
• explain any computing concepts involved in doing the project
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


本网站支持淘宝 支付宝 微信支付  paypal等等交易。如果不放心可以用淘宝交易!

E-mail: [email protected]  微信:dmxyzl003