cross platform application development using game technology
DESCRIPTION
Using game technology to develop cross platform applications. From a local cocoaheads chapter in Johannesburg South Africa.TRANSCRIPT
Game technology as a cross platform Game technology as a cross platform application development alternativeapplication development alternative
Part One – Application developmentPart One – Application development- Cross platform application overview- Cross platform application overview- Tool chain overview - Tool chain overview - “Corporate” game design- “Corporate” game design- Application development case study- Application development case study
Part Two – The side of gamesPart Two – The side of games- Building games for multiple platforms- Building games for multiple platforms- Rapid development tools case study- Rapid development tools case study
Part One – Application developmentPart One – Application development- Cross platform application overview- Cross platform application overview- Tool chain overview - Tool chain overview - “Corporate” game design- “Corporate” game design- Application development case study- Application development case study
Part Two – The side of gamesPart Two – The side of games- Building games for multiple platforms- Building games for multiple platforms- Rapid development tools case study- Rapid development tools case study
• Being able to outbid the competitionBeing able to outbid the competition• Offering more than one platformOffering more than one platform• Having the skill to make either orHaving the skill to make either or• Wider range of clientsWider range of clients• Not restricted to one platform or Not restricted to one platform or
crowdcrowd• Not stuck requiring a unique skill setNot stuck requiring a unique skill set• More than one revenue optionMore than one revenue option
• Being able to outbid the competitionBeing able to outbid the competition• Offering more than one platformOffering more than one platform• Having the skill to make either orHaving the skill to make either or• Wider range of clientsWider range of clients• Not restricted to one platform or Not restricted to one platform or
crowdcrowd• Not stuck requiring a unique skill setNot stuck requiring a unique skill set• More than one revenue optionMore than one revenue option
• 4 Offered platforms, Win/Mac/iPhone/iPad4 Offered platforms, Win/Mac/iPhone/iPad• Strong user base, (Including Torque2D for Strong user base, (Including Torque2D for
PC)PC)• Quick development turnaroundQuick development turnaround• Easy to use, easy to rapidly prototype Easy to use, easy to rapidly prototype
games/apps.games/apps.• iPlatform feature integration and native iPlatform feature integration and native
codecode• Once off many app license, Indie availableOnce off many app license, Indie available
• 4 Offered platforms, Win/Mac/iPhone/iPad4 Offered platforms, Win/Mac/iPhone/iPad• Strong user base, (Including Torque2D for Strong user base, (Including Torque2D for
PC)PC)• Quick development turnaroundQuick development turnaround• Easy to use, easy to rapidly prototype Easy to use, easy to rapidly prototype
games/apps.games/apps.• iPlatform feature integration and native iPlatform feature integration and native
codecode• Once off many app license, Indie availableOnce off many app license, Indie available
• Games come automatically.Games come automatically.• Support from community and Support from community and
developersdevelopers• Lots of already implemented featuresLots of already implemented features• Lots of open source mentalityLots of open source mentality• Free and commercial alternativesFree and commercial alternatives• Wide range of varying degrees of Wide range of varying degrees of
featuresfeatures
• Games come automatically.Games come automatically.• Support from community and Support from community and
developersdevelopers• Lots of already implemented featuresLots of already implemented features• Lots of open source mentalityLots of open source mentality• Free and commercial alternativesFree and commercial alternatives• Wide range of varying degrees of Wide range of varying degrees of
featuresfeatures
• C++ and Objective C programming C++ and Objective C programming experience might be necessaryexperience might be necessary
• Alien tech could take too long to learn Alien tech could take too long to learn for you application requirementsfor you application requirements
• Set list of platforms exclude other Set list of platforms exclude other platforms inherently, monolithic code platforms inherently, monolithic code makes it much harder to port to new makes it much harder to port to new platforms quicklyplatforms quickly
• C++ and Objective C programming C++ and Objective C programming experience might be necessaryexperience might be necessary
• Alien tech could take too long to learn Alien tech could take too long to learn for you application requirementsfor you application requirements
• Set list of platforms exclude other Set list of platforms exclude other platforms inherently, monolithic code platforms inherently, monolithic code makes it much harder to port to new makes it much harder to port to new platforms quicklyplatforms quickly
• Target market, platform, audience, etcTarget market, platform, audience, etc
• End users, usabilityEnd users, usability
• Platform requirements (choosing something Platform requirements (choosing something unavailable on a multitude of platforms)unavailable on a multitude of platforms)
• Development team skillsDevelopment team skills
• Alternative software options (always an option Alternative software options (always an option if skills are there)if skills are there)
• Timelines, the usual.Timelines, the usual.
• Interesting yet ridiculous features ( shaders, Interesting yet ridiculous features ( shaders, physics ).physics ).
• Target market, platform, audience, etcTarget market, platform, audience, etc
• End users, usabilityEnd users, usability
• Platform requirements (choosing something Platform requirements (choosing something unavailable on a multitude of platforms)unavailable on a multitude of platforms)
• Development team skillsDevelopment team skills
• Alternative software options (always an option Alternative software options (always an option if skills are there)if skills are there)
• Timelines, the usual.Timelines, the usual.
• Interesting yet ridiculous features ( shaders, Interesting yet ridiculous features ( shaders, physics ).physics ).
• Built using the “Nightmares of executive Built using the “Nightmares of executive application decisions” guide book.application decisions” guide book.
• "just like <successful product>", "just like <successful product>",
• "we could make millions""we could make millions"
• MUST run on every device conceivableMUST run on every device conceivable
• Target EVERY possible target market, all Target EVERY possible target market, all agesages
• Built using the “Nightmares of executive Built using the “Nightmares of executive application decisions” guide book.application decisions” guide book.
• "just like <successful product>", "just like <successful product>",
• "we could make millions""we could make millions"
• MUST run on every device conceivableMUST run on every device conceivable
• Target EVERY possible target market, all Target EVERY possible target market, all agesages
• Its SUPER usefulIts SUPER useful
• SUPER EFFECTIVESUPER EFFECTIVE
• Its fake.Its fake.
• Its just like <insert similar>, but for Its just like <insert similar>, but for businessbusiness
• Its scalable, multiple platforms etc.Its scalable, multiple platforms etc.
• Its SUPER usefulIts SUPER useful
• SUPER EFFECTIVESUPER EFFECTIVE
• Its fake.Its fake.
• Its just like <insert similar>, but for Its just like <insert similar>, but for businessbusiness
• Its scalable, multiple platforms etc.Its scalable, multiple platforms etc.
• Designing cross platform from the startDesigning cross platform from the start• Try and stay true to the native usersTry and stay true to the native users• Treat all platforms equallyTreat all platforms equally• Users expect the same application (difficult at Users expect the same application (difficult at
times because of the above).times because of the above).• Build all interfaces at the same time if you canBuild all interfaces at the same time if you can
• Designing cross platform from the startDesigning cross platform from the start• Try and stay true to the native usersTry and stay true to the native users• Treat all platforms equallyTreat all platforms equally• Users expect the same application (difficult at Users expect the same application (difficult at
times because of the above).times because of the above).• Build all interfaces at the same time if you canBuild all interfaces at the same time if you can
• Asynchronous updating of the backend. (TCPObject or Asynchronous updating of the backend. (TCPObject or HTTPObject or similar)HTTPObject or similar)
• Keep the UI responsive. No cluttered or continous Keep the UI responsive. No cluttered or continous "loading" (animated sprite)"loading" (animated sprite)
• Cache as much as possible , reduce load times Cache as much as possible , reduce load times (iPhoneSaveStringToDevice, FileObject)(iPhoneSaveStringToDevice, FileObject)
• Location Bound (Geo location is a trend) Location Bound (Geo location is a trend) (iPhoneLocation - $iPhoneLocationLocation)(iPhoneLocation - $iPhoneLocationLocation)
• Easy to use, Fast, Snappy UI Easy to use, Fast, Snappy UI
• Asynchronous updating of the backend. (TCPObject or Asynchronous updating of the backend. (TCPObject or HTTPObject or similar)HTTPObject or similar)
• Keep the UI responsive. No cluttered or continous Keep the UI responsive. No cluttered or continous "loading" (animated sprite)"loading" (animated sprite)
• Cache as much as possible , reduce load times Cache as much as possible , reduce load times (iPhoneSaveStringToDevice, FileObject)(iPhoneSaveStringToDevice, FileObject)
• Location Bound (Geo location is a trend) Location Bound (Geo location is a trend) (iPhoneLocation - $iPhoneLocationLocation)(iPhoneLocation - $iPhoneLocationLocation)
• Easy to use, Fast, Snappy UI Easy to use, Fast, Snappy UI
• Torque2D for iPhone case exampleTorque2D for iPhone case example• Behaviors allow drag and drop game playBehaviors allow drag and drop game play• Device specific optimizations for mobileDevice specific optimizations for mobile• Level and asset management taken care ofLevel and asset management taken care of• Non-developer friendly toolsNon-developer friendly tools• Scriptable without source/IDE access / Scriptable without source/IDE access /
rebuilding etcrebuilding etc
• Torque2D for iPhone case exampleTorque2D for iPhone case example• Behaviors allow drag and drop game playBehaviors allow drag and drop game play• Device specific optimizations for mobileDevice specific optimizations for mobile• Level and asset management taken care ofLevel and asset management taken care of• Non-developer friendly toolsNon-developer friendly tools• Scriptable without source/IDE access / Scriptable without source/IDE access /
rebuilding etcrebuilding etc