DOC PREVIEW
OSU CS 419 - Game Programming: The BIG Picture

This preview shows page 1-2-3-4-5-6 out of 17 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 17 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 17 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 17 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 17 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 17 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 17 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 17 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

10/28/20091Game Programming:The BIG PictureDan WhiteStudio Technical DirectorStudio Technical [email protected] very old days…Turbo Assembler,6 monthsProgrammer Game25 years ago, a game might have 1 d bprogrammer, and maybe 1 artist10/28/20092View from the CEO’s chair…• Games are big business–Current AAA titles: $30 million budget, 2+ year time frame– Project completion date is very important• Particularly for licensed propertiesGame development organizationMoney ProductThis means we make games differently…When I first noticed change…JumpmanAtari 800circa 1983:This game had an EDITOR!At the time this seemed revolutionary to meAt the time, this seemed revolutionary to me.10/28/20093A more detailed view of today…ArtistsCThe EngineAnimatorsDesignersScriptersProductEngineersEngineer = programmer = software developerAudio TechContent TeamGameplayProgrammersDistribution of PeopleHead CountArtistsAnimatorsDesignersScriptersProgrammersProducersProducersOn large projects, programmers are a small partWhere is test? Forgotten as usual..10/28/20094The real task of engineers• The main task of engineers in a commercial game compan y is to make tools and runtime to enable compan y is to make tools and runtime to enable artists and designers to make games.– Saves money, but just as important increases predictability.• This is how most industries work anyway…you don’t need programmers to use Autocad.•How to design and create the perfect engine isHow to design and create the perfect engine is very much unsolved.• Not to worry, we are decades awa y from losing the chance to be creative.Actually it has been sort of solved• Flash has taken over the market for 2D games.It’ h•It’s a huge success.• Flash games can be made with only scripters.• This is possible because:• Performance not an issue for 2D•2D games are vastly simpler2D games are vastly simpler• So successful that MS is making their own: Silverlight10/28/20095Adobe Flash CS4Flash suggests form of the general solution• Artists make assets• Designers use the assets to make levels.• The levels are packed to make game data.• The runtime interprets & processes the game data.• Sound familiar?– Source file ÆCompiled EXE– EXE run by an OS10/28/20096A slightly more detailed view…ArtistsDesigners & ScriptersDCC Tools Level EditorArt Assets Level FileBundlerAka: Distiller, packerResource converterGame dataRuntimeDCC = Digital content Creation. There will be at least one versionfor each target platform: PSP, PS2XBOX, WII, X360, PS3, PCThe art pipeline…PhotoshopRender monkey,FX composerMaya, 3ds Max, MotionbuilderPSD/Tiff files.fx or .cg filesSource of:MeshesAnimationsMaterialsTexturesSkinsXSI(commercial products)Special PlugginsExport Pluggins ColladaProprietary binary filesOriginally targeted at film.10/28/2009710/28/20098The lev el editing pipeline…Art assets Scripts Special effectsEngine specific level editor Level file• Object placement & properties• Setup lights• Create light/shadow maps• Script binding (connect triggers and so forth)• Script testing• Create camera paths & cinematic sequences.• In some cases…creating of the static world geometr y (now out of fashion)10/28/20099How to design a level editor is still unsettled…• Some engines use the DCC as the level editor• Some approaches have a special build of the game that is also the level editor.• In some cases, the level editor also does the bundling.10/28/200910Other tools• Special Fx editor–Particle systems very important for look and feelParticle systems very important for look and feel.– Edit and tweak particle systems– Can be really fun to work with & neglected academically• Sound editor– Take sound samples (from Sound Forge or whatever) and create runtime sound‐effects by applying patchesand create runtime soundeffects by applying patches, filters etc.• Asset management– This is a huge problem with > 10^5 files10/28/200911Recurring Theme• Editor• Previewer• Runtime• As usual, the UI (editor) takes most of the work.10/28/200912On to the Bundler…• The bundler does the final conversion of assets to a platform specific format.a platform specific format.• Stripify & build meshes• Convert texture formats• Compress everything that can be compressed.• Layout binary data for streaming.•Handles endianswapping.Handlesendianswapping.• Build large data structures (e.g. BSP or kD trees)• Do every possible preprocess operation!– Among other advantages, finds errors early.Runtime• Game runtime is a real‐time simulation–Predictable performance is important• Amortization is not the answer– Resources are limited, memory is g enerally scarce (relative to the PC)– Hardware has poor memory bandwidth.10/28/200913Runtime…some important systemsSimulation/World(Game object)Culling & “Scene Graph”MathStreaming & IOShapes & MeshesRigid body PhysicsMaterial ManagementMessaging/EventsDb iSdScriptingNetworkInterface & GUIGeometry management (e.g. BSP treesCloth/waterPrimitive renderingPlatform SDK (e.g. DX9 + Win32)Special EffectsDebuggingSoundVideoPerhaps 80% is cross platform.ControllerRuntime design issues• Grouping of libraries varies, but functionality iis common.• Biggest unsolved question in runtime design is how to achieve threading.– Or, on PS3 how to use the SPE’s•Note that I have broken the engine down•Note that I have broken the engine down much farther that the tools side. Many of the components exist there as well.10/28/200914Perspective• The tools complexity, by line count, will be multiples of the runtime side (at least for a single platform).•The engineers use the runtime but all the content people use the tools•The engineers use the runtime, but all the content people use the tools.– Training time on tools is much higher, cause more people are involved.– Productivity payoff is much higher for the same reason.• Runtime changes with platform and fads, but tools can remain forever.• A lot of what makes a runtime “good” is performance, but the payoff to the user may be low.– 2x increase in poly count is often barely noticeable• We have already reached the sweet spot for most game features:–4 enemies to 8Æbig difference–4 enemies to 8 Æbig difference– 64 enemies to 128 Æ small difference• Iteration makes games good, and the tool chain allows iteration.The point…• The


View Full Document

OSU CS 419 - Game Programming: The BIG Picture

Download Game Programming: The BIG Picture
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Game Programming: The BIG Picture and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Game Programming: The BIG Picture 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?