Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Native Code is Dead AKA Cross Platform Development with Unity 3D

These are the slides from my GDC China 2013 presentation. Which is an updated version of my older cross-platform Unity3D slides.

Related Books

Free with a 30 day trial from Scribd

See all
  • Be the first to comment

  • Be the first to like this

Native Code is Dead AKA Cross Platform Development with Unity 3D

  1. 1. Na#ve  Code  is  Dead   AKA   Cross  Pla2orm  Development  with  Unity3D   Ralph  Barbagallo   Founder,  FLARB  LLC  
  2. 2. 2001  
  3. 3. 2007  
  4. 4. 2008  
  5. 5. The  Pla2orm  Problem  
  6. 6. 20XX…  
  7. 7. Choosing  A  Solu#on   • Most  Pla9orms  With  Least  Code   • Licensing  Model  That  Won’t  Eat  Margins   • Broad  Community  Support  
  8. 8. HTML5   • HTML5  Frameworks   • PhoneGap   • GameSalad   • Game  Closure,  AppMobi,  Ludei   • HTML5  SHll  Sucks   • Horrible  Performance   • Gated  by  mobile  browsers  
  9. 9. Cocos2d   • Cocos2d-­‐X   • Straight  C++  version  of  Cocos2d   • Great  2D  library,  widely  used   • Amazing  updates  and  support   • No  web  support  
  10. 10. Flash  /  Adobe  AIR   •  Flash  isn’t  dead!   •  Use  Flash,  FlashBuilder,  etc.   •  AIR  NaHve  Extensions   •  Flash  game  engines   •  Starling  
  11. 11. Unreal  Developer’s  Kit   •  Don’t  need  a  Mac!   •  Top  of  the  line  renderer   •  25%  of  revenue  to  Epic   •  Weak  pla9orm-­‐specific  support  
  12. 12. Other  Op#ons   • Titanium  Studio   • Corona   • GameMaker   • Stencyl   • Marmalade  
  13. 13. Why  I  Chose  Unity3D:    Tech   • Best  support  for  criHcal  pla9orms   • Mobile  (iOS,  Android,  etc.)   • Web  (NaCL,  Web  Player,  Flash)   • Desktop  (Steam,  Mac  App  Store,   Win8)   • Console  
  14. 14. Tech   • NaHve  Plug-­‐ins   • Can  support  any  pla9orm-­‐specific   funcHonality   • Amazon  App  Store   • Google  Play  Game  Services   • Write  your  own  naHve  plug-­‐in  
  15. 15. Support   • Awesome  forums   • Awesome  feedback  from  support   • Twi]er!  
  16. 16. Asset  Store  
  17. 17. Business  Model   • Flat  fee  per-­‐seat  (‘perpetual’)   • Monthly  SubscripHon   • No  rev-­‐share  
  18. 18. Brick  Buddies  
  19. 19. Camera  Birds  
  20. 20. iOS  to  Android  with  Unity3D  
  21. 21. Plug-­‐ins   • Used  mostly  cross-­‐pla9orm  plug-­‐ins   • Access  pla9orm  specific  features  (IAP,   etc.)  
  22. 22. Pla2orm  Specific  Code   • Only  spent  a  few  days  of  re-­‐factoring   • Swapped  out  iOS  plug-­‐ins  for  Android   • RunHme  pla9orm  checks  and  #IF   compiler  direcHves   • AndroidJavaClass!  
  23. 23. AndroidJavaClass   AndroidJavaObject activity = new AndroidJavaClass("com.unity3d.player.UnityPlayer").GetStatic<Android JavaObject>("currentActivity”)! ! mWindowManager = activity.Call<AndroidJavaObject>("getSystemService","window");! ! mConfig = activity.Call<AndroidJavaObject>("getResources").Call<AndroidJavaObj ect>("getConfiguration");! !
  24. 24. Screen  Sizes   • iOS  has  3  aspect  raHos  to  deal  with   • Made  interface  work  in  “safe  zone”   • For  Android’s  common  16:10  raHo,   scaled  NGUI  interface  to  fit  
  25. 25. Android  Fragmenta#on  
  26. 26. Performance  and  Tes#ng  
  27. 27. Cross  Pla2orm  Export  Tools   • Per-­‐Pla9orm  Asset  Sehngs   • Compression  sehngs   • Filtering   • Cache  Server   • MulH-­‐Pla9orm  Toolkit   • Build-­‐Hme  asset  changes  
  28. 28. In  Summary   • Best  Business  Model   • Widest  Pla9orm  Support   • Best  Community  Support   • Dead  Simple  PorHng  Process  
  29. 29. Thanks!   Email:    ralph@flarb.com     Twi]er:  @flarb     Blog:  www.ralphbarbagallo.com     Site:    www.flarb.com    

×