110 likes | 127 Views
This module provides an overview of mathematics and technologies used in game development, covering topics such as advanced graphics, animation, physics, scene/entity management, optimization techniques, console development, and asset management.
E N D
Module Outline • ~24 weeks • Plus 1 revision session • Topics overlap and extend Games Dev 2 • 1 Assignment • 3 hour written exam • I take requests for content in this module
Advanced Graphics 1 • Animation: • Quaternions, (S)LERP • Animation storage and compression • Core animation system • Scene post-processing • Special effects, bloom, depth-of-field, motion blur • Physics • Particle-based physics • Cloth physics, soft-body physics
Advanced Graphics 2 • Stereoscopic Rendering • Developing content for 3D displays • Other miscellaneous topics: • Fur rendering • Instanced particles • Soft particles • DirectX 10 advanced features
Scene/Entity/Gfx Interface • Extends basic scene/entity management from Games Development 2 module • Space partitions • Portals, BSP trees • Quad & Oct-trees • E.g. for graphics culling, priority queuing of entities and further game/gfx integration • Instancing
Optimisation • When to optimise (rarely) • Performance profiling • Optimisation techniques • Algorithmic methods • Optimising memory use • Cache coherency • Language considerations • Balancing optimisation requirements
Console Development • Console tools and techniques • Working with development kits • Dealing with custom hardware • Low-level optimisations • Concurrent programming • Needs of next-gen hardware • Multi-core; threads, mutexes, etc. • Asset management for games development
Maths and Technologies for GamesProject Reminders CO3303 Week 1, Prologue
Reminder: Sourcing Project Code • You have plenty of code from labs • For example: • DirectX graphics sample applications • AI path finding • 2nd year project code • This year: entity material, XML, Lua etc. • Also: • Math classes (introduced late last year, used much this year) • Major lab applications this year : mini-engines • What about using this code in your 3rd year projects?
Using Other’s Code • OK, with caveats: • Must note that your project was derived from lab work • If you retain major chunks unchanged (e.g. entire classes), note that too • This all applies to other third party code • E.g. code from the web or a book • Possible to create large project without adding any significant code • Project won’t be worth much - we will notice easily • Other supervisors will be warned of what you have available
Using Other’s Code • Make sure there is a significant portion of your own work: • In separate files whenever possible • Put lab code into subfolders leaving your contribution in the clear • Improve the lab code where you can - some of the code is far from ideal: • Lack of OO in many places • Frequently inflexible • We have discussed better architecture in Games Dev 1 • Mention improvements in report