SlideShare a Scribd company logo
1 of 47
Game Platforms
Sony Playstation 2
   CPU: 300 MHz MIPS 5000 variant
   2 Vector Units: 4 FP MUL/ADDs (+ DIV)
   Graphics: Custom GS chip
   Audio: Custom DSP chip, 48 voices
   Memory: 32 megs + 4 video + 2 audio
   DVD drive
   Installed: >30 million
   Custom graphics APIs
Microsoft XBox
   CPU: 733 MHz Intel Pentium 3 variant
   Graphics: nVidia GeForce 3 variant
   Audio: 256 voices (64 3D voices)
   64 megs shared memory
   DVD drive
   8 gigabyte hard drive
   Installed: >5 million
   Uses DirectX, Direct3D
Nintendo GameCube
   CPU: 405 MHz Motorola PowerPC
    variant
   Graphics: Custom (6-12 Mtris/sec)
   Audio: 16 bit DSP (64 voices)
   24 megs main memory + 16 megs
    audio/misc.
   Proprietary mini DVD drive
   Installed: ~5 million
   Uses a variant of OpenGL
Nintendo GameBoy Advance
 32-bit ARM CPU
 32K RAM, 96K VRAM, 256K WRAM
 240 x 160 pixels, 32,768 colors
PC
 Wide range of CPUs
 Wide range of graphics cards
 Wide range of audio cards
 Wide range of memory
 Wide range of devices
 Wide range of operating systems
 DirectX, OpenGL
 Installed base: 100’s of millions
Other Platforms
 Apple, Linux
 Cell phones, PDAs, etc.
 Sega Dreamcast
 Sony PS1
 Nintendo 64
 Classic machines
 Arcade
 Location based entertainment (LBE)
 Interactive theater
Future Game Machines
 Playstation   3
 XBox  2
 HDTV
 Ray tracing & photon mapping
  hardware
 Broadband networks
 Future input / output devices
Sony Playstation 2
Architecture
PS2 Chips
 EE: Emotion Engine
 GS: Graphics Synthesizer
 IOP: Input / Output Processor
 SPU: Sound Processing Unit
Emotion Engine Components
 MIPS R5000 core
 VU0 & VU1: Vector Units
 GIF: Graphics Interface
 DMAC: DMA Controller
 IPU: Image Processing Unit
 SIF: Serial Interface
 INTC: Interrupt Controller
 DRAMC: DRAM Controller
 TIMER: 4 timers
Emotion Engine
EE Core
 300 MHz MIPS R5000 CPU
 Single floating point multiply/add unit, plus
  concurrent divider
 128 bit integer ALU
 16K instruction cache, 8K data cache
 16K scratchpad cache
 Bus interface
 MMU: Memory Management Unit
 Core can use VU0 as a vector coprocessor
PS2 Vector Units
   2 units: VU0 & VU1 (both are on the EE chip)
   Each unit has 32 128 bit vector registers
   VU0 has 4 floating point multiply/add units capable of producing
    a total of 8 results per clock cycle
   VU0 also has 1 concurrent divide unit capable of producing 1
    result every 7 clock cycles
   VU1 has 5 MUL/ADDs and 2 dividers
   Each VU has a 16 bit integer control processor that runs
    concurrently and runs control microprograms
   VU0 has 4K code & 4K data memory
   VU1 has 16K code & 16K data memory
   Both can run as independent processors
   VU0 can also run as a coprocessor to the main core
   VIF: Vector Interface. Used for unpacking data (positions,
    colors, normals) sent into the VU’s.
   Single precision floating point, non IEEE754 compliant
Emotion Engine Performance
 300 MHz
 Core/FPU: 1 MUL, 1 ADD, 1/7 DIV
 VU0: 4 MUL, 4 ADD, 1/7 DIV
 VU1: 5 MUL, 5 ADD, 2/7 DIV
 Total: 20 & 4/7 floating point ops per cycle
 6.2 GFLOPs peak performance
GS: Graphics Synthesizer
 16 parallel pixel units, 8 if using texture
  mapping
 4M of on-chip VRAM (video memory)
 Performs triangle filling computations
 Features:
       Texture mapping
       Gouraud shading
       Z-Buffer
       Very simple alpha computations
       Not much else…
PS2 Processing Summary
   CPU core runs main application program. Most AI, physics,
    game logic, happen on the core.
   CPU core can use VU0 as a coprocessor. Most often, this is the
    case. This allows the CPU to handle more complex physics and
    geometric computations efficiently.
   VU1 runs as an independent processor and acts primarily as a
    ‘geometry engine’ for computing transformations and lighting for
    rendering. VU1 has a direct bus to the GS.
   GS handles all pixel processing (Z-Buffer, texture mapping,
    Gouraud shading) and generates the actual video signal
   SPU does audio DSP computations and generates the final
    audio signal
   IOP reads input devices and manages DVD drive
   DMAC manages and schedules data movement
Game Development Process
Game Life Cycle
 Concept  / Experiment / Demo
 Prototype
 Pre-Production
 Production
 Testing, Tuning, Debugging
 Porting & Localization
Concept, Experiment, Demo
 Initial
        idea used to help ‘sell’ the game
  and get things started
 Might be a 5 page document, or could
  be a simple interactive demo written in
  a couple days, or could just be a couple
  sketches…
Prototype
 Initial
        ‘proof of concept’
 Make a demo that shows key concept
  or concepts
 A few people for a few weeks
 Might be thrown away
Pre-Production
 Very important phase of development
 Small team, mostly programmers & designers
 Often lasts 6-12 months
 Prototype core gameplay mechanics
 Set up tools
 Define overall goals & processes
 Experimentation, trial and error
 Goal: get one level fully playable and FUN
Production
 Fullsize team (20, 30, or more)
 Produce multiple ‘levels’
 Can last 6-12 months (or more…)
 Works like a factory
 Many people can work in parallel
 Follow processes set up in pre-
  production phase
Testing, Tuning, Debugging
 Team  shrinks back down (mostly
  programmers & designers)
 Add several full time testers (at least 4)
 Lasts 3-6 months
 Alpha, Beta, Submission, Gold Master
Porting
 Port to secondary platforms
 Historically, done after main product
  ships
 More and more simultaneous releases
  these days
 Sometimes, additional levels or features
  are added
 Small team for 3-6 months
Localization
 Translate game into different languages
 Japanese version
 ‘European’ version (Spanish, French,
  German, and possibly others)
 Localization usually done after main
  product ships
 Usually only 1 person for 1-2 months
Game Life Cycle
 Phases   aren’t always distinct
 Sometimes, different aspects of the
  project are in different phases
 Different developers have different
  approaches
 Different publishers have different
  approaches
Runtime Software Systems
General Requirements
 Maintain   frame rate: usually 30 or 60
  fps
 Never crash (games are usually ‘soak
  tested’ for around two weeks)
 Tight memory & performance
  restrictions
 Often must work with unreleased
  hardware and compilers
Low Level Systems
 Data  structures
 Math routines
 Memory management
 Resources, file IO
 Input devices
 Widgets, tuning interface
 Performance monitoring
Mid Level Systems
 Rendering
 Audio
 Text
 Collision detection
 Physics
 Scripting
 Networking
 Character animation
 Cinematic playback
High Level Systems
 Scene management
 Play control
 Camera
 AI (artificial intelligence)
 Game logic
 Game flow
 Lighting, visual effects
 HUD
 Front end (user interface)
Data Structures
 Lists,   trees, arrays, hash tables
 STL
Math Routines
 Vectors,matrices, quaternions
 Geometry calculations
 Random numbers
 Misc. math routines
 Must run fast and should take
  advantage of hardware if possible
Memory Management
 Many  games use custom memory
  management routines
 Must avoid fragmentation
 Layered memory management
 Paging
Resources & File IO
 Fast  loading
 Paging
 Parsing
 File formats
 XML
 Compression
 Resource packing
Input Devices
 Control pads, joysticks
 Keyboard, mouse
 Special hardware
 Force feedback
 Microphone
 Camera
 Configuration
 Button mapping
 Calibration
Widgets & Tuning Interface
 Tuning & monitoring interface
  used for development
 Run on target and host platforms
 In-game picking, manipulation
Performance Monitoring
 Time is a critical resource
 Various pieces of hardware, each with their
  own timing & performance characteristics:
  CPU, graphics, audio, IO
 Many sophisticated profilers exist
 In-game budgets & warnings
 In-game graphing
 Output to file for thorough analysis
Rendering
 Layer  on top of hardware
 Common APIs: OpenGL, Direct3D, PS2
 Render polygonal meshes (display lists)
 Lighting
 Graphics state
 Matrix & viewing transformations
Audio
 3D spatialization: panning, Doppler, Dolby
  Surround, HRTF (head related transfer
  functions)
 Manage sound priorities (voices)
 Reverb, effects
 MIDI
 Music
 Dynamic music
 Stream off CD / DVD (multiple streams)
 Voice
Tools
Code Development Tools
   Compilers (Visual C++, SN Systems, CodeWarrior,
    GNU)
   Debugger
   Profiler
   Editor
   Revision control (CVS, SourceSafe)
   Integrated development environment (IDE)
   C++, Assembly
   Graphics languages: pixel & vertex shaders…
   Design analysis tools
   Documentation, standards
Middleware
 Getting   more and more popular and
  trusted
 Rendering: RenderWare, NDL, Intrinsic
 Physics: Havok, MathEngine
 Engines: Quake, Unreal…
Art Production Tools
 3D Modeling & Animation (Maya, 3D Studio)
 Exporting
 Asset management (AlienBrain)
 Paint (2D & 3D) (Photoshop, DeepPaint)
 Scanning (2D, 3D)
 Motion capture
 In-game tools
Audio Tools
 Recording
 Composing  (ProTools)
 Sound effects (Reason)
 In-game tools
Game Design Tools
 In-game  tools
 Level layout
 Prototyping tools (Director)
 Design tools

More Related Content

What's hot

Computer components
Computer componentsComputer components
Computer componentsMinalzahra
 
อุปกรณ์ที่เป็นส่วนประกอบของคอมพิวเตอร์
อุปกรณ์ที่เป็นส่วนประกอบของคอมพิวเตอร์อุปกรณ์ที่เป็นส่วนประกอบของคอมพิวเตอร์
อุปกรณ์ที่เป็นส่วนประกอบของคอมพิวเตอร์Arrat Krupeach
 
Elcl605 week2
Elcl605 week2Elcl605 week2
Elcl605 week2ha104
 
philip_delacruz_humility
philip_delacruz_humilityphilip_delacruz_humility
philip_delacruz_humilitydeadLOLZ
 

What's hot (13)

Computer components
Computer componentsComputer components
Computer components
 
Readme
ReadmeReadme
Readme
 
อุปกรณ์ที่เป็นส่วนประกอบของคอมพิวเตอร์
อุปกรณ์ที่เป็นส่วนประกอบของคอมพิวเตอร์อุปกรณ์ที่เป็นส่วนประกอบของคอมพิวเตอร์
อุปกรณ์ที่เป็นส่วนประกอบของคอมพิวเตอร์
 
Doc1
Doc1Doc1
Doc1
 
Definitions
DefinitionsDefinitions
Definitions
 
Definitions 2
Definitions 2Definitions 2
Definitions 2
 
Micro soft
Micro softMicro soft
Micro soft
 
Read me
Read meRead me
Read me
 
Control Panel
Control PanelControl Panel
Control Panel
 
Definitions 2
Definitions 2Definitions 2
Definitions 2
 
Elcl605 week2
Elcl605 week2Elcl605 week2
Elcl605 week2
 
Dream machine
Dream machineDream machine
Dream machine
 
philip_delacruz_humility
philip_delacruz_humilityphilip_delacruz_humility
philip_delacruz_humility
 

Viewers also liked

Dli travel medjugorje - 6 days (1)
Dli travel   medjugorje - 6 days (1)Dli travel   medjugorje - 6 days (1)
Dli travel medjugorje - 6 days (1)Sacre_Poland
 
Irreversible damages in the fauna (essay communicative competence)
Irreversible damages in the fauna (essay communicative competence)Irreversible damages in the fauna (essay communicative competence)
Irreversible damages in the fauna (essay communicative competence)Samuel Osorio
 
Pregunta UPyD | Plan español contra amenazas transfronterizas para la salud c...
Pregunta UPyD | Plan español contra amenazas transfronterizas para la salud c...Pregunta UPyD | Plan español contra amenazas transfronterizas para la salud c...
Pregunta UPyD | Plan español contra amenazas transfronterizas para la salud c...upydeuropa
 
Apostila aula 3 perifericos do computador
Apostila aula 3 perifericos do computadorApostila aula 3 perifericos do computador
Apostila aula 3 perifericos do computadorRoberto Costa
 

Viewers also liked (6)

Dli travel medjugorje - 6 days (1)
Dli travel   medjugorje - 6 days (1)Dli travel   medjugorje - 6 days (1)
Dli travel medjugorje - 6 days (1)
 
Irreversible damages in the fauna (essay communicative competence)
Irreversible damages in the fauna (essay communicative competence)Irreversible damages in the fauna (essay communicative competence)
Irreversible damages in the fauna (essay communicative competence)
 
Sparql
SparqlSparql
Sparql
 
Pregunta UPyD | Plan español contra amenazas transfronterizas para la salud c...
Pregunta UPyD | Plan español contra amenazas transfronterizas para la salud c...Pregunta UPyD | Plan español contra amenazas transfronterizas para la salud c...
Pregunta UPyD | Plan español contra amenazas transfronterizas para la salud c...
 
Apostila aula 3 perifericos do computador
Apostila aula 3 perifericos do computadorApostila aula 3 perifericos do computador
Apostila aula 3 perifericos do computador
 
Review for test # 7
Review for test # 7Review for test # 7
Review for test # 7
 

Similar to Game Platform Architectures and Development Processes

Console development
Console developmentConsole development
Console developmentspartasoft
 
Introduction to the Graphics Pipeline of the PS3
Introduction to the Graphics Pipeline of the PS3Introduction to the Graphics Pipeline of the PS3
Introduction to the Graphics Pipeline of the PS3Slide_N
 
What Is A Game Engine
What Is A Game EngineWhat Is A Game Engine
What Is A Game EngineSeth Sivak
 
Computer Vision for PS3 Games
Computer Vision for PS3 GamesComputer Vision for PS3 Games
Computer Vision for PS3 GamesSlide_N
 
PRESENTATION ON Game Engine
PRESENTATION ON Game EnginePRESENTATION ON Game Engine
PRESENTATION ON Game EngineDiksha Bhargava
 
Prasentation Managed DirectX
Prasentation Managed DirectXPrasentation Managed DirectX
Prasentation Managed DirectXA. LE
 
Computer Components
Computer ComponentsComputer Components
Computer ComponentsBeth Sockman
 
Windows phone 7 xna
Windows phone 7 xnaWindows phone 7 xna
Windows phone 7 xnaGlen Gordon
 
Music Computing - StudioBLADE Gen 3 Manual Full
Music Computing - StudioBLADE Gen 3 Manual FullMusic Computing - StudioBLADE Gen 3 Manual Full
Music Computing - StudioBLADE Gen 3 Manual FullJames Edwin Rhone Jr
 
XNA and Windows Phone
XNA and Windows PhoneXNA and Windows Phone
XNA and Windows PhoneGlen Gordon
 
Unite 2013 optimizing unity games for mobile platforms
Unite 2013 optimizing unity games for mobile platformsUnite 2013 optimizing unity games for mobile platforms
Unite 2013 optimizing unity games for mobile platformsナム-Nam Nguyễn
 
Game Programming I - Introduction
Game Programming I - IntroductionGame Programming I - Introduction
Game Programming I - IntroductionFrancis Seriña
 
Introduction Cell Processor
Introduction Cell ProcessorIntroduction Cell Processor
Introduction Cell Processorcoolmirza143
 
Introduction Cell Processor
Introduction Cell ProcessorIntroduction Cell Processor
Introduction Cell Processorcoolmirza143
 
Architectural Analysis of Game Machines
Architectural Analysis of Game MachinesArchitectural Analysis of Game Machines
Architectural Analysis of Game MachinesPraveen AP
 
Microsoft HoloLens
Microsoft HoloLensMicrosoft HoloLens
Microsoft HoloLensGWAVA
 
02 computer components
02   computer components02   computer components
02 computer componentsChalard Jaipan
 

Similar to Game Platform Architectures and Development Processes (20)

Computer components
Computer componentsComputer components
Computer components
 
Console development
Console developmentConsole development
Console development
 
Introduction to the Graphics Pipeline of the PS3
Introduction to the Graphics Pipeline of the PS3Introduction to the Graphics Pipeline of the PS3
Introduction to the Graphics Pipeline of the PS3
 
What Is A Game Engine
What Is A Game EngineWhat Is A Game Engine
What Is A Game Engine
 
Computer Vision for PS3 Games
Computer Vision for PS3 GamesComputer Vision for PS3 Games
Computer Vision for PS3 Games
 
PRESENTATION ON Game Engine
PRESENTATION ON Game EnginePRESENTATION ON Game Engine
PRESENTATION ON Game Engine
 
Prasentation Managed DirectX
Prasentation Managed DirectXPrasentation Managed DirectX
Prasentation Managed DirectX
 
Computer Components
Computer ComponentsComputer Components
Computer Components
 
Windows phone 7 xna
Windows phone 7 xnaWindows phone 7 xna
Windows phone 7 xna
 
Music Computing - StudioBLADE Gen 3 Manual Full
Music Computing - StudioBLADE Gen 3 Manual FullMusic Computing - StudioBLADE Gen 3 Manual Full
Music Computing - StudioBLADE Gen 3 Manual Full
 
XNA and Windows Phone
XNA and Windows PhoneXNA and Windows Phone
XNA and Windows Phone
 
Project natal
Project natalProject natal
Project natal
 
Unite 2013 optimizing unity games for mobile platforms
Unite 2013 optimizing unity games for mobile platformsUnite 2013 optimizing unity games for mobile platforms
Unite 2013 optimizing unity games for mobile platforms
 
Game Programming I - Introduction
Game Programming I - IntroductionGame Programming I - Introduction
Game Programming I - Introduction
 
2.Hardware.ppt
2.Hardware.ppt2.Hardware.ppt
2.Hardware.ppt
 
Introduction Cell Processor
Introduction Cell ProcessorIntroduction Cell Processor
Introduction Cell Processor
 
Introduction Cell Processor
Introduction Cell ProcessorIntroduction Cell Processor
Introduction Cell Processor
 
Architectural Analysis of Game Machines
Architectural Analysis of Game MachinesArchitectural Analysis of Game Machines
Architectural Analysis of Game Machines
 
Microsoft HoloLens
Microsoft HoloLensMicrosoft HoloLens
Microsoft HoloLens
 
02 computer components
02   computer components02   computer components
02 computer components
 

Recently uploaded

Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 

Recently uploaded (20)

Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 

Game Platform Architectures and Development Processes

  • 2. Sony Playstation 2  CPU: 300 MHz MIPS 5000 variant  2 Vector Units: 4 FP MUL/ADDs (+ DIV)  Graphics: Custom GS chip  Audio: Custom DSP chip, 48 voices  Memory: 32 megs + 4 video + 2 audio  DVD drive  Installed: >30 million  Custom graphics APIs
  • 3. Microsoft XBox  CPU: 733 MHz Intel Pentium 3 variant  Graphics: nVidia GeForce 3 variant  Audio: 256 voices (64 3D voices)  64 megs shared memory  DVD drive  8 gigabyte hard drive  Installed: >5 million  Uses DirectX, Direct3D
  • 4. Nintendo GameCube  CPU: 405 MHz Motorola PowerPC variant  Graphics: Custom (6-12 Mtris/sec)  Audio: 16 bit DSP (64 voices)  24 megs main memory + 16 megs audio/misc.  Proprietary mini DVD drive  Installed: ~5 million  Uses a variant of OpenGL
  • 5. Nintendo GameBoy Advance  32-bit ARM CPU  32K RAM, 96K VRAM, 256K WRAM  240 x 160 pixels, 32,768 colors
  • 6. PC  Wide range of CPUs  Wide range of graphics cards  Wide range of audio cards  Wide range of memory  Wide range of devices  Wide range of operating systems  DirectX, OpenGL  Installed base: 100’s of millions
  • 7. Other Platforms  Apple, Linux  Cell phones, PDAs, etc.  Sega Dreamcast  Sony PS1  Nintendo 64  Classic machines  Arcade  Location based entertainment (LBE)  Interactive theater
  • 8. Future Game Machines  Playstation 3  XBox 2  HDTV  Ray tracing & photon mapping hardware  Broadband networks  Future input / output devices
  • 10. PS2 Chips  EE: Emotion Engine  GS: Graphics Synthesizer  IOP: Input / Output Processor  SPU: Sound Processing Unit
  • 11. Emotion Engine Components  MIPS R5000 core  VU0 & VU1: Vector Units  GIF: Graphics Interface  DMAC: DMA Controller  IPU: Image Processing Unit  SIF: Serial Interface  INTC: Interrupt Controller  DRAMC: DRAM Controller  TIMER: 4 timers
  • 13. EE Core  300 MHz MIPS R5000 CPU  Single floating point multiply/add unit, plus concurrent divider  128 bit integer ALU  16K instruction cache, 8K data cache  16K scratchpad cache  Bus interface  MMU: Memory Management Unit  Core can use VU0 as a vector coprocessor
  • 14. PS2 Vector Units  2 units: VU0 & VU1 (both are on the EE chip)  Each unit has 32 128 bit vector registers  VU0 has 4 floating point multiply/add units capable of producing a total of 8 results per clock cycle  VU0 also has 1 concurrent divide unit capable of producing 1 result every 7 clock cycles  VU1 has 5 MUL/ADDs and 2 dividers  Each VU has a 16 bit integer control processor that runs concurrently and runs control microprograms  VU0 has 4K code & 4K data memory  VU1 has 16K code & 16K data memory  Both can run as independent processors  VU0 can also run as a coprocessor to the main core  VIF: Vector Interface. Used for unpacking data (positions, colors, normals) sent into the VU’s.  Single precision floating point, non IEEE754 compliant
  • 15. Emotion Engine Performance  300 MHz  Core/FPU: 1 MUL, 1 ADD, 1/7 DIV  VU0: 4 MUL, 4 ADD, 1/7 DIV  VU1: 5 MUL, 5 ADD, 2/7 DIV  Total: 20 & 4/7 floating point ops per cycle  6.2 GFLOPs peak performance
  • 16. GS: Graphics Synthesizer  16 parallel pixel units, 8 if using texture mapping  4M of on-chip VRAM (video memory)  Performs triangle filling computations  Features:  Texture mapping  Gouraud shading  Z-Buffer  Very simple alpha computations  Not much else…
  • 17. PS2 Processing Summary  CPU core runs main application program. Most AI, physics, game logic, happen on the core.  CPU core can use VU0 as a coprocessor. Most often, this is the case. This allows the CPU to handle more complex physics and geometric computations efficiently.  VU1 runs as an independent processor and acts primarily as a ‘geometry engine’ for computing transformations and lighting for rendering. VU1 has a direct bus to the GS.  GS handles all pixel processing (Z-Buffer, texture mapping, Gouraud shading) and generates the actual video signal  SPU does audio DSP computations and generates the final audio signal  IOP reads input devices and manages DVD drive  DMAC manages and schedules data movement
  • 19. Game Life Cycle  Concept / Experiment / Demo  Prototype  Pre-Production  Production  Testing, Tuning, Debugging  Porting & Localization
  • 20. Concept, Experiment, Demo  Initial idea used to help ‘sell’ the game and get things started  Might be a 5 page document, or could be a simple interactive demo written in a couple days, or could just be a couple sketches…
  • 21. Prototype  Initial ‘proof of concept’  Make a demo that shows key concept or concepts  A few people for a few weeks  Might be thrown away
  • 22. Pre-Production  Very important phase of development  Small team, mostly programmers & designers  Often lasts 6-12 months  Prototype core gameplay mechanics  Set up tools  Define overall goals & processes  Experimentation, trial and error  Goal: get one level fully playable and FUN
  • 23. Production  Fullsize team (20, 30, or more)  Produce multiple ‘levels’  Can last 6-12 months (or more…)  Works like a factory  Many people can work in parallel  Follow processes set up in pre- production phase
  • 24. Testing, Tuning, Debugging  Team shrinks back down (mostly programmers & designers)  Add several full time testers (at least 4)  Lasts 3-6 months  Alpha, Beta, Submission, Gold Master
  • 25. Porting  Port to secondary platforms  Historically, done after main product ships  More and more simultaneous releases these days  Sometimes, additional levels or features are added  Small team for 3-6 months
  • 26. Localization  Translate game into different languages  Japanese version  ‘European’ version (Spanish, French, German, and possibly others)  Localization usually done after main product ships  Usually only 1 person for 1-2 months
  • 27. Game Life Cycle  Phases aren’t always distinct  Sometimes, different aspects of the project are in different phases  Different developers have different approaches  Different publishers have different approaches
  • 29. General Requirements  Maintain frame rate: usually 30 or 60 fps  Never crash (games are usually ‘soak tested’ for around two weeks)  Tight memory & performance restrictions  Often must work with unreleased hardware and compilers
  • 30. Low Level Systems  Data structures  Math routines  Memory management  Resources, file IO  Input devices  Widgets, tuning interface  Performance monitoring
  • 31. Mid Level Systems  Rendering  Audio  Text  Collision detection  Physics  Scripting  Networking  Character animation  Cinematic playback
  • 32. High Level Systems  Scene management  Play control  Camera  AI (artificial intelligence)  Game logic  Game flow  Lighting, visual effects  HUD  Front end (user interface)
  • 33. Data Structures  Lists, trees, arrays, hash tables  STL
  • 34. Math Routines  Vectors,matrices, quaternions  Geometry calculations  Random numbers  Misc. math routines  Must run fast and should take advantage of hardware if possible
  • 35. Memory Management  Many games use custom memory management routines  Must avoid fragmentation  Layered memory management  Paging
  • 36. Resources & File IO  Fast loading  Paging  Parsing  File formats  XML  Compression  Resource packing
  • 37. Input Devices  Control pads, joysticks  Keyboard, mouse  Special hardware  Force feedback  Microphone  Camera  Configuration  Button mapping  Calibration
  • 38. Widgets & Tuning Interface  Tuning & monitoring interface used for development  Run on target and host platforms  In-game picking, manipulation
  • 39. Performance Monitoring  Time is a critical resource  Various pieces of hardware, each with their own timing & performance characteristics: CPU, graphics, audio, IO  Many sophisticated profilers exist  In-game budgets & warnings  In-game graphing  Output to file for thorough analysis
  • 40. Rendering  Layer on top of hardware  Common APIs: OpenGL, Direct3D, PS2  Render polygonal meshes (display lists)  Lighting  Graphics state  Matrix & viewing transformations
  • 41. Audio  3D spatialization: panning, Doppler, Dolby Surround, HRTF (head related transfer functions)  Manage sound priorities (voices)  Reverb, effects  MIDI  Music  Dynamic music  Stream off CD / DVD (multiple streams)  Voice
  • 42. Tools
  • 43. Code Development Tools  Compilers (Visual C++, SN Systems, CodeWarrior, GNU)  Debugger  Profiler  Editor  Revision control (CVS, SourceSafe)  Integrated development environment (IDE)  C++, Assembly  Graphics languages: pixel & vertex shaders…  Design analysis tools  Documentation, standards
  • 44. Middleware  Getting more and more popular and trusted  Rendering: RenderWare, NDL, Intrinsic  Physics: Havok, MathEngine  Engines: Quake, Unreal…
  • 45. Art Production Tools  3D Modeling & Animation (Maya, 3D Studio)  Exporting  Asset management (AlienBrain)  Paint (2D & 3D) (Photoshop, DeepPaint)  Scanning (2D, 3D)  Motion capture  In-game tools
  • 46. Audio Tools  Recording  Composing (ProTools)  Sound effects (Reason)  In-game tools
  • 47. Game Design Tools  In-game tools  Level layout  Prototyping tools (Director)  Design tools