21
1.1. MODULE OVERVIEW Introduction to CSC3049 and module overview

1 . 1. Module Overview

  • Upload
    osmond

  • View
    35

  • Download
    0

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

Page 1: 1 . 1. Module Overview

1.1. MODULE OVERVIEWIntroduction to CSC3049 and module overview

Page 2: 1 . 1. Module Overview

WELCOME!Welcome to CSC3049 Aspects of Game Engine Development

Page 3: 1 . 1. Module Overview

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

Page 4: 1 . 1. Module Overview

Video not available in on-line slides

Page 5: 1 . 1. Module Overview

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.

Page 6: 1 . 1. Module Overview

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.

Page 7: 1 . 1. Module Overview

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

Page 8: 1 . 1. Module Overview

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.

Page 9: 1 . 1. Module Overview

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.

Page 10: 1 . 1. Module Overview

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.

Page 11: 1 . 1. Module Overview

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.

Page 12: 1 . 1. Module Overview

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)

Page 13: 1 . 1. Module Overview

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.

Page 14: 1 . 1. Module Overview

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.

Page 15: 1 . 1. Module Overview

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

Page 16: 1 . 1. Module Overview

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

Page 17: 1 . 1. Module Overview

Recommended ReadingReal-Time Collision Detection Artificial Intelligence for Games

Page 18: 1 . 1. Module Overview

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/

Page 19: 1 . 1. Module Overview

DIRECTED READINGDirected reading on game engine architecture

Directed

reading

Page 20: 1 . 1. Module Overview

Directed readingRead the CSC3049 Module Handbook for more information on the topics explored today.

Directed

reading

Page 21: 1 . 1. Module Overview

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