1 / 23

Multi-core/Cell Game Engine Design

Kalloc Studios. Multi-core/Cell Game Engine Design. Henry Yu President & CEO. Credentials. Worked in video game industry for nearly 20 years Lead Programmer for Sierra-Online Director of Technology for Activision Technical Director for Electronic Arts/ Westwood

Download Presentation

Multi-core/Cell Game Engine Design

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Kalloc Studios Multi-core/Cell Game Engine Design Henry Yu President & CEO

  2. Credentials • Worked in video game industry for nearly 20 years • Lead Programmer for Sierra-Online • Director of Technology for Activision • Technical Director for Electronic Arts/ Westwood • Software Director for Angel Studios/Rockstar • Software Engineer Director for THQ • Found Kalloc Studios 2006

  3. Topics of discussion • Game Industry Trends • Hardware capabilities comparison • System Architecture • Kalloc Studios’ mission

  4. Game Industry Trends • Consumers demand more realistic visuals, physics interactions, A.I. behaviors • More game content to give a full, immersive experience • Computer hardware has been evolving to utilize multi-core design • Faster iteration time to promote rapid game development

  5. Hardware comparison of the PlayStation 3to the Xbox 360 • Multi-core vs. Cell based architecture, different synchronization models • Hard to utilize the SPU due to its small amount of local memory • DMA transfers are difficult to structure • Slower RSX graphics performance • Memory limitations due to its non-unified memory architecture • Slower Blue Ray Rom data throughput

  6. Fundamental System design • Architecture differences between Xbox 360 and PlayStation 3

  7. Current Kalloc Engine Capabilities • Cross platform for Xbox 360, PlayStation 3 and PC • 720p and 1080p high definition support • 400 or more characters fully skinned with ~5000 polygons and 91 bones (4 weight influences) • 50 or more vehicles with ~3000 polygons • Normal mapped characters • All characters with facial animations • Overall polygon throughput ~24 million polygons per second • Full collision detection with dynamic objects such as characters and vehicles • NPC driving and responding to collisions • NPC have reactive behaviors toward player’s action

  8. System Architecture • Local store and Data Streaming Model • Multi-Threaded Architecture • Graphics Subsystem • Animation System • Physics Components • Asset Pipeline via Live Update System

  9. Local Store and Data Streaming Model • The architecture works like an array where individual game objects, physics objects, render objects, etc are each allocated in a contiguous chunk of memory reserved for that type of object. • The contiguous chunk of memory then can be DMA-d over to the PS3 SPU or even cached on the local memory on PS3. • Having objects in contiguous memory is an optimization for the PS3 that will also yield performance increases in Xbox because cache misses will be reduced.

  10. Data Streaming Model to process tasks

  11. Multi-threaded Architecture • Thread Based Model and SPU Thread Server implementation for task based architecture • Multi-Threaded Scheduler manages both blocking and non-blocking processes • Multi-stage implementation for data synchronization • N + 1 frame GPU running concurrently with core CPU and SPUs

  12. Functional Based multi-threaded Architecture • Functional Based architecture associates one thread per subsystem. All subsystems are processed simultaneously. • Advantages: Very easy to implement since it does not require tasks to be divided and dependencies to be resolved. Suitable for middleware solutions. • Disadvantages: Uneven distribution of processing power since one slower task can hold up the rest of processors, making them idle. Mutexes or some other synchronization protection must be used to resolve data dependencies.

  13. Task Based multi-threaded Architecture • Task Based architecture uses all threads to process a subsystem. Subsystems are processed in a given order. • Large tasks must be divided into smaller tasks so that they can be distributed along all processors • Advantage: Extremely even balance of processor power. Virtually eliminates the problem of waiting for the slowest tasks. Due to subsystems being processed in a fixed order, many dependencies are removed, allowing data access without mutex locking. • Disadvantage: Difficult to implement since all tasks are required to be divided and dependencies resolved. Hard to use middleware solutions since this architecture is relatively new.

  14. Task Distribution Model

  15. Solutions to Data Synchronization • Mutex locks using critical sections • Data separation using multiple stages (e.g. read and write stages) • Local Store Model using ring buffers • Component object level organization to separate data dependency

  16. Current Graphics System • 720p and 1080p native support • Interleaved vertex format with 16-bit normals and UV data to maximize data throughput • Multi-level Shadow Map to enhance resolution quality • Use of instancing to increase rendering performance • Depth Of Field effect • High Dynamic Range lighting with tone mapping • Particle effects • Hardware instancing for rendering props • Scene graph techniques such as octree and occlusion systems to further optimize large scale rendering • Supports unlimited number of bones for animation

  17. Animation System • Support unlimited bones per character • Key frame compression • Quaternion based interpolation • Support for up to 9 channels of animation: rotation, translation and scale • Support for overlaid animations • Procedural animation to minimize number of animations in game

  18. Physics Component • Use of component system to accommodate different physics middleware and custom physics engine: Havok, Bullet and AgeiaPhysX • Simple custom physics system • Sphere to sphere, box to box, box to sphere, etc collisions • 2D Grid partition optimizations • Per cell collision detection • Simple vehicle simulation

  19. Instant Asset Update System for Asset pipeline • Instant refreshing of assets without restarting the engine/game • No intermediate file formats = quick export process • Instant feedback for artists and designers to check for data validity and quality • No overnight build/baking process • Asset sharing between designers, artists or programmers within the network • Built in support for art outsourcing • Easy DVD/Blu Ray burns for archiving and build delivery

  20. Mission of Kalloc Studios • Create a truly next gen multi-platform game engine that maximizes cutting edge hardware such as multi-core and cell architecture and latest graphics rendering capabilities • Create innovative and quality game titles • Train highly motivated talent to become industry specialists

  21. Questions ?

  22. Thank you!henry@kalloc.comjobs@kalloc.comwww.kallocstudios.com(760) 602-7959

More Related