Coursework - Middlesex University

CMT3317
3D Graphics and Games
Module Handbook
Autumn term – October start (24 week
module)
2014/2015
Dr P.J. Passmore
School of Science and Technology
1
Information in alternative formats
This handbook can be found online at: http://unihub.mdx.ac.uk
If you have a disability which makes navigating the website difficult and you
would like to receive information in an alternative format, please contact:
Elizabeth Stokes
Tel: 0208 411 6366
[email protected]
We can supply sections from this publication as:
 a Word document with enlarged type — sent by email or supplied on a CD
or memory stick
 printed copy with enlarged type
 printed copy on non-white paper
 as Braille
Other formats may be possible. We will do our best to respond promptly. To
help us, please be as specific as you can about the information you require
and include details of your disability
Disclaimer
The material in this handbook is as accurate as possible at the date of
production however you will be informed of any major changes in a timely
manner.
Other Documents
Your module handbook should be read and used alongside your programme
handbook and the information available to all students on UniHub including
the Academic Regulations and Student Charter
2
Contents
Contents ......................................................................................................................... 3
Module Summary/Introduction ...................................................................................... 4
Introduction ................................................................................................................ 4
The module teaching team ......................................................................................... 4
Contacting the Module Leader ................................................................................... 4
UniHelp ...................................................................................................................... 4
Module Aims ............................................................................................................. 4
Learning Outcomes .................................................................................................... 4
Assessment Scheme ................................................................................................... 5
Assessment Weighting ............................................................................................... 5
Reading Materials ...................................................................................................... 5
Core Texts .............................................................................................................. 5
Additional texts ...................................................................................................... 6
Book Purchase Suggestions ................................................................................... 6
Study hours outside class contact .............................................................................. 6
Brief Guide to Web-based Module Material ............................................................. 6
Coursework .................................................................................................................... 7
Details of Coursework ............................................................................................... 7
Deadline for Submission of Coursework ............................................................. 11
Re-sit coursework ................................................................................................ 11
Electronic Receipt of Coursework ....................................................................... 12
Intellectual Property ............................................................................................. 12
Feedback to students on coursework ................................................................... 12
Coursework return ............................................................................................... 12
Lecture Plan ................................................................................................................. 13
Useful Information ....................................................................................................... 15
MyUniHub ............................................................................................................... 15
Attendance Requirements ........................................................................................ 15
Academic Dishonesty .............................................................................................. 15
Plagiarism ................................................................................................................ 15
Appeals .................................................................................................................... 16
3
Module Summary/Introduction
Introduction
This module addresses 3D graphics and games development in a hands on way
using and industry standard platform (currently Microsoft XNA) for developing
programs.
The module teaching team
P. Passmore
Contacting the Module Leader
You can contact your module leader in the following ways (but its best to use email
first):
Office Hours - Room No: TG10
TBA email for an appointment.
Email
Telephone
Web page:
[email protected]
020 8411 6428
https://myunihub.mdx.ac.uk
UniHelp
On the Hendon campus, UniHelp is located on the Ground Floor of the Sheppard
Library
08.30 – 21.30
Office Hours: Monday to Friday:
11.00 – 18.00
Saturday and Sunday:
Module Aims
The aim of this module is to examine in depth the concepts and techniques needed
in the construction of interactive graphics systems such as 3D computer games,
covering advanced programming and graphics programming techniques. It aims to
provide students with practical experience via significant individual project work
developing 3D programs and a substantial 3D game using an industry standard
environment.
Learning Outcomes
On completion of this module, the successful student will be able to:
Knowledge
1.
Demonstrate understanding of a wide range of techniques and algorithms
used in implementation of 2D and 3D graphics and games systems
4
2.
Demonstrate in depth knowledge of an industry standard development
environment including the appropriate use of libraries
3.
Demonstrate understanding of mathematical methods used in the domain of
graphics and games including the use of vectors, matrices and transformations
Skills
4.
Produce game design documentation
5.
Use an industry standard game development library and tools to develop an
individually researched and designed 3D game
6.
Manage resources and time in the design and development of a substantial
individual coding project
Assessment Scheme
Due to the vocational focus of the course it is assessed by 100% coursework, over
three coursework assessments.

A formative low level graphics programming assignment (which is formative
so there are no marks ) which will cover learning outcomes 1, 2 and 3

A major design and programming assignment, the design and development of
a 3D game, (worth 65% of the total course mark) which covers the
assessment of all learning outcomes from 1 through 6

A significant development assignment using a fully integrated development
engine, involving the development of a 3D game/simulation/world, (worth 35%
of the total course mark) which covers the assessment of all learning
outcomes from 1 through 6 excluding 4.
Assessment Weighting
Coursework (no examination): 100%
Reading Materials
Core Texts

Miller T. and Johnson D. “XNA Game Studio 4.0 Programming: Developing
for Windows Phone 7 and Xbox 360: Developing for Windows Phone and
Xbox Live” 2010.: ISBN-10: 0672333457 , ISBN-13: 978-0672333453

Goldstone Will. “Unity 3.x Game Development Essentials” PACKT
PUBLISHING, 2011. ISBN-10: 1849691444 ISBN-13: 978-1849691444
5
Additional texts

Carter C.” Microsoft XNA Game Studio 3.0 Unleashed” Sams, 2009. ISBN-13:
978-0672330223

Grootjans R. “XNA 3.0 Game Programming Recipes: A Problem-Solving
Approach”, Apress. 2009. ISBN-13: 978-1430218555

Evangelista A, Leal de Farias and Lobao J. “Beginning XNA 3.0 Game
Programming: From Novice to Professional”, Apress, 2009. ISBN-13: 9781430218173

Book Purchase Suggestions
Amazon.
Study hours outside class contact
The study hours for each credit point are 10 hours. For a 30-credit module this
equates to 300 hours. Therefore, if a module has time-tabled activities i.e.
lecture/seminar/lab, of 3 hours per week for a 24 week period (total of 72 hours), then
the out-of-class study commitment expected of students is 228 hours in total.
Brief Guide to Web-based Module Material
All web based material is linked from the base course webpage on the CMT3317
webpage on MyUniHub (https://myunihub.mdx.ac.uk ).
6
Coursework
Details of Coursework
Coursework 1: Menus, Components, AI
This coursework is formative only and therefore does not contribute to the final
marks.
Aim: to demonstrate that you can understand, merge, adapt and extend example
programs that include the implementation of a menu front end system and AI
examples of chasing and evading behaviour. This requires producing a substantial
program and the intention is that the work should contribute to your portfolio for
demonstration to prospective employers.
Specification
1.) You should download and merge the two example programs from the App Hub
website “Game State Management”, and “Chase and evade”
2.) You should re-skin (i.e. change the look and feel and possibly the sequence of
screens to suit your demo.
3.) You could extend the demo for extra practice. For example implementing the
game part in 3D, producing more examples of chase and evade behaviour, adding
obstacles, actually making it into a game, creating components (e.g. an input
component) etc
Submitting work
You must submit your work ELECTRONICALLY ONLY by compressing all your files
into a single .zip file and uploading it to the CMT3317 Oasisplus webpage. You do
not have to submit a hard copy.
You should submit a compressed file .zip file containing:


all your source files and an EXECUTABLE.
a short document explaining:
- what you wanted to do
- what problems you had
- what special features/functions have you used
Deadline
The deadline is the end of week 4.
7
Coursework 2: 3D game/simulation in XNA.
This will be worth 65% of the course marks.
Aim: to demonstrate that that you address the real-time constraints of programming
an interactive graphical system, can produce a sensible design and document it, and
program using XNA sufficiently to implement a 3D game or simulation.
This requires producing a substantial program and the intention is that the work
should contribute to your portfolio for demonstration to prospective employers. It is
open ended in the sense that the game/simulation you choose to work on and what
aspects of that you choose to focus on are up to you. The intention behind this is for
you to be able to demonstrate your skills to the best of your ability, as you can in your
final year project.
You have to complete this coursework individually but you are encouraged to beg
and borrow where you can to improve the overall quality of your output – this may
include, for example, getting artists to help you with artwork and models but this must
be CLEARLY ACKNOWLEDGED in your write up. You are also strongly encouraged
to help each other concerning design and programming but any straightforward
plagiarism will be penalised according to university regulations.
Specification:
Design.
You have to implement a game or VR simulation, and it’s up to you to decide what to
do. However your design is going to be important for this coursework, and you will
have to produce a design document which will attract 30% of overall marks. This
document will vary in form slightly depending on the type of game/simulation you
produce. We will discuss design documentation and related issues in the lectures.
You will be expected to address such in your design including:










Unique Selling Point: your game/simulation must have some features which are
unique in the sense that your work is not a direct copy of anything you have seen
or heard of before – this doesn’t mean you have to come up with something
totally unique, only that it must be different from what exists in some ways. Check
with me if you are unsure.
Who your target audience is and how your design caters for them.
Justification of format and genre.
Story line/scene setting as appropriate.
Sketches (rough!) of artwork, characters, models etc
Story boarding/sketches of important sequences/frames
Design of interaction in multi-player games
Documentation of game/simulation engine
Documentation of level design
A realistic assessment of what is achievable in relation to the capabilities of the
hardware platform as you understand it
Implementation

What you implement must substantially cover features of your design but I don’t
expect a completed product.
8




Your implemented work must have a substantial 3D component (eg: at least
60%) and some 2D elements.
Your work should be polished, ie: appropriate intro/transition screens, help etc.
You should also produce a short implementation document showing how you
realised your design and a critical evaluation of how you got on.
To facilitate marking, your program must have (preferably hidden to the casual
user) a lecturer button or program debug #define that gives infinite lives or similar
so that your work can be assessed at one sitting by the assessor.
I can only give little credit (up to 5%of marks) for artistic and modelling ability so don’t
waste too much time on this if you’re not getting on too well. This, as usual, is an
open ended specification so make sure you discuss any ideas you have with the
course tutor before implementing them if you have any doubt as to how relevant they
are.
Marks are allocated for effort in producing your game. Where you direct your efforts
depends on what sort of game you are developing (eg: a technique may be
appropriate in one game but not in another) and your interests (eg: you maybe more
interested in graphics effects than AI). A sample (by no means exhaustive) list of
more advanced features that could be included in a game are given below.
3D Specific examples:
 Hierarchical articulated model animation
 Skinned mesh animation
 Procedural generation of game objects (eg: trees)
 Level of detail control in graphics
General examples:
 More sophisticated collision detection, eg: pixel perfect; hierarchical; using line
equations etc for 2D, OBBs, polygon/polygon intersections etc for 3D.
 Sophisticated and appropriate collision response eg: bouncing etc.
 Modelling of physics: eg: making a car skid or roll over etc (note modelling does
not necessarily have to be correct, playability considerations may suggest that
alternate physics be used eg: weaker gravity, greater squash and stretch etc)
 Sophisticated use of vectors and matrices or quaternions in calculations (eg for
movement)
 Game AI: this can take many diverse forms, from simple code to govern enemy
behaviour, to real and potentially complex AI topics like path-finding, agent
technology, planning etc.
 Considered user interface design
 Playability aspects such as being able to ramp up the difficulty of the game over
time appropriately to maintain player interest, having different levels etc.
 Development of tools to assist in game development such as level, background,
or texture editors.
 Special effects eg: sprite based/particle system simulation of fire or smoke etc,
lens flare etc. and use of pixel and vertex shaders
Deliverables
You must submit your work ELECTRONICALLY ONLY by compressing all your files
into a single .zip file and uploading it to the CMT3317 Oasisplus webpage. You do
not have to submit a hard copy. You may have to scan some of your documents (e.g.
sketches) to submit them electronically.
9
You must submit a compressed file .zip file containing:



all your source files and an EXECUTABLE.
your design document as discussed above including a short document
explaining:
- what problems you had
- what special features/functions have you used
a statement saying the work is your own, or if you have used the work of others
or had particular help from others this must be clearly acknowledged here.
Marking Scheme
The coursework will be marked out of 100 and then scaled down
Design and implementation documentation
Getting your basic idea to work
3D features
2D features
Other features
30%
10%
25%
10%
25%
Deadline
The deadline is the end of week 14.
Coursework 3: 3D game/simulation using Unity.
This will be worth 35% of the course marks.
Aim: to demonstrate that that you develop a 3D game or simulation using the Unity
fully integrated development engine.
This requires substantial development and the intention is that the work should
contribute to your portfolio for demonstration to prospective employers. However
whilst being the same general specification as coursework 2 above, no design
documentation is needed and a smaller scale development is expected as evidenced
by the amount of marks given. It is open ended in the sense that the game/simulation
you choose to work on and what aspects of that you choose to focus on are up to
you. The intention behind this is for you to be able to demonstrate your skills to the
best of your ability, as you can in your final year project.
Specification:
Design.
Unlike the second coursework there is no requirement to document your design.
Implementation



Your implemented work must have a substantial 3D component
It should involve substantial scripting in C# (probably, but javascript or boo is also
acceptable)
Your work should be polished, i.e: appropriate intro/transition screens, help etc.
10

To facilitate marking, your program must have (preferably hidden to the casual
user) a lecturer button or program debug #define that gives infinite lives or similar
so that your work can be assessed at one sitting by the assessor.
As with coursework 2 I can only give little credit (up to 5%of marks) for artistic and
modelling ability so don’t waste too much time on this if you’re not getting on too
well). This, as usual, is an open ended specification so make sure you discuss any
ideas you have with the course tutor before implementing them if you have any doubt
as to how relevant they are.
As for coursework 2 marks are allocated for effort in producing your game. Where
you direct your efforts depends on what sort of game you are developing (eg: a
technique may be appropriate in one game but not in another) and your interests (eg:
you maybe more interested in graphics effects than AI). A sample (by no means
exhaustive) list of more advanced features that could be included in a game are
given for coursework 2 above.
Deliverables
You must submit your work ELECTRONICALLY ONLY by compressing all your files
into a single .zip file and uploading it to the CMT3317 Oasisplus webpage. You do
not have to submit a hard copy.
You must submit a compressed file .zip file containing:



all your source files and an EXECUTABLE.
a short document explaining:
- what problems you had
- what special features/functions have you used
a statement saying the work is your own, or if you have used the work of others
or had particular help from others this must be clearly acknowledged here.
Marking Scheme
The coursework will be marked out of 100 and then scaled down
Getting your basic idea to work
3D features
Other features
10%
45%
45%
Deadline
The deadline is the end of week 22.
Submission of Coursework
Sometimes deadlines from different module will come at the same time and it is
important to plan your workload to meet these deadlines.
11
Re-sit coursework
Please note that re-sit coursework specifications will be the same as for the main
courseworks, however unless you have the agreement of the module leader you
MUST produce different programs/games (from those submitted originally) for your
re-sit courseworks. The deadline for all resit coursework is the university deadline for
resit coursework.
Electronic Receipt of Coursework
When electronic submission is a requirement, it must be done via MyUniHub, never
via email.
Intellectual Property
In most cases, students hold the intellectual property rights in the work they produce
for assessment. There are some exceptions such as where the work is commerciallysponsored, or the aim of the module is to develop intellectual property, or where the
student is sponsored or employed, or on placement. Students are asked to read the
Middlesex University Policy Statement ‘Intellectual Property Rights:
https://myunihub.mdx.ac.uk
Feedback to students on coursework


Students should receive a generic School Coursework Feedback.
Your will also receive continual feedback in the lab sessions.
Coursework return
Coursework is not normally returned to students, so it is your responsibility to retain a
copy of what you submit.
12
Lecture Plan
Please note that as latest editions of the books by Cawood and McGee and Carter
were not available at the time of printing this handbook, page numbers are not given.
Lab
Weeks
work
Cswk 1 1,2
Subject
Brief contents
References
Module overview
Components, drawable
components, interfaces, and
XNA game services
Cawood and
McGee
Carter
Powerpoint
slides
Cswk 1 3
Introduction to
course
XNA –
Components,
interfaces, game
services
Introduction to 3D
Increasing realism, nonphotorealism,
transformations in 3D,
quaternions, basic viewing,
history of the graphics
pipeline.
Cawood and
McGee
Carter
Powerpoint
slides
Cswk 1 4,5
Cswk 2
Introduction to 3D
in XNA
Cswk 2 6
3d modelling in
MAX
Load a model, viewing,
drawing bone systems and
transformation, view
matrices, local and world
transformations
Basic guide to interface,
simple modelling
techniques, simple
texturing, exporting to XNA
Cswk 2 7
3D in XNA–
camera models,
simple object
models,
3D in XNA– world
building and scene
management
Various camera models.
Simple object models.
Billboarding, blending
Cswk 3 9
Game Design
Documentation
Game concept, mechanics,
user interface, art, sounds,
story, level requirements,
technical analysis etc.
Cswk 2 10 - 11
Animating objects
Model cycling, Finite State
Machines for Non Playable
Characters, articulated
object animation, forward
Cswk 2 8
Object arrays, scaling,
collision detection. Mixing
sprites and 3D.
13
Cawood and
McGee
Carter
Powerpoint
slides
Powerpoint
slides
Cawood and
McGee
Carter
Powerpoint
slides
Cawood and
McGee
Carter
Powerpoint
slides
Cawood and
McGee
Carter
Goldstone
Cswk 2 12
Cswk 2 13
Open (Emerging
technology)
World building
Cswk 3 14
GUEST speaker
Cswk 3 15
Pixel and vertex
shaders
Cswk 3 16
Unity interface and
concepts
Introduction to
scripting
Creating
environments
Cswk 3 17
Cswk 3 18
Cswk 3 19
Cswk 3 20
Player characters
and further
scripting
Importing models
Collision and
triggers
Cswk 3 21
Instantiation and
rigid bodies
Cswk 3 22
Particle systems
Cswk 3 23
Animation
Cswk 3 24
Open (Emerging
technology)
and inverse kinematics and
bone systems. Blending
animations.
To be announced
Powerpoint
slides
World surface map, object
maps, collision detection.
Mixing sprites and 3D
objects.
Working in the games
industry.
How to use a pixel shader.
High Level shading
Language, pixel shaders,
effects, render targets.
Vertex shaders
3D, Rigid body physics, the
unity interface
C# and javascript scripting,
prefabs
Terrain tools, illumination,
skyboxes
Powerpoint
slides
First person controller
Further scripting
Character movement
Importing 3d models,
texturing etc
Adding colliders
adding triggers
raycasting
Forces
Rigidbodies
Scripting forcces
Intro to particle systems
Fire
Smoke etc
Animation basics
Linear interpolation
Character animation
To be announced
14
Powerpoint
slides
Cawood and
McGee
Carter
Powerpoint
slides
Goldstone
ch1
Goldstone
ch2
Goldstone
ch3
Goldstone
ch4
Goldstone
ch5
Goldstone
ch7
Goldstone
ch8
Goldstone
ch10
Useful Information
The School has a student website https://myunihub.mdx.ac.uk dedicated to enrolled Science and
Technology students, which provides information to support you on your programme of study,
including information on the School’s Academic staff and:




UniHelp opening hours
Module Review Forms
Learning Resources: Science and Technology
Programme Handbooks
And other useful information such as
 Library Catalogue
MyUniHub
Lecturers' contact details can also be found on MyUniHub, the university's online learning
environment. This can be accessed from the following url: https://myunihub.mdx.ac.uk Within each
module you can find 'module information' which displays contact details for the lecturer and other
information about the module.
Attendance Requirements
You should attend all scheduled classes. If you do not do so, you may not be able to demonstrate that
you have achieved the Learning Outcomes for the module, and you are at risk of being graded “X” in
the module. The definition of the X grade is: “Fail – incomplete without good reason: may not be
reassessed.” As a general guide, you need to attend at least 75% of scheduled classes in order to be
able to demonstrate achievement of all Learning Outcomes. On some modules, there may be more
specific attendance requirements.
Academic Dishonesty
Taking unfair advantage in assessment is considered a serious offence by the university, which will
take action against any student who contravenes the regulation through negligence, foolishness or
deliberate intent.
Academic dishonesty is a corrosive force in the academic life of the university; it jeopardises the
quality of education and devalues the degrees and awards of the University.
The full regulations on academic dishonesty are given in the University Regulations, Section F
Infringement of assessment regulations - academic misconduct.
Plagiarism
Plagiarism is one specific form of cheating.
The University Regulation Section F clearly sets out the University’s understanding of plagiarism and
the regulations by which you as a student of the University are bound. The key University regulation
is F2.3 which defines plagiarism as “The presentation by the student as their own work of a body of
material (written, visual or oral) which is wholly or partially the work of another, either in concept or
expression, or which is a direct copy.”
Work presented for assessment must be the candidate’s own, or the work of a project group as
requested by the tutor. Plagiarism is the representation of another person’s published or unpublished
work as the candidate’s own by unacknowledged quotation. It is not an offence if the material is
acknowledged by the candidate as the work of another through the accurate use of quotation marks
15
and the provision of detailed references and a full bibliography, although the Assessment Board will
not expect work to rely heavily on direct quotations.
In addition, the University Regulations set out the process for investigating allegations of plagiarism
and describes the penalties. If you are found guilty, the repercussions are very serious indeed.
You should take steps, therefore, to understand what plagiarism is, how it can be identified and how
you can avoid committing it; perhaps most importantly, you should reflect and come to understand
why it is to your enormous advantage never to plagiarise because it is in effect cheating yourself and
your fellow students).
Full details on the Infringement of assessment regulations - Academic misconduct, can be found in
the University Regulations - Section F.
Appeals
The full regulations on appeals are given in the University Regulations. Section G - Appeal
regulations and procedures
16