Programming Game Worlds - PowerPoint PPT Presentation

1 / 19
About This Presentation
Title:

Programming Game Worlds

Description:

Demonstrate an understanding of trends and advances in ... http://www.gamedevelopers.ie. General Gaming: http://www.pczone.co.uk. http://www.gamespot.com ... – PowerPoint PPT presentation

Number of Views:52
Avg rating:3.0/5.0
Slides: 20
Provided by: BryanD81
Category:

less

Transcript and Presenter's Notes

Title: Programming Game Worlds


1
Programming Game Worlds
  • Introduction
  • Bryan Duggan

2
Learning outcomes
  • Demonstrate an understanding of trends and
    advances in computer game technology.
  • Solve common problems in computer games such as
    entity position, orientation and movement by
    using a variety of mathematical tools.
  • Program a scene in 3D using standard APIs.
  • Represent and program a flexible camera suitable
    for a variety of game types (FPS and RTS).
  • Implement simple collision detection algorithms
    and demonstrate an understanding of the issues
    surrounding collision detection in commercial
    games.
  • Use UML and object oriented design to model
    computer games programs.
  • Program realistic entity movement by implementing
    various individual and group steering behaviours.
  • Critically analyse how the techniques learned on
    the course are used in commercial games.

3
You will like this course if
  • You like programming in C
  • You like using maths to solve problems
  • You enjoy computer games and always wondered how
    they work

4
You will not enjoy this course
  • If you do not like programming in C!!!
  • Because there is lots of programming
  • Lots of self directed learning in the labs

5
Structure
  • Lectures
  • Monday 1600 1800
  • Labs
  • Thursday 1700-1800
  • Friday 0900 1000

6
Course Overview
  • Introduction to 3D games
  • hardware
  • APIs
  • Game genres
  • Maths refresher
  • 3D Coordinate Geometry
  • Trigonometry
  • Vectors
  • Matrices

7
Course Overview
  • OO Refresher
  • Procedural programming
  • Classes objects
  • Access
  • Inheritance
  • STL Vectors, Lists, Queues

8
Course Overview
  • Introduction to Direct3D programming
  • Anatomy of a game engine
  • Creating an IDirect3DDevice COM object
  • The IDirect3DDevice state machine
  • Introduction the game engine
  • Basic drawing
  • The rendering pipeline
  • Local space, world space, view space
  • The camera and frustum
  • Vertex formats
  • Creation of vertex buffers index buffers
  • Drawing primitives

9
Course Overview
  • Basic drawing Part 2
  • Colour
  • Shading
  • Intro to texturing
  • Introduction to meshes
  • Maybe terrain rendering particle systems
  • Stuff we are leaving out
  • Lighting
  • Blending
  • HLSL
  • The effects framework
  • Stencilling

10
Course Overview
  • Building a flexible camera
  • Using your knowledge of co-ordinate geometry,
    matrices and 3D graphics
  • Building a movable game object
  • Dalek and projectile
  • Simple collision detection
  • Point\Bounding sphere\bounding 3D box collisions
  • Game asset management
  • The Singleton pattern

11
Programming Game Behaviour (Semester 2)
  • Introduction
  • Bryan Duggan

12
Learning Outcomes
  • Compare approaches to implementing perception and
    propose optimised solutions to perception
    problems.
  • Critically analyse how perception is implemented
    in commercial computer games.
  • Implement a variety of path following and path
    finding algorithms.
  • Demonstrate an understanding of the issues
    involved in practical, optimised path finding.
  • Use UML and object orientated design to model
    both technical architectures and behaviours in
    computer games.
  • Propose architectures for NPC higher order
    decision making.
  • Critically analyse how the techniques learned on
    the course are used in commercial games.

13
Course Overview
  • Graphs
  • Navigation graphs, dependency graphs and state
    graphs
  • Implementing a flexible graph class using C
    templates
  • Automatic generation of navigation graphs
  • Graph search algorithms
  • Dijstras shortest path algorithm
  • The A algorithm
  • Advanced locomotion
  • Neutons laws of force and acceleration

14
Course Overview
  • Perception
  • FOV
  • Intersection of 2 lines
  • Intersection of ray and plane
  • Intersection of 2 planes
  • Game AI using state machines
  • The state machine design pattern
  • State transition diagrams
  • Agents?
  • Modding?

15
Assessment
  • 1 in class test/preliminary deliverable (mid
    semester 1) 5
  • Assignment 1 Due January 2005 10
  • A partial game engine in C
  • 3d engine for a RTS
  • Something similar in semester 2

16
If you know all the above, you will have a good
grounding in how modern game engines are
constructed
17
Books
  • Semester 1
  • Introduction to 3D Game Programming with DirectX
    9.0
  • Frank D. Luna
  • Semester 2
  • Programming Game AI by Example
  • Mat Buckland

18
Tools
  • Microsoft Visual C (Anything from version 6.0
    or above with the latest service packs will do
    fine)
  • Latest DirectX 9 SDK

19
Web Resources
  • Course Notes
  • http//webcourses.dit.ie
  • Games Developers
  • http//www.gameasutra.com/
  • http//www.gamedevelopers.ie
  • General Gaming
  • http//www.pczone.co.uk
  • http//www.gamespot.com
Write a Comment
User Comments (0)
About PowerShow.com