Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

Like this presentation? Why not share!

Cross platform application development using game technology



Using game technology to develop cross platform applications. From a local cocoaheads chapter in Johannesburg South Africa.

Using game technology to develop cross platform applications. From a local cocoaheads chapter in Johannesburg South Africa.



Total Views
Views on SlideShare
Embed Views



2 Embeds 17

http://blog.centrc.net 15
http://web.archive.org 2



Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment
  • http://cocoaheads.org/ is a local group meeting and more info can be found one their home page. This talk is from a chapter in Johannesburg, South Africa.
  • These are the ideas behind cross platform development for applications, I do not claim to have invented anything by stating the obvious.
  • ALL from personal experience with the development toolset, All opinions regarding Torque2D are my own and do not reflect the opinions of TorquePowered/InstantAction or my employers. More information about Torque2D can be found at http://www.torquepowered.com
  • Good things that come from game development tools in an application context. The concept here is simple, there are options of all types and flavours, some needing to be mixed together.
  • Downsides in using game technology for cross platform applications can include the above.
  • “ Corporate” game design – Using game technology for corporate or general application development.
  • These things affect all projects, game or application. Again, stating the obvious. Important things that influence your decision if choosing a cross platform technology to employ in developing a client application – Don’t choose something that requires extensive maintenance or setting up on the client machines. Even large and chunky dependencies might be disallowed on a corporate network or environment. Find these things out way in advance before spending time on something you need to rework late into the project.
  • Co Chaser is a mockup application that I developed for the purposes of this discussion only. The intention behind the application itself was to see how much of the application could be implemented with prior knowledge of the toolchain. In total, I limited my development time to 20 minutes maximum. All screenshots visible in this document were fully functional – the remaining features required included communication with the server, testing, and persistence to the device/platform. The demonstration was that I could make a prototype, a functional demonstrable prototype to sell to a company. To show to prospective clients, or to test the viability via user reaction and intake in the company I intended to deploy the application. At that point, a windows/mac/iPhone client was available to deploy for testing amongst peers and colleagues. A note – I made the mock-ups myself. Any representation of an actual application was coincidence, and unintentional.
  • This is MY overview of the tool itself.
  • Obviously the above mentioned stuff is not always possible. Usage example here was Opera, Firefox, Chrome. Users expect the exact same application on all platforms. When you move from OSX to Windows you don’t have a different application to learn – everything is as similar as possible in all regards. This should affect the design challenges you employ when making a cross platform application. (Again, not inventing common sense here). Secondly, If a user is used to pinching to zoom, try not to implement some sort of mechanic that is alien to the user on that platform. If a user expects a list to scroll, do it the same way as the native platform if possible.
  • The iPhone version of the application.
  • The resulting windows/mac application. The primary target was iPhone in this example, but this incomplete (read : missing a lot of buttons and things) screenshot is definitely not something a user would not know how to use off the bat. On Mac, the toolbar buttons housing the application view contain all the major functions while the menus have minimal but useful options. Similar options apply to the windows design, a side panel (like explorer side pane) was intended to represent common tasks in the application.
  • Just an overview of what changed between the two. Not much, just scaling the text entry and the bottom bars horizontally.
  • Features that I had set out to use to complete the application goals. These should be mapped ahead of time to minimize time spent implementing base technologies and focus on product usability and implementation.
  • <Video demonstration is currently not available, I am working on getting the video from the meet up  )
  • Now we move onto working in game development tools (The same tool) to rapidly prototype games and ideas. Note : This was to just give insight to application developers of the options available from the technology they might employ to make applications.
  • A simple stealth game was demonstrated, showing the above features in action. For more information on this specific project and the “depth” of the example shown (with regards to game play and the simplicity behind implementing it) please see the following link : http://blog.owned.co.za/?p=246 Also note that ctrlr is an ongoing project and is still in slow development due to work and life (see http://blog.centrc.net for updates)
  • http://blog.centrc.net will have more information and posts regarding this game, and the video portion of this presentation.

Cross platform application development using game technology Cross platform application development using game technology Presentation Transcript

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