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.

2012, the awakening of the Vietnamese Game Development - Presentation multi platform development- Mr. Nguyen Huu Phuoc. Gameloft

VTC Online associates with Vietnam International Game Developers Association (Vietnam IGDA) to hold the seminar named “2012 – 2012, the Awakening of the Vietnamese Game Development”. This seminar of Game Development will be firstly held in the North with international and domestic specialists’ attendance.

  • Login to see the comments

  • Be the first to like this

2012, the awakening of the Vietnamese Game Development - Presentation multi platform development- Mr. Nguyen Huu Phuoc. Gameloft

  1. 1. Who am I Nguyen Huu Phuoc, Team Leader at Gameloft HAN studio Love to exchange knowledge and passion. Had several seminars and trainings in Hanoi-Aptech, GameLoft, Universities.
  2. 2. Agenda Gameloft Introduction Gameloft’s approach to Multi-Platform development Tips, tricks and examples Questions and Answers
  3. 3. Gameloft: Leading developer and publisher Founded in 1999, to develop from mobiles & smart phones to cross-platform digital distribution Iphone, Ipod, Android Ipad Mobile Console
  4. 4. Gameloft: Leading developer and publisher Presence in over 80 countriesAgreements with over 200 carriers ~400,000 games sold per day
  5. 5. Gameloft: Leading developer and publisherProduction studios in 12 countries 5125 talented people
  6. 6. Gameloft Vietnam is The BIGGEST Gameloft Studio Worldwide The BIGGEST 1700 talented staffWorldwide More than Gameloft Studio More than 1000 talented staff
  7. 7. Gameloft keeps on growing fast in VietnamSAI 1 SAI 2 DAD HANe-Town 2 Building - 18A Cong Hoa, Tan 74 Bach Dang, Hai 3rd&4th floor –7Fl., 364 Cong Binh Dist., HCMC Chau Dist., Danang Lilama 10Hoa, Tan Binh Since Aug-2008 City Le Van Luong, HanoiDist., HCMC Since Mar-2010 Since June-2011
  8. 8. Gameloft HAN Studio Asphalt 6 Kingdom and Lords Fantasy Town Dungeon Hunter 3 Amazing Spiderman
  9. 9. Multi-platform toGameloft’s approachdevelopment
  10. 10. Our games are running on iOS Android PS3 Windows Phone 7 bada WebOS Java embed ….
  11. 11. Our games are running on iOS Android PS3 Windows Phone 7 bada WebOS Java embed…
  12. 12. How could we accomplished that?
  13. 13. How could we accomplished that?Different codebases for each platform?
  14. 14. Different codebases for each platform?Yes.
  15. 15. Different codebases for each platform?Yes. And No 
  16. 16. Windows Game Platform PlatformPlatform- API Platform- API specific Wrapper specific WrapperFeatures Features Platform- Platform- specific specific UI UI Android Game iOS Game
  17. 17. Windows GameBuilt with C++, contains almost everything: UI Design Game-Logic Game Rendering Sound Multiplayer …
  18. 18. Windows GameAndroid Game iOS Game Platform Platform API API Wrapper Wrapper•Android NDK •C++ auto-compat•Java wrapper: Activity, •UIWindow, UIViewController,View, Intent, Receiver UIView, UIApplicationDelegat e
  19. 19. Windows Game Android Game iOS Game Platform Platform Platform- API Platform- API specific Wrapper specific Wrapper Features Features•Advertising •iAd•In-App Billing •In-App Purchase•Beam •Music Player
  20. 20. Windows GameAndroid Game iOS Game Platform Platform Platform- API Platform- API specific Wrapper specific Wrapper Features Features Platform- Platform- specific specific UI UI •Push Notification toggle •iOS is normally the role- •Kindle Fire Volume model •Color Correction
  21. 21. Windows Game Platform PlatformPlatform- API Platform- API specific Wrapper specific WrapperFeatures Features Platform- Platform- specific specific UI UI Android Game iOS Game
  22. 22. Advantages of Porting Big common code base: less bugs, less maintainance effort, less human resource Only the things that really platform- specific are needed to be separated
  23. 23. How?We built: Our own 3D engines and libraries (Networking, Sound, UI, Debugger…) which already support multi-platform Online System to centralize the services: User profiles, Billing, Data downloading, Multi player…. Core Packages for general features in each platform
  24. 24. Tips and tricks Try to build your game without a real device first Graphics: Use OpenGL ES 2.0 Don’t hard-code. Do things explicitly. Have separated Configuration files. Prepare your data wisely Preprocessing is not only for C++ Keep an abstract macros/classes/library of code that using platform-specific API or behave differently on each platform
  25. 25. Examples –Defines/Configuration #ifdef OS_ANDROID #define KEYCODE_BACK (4) #define KEYCODE_UP (19) #define KEYCODE_DOWN (20) #define KEYCODE_LEFT (21) #define KEYCODE_RIGHT (22) #elif defined(WIN32) #define KEYCODE_BACK (27) #define KEYCODE_UP (38) #define KEYCODE_DOWN (40) #define KEYCODE_LEFT (37) #define KEYCODE_RIGHT (39) #endif
  26. 26. Examples – simple macro #define PLATFORM_WIN32 1 #define PLATFORM_ANDROID 2 #define CONFIG_PLATFORM PLATFORM_WIN32 #if CONFIG_PLATFORM==PLATFORM_ANDROID #include <android/log.h> #define Log(...) __android_log_print(ANDROID_LOG_INFO, “GLGame",__VA_ARGS__) #elif CONFIG_PLATFORM==PLATFORM_WIN32 #define Log(...) printf(__VA_ARGS__);printf("n") #else #define Log(...) #endif
  27. 27. Examples – Abstract Libraryclass TouchScreenBase { ... }class TouchScreenMobile : public TouchScreenBase{ ... }class TouchScreenWin32 : public TouchScreenBase{ ... }#ifdef OS_ANDROID typedef TouchScreen TouchScreenMobile#elif defined(WIN32) typedef TouchScreen TouchScreenWin32#endif//Usage: Just use TouchScreen Class
  28. 28. Examples – Abstract Library (2)class TouchScreenBase { ... }class TouchScreenMobile : public TouchScreenBase{ ... }class TouchScreenWin32 : public TouchScreenBase{ ... }//Usage: Cast to TouchScreenBase Class#ifdef OS_ANDROID TouchScreenBase* TS = new TouchScreenMobile()#elif defined(WIN32) TouchScreenBase* TS = new TouchScreenWin32()#endif
  29. 29. Multi-platform supportplan ahead, not fix later
  30. 30. Questions and AnswersThanks for your attention! Contact me:phuoc.nguyenhuu2@gameloft.com

×