Gw01 introduction

34
School of Computing What is Game Engines What is Game Engines all about all about Introduction Introduction Dr Bryan Duggan Dr Bryan Duggan [email protected] [email protected] @ditcomputing @ditcomputing

Transcript of Gw01 introduction

Page 1: Gw01   introduction

School of Computing

What is Game Engines What is Game Engines all aboutall about

IntroductionIntroductionDr Bryan DugganDr Bryan [email protected]@dit.ie@ditcomputing@ditcomputing

Page 2: Gw01   introduction

School of Computing

Steve Coll insSteve Coll insCEO HavokCEO Havok Every part of the games industry, that I’m aware of, Every part of the games industry, that I’m aware of,

is crying out for undergraduates, more graduates, is crying out for undergraduates, more graduates, greater skills and better training greater skills and better training

The traditional games industry is growing at a rate The traditional games industry is growing at a rate of 10pc per year of 10pc per year

I think there is huge opportunity here, but it lies in I think there is huge opportunity here, but it lies in companies being very creative and identifying niche companies being very creative and identifying niche markets rather than trying to go up against the big markets rather than trying to go up against the big playersplayers

Games industry worth 55 Billion Worldwide and Games industry worth 55 Billion Worldwide and growinggrowing

Page 3: Gw01   introduction

School of Computing

Page 4: Gw01   introduction

School of Computing

Page 5: Gw01   introduction

School of Computing

Page 6: Gw01   introduction

School of Computing

Game Programming Game Programming Core Skil lsCore Skil ls OO ProgrammingOO Programming AlgorithmsAlgorithms Software EngineeringSoftware Engineering GraphicsGraphics AudioAudio AIAI NetworkingNetworking MultithreadingMultithreading Systems ProgrammingSystems Programming Distributed ComputingDistributed Computing MobileMobile Parsers/LanguageParsers/Language UI DesignUI Design Project ManagementProject Management Systems IntegrationSystems Integration

CORE TRANSFERABLE

COMPUTER SCIENCE SKILLS

Required for:Games

eCommerceWindows Programming

Everything!

Page 7: Gw01   introduction

School of Computing

You wil l l ike this course You wil l l ike this course if…if… You like programmingYou like programming

– You don’t need to be a brilliant You don’t need to be a brilliant programmer, but you need to be programmer, but you need to be interestedinterested

You like knowing how stuff worksYou like knowing how stuff works You like problem solvingYou like problem solving You enjoy computer games and You enjoy computer games and

always wondered how they workalways wondered how they work

Page 8: Gw01   introduction

School of Computing

This is notThis is not

A maths courseA maths course An XNA/OpenGL/Havok/DirectX An XNA/OpenGL/Havok/DirectX

coursecourse

Page 9: Gw01   introduction

School of Computing

Guest lecturersGuest lecturers Dr Steve Collins (founder of Havok)Dr Steve Collins (founder of Havok) Dr Aphra Kerr (gamedevelopers)Dr Aphra Kerr (gamedevelopers) Brendan Fields (DT228 grad, Activision)Brendan Fields (DT228 grad, Activision) Sean Blanchfield (Founder Demonware)Sean Blanchfield (Founder Demonware) Owen Harris (Founder Bitsmith)Owen Harris (Founder Bitsmith) Brian Cameron (lead dev Assassins Creed)Brian Cameron (lead dev Assassins Creed) Adam Drakeford (founder, Glass Robot)Adam Drakeford (founder, Glass Robot) …… ……

Page 10: Gw01   introduction

School of Computing

Page 11: Gw01   introduction

School of Computing

Semester 1Semester 1– Building a 3D game engine from scratch Building a 3D game engine from scratch

using a physics engineusing a physics engine Semester 2Semester 2

– AI for gamesAI for games

Page 12: Gw01   introduction

School of Computing

Semester 1Semester 1

Introduction to 3D gamesIntroduction to 3D games– hardwarehardware– API’sAPI’s– Game genresGame genres

Maths refresherMaths refresher– 3D Coordinate Geometry 3D Coordinate Geometry – TrigonometryTrigonometry– VectorsVectors– MatricesMatrices

Page 13: Gw01   introduction

School of Computing

Semester 1Semester 1

2D sprite game programming2D sprite game programming 3D models/cameras/scene graph3D models/cameras/scene graph Particle physics for gamesParticle physics for games Hamiltonian physics (quaternions)Hamiltonian physics (quaternions) Using a physics engineUsing a physics engine

– Rigid bodiesRigid bodies– IntegrationIntegration– Gravity gunsGravity guns

Page 14: Gw01   introduction

School of Computing

Semester 1Semester 1

OO RefresherOO Refresher– Procedural programmingProcedural programming– Classes & objectsClasses & objects– AccessAccess– InheritanceInheritance– Collections Vectors, Lists, QueuesCollections Vectors, Lists, Queues

Page 15: Gw01   introduction

School of Computing

Semester 2Semester 2

Steering behaviours/flockingSteering behaviours/flocking– Seek arrive etcSeek arrive etc

Dynamic obstacle avoidanceDynamic obstacle avoidance Finite state machinesFinite state machines Pathfinding using A*Pathfinding using A*

Page 16: Gw01   introduction

School of Computing

Things you wil l makeThings you wil l make

Driving simulationsDriving simulations ParticlesParticles Flight simulatorsFlight simulators Space simulationsSpace simulations Amazing physics simulationsAmazing physics simulations

Page 17: Gw01   introduction

School of Computing

ToolsTools

Visual Studio 2010Visual Studio 2010 XNA (OpenGL/Havok?)XNA (OpenGL/Havok?) GitGit webcourseswebcourses

Page 18: Gw01   introduction

School of Computing

AssignmentsAssignments

Page 19: Gw01   introduction

School of Computing

Assignments Assignments

Page 20: Gw01   introduction

School of Computing

Massive achievements if Massive achievements if you do any of the you do any of the fol lowing:fol lowing: Enter a competitionEnter a competition Contribute to an open source completionContribute to an open source completion Publish an app/release a gamePublish an app/release a game

– We have a mac lab!We have a mac lab!– Mono game!Mono game!

Do a startupDo a startup Publish a paperPublish a paper Use the Havok SDKUse the Havok SDK

Page 21: Gw01   introduction

School of Computing

Achievements of former Achievements of former studentsstudents Numerous best project/best student Numerous best project/best student

prizes in DT228 and DT211prizes in DT228 and DT211 Startup foundersStartup founders Imagine Cup prize winnersImagine Cup prize winners Games Fleadh prize winnersGames Fleadh prize winners

Page 22: Gw01   introduction

School of Computing

Page 23: Gw01   introduction

School of Computing

Page 24: Gw01   introduction

School of Computing

Page 25: Gw01   introduction

School of Computing

Page 26: Gw01   introduction

School of Computing

Page 27: Gw01   introduction

School of Computing

Page 28: Gw01   introduction

School of Computing

Page 29: Gw01   introduction

School of Computing

Page 30: Gw01   introduction

School of Computing

Page 31: Gw01   introduction

School of Computing

Page 32: Gw01   introduction

School of Computing

Page 33: Gw01   introduction

School of Computing

Page 34: Gw01   introduction

School of Computing