ngGoBuilder and collaborative development between San Francisco and Tokyo

24,546 views

Published on

Published in: Technology, Design
0 Comments
7 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
24,546
On SlideShare
0
From Embeds
0
Number of Embeds
21,340
Actions
Shares
0
Downloads
0
Comments
0
Likes
7
Embeds 0
No embeds

No notes for slide

ngGoBuilder and collaborative development between San Francisco and Tokyo

  1. 1. ngGoBuilderand collaborative developmentbetween San Francisco and Tokyo @noto Tokiharu Noto CTO Office, DeNA Co., Ltd. 1 / 32
  2. 2. +ngCorengGoBuilderand collaborative developmentbetween San Francisco and Tokyo @noto Tokiharu Noto CTO Office, DeNA Co., Ltd. 2 / 32
  3. 3. ngCore Game JavaScript Game Game JavaObjective-C C, C++ ngCore iOS Android 3 / 32
  4. 4. ngCore Runtime for iOS JavaScript Engine UIWebView stringByEvaluatingJavaScriptFromString() Runtime LogicPhysics (Box2D)Storage (sqlite3) Audio Device Library Graphics (OpenGLES) Network UI (UIKit) JavaScriptCore iOS (in UIWebView) 4 / 32
  5. 5. ngCore Runtime for Android JavaScript Engine (V8 Engine) v8::Function::Call() Native-side Java-side Runtime Logic Runtime LogicPhysics (Box2D)Storage (sqlite3) AudioNetwork (libcurl) Graphics Device (OpenGLES) UI (android.widget) Library Android APP-FW (Java) Android 5 / 32
  6. 6. Performance: iPhone 4fps 60 Objective-C ngCore 50 JavaScript + Canvas 40 30 20 参考: JavaScript + CSS 10 1 10 100 200 300 400 500 Tankの数 6 / 32
  7. 7. powered by ngCore ◎ 忍者ロワイヤル ◎ アクアコレク ション ◎ 牧場ホッコリー ナ 7 / 32
  8. 8. Get ngCore! http://developer.mobage.com/ 8 / 32
  9. 9. ngGo 1.x• JavaScript Game Libraries for ngCore• high level library – ngCore provides only low level API• 1.0 Released last summer• Some classes are imported from DnLib – JP 1st party also started using ngGo 1.x• available on developer.mobage.com• document: リソースセンター > エンサイクロペディア 9 / 32
  10. 10. ngGo 1.x featuresScrollingLayers• manage multiplex scrolling layers 10 / 32
  11. 11. ngGo 1.x featuresParticleEmitter• Read files from ParticleDesigner• show Particle Animations 11 / 32
  12. 12. ngGo 1.x featuresDebugMenu• display buttons to debug• runtime configuration change• run unit tests• show each scene directly• system monitar (memory leak, fps) 12 / 32
  13. 13. ngGo 1.x features• ScreenManager – provide abstract screen, independent of physical screen size.• GLUI package *** – UI components implemented by GL2 • GL2: OpenGL 2D API provided by ngCore – faster than UI modules provided by ngCore – easy to replace ngCore UI modules – eazy to mix GL2 and GLUI 13 / 32
  14. 14. ngGo 1.x awesome libraries for ngCore game developers! 14 / 32
  15. 15. ngBuilder 1.x• Tools for ngCore game developer• Easy to launch games on iOS simulator and Android devices• JavaScript debugger on Android device• Android Profiler (CPU, memory)• log display *** – adb logcat, local development server, etc• Parameter, Asset Management *** – using ngGo library• Implemented in Objective-C 15 / 32
  16. 16. ngBuilder 1.x 16 / 32
  17. 17. Shift in Focus is needed• “delightful” game making experience• using/setting up ngCore is hard• focus on all game makers, not just game engineers 17 / 32
  18. 18. Senior engineer is a hubin game dev team planner graphic animator designer senior engineer level engineer designer 18 / 32
  19. 19. ngGo+ngBuilder should bea hub in game dev team planner graphic animator designer ngGo ngBuilder level engineer designer 19 / 32
  20. 20. ngGoBuilder!• Game Engine – library and tools are not separable – data driven (separation of logic and data) – abstracts the details common game-related tasks – game makers can focus on the details that make their games unique – ngCore has abstracted the platform side – but we have not addressed the rest of that statement 20 / 32
  21. 21. How can we be better?• Focus on 2D games• Full end to end solution – Game creation, publishing, updating – online module update• integrating ngServer – No other game engine for mobile has a full server infrastructure solution!• Platform independent – QtScript (JavaScript) – Mac + Windows• Completely improved UI 21 / 32
  22. 22. ngBuilder 2.0-previewDemo & features• ngCore 1.6 is included• no configuration required to run HelloWorld sample• iOS debugger (w/iOS Simulator)• Android debugger (w/device) ***• Android profiler ***• JSEditor – CodeEditor – JSLint – UnitTestRunner w/Jasmine• Try Samples 22 / 32
  23. 23. ngGoBuilder roadmap• 1.x – 1.3 will be released in March – maintenance and 1st party urgent requests only• 2.0-preview – will be released next week? – We need your feedback! (2 weeks after release) 23 / 32
  24. 24. ngGoBuilder roadmap• 2.1 – Add Engine (Library) features• features – More Animation support • export data from Flash Professional • Create Animation tool – ngServer support• migration from ngGo 1.x to ngGoBuilder 2.x – *Manager classes and framework part are changed dramatically. – independent libraries can be merged into 2.x 24 / 32
  25. 25. ngmoco:) 25 / 32
  26. 26. ngWare global team• ngmoco • DeNA – San Francisco – Tokyo Product Owner Project Lead Tech Lead Tech Lead Engineer Engineer Engineer Engineer ... ... 26 / 32
  27. 27. @shibukawatech lead in Engine/Library 27 / 32
  28. 28. SF-Tokyo collaborationFace-to-face communication• Dec, 2012 – ngWare Tokyo team reorganized • A new engineer joined DeNA – Dec 6-14: business trip to SF • Discuss and Decide everything • Know each face and name • Lunch and Dinner – all meals/drinks are free in ngmoco• Feb 20-24 – SF team will come to Tokyo 28 / 32
  29. 29. SF-Tokyo collaboration Time difference (7 hours | 17 hours)Tokyo SF 3:00 10:00 Mon Tue Wed Thu Fri 9:00 16:0012:00 19:00 Mon Tue Wed Thu Fri 29 / 32
  30. 30. SF-Tokyo collaborationTools• asynchronous – JIRA (issue tracking/ticket system) – e-mail• synchronous – Google Chat – Google+ Hangout – Polycom• intermediate – Google Spreadsheet• Version Control – Git with git-flow 30 / 32
  31. 31. SF-Tokyo collaborationTo Do is To Know• multi-site scrum• everyday find a lot of things – everyday feel regret :p• KPT (Keep Problem Try)• “one of the fun challenges is creating our own unique team culture that works best for everyone!” 「全員にとってベストに機能するような、自分たち独 自のチームカルチャーを作るのは楽しいチャレンジ!」• creating our own work way in DeNA global group 31 / 32
  32. 32. Thanks! 32 / 32

×