Skip to content

Latest commit

 

History

History
94 lines (77 loc) · 6.74 KB

assignments.md

File metadata and controls

94 lines (77 loc) · 6.74 KB

Object Oriented Programming Assignments 2014/2015

Assignment 3

This is your opportunity to really impress me by bringing together all the stuff you have learned this year into one final OOP assignment. You can make anything you like and you can work on a team of up to three people. You can also work alone if you prefer. Games Fleadh/Imagine Cup projects are all encouraged or indeed any other competitions. You can use any OOP language that you like (there are some constraints listed below) and I expect you to have to do self-directed learning on this project.

Rules:

  • You must use git to manage the source code on your project
  • If you are on a team I expect to see a git checkins for each team member
  • You can use Processing, but this must be through Eclipse not the Processing IDE
  • You can use Unity3D, however if you decide to use Unity3D then you project should be mostly code, so consider using algorithms to procedurally generate content
  • In addition to submitting your project, I need each person to submit a short tutorial video via Vimeo or YouTube. This should be on something you learned whilst doing your project. This is worth a flat 15% of the assignment. The rest of the assignment will be graded out of 85%

Some ideas:

  • A music sequencer
  • A music visualiser
  • A music search engine
  • A fractal visualiser
  • An artificial life simulation
  • Steering behaviours (check out this amazing free book for ideas)
  • A robot controller, maybe using Lego Mindstorms/Arduino/Raspberry PI
  • A solar system simulator
  • A drawing program
  • A chat bot
  • Something using the Kinect or Leap Motion
  • A classifier
  • Something that analyses a dataset and draws some cool graphs
  • A neural network that learns to recognise pictures
  • 3D Conways Game of Life
  • A game!
  • An app

Submission dates:

  • Git links/project abstract/team members 9 March. Submit via this form
  • Project submission and demos 15 April (week after Easter). Submit git link & video link via Webcourses

Marking Scheme:

Video: 15% Complexity:30% Project management: 30% Visuals: 25%

Grade Description
First A project that looks great. All the art and is 100% procedural or self drawn and looks beautiful. There a significant amount of clever animation or gameplay (if the project is a game). For example multiple "modes" or "screens". The assignment has lots of functionality. There is depth to the assignment. For example, progression and powerups. The code is organised into classes that use inheritance and polymorphism. There is a lot of novelty and originality. All the code is written by the you. You will have used PVectors, transforms and classes to create autonomous elements in the assignment. You will loading content from text files. You will have used git extensively. Everything works. > 40 git checkins
2.1 The project looks good. There is a some animation or gameplay. You put in a good effort. Some features may not be complete or entirely working. Probably no file IO, but there should be while loops, for loops if statements etc to control aspects of the assignment. You have used classes, but possibly not inheritance and polymorphism. 20-40 git checkins
2.2 The project looks so so, but is pretty basic. There should be some animation or gameplay but significant issues that you couldn't resolve. You may have used sprites instead of drawing everything. All the movement and animation code will be pretty basic for example colours changing each frame or movement controlled by variables that just update each frame. Little or no control code. There is not much code, maybe a page or two. Between 10 and 20 checkins
Pass All code in one file. Around a hundred lines of code. Looks like it could have been completed in an hour or two. Mostly drawing code, little or no controling code. Little or no functionality. Lots of code acquired from other sources. < 10 checkins
Fail Something very basic that looks like it could have been completed in an hour. Just drawing code, no control code. The assignment has no interactivity. Significant unaddressed technical problems. No git usage.

Assignment 2

See the github project for assignment 2.

Assignment 1

Use the skills you are learning on the course to create a version of this game in Processing:

Video

Your game must include the following features:

  • A splash screen, game screen and game over screen
  • Player left and right movement
  • Black blocks that fall from the top of the screen. If the player collides with one of the black blocks, they will loose a life. These should have random x positions. Ideally these should be evenly spaced
  • When the number of lives goes to 0, it is game over.
  • Random red blocks. If the player collides with one of these, they should gain a point.
  • The game should speed up hence becoming more difficult as it goes on.

You should use the following features of Processing

  • Variables, arrays
  • Classes
  • Loops
  • Drawing primitives
  • The if statement
  • User input

Marking scheme:

  • 50% of the marks for this assignment are for implementing the core game as presented in the video
  • To get the remaining 50% of the marks you have to come up with your own additions to te core game. Some suggestions:
    • Power up blocks that speed up or slow down the gameplay
    • Extra life blocks
    • Additional gameplay. For example, the ability to shoot blocks
    • Sprites and nice graphics and sound
    • Running on an Android Phone or Raspberry Pi
    • Control with a Kinect, XBOX Controller or Leap Motion
    • Different types of block behaviours instead of just falling
    • Any other crazy ideas you can come up with your self

Rules!

  • As much as possible this project should be 100% your own code. You will not get any marks for any code that include that you get from books or from the internet. This assignment is about testing what you have learned and what you can do.
  • Any suspected plagorism will be dealt with according to DIT General Assessment Regulations. This could mean expulsion from DIT. I will personally grade all assignments.
  • There will be a feedback session after the assignment where you will have the opportunity to get individual feedback on your submissiona and have your mark explained to you.
  • All assignments should be submitted through Google Classroom. Go to http://classroom.google.com and register using the code: codymp
  • The date for submission is Tuesday 4 November @ 4pm.
  • All assignment submissions must be demoed in the lab that week.
  • If you need to submit an assignment late, you must submit a PC/1 form to the exams office.