Upload
osmond
View
31
Download
0
Tags:
Embed Size (px)
DESCRIPTION
1 . 1. Module Overview. Introduction to CSC3049 and module overview. Welcome!. Welcome to CSC3049 Aspects of Game Engine Development. Introduction and Module Overview. - PowerPoint PPT Presentation
Citation preview
1.1. MODULE OVERVIEWIntroduction to CSC3049 and module overview
WELCOME!Welcome to CSC3049 Aspects of Game Engine Development
Introduction and Module OverviewIn a nutshell, this module explores a number of different software component commonly found within 3d game engines. The module will also provide you with an opportunity to develop one or more game engine components.
The module aims to:•Improve your understanding of game engines•Improve your programming prowess•Enrich your software portfolio
Video not available in on-line slides
Learning Outcomes1. Knowledge and understanding of:
•Aspects needed to construct a game engine, including: architecture, update and render pipelines, scene graph formation, collision detection and contact resolution, and component integration.
•Core components commonly found within games, including: real-time physics, terrain modelling, animation, and graphical effects.
2. Apply and synthesis knowledge and understanding in order to create one or more game engine components.
AssessmentThis module is 100% project based• During the first semester you will
learn about different game engine components. • You will finalise your project selection
at the end of the first semester and implement it during the second semester.
More precise details on the project’s assessment can be found within the CSC3049 Project Document
Important: You don’t have to wait until the start of the second semester before commencing your project. You can start the project as soon as you’ve got a solid idea for what you wish to develop.
War
ning
: Wee
ks 9
-11
mig
ht sk
ip c
erta
in li
sted
ite
ms.
Addi
tiona
lly, t
he m
odul
e de
liver
y m
ight
ex
tend
into
Wee
k 12
.
• Introduction and Game Engine OverviewWeek 1
• Collision Detection: including mathematical background, bounding volumes, closest point and primitive/ray intersection, bounding volume hierarchies, spatial partitioning.
Weeks 2 – 4:
• Rigid Body Dynamics: including laws of motion, simulation and modelling aspects, handling rotation and orientation, contact generation including resting contacts and friction, stability and optimisation.
Weeks 5 – 7:
• Synthesis breakWeek 8
• Rendering and Animation: e.g. render pipelines, deferred rendering, graphical LOD , controllers and animation.
Week 9
• Graphics Effects: e.g. shadows, water, terrain, decals, bill boarding, instancing, relief mapping.
Week 10
• Other Game Engine Components: e.g. audio, networking, hand-held devices.
Week 11
Approach to learningThis module will cover a lot of ground. However, there is a danger in exploring too much material (educationally it is pointless of me to throw an unmanageable quantity of information).
Topics which are of particular interest or of use to your planned project should be thoroughly explored.
Other topics should be explored to the extent where you are happy you understand the basic principles behind the topic.
ProjectThe project is the most important aspect of this module (and will have a significant contribution towards your overall degree classification).
The project also provides a means of enriching your software portfolio.You will have the freedom to select your own project (within the broad confines of game engine architecture). I would love for you to select a project that you feel is going to be fun, interesting and useful to your future plans.
Collision detection: rich set of collision detection
algorithms, combined with suitable forms of game object bound
construction.
Scene graphs: extensive implementation of a complex scene
graph (e.g. BSP trees) or a selection of several workable scene
graphs .
Physics: 2D or 3D rigid body dynamic simulator.
Renderer: flexible and high-performance rendering
component rendering a range of graphical primitives using
various graphical effects.
Level of detail: one or more LOD terrain generation
techniques or implementation of an automatic mesh LOD
constructor.
Animation: flexible and capable animation content capable of
providing basic forms of skeletal animation.
Graphics effects: rich library of pre- and post-render
graphical effects possibly including lighting, shadowing, decals,
bill-boarding, relief mapping, etc.
AI: flexible artificial intelligence component capable of
efficiently managing a range of AI tasks.
Intersection detection: basic game object bounds
and intersection tests
Scene graph: basic implementation of a simple
scene graph
Renderer: basic renderer with limited rendering
capability
All p
roje
cts w
ill ne
ed so
me
form
of g
ame
obje
ct
mod
el, s
cene
gra
ph a
nd re
nder
er.
Selecting a projectThe menu of options can be combined in different ways, nor is it exhaustive (you may propose your own game engine project, subject to approval).
Important: Your initial project plan is not intended to be highly binding; rather it is intended to provide a general development direction.
The assessment will be based on the development at the end of the project and not on what was planned (you will only be awarded for what you have developed and never punished for not developing something.
Type of development environment
You can select one of three possible development environments:
1. XNA
2. C++ using OpenGL
3. C++ using DirectX
If aiming for a career in the games industry, select C++.
Important: If you select an development environment with which you are not familiar, then, I will take this into account when assessing your project (I will ensure there is a fair and consistent baseline where overall project complexity is taken into consideration)
AssurancesImportant: This module adopts the opposite view to CSC2007. I do not want you to make use of existing code, and I do want you to reinvent the wheel.
Warning: Plagiarism on this module would have a significant effect on your entire degree.
Why? To gain a better insight into how each components operate, and to become a more capable programmer.
Existing solutions for each component are available and may be consulted and explored in order to help you better understand a coded solution and to inspire your own coded solution. The use of existing source code cannot extend beyond this.
Project Plan: Semester One
The project will assume an agile development approach. Week 1 Week 2 Week 3 Week 4 Week 5 Week 6 Week 7 Week 8 Week 9 Week
10Week
11Week
12
Aims and aspiration document: Your initial aims and goals, i.e. what you find interesting, what development appeals, etc.
Project proposal document: Setting out what you hope to accomplish in terms of the type and features of game engine component to develop.
You will also put together a collection of user stories describing the system you plan to develop. Reminder: the project proposal is not binding.
Project Plan: Semester Two
Sprint 1 Report
Sprint 2 Report
Sprint 3 Report
Sprint 4 Report
Sprint 5 Report
Submission and Demo
Each sprint progress report will consist of :
Retrospective: providing a reflective account of work over the last two weeks. You can also revise your user stories if the project takes on a different direction.
Sprint planning: providing details the user stories you intend to implemented within the next sprint.
Sprint review meeting: Demonstration of the code developed during the completed sprint.
Start Week 12 – Project submission
Final project submission, comprising game engine components alongside a suitable test harness enabling component functionality to be demonstrated.
Week 12 – Project Demonstration
Demonstration of the developed game engine components.
Week 1 Week 2 Week 3 Week 4 Week 5 Week 6 Week 7 Week 8 Week 9 Week 10
Week 11
Week 12
Recommended ReadingA total of four text books are recommended. They all provide an excellent reference source and are highly recommended (they will serve you well in the future). Extra reading material will be provided throughout the module.
Game Physics Engine Development Game Engine Architecture
Recommended ReadingReal-Time Collision Detection Artificial Intelligence for Games
Useful information
Semester One Lectures:Thursday Lecture 10:00 – 11:00 BCB / Java SuiteFriday Lecture 14:00 – 16:00 BCB / java SuiteSemester Two Project Meetings: Fortnightly Project Meetings TBC
Key URLs:Queen’s Onlinehttp://www.qol.qub.ac.ukXNA Creators Club http://creators.xna.com/DirectX http://www.microsoft.com/directxDirectX MSDNhttp://msdn.microsoft.com/directxOpenGL http://www.opengl.org/Blender (Model editor)http://www.blender.org/GIMP (Image editor) http://www.gimp.org/Audacity (Sound editor)http://audacity.sourceforge.net/
DIRECTED READINGDirected reading on game engine architecture
Directed
reading
Directed readingRead the CSC3049 Module Handbook for more information on the topics explored today.
Directed
reading
Summary
To do:Read the
recommended directed reading
Do purchase the recommended reading
Today we explored:
What CSC3049 is all about.
Module contents
Project details