Games Programming and AI
Department of Computer Science
Coursework Assessment Specification
Module Number: 08968 Title: Games Programming and AI
Lecturer: Dr. Jon Purdy
Coursework Assessment Number: 1 of 2
Title: DirectX Firework Simulation
Method of Working: INDIVIDUAL
Workload Guidance: Typically, you should expect to spend between 35 and 50 hours on this assessment.
Date of publication: Monday 12/01/04 Week 1
Date and time for submission: 12.00 pm on Monday 9/02/04 (Week 5)
This assignment should be handed in via email no later than the time and date shown above, unless an extension has been authorised on a Request for an Extension for an Assessment form which is available from the Office or http://www.student-admin.hull.ac.uk/Mitcircs.doc. The extension form, once authorised by the lecturer concerned, should be attached to the assignment on submission (or given to the lecturer in the case of electronic submission).
BEFORE submission, each student must complete a departmental coursework cover sheet obtainable from the departmental student intranet (www-ug.dcs.hull.ac.uk or www-msc.dcs.hull.ac.uk). This assignment is being marked by Dr Jon Purdy , please ensure that you complete the correct cover sheet.
Notes:
Late penalties
For work submitted late the penalty is loss of 20% marks per day. Work that is 5 or more days late will automatically be graded as FAIL, and no re-submission will be allowed. For full details, see the Department’s student handbook.
Use of Unfair Means
You are reminded of the University’s Code of Practice on the Use of Unfair Means (http://www.student-admin.hull.ac.uk/unfair.html) and that the work you submit for assessment should contain no section copied in whole or in part from any other source unless where explicitly acknowledged by means of proper citation.
Format of the Coursework Assessment Submission:
A working program containing the deliverables outlined in the Coursework Assessment specification. A zipped folder containing the visual studio project and all the resources used in the project should be submitted. A separate folder containing a compiled executable file with all resources ready to run should also be submitted.
ASSESSMENT STRATEGY AND ASSESSED COURSEWORK
This assignment is worth 20% of the module marks.
The overall assessment strategy is designed to evaluate the student’s achievement of the module learning outcomes, and is subdivided as follows:
ASSESSMENT STRATEGY AND LEARNING OUTCOMES
This assignment contributes towards the following module learning outcomes.
|
LO |
Learning Outcome |
Method of Assessment |
|
3 |
Demonstrate originality in the application of subject knowledge |
Production of working Program |
|
4 |
Use current games programming techniques. |
Production of working Program |
|
5 |
Evaluate game production problems in terms of their artificial intelligence and programming requirements. |
Production of working Program |
ASSESSMENT CRITERIA
|
Assessment Criteria |
Contributes to Learning Outcome |
Mark
|
|
· Appropriate application of Direct Graphics |
4 |
20 |
|
· Appropriate use of Direct Audio · Appropriate use of Direct Input · Design of Simulation · Operation and reliability of program · Appropriateness and accuracy of solution |
4 4 3,5 3 5 |
20 5 10 30 15 |
|
|
|
|
Specification
Aim
To produce a 2D DirectX based program that simulates a spinning (Katherine Wheel) firework.
Program Specification.
The program should simulate the ignition and subsequent motion under gravity of a fixed spinning firework. The firework program must have the following functionality.
· The mouse (or other input device) should be used to select the position that the firework should be placed.
· The firework should accelerate and follow a realistic circular motion until the spinning combustion section has been exhausted. When this point has been reached the firework should detonate with a large and loud explosion..
· The spinning firework should project particles realistically - tangentially to the surface of the circle and from the centre of the explosion. The particles should accurately fall under gravity and change intensity and/or colour as they descend.
· There should be appropriate sound effects and background music.
The following methods and techniques must be used to produce the program.
· DirectDraw should be used for the graphical components of the assessment. An OpenGL implementation will not be accepted.
· Direct Audio must be used for the sound components. Marks will be given for the use of dynamic sound effects within the program.
· DirectInput must be used for the user interface.
Note – This is a 2D assignment designed to test your ingenuity in creating realistic particle effects without the benefit of alpha blending and point sprites. A 3D implementation is not required and will not be accepted.
The following techniques may be required, but the exact implementation is up to the student.
· A particle system to simulate the explosion of the firework.
· Dynamic palate shifting to change the colour of the firework; this could be achieved using an animated bitmap.
· A particle system jet stream as the fireworks angular velocity is increasing
Submission Requirements
The full program workspace should be submitted, including all resources, bitmaps and sound files. The program executable should be saved in a separate folder called ‘executable’ from where it can be operated. The source code must be fully commented and explained within the source files. Failure to comment your code will restrict the marks you can achieve.
The submission should be emailed as a zip file to j.h.purdy@dcs.hull.ac.uk on or before the time and date stated above. An acknowledgement that your submission has been received will be returned.
Resources
Tutorials: (Available from the module web page)
For DirectDraw Elements
DX1, DX2, DX3, DX4.
For Direct Sound Elements
DM1, DM2.
For DirectInput
DI1.
DirectX SDK; C++ help and example programs. (Available in the MSc Laboratory and free to download)
Sub heading
Main text could go here blah blah balhMain text could go here blah blah balhMain text could go here blah blah balhMain text could go here blah blah balhMain text could go here blah blah balh
