SlideShare a Scribd company logo
1 of 13
PORTING FROM PC TO XBOX
TECHNICAL CHALLENGES
Nihav Jain
Brian Bennett
Outline
• Audio
• OpenGL to DirectX
• Box2D and TinyXML
• Angry Birds specific
Implementing Audio on XBOX
• Used FMOD on the PC version, really simple and easy-to-use library
• FMOD didn’t port to XBOX so had to switch to XACT
• “Building” the sound bank
• Limited documentation about XACT lead a lot of time being wasted in realizing that the
sound bank had to be pre-built and then used in the project
• Only some particular file formats work with XACT (WMA)
OpenGL to DirectX
• Y – axis is opposite in the two
• Solution -> y = ScreenHeight – y;
• Screen resolution on XBOX was 640x480 as compared to 1920x1080 on PC
• Solution -> ScaleX = TargetScreenWidth / IdleScreenWidth,
ScaleY = TargetScreenHeight / IdleScreenHeight
• The center of rotation for the textures in DirectX was based on the local coordinates of the texture
whereas OpenGL took that in screen space
• The direction of rotation was opposite in OpenGL and DirectX
• Textures were supposed to be square in shape with the image dimensions in powers of 2
Porting Box2D and TinyXML to XBOX
• Box2D had windows.h included in a few files
• Replaced references to windows.h components with their XBOX counterparts
• TinyXML used basic file operations like fopen, fread etc. which are not
allowed on XBOX
• Read XML using XBOX XDK file functions
• Bypassed the file read functions of TinyXML and provided it directly with a character stream
• Mapping the sprites to the actual Box2D physics bodies was difficult
Angry Birds Specific Challenges
• Implementing different bird abilities
• Implementing slingshot
• Different damage states for the birds, blocks and pigs
• Level design, balancing physics parameters
Question?
Nihav Jain
Brian Bennett

More Related Content

Viewers also liked

Order clerk performance appraisal
Order clerk performance appraisalOrder clerk performance appraisal
Order clerk performance appraisal
PenelopeCruz678
 
Pathologist assistant performance appraisal
Pathologist assistant performance appraisalPathologist assistant performance appraisal
Pathologist assistant performance appraisal
PenelopeCruz678
 
Patient services coordinator performance appraisal
Patient services coordinator performance appraisalPatient services coordinator performance appraisal
Patient services coordinator performance appraisal
PenelopeCruz678
 
Passenger assistant performance appraisal
Passenger assistant performance appraisalPassenger assistant performance appraisal
Passenger assistant performance appraisal
PenelopeCruz678
 
Operation clerk performance appraisal
Operation clerk performance appraisalOperation clerk performance appraisal
Operation clerk performance appraisal
PenelopeCruz678
 
Orthodontist assistant performance appraisal
Orthodontist assistant performance appraisalOrthodontist assistant performance appraisal
Orthodontist assistant performance appraisal
PenelopeCruz678
 
Pediatric medical assistant performance appraisal
Pediatric medical assistant performance appraisalPediatric medical assistant performance appraisal
Pediatric medical assistant performance appraisal
PenelopeCruz678
 
Patient service coordinator performance appraisal
Patient service coordinator performance appraisalPatient service coordinator performance appraisal
Patient service coordinator performance appraisal
PenelopeCruz678
 
Order entry clerk performance appraisal
Order entry clerk performance appraisalOrder entry clerk performance appraisal
Order entry clerk performance appraisal
PenelopeCruz678
 

Viewers also liked (17)

Order clerk performance appraisal
Order clerk performance appraisalOrder clerk performance appraisal
Order clerk performance appraisal
 
Pathologist assistant performance appraisal
Pathologist assistant performance appraisalPathologist assistant performance appraisal
Pathologist assistant performance appraisal
 
Cross Platform Game Engine - Project proposal
Cross Platform Game Engine - Project proposalCross Platform Game Engine - Project proposal
Cross Platform Game Engine - Project proposal
 
Patient services coordinator performance appraisal
Patient services coordinator performance appraisalPatient services coordinator performance appraisal
Patient services coordinator performance appraisal
 
Boarding ladder
Boarding ladderBoarding ladder
Boarding ladder
 
Passenger assistant performance appraisal
Passenger assistant performance appraisalPassenger assistant performance appraisal
Passenger assistant performance appraisal
 
Operation clerk performance appraisal
Operation clerk performance appraisalOperation clerk performance appraisal
Operation clerk performance appraisal
 
Orthodontist assistant performance appraisal
Orthodontist assistant performance appraisalOrthodontist assistant performance appraisal
Orthodontist assistant performance appraisal
 
Pediatric medical assistant performance appraisal
Pediatric medical assistant performance appraisalPediatric medical assistant performance appraisal
Pediatric medical assistant performance appraisal
 
Patient service coordinator performance appraisal
Patient service coordinator performance appraisalPatient service coordinator performance appraisal
Patient service coordinator performance appraisal
 
Order entry clerk performance appraisal
Order entry clerk performance appraisalOrder entry clerk performance appraisal
Order entry clerk performance appraisal
 
Julie garwood muzica umbrei
Julie garwood   muzica umbreiJulie garwood   muzica umbrei
Julie garwood muzica umbrei
 
Julie garwood spionii coroanei#3- darul
Julie garwood spionii coroanei#3- darulJulie garwood spionii coroanei#3- darul
Julie garwood spionii coroanei#3- darul
 
Sandra chastain-casatorie-la-comanda
Sandra chastain-casatorie-la-comandaSandra chastain-casatorie-la-comanda
Sandra chastain-casatorie-la-comanda
 
Megan Crewe-mai las-o moale cu fantomele
Megan Crewe-mai las-o moale cu fantomeleMegan Crewe-mai las-o moale cu fantomele
Megan Crewe-mai las-o moale cu fantomele
 
Melissa marr obsesie#2
Melissa marr obsesie#2Melissa marr obsesie#2
Melissa marr obsesie#2
 
Teresa Medeiros-Mireasa si bestia
Teresa Medeiros-Mireasa si bestiaTeresa Medeiros-Mireasa si bestia
Teresa Medeiros-Mireasa si bestia
 

Similar to Porting from PC to XBOX - Technical Challenges

OGDC 2014_Hands on experience with Cocos2dx in cross-platform with Farmery_Mr...
OGDC 2014_Hands on experience with Cocos2dx in cross-platform with Farmery_Mr...OGDC 2014_Hands on experience with Cocos2dx in cross-platform with Farmery_Mr...
OGDC 2014_Hands on experience with Cocos2dx in cross-platform with Farmery_Mr...
ogdc
 
OGDC 2014: Program farmery by cocos2dx
OGDC 2014: Program farmery by cocos2dxOGDC 2014: Program farmery by cocos2dx
OGDC 2014: Program farmery by cocos2dx
GameLandVN
 

Similar to Porting from PC to XBOX - Technical Challenges (20)

XNAPresentation
XNAPresentationXNAPresentation
XNAPresentation
 
Cocos2d game programming 2
Cocos2d game programming 2Cocos2d game programming 2
Cocos2d game programming 2
 
Game development -session on unity 3d
Game development -session on unity 3d Game development -session on unity 3d
Game development -session on unity 3d
 
Cocos2d programming
Cocos2d programmingCocos2d programming
Cocos2d programming
 
Design your 3d game engine
Design your 3d game engineDesign your 3d game engine
Design your 3d game engine
 
Developing Next-Generation Games with Stage3D (Molehill)
Developing Next-Generation Games with Stage3D (Molehill) Developing Next-Generation Games with Stage3D (Molehill)
Developing Next-Generation Games with Stage3D (Molehill)
 
De Re PlayStation Vita
De Re PlayStation VitaDe Re PlayStation Vita
De Re PlayStation Vita
 
UGC In Game : A Brief History and How We Bring It To Mobile | Zhuo Yue
UGC In Game : A Brief History and How We Bring It To Mobile | Zhuo YueUGC In Game : A Brief History and How We Bring It To Mobile | Zhuo Yue
UGC In Game : A Brief History and How We Bring It To Mobile | Zhuo Yue
 
Developing and optimizing a procedural game: The Elder Scrolls Blades- Unite ...
Developing and optimizing a procedural game: The Elder Scrolls Blades- Unite ...Developing and optimizing a procedural game: The Elder Scrolls Blades- Unite ...
Developing and optimizing a procedural game: The Elder Scrolls Blades- Unite ...
 
Abc of DirectX
Abc of DirectXAbc of DirectX
Abc of DirectX
 
Confrontation Pipeline and SCons
Confrontation Pipeline and SConsConfrontation Pipeline and SCons
Confrontation Pipeline and SCons
 
A Scalable Real-Time Many-Shadowed-Light Rendering System
A Scalable Real-Time Many-Shadowed-Light Rendering SystemA Scalable Real-Time Many-Shadowed-Light Rendering System
A Scalable Real-Time Many-Shadowed-Light Rendering System
 
Writing Games in .NET with XNA Game Studio
Writing Games in .NET with XNA Game StudioWriting Games in .NET with XNA Game Studio
Writing Games in .NET with XNA Game Studio
 
Developing native cross platform games on Cocos2dx2
Developing native cross platform games on Cocos2dx2Developing native cross platform games on Cocos2dx2
Developing native cross platform games on Cocos2dx2
 
[CCP Games] Versioning Everything with Perforce
[CCP Games] Versioning Everything with Perforce[CCP Games] Versioning Everything with Perforce
[CCP Games] Versioning Everything with Perforce
 
CS 354 GPU Architecture
CS 354 GPU ArchitectureCS 354 GPU Architecture
CS 354 GPU Architecture
 
OGDC 2014_Hands on experience with Cocos2dx in cross-platform with Farmery_Mr...
OGDC 2014_Hands on experience with Cocos2dx in cross-platform with Farmery_Mr...OGDC 2014_Hands on experience with Cocos2dx in cross-platform with Farmery_Mr...
OGDC 2014_Hands on experience with Cocos2dx in cross-platform with Farmery_Mr...
 
OGDC 2014: Program farmery by cocos2dx
OGDC 2014: Program farmery by cocos2dxOGDC 2014: Program farmery by cocos2dx
OGDC 2014: Program farmery by cocos2dx
 
Masked Occlusion Culling
Masked Occlusion CullingMasked Occlusion Culling
Masked Occlusion Culling
 
The next generation of GPU APIs for Game Engines
The next generation of GPU APIs for Game EnginesThe next generation of GPU APIs for Game Engines
The next generation of GPU APIs for Game Engines
 

Recently uploaded

The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
heathfieldcps1
 

Recently uploaded (20)

FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024
 
How to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptxHow to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptx
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.
 
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
 
Simple, Complex, and Compound Sentences Exercises.pdf
Simple, Complex, and Compound Sentences Exercises.pdfSimple, Complex, and Compound Sentences Exercises.pdf
Simple, Complex, and Compound Sentences Exercises.pdf
 
21st_Century_Skills_Framework_Final_Presentation_2.pptx
21st_Century_Skills_Framework_Final_Presentation_2.pptx21st_Century_Skills_Framework_Final_Presentation_2.pptx
21st_Century_Skills_Framework_Final_Presentation_2.pptx
 
NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...
NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...
NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...
 
How to Manage Call for Tendor in Odoo 17
How to Manage Call for Tendor in Odoo 17How to Manage Call for Tendor in Odoo 17
How to Manage Call for Tendor in Odoo 17
 
COMMUNICATING NEGATIVE NEWS - APPROACHES .pptx
COMMUNICATING NEGATIVE NEWS - APPROACHES .pptxCOMMUNICATING NEGATIVE NEWS - APPROACHES .pptx
COMMUNICATING NEGATIVE NEWS - APPROACHES .pptx
 
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdf
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdfUnit 3 Emotional Intelligence and Spiritual Intelligence.pdf
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdf
 
Graduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - EnglishGraduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - English
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan Fellows
 
How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POS
 
Towards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxTowards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptx
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
 
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
 
Exploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptx
Exploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptxExploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptx
Exploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptx
 
On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptx
On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptxOn_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptx
On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptx
 
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
 

Porting from PC to XBOX - Technical Challenges

  • 1. PORTING FROM PC TO XBOX TECHNICAL CHALLENGES Nihav Jain Brian Bennett
  • 2. Outline • Audio • OpenGL to DirectX • Box2D and TinyXML • Angry Birds specific
  • 3. Implementing Audio on XBOX • Used FMOD on the PC version, really simple and easy-to-use library • FMOD didn’t port to XBOX so had to switch to XACT • “Building” the sound bank • Limited documentation about XACT lead a lot of time being wasted in realizing that the sound bank had to be pre-built and then used in the project • Only some particular file formats work with XACT (WMA)
  • 4. OpenGL to DirectX • Y – axis is opposite in the two • Solution -> y = ScreenHeight – y; • Screen resolution on XBOX was 640x480 as compared to 1920x1080 on PC • Solution -> ScaleX = TargetScreenWidth / IdleScreenWidth, ScaleY = TargetScreenHeight / IdleScreenHeight • The center of rotation for the textures in DirectX was based on the local coordinates of the texture whereas OpenGL took that in screen space • The direction of rotation was opposite in OpenGL and DirectX • Textures were supposed to be square in shape with the image dimensions in powers of 2
  • 5. Porting Box2D and TinyXML to XBOX • Box2D had windows.h included in a few files • Replaced references to windows.h components with their XBOX counterparts • TinyXML used basic file operations like fopen, fread etc. which are not allowed on XBOX • Read XML using XBOX XDK file functions • Bypassed the file read functions of TinyXML and provided it directly with a character stream • Mapping the sprites to the actual Box2D physics bodies was difficult
  • 6. Angry Birds Specific Challenges • Implementing different bird abilities • Implementing slingshot • Different damage states for the birds, blocks and pigs • Level design, balancing physics parameters
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.