GAM 666 Introduction To Game Programming Course Overview

  • Slides: 10
Download presentation
GAM 666 – Introduction To Game Programming Course Overview Programmer's perspective of Game Industry

GAM 666 – Introduction To Game Programming Course Overview Programmer's perspective of Game Industry ●Introduction to Windows Programming ● 2 D animation using Direct. X 7 ● 3 D animation using Direct. X 9 ●Sound using Direct. X Audio ●Joystick using Direct. Input ● 3 D animation using Open. GL ●Other parts of Direct. X ●Student Project ●

GAM 666 – Introduction To Game Programming Performance Matters Hardware limits what you can

GAM 666 – Introduction To Game Programming Performance Matters Hardware limits what you can do ●Requires highest level of programming skill to get the most out of the machine ●Dedicated hardware evolves to get past bottlenecks, e. g. 3 D Acceleration ●

GAM 666 – Introduction To Game Programming 3 D Acceleration Background Current technology stores

GAM 666 – Introduction To Game Programming 3 D Acceleration Background Current technology stores 3 D objects as collections of triangles in 3 D space which must be projected and clipped onto the 2 D screen in front of you ●Images (textures) are laid across these triangles making them seem more than just triangles ●Lighting calculations further enhance realism by adjusting the final colour depending on the location of light sources ●Some or all of the necessary calculations can be offloaded from CPU to video card ●

GAM 666 – Introduction To Game Programming 3 D Acceleration Background 3 Dfx effectively

GAM 666 – Introduction To Game Programming 3 D Acceleration Background 3 Dfx effectively created the market in mid 90 s by introducing arcade-style acceleration to consumer PC market (using a proprietary API, Glide) ●Microsoft created a Game Development library called Direct. X, working with video card manufacturers to provide a common API to use with all brands of video card ●Open. GL (originally from SGI) was also adapted to work with any brand of accelerated video card ●n. Vidia and ATI now dominate the market ●

GAM 666 – Introduction To Game Programming 3 D Acceleration Trends Until recently, the

GAM 666 – Introduction To Game Programming 3 D Acceleration Trends Until recently, the focus was on developing video cards that accelerated specific calculations involved in 3 D rendering ●Currently, the focus is on putting programmable computing power onto the video card (GPU), giving more flexibility to the developer (Shaders) ●Future trends will focus on parallel processing solutions, which will probably change the fundamental techniques used to store and render 3 D objects (e. g. Ray tracing) ●

GAM 666 – Introduction To Game Programming Direct. X Overview Microsoft's game programming library

GAM 666 – Introduction To Game Programming Direct. X Overview Microsoft's game programming library ●Useful for all sorts of high performance multimedia applications, not just games ●Built on COM technology, but also has a managed (. NET) interface ●New releases are backwards compatible with previous releases ●Has allowed Microsoft to be involved with ongoing development of game hardware ●Deals with all the major aspects of game programming, individual components can be used independently of others ●

GAM 666 – Introduction To Game Programming Direct. X Components Direct. X Graphics ●Direct.

GAM 666 – Introduction To Game Programming Direct. X Components Direct. X Graphics ●Direct. Draw (low-level 2 D surfaces) ●Direct 3 D (3 D acceleration) ●Direct. X Audio ●Direct. Sound (low-level sound buffers) ●Direct. Music (music and sound effect management) ●Direct. Input (keyboard, mouse, joystick, force feedback) ●Direct. Setup (to write Direct. X installers) ●Direct. Show (multimedia streaming) ●Direct. Play (game networking) ●

GAM 666 – Introduction To Game Programming Open. GL Overview Open. GL began as

GAM 666 – Introduction To Game Programming Open. GL Overview Open. GL began as a 3 D rendering library before real-time 3 D graphics was practical ●Originally developed by SGI (Silicon Graphics, a minicomputer manufacturer), now maintained by a multi-vendor body ●Manufacturers of 3 D-capable video cards usually supply accelerated Open. GL drivers along with Direct. X drivers ●Widely used alternative to Direct 3 D for 3 D rendering in games ●Multi-platform: Windows, Unix/Linux, Mac ●

GAM 666 – Introduction To Game Programming Jobs for Game Programmers Days of one

GAM 666 – Introduction To Game Programming Jobs for Game Programmers Days of one person creating a game are over ●Large teams required to build a modern, commercial quality game ●Designers (art or programming background) ●Artists ●Programmers ●Programming jobs can be quite specialized ●Engine, Special effects ●AI, Game play, Scripting ●Artist/Designer/Programmer tools ●Sound, Networking ●

GAM 666 – Introduction To Game Programming Course Project Make your own individual game

GAM 666 – Introduction To Game Programming Course Project Make your own individual game [skeleton] ●Important traits: ●You understand the code (no black boxes) ●Some interesting aspect of gameplay ●Real-time 3 D graphics, sound, joystick ●Relatively independent of hardware ●What you might not achieve: ●Full set of features, lots of levels ●Nice looking art, good sounds ●Motivation: start your personal Game Programming Portfolio ●