Your SlideShare is downloading. ×
Native Code is Dead AKA Cross Platform Development with Unity3D
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Native Code is Dead AKA Cross Platform Development with Unity3D

1,368
views

Published on

To survive in today's ultra fast paced game development ecosystem, you can no longer develop native code stuck to one platform. This presentation walks through all of the major cross-platform …

To survive in today's ultra fast paced game development ecosystem, you can no longer develop native code stuck to one platform. This presentation walks through all of the major cross-platform development tools and explains why I chose Unity3D and how I used it to build games on multiple platforms simultaneously.

This is the GDC Taipei Summit version of my GDC China talk. Pretty much the same.


0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,368
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
16
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
  • Who in this room is writing native code? You are all doomed.
  • JUST NOW on Android – over 6 months later.
  • Writing directly for Stage3D (even if a 2D game) may have the best performance. Others have had success with Starling.CrossBridge C++ to Flash.
  • Transcript

    • 1. Native Code is Dead AKA Cross Platform Development with Unity3D Ralph Barbagallo Founder, FLARB LLC
    • 2. 2001
    • 3. 2007
    • 4. 2008
    • 5. The Platform Problem
    • 6. 20XX…
    • 7. Choosing A Solution • Most Platforms With Least Code • Licensing Model That Won’t Eat Margins • Broad Community Support
    • 8. HTML5 • HTML5 Frameworks • PhoneGap • GameSalad • Game Closure, AppMobi, Ludei • HTML5 Still Sucks • Horrible Performance • Gated by mobile browsers
    • 9. Cocos2d • Cocos2d-X • Straight C++ version of Cocos2d • Great 2D library, widely used • Amazing updates and support • No web support
    • 10. Flash / Adobe AIR • • • • Flash isn’t dead! Use Flash, FlashBuilder, etc. AIR Native Extensions Flash game engines • Starling • Stage3D
    • 11. Unreal Developer’s Kit • • • • Don’t need a Mac! Top of the line renderer 25% of revenue to Epic Weak platform-specific support
    • 12. Other Options • Titanium Studio • Corona • GameMaker • Stencyl • Marmalade
    • 13. Why I Chose Unity3D: Tech • Best support for critical platforms • Mobile (iOS, Android, etc.) • Web (NaCL, Web Player, Flash) • Desktop (Steam, Mac App Store, Win8) • Console
    • 14. Tech • Native Plug-ins • Can support any platform-specific functionality • Amazon App Store • Google Play Game Services • Write your own native plug-in
    • 15. Support • Awesome forums • Awesome feedback from support • Twitter!
    • 16. Asset Store
    • 17. Business Model • Flat fee per-seat (‘perpetual’) • Monthly Subscription • No rev-share
    • 18. Brick Buddies
    • 19. Camera Birds
    • 20. iOS to Android with Unity3D
    • 21. Plug-ins • Used mostly cross-platform plug-ins • Access platform specific features (IAP, etc.)
    • 22. Platform Specific Code • Only spent a few days of re-factoring • Swapped out iOS plug-ins for Android • Runtime platform checks and #IF compiler directives • AndroidJavaClass!
    • 23. AndroidJavaClass AndroidJavaObject activity = new AndroidJavaClass("com.unity3d.player.UnityPlayer").GetStatic<AndroidJavaObject>("current Activity”) mWindowManager = activity.Call<AndroidJavaObject>("getSystemService","window"); mConfig = activity.Call<AndroidJavaObject>("getResources").Call<AndroidJavaObject>("getConfiguratio n");
    • 24. Screen Sizes • iOS has 3 aspect ratios to deal with • Made interface work in “safe zone” • For Android’s common 16:10 ratio, scaled NGUI interface to fit
    • 25. Android Fragmentation
    • 26. Performance and Testing
    • 27. Cross Platform Export Tools • Per-Platform Asset Settings • Compression settings • Filtering • Cache Server • Multi-Platform Toolkit • Build-time asset changes
    • 28. In Summary • Best Business Model • Widest Platform Support • Best Community Support • Dead Simple Porting Process
    • 29. Thanks! Email: ralph@flarb.com Twitter: @flarb Blog: www.ralphbarbagallo.com Site: www.flarb.com WeChat: ralphbarbagallo