Who am I Nguyen Huu Phuoc, Team Leader at  Gameloft HAN studio Love to exchange knowledge and passion.  Had several semi...
Agenda Gameloft Introduction Gameloft’s approach to Multi-Platform  development Tips, tricks and examples Questions an...
Gameloft: Leading developer and publisher                Founded in 1999,    to develop from mobiles & smart phones      t...
Gameloft: Leading developer and publisher  Presence in over 80 countriesAgreements with over 200 carriers  ~400,000 games ...
Gameloft: Leading developer and publisherProduction studios in 12 countries      5125 talented people
Gameloft Vietnam is The BIGGEST Gameloft Studio                   Worldwide     The BIGGEST 1700 talented staffWorldwide  ...
Gameloft keeps on growing fast in VietnamSAI 1                 SAI 2               DAD                  HANe-Town 2 Buildi...
Gameloft HAN Studio Asphalt 6 Kingdom and Lords Fantasy Town Dungeon Hunter 3 Amazing Spiderman
Multi-platform toGameloft’s approachdevelopment
Our games are running on iOS Android PS3 Windows Phone 7 bada WebOS Java embed ….
Our games are running on iOS Android PS3 Windows Phone 7 bada WebOS Java embed…
How could we accomplished that?
How could we accomplished that?Different codebases for each platform?
Different codebases for each platform?Yes.
Different codebases for each platform?Yes. And No 
Windows Game                Platform                                  PlatformPlatform-         API                     Pl...
Windows GameBuilt with C++, contains almost everything:                  UI Design                 Game-Logic             ...
Windows GameAndroid Game                           iOS Game             Platform                         Platform         ...
Windows Game Android Game                                  iOS Game                  Platform                             ...
Windows GameAndroid Game                                  iOS Game                 Platform                               ...
Windows Game                Platform                                  PlatformPlatform-         API                     Pl...
Advantages of Porting Big common code base: less bugs,  less maintainance effort, less human  resource Only the things t...
How?We built: Our own 3D engines and libraries  (Networking, Sound, UI, Debugger…)  which already support multi-platform...
Tips and tricks Try to build your game without a real device  first Graphics: Use OpenGL ES 2.0 Don’t hard-code. Do thi...
Examples –Defines/Configuration    #ifdef OS_ANDROID       #define KEYCODE_BACK (4)       #define KEYCODE_UP (19)       #d...
Examples – simple macro  #define PLATFORM_WIN32 1  #define PLATFORM_ANDROID 2  #define CONFIG_PLATFORM PLATFORM_WIN32  #if...
Examples – Abstract Libraryclass TouchScreenBase { ... }class TouchScreenMobile : public TouchScreenBase{ ... }class Touch...
Examples – Abstract Library (2)class   TouchScreenBase { ... }class   TouchScreenMobile : public TouchScreenBase{ ...   }c...
Multi-platform supportplan ahead, not fix later
Questions and AnswersThanks for your attention! Contact me:phuoc.nguyenhuu2@gameloft.com
2012, the awakening of the Vietnamese Game Development - Presentation multi platform development- Mr. Nguyen Huu Phuoc. Ga...
2012, the awakening of the Vietnamese Game Development - Presentation multi platform development- Mr. Nguyen Huu Phuoc. Ga...
Upcoming SlideShare
Loading in …5
×

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

2,743 views

Published on

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.

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
2,743
On SlideShare
0
From Embeds
0
Number of Embeds
525
Actions
Shares
0
Downloads
26
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • Development from mobiles & smart phones… Gameloft supports over 1200 handsets
  • hard-code? getDataFolder()explicitly? global char c; -> c = -1 on Windows but 255 on GCC. cast from char* to int* -> crash on Android.Standardize the data to suit the target platforms. VD: Ảnh nén PVRTC (trên iPhone và 1 số máy Android) thì phải vuông, ảnh phải là POT, ảnh nén ETC thì phải chia hết cho 4….KeyCode
  • http://developer.sonymobile.com/wp/2011/02/13/xperia-play-game-keys/
  • 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

    ×