Realtime Rendering

Assignment 2

Assessment: 50%

Deadline: Wed 12/10/2011 1:30pm

Deadline: Fri 14/10/2011 1:30pm

Deadline: Fri 14/10/2011 9pm

Clarifications and Corrections

Mon Oct 10

Thu Oct 6

Fri Sep 30

Mon Sep 19

breakout.img

Aims

This assignment is intended to have students learn about collision detection, spatial data structures and game physics.

Problem Description

'Breakout' was an Atari arcade game in the 70s. Since then many variations on the same basic idea have appeared, such as Arkanoid, and more recently Shatter.

The assignment is to implement a 2D version of Breakout, starting with a level of circular and rectangular bricks, a rectangular playfield, a single paddle and a single ball. Then a progression of enhancements.

Use C/C++, OpenGL and SDL (not glut, except possibly for text rendering), and possibly other libraries such as OpenAL. Include in your program the ability to 'pause and step' execution at key times, for example, when performing collision detection. Also include the ability to slow the ball speed by doubling/halving. Choose your own key bindings.

The assignment may be done in pairs.

Marking Guide

PA circles and rectangles
CR convex polygons with AABB bounding boxes
DI circular playfield and paddle, other gameplay enhancements
HD collision detection acceleration

Note: this is a guide only. Marks will be awarded/deducted depending on coding quality, algorithms and approaches used, handling of 'corner' and special cases, and creativity shown.

A brief readme explaining features and key bindings is required. No demonstrations this year.