SlideShare a Scribd company logo
1 of 32
ngGoBuilder
and collaborative development
between San Francisco and Tokyo

                  @noto
              Tokiharu Noto
         CTO Office, DeNA Co., Ltd.



                                      1 / 32
+ngCore
ngGoBuilder
and collaborative development
between San Francisco and Tokyo

                  @noto
              Tokiharu Noto
         CTO Office, DeNA Co., Ltd.



                                      2 / 32
ngCore



                 Game
               JavaScript
                                  Game
  Game
                                   Java
Objective-C
                                  C, C++
                ngCore



         iOS                Android


                                           3 / 32
ngCore Runtime for iOS

                           JavaScript Engine

                                          UIWebView
                                          stringByEvaluatingJavaScriptFromString()
                    Runtime Logic
Physics (Box2D)
Storage (sqlite3)                     Audio
                                      Device
                Library               Graphics (OpenGLES)
                                      Network
                                      UI (UIKit)


                                             JavaScriptCore
                                    iOS
                                            (in UIWebView)

                                                                              4 / 32
ngCore Runtime for Android

                    JavaScript Engine (V8 Engine)
                             v8::Function::Call()


                 Native-side                          Java-side
                Runtime Logic                       Runtime Logic
Physics (Box2D)
Storage (sqlite3)                                           Audio
Network (libcurl)                     Graphics              Device
                                      (OpenGLES)            UI (android.widget)
                Library
                                                       Android
                                                    APP-FW (Java)
                               Android

                                                                          5 / 32
Performance: iPhone 4

fps
 60                                                        Objective-C
                                                                ngCore
 50
                                                   JavaScript + Canvas
 40

 30

 20       参考: JavaScript + CSS

 10


      1    10      100           200         300          400            500
                                    Tankの数

                                                                         6 / 32
powered by ngCore
              ◎ 忍者ロワイヤル




              ◎ アクアコレク
              ション




              ◎ 牧場ホッコリー
              ナ




                          7 / 32
Get ngCore!




  http://developer.mobage.com/




                                 8 / 32
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
ngGo 1.x features
ScrollingLayers
• manage multiplex scrolling layers




                                      10 / 32
ngGo 1.x features
ParticleEmitter
• Read files from
  ParticleDesigner
• show Particle
  Animations




                     11 / 32
ngGo 1.x features
DebugMenu
•   display buttons to debug
•   runtime configuration change
•   run unit tests
•   show each scene directly
•   system monitar (memory leak, fps)




                                        12 / 32
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
ngGo 1.x




  awesome libraries for ngCore game developers!




                                                  14 / 32
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
ngBuilder 1.x




                16 / 32
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
Senior engineer is a hub
in game dev team

                        planner




                                          graphic
       animator
                                         designer
                         senior
                        engineer




               level
                                   engineer
             designer

                                                    18 / 32
ngGo+ngBuilder should be
a hub in game dev team

                         planner




                                           graphic
       animator
                                          designer
                          ngGo
                        ngBuilder




               level
                                    engineer
             designer

                                                     19 / 32
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
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
ngBuilder 2.0-preview
Demo & 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
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
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
ngmoco:)


           25 / 32
ngWare global team
• ngmoco                • DeNA
  – San Francisco         – Tokyo

  Product Owner
                           Project Lead

            Tech Lead
                                     Tech Lead
             Engineer
                                      Engineer
             Engineer
                                      Engineer
           ...




                                    ...
                                                 26 / 32
@shibukawa
tech lead in Engine/Library




                              27 / 32
SF-Tokyo collaboration
Face-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
SF-Tokyo collaboration
   Time difference (7 hours | 17 hours)


Tokyo                                                SF
 3:00                                               10:00

              Mon     Tue     Wed     Thu     Fri

 9:00                                               16:00
12:00                                               19:00
        Mon     Tue     Wed     Thu     Fri




                                                     29 / 32
SF-Tokyo collaboration
Tools
• 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
SF-Tokyo collaboration
To 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
Thanks!


          32 / 32

More Related Content

What's hot

The Kubernetes WebLogic revival (part 2)
The Kubernetes WebLogic revival (part 2)The Kubernetes WebLogic revival (part 2)
The Kubernetes WebLogic revival (part 2)Simon Haslam
 
NodeJS guide for beginners
NodeJS guide for beginnersNodeJS guide for beginners
NodeJS guide for beginnersEnoch Joshua
 
Node.js, toy or power tool?
Node.js, toy or power tool?Node.js, toy or power tool?
Node.js, toy or power tool?Ovidiu Dimulescu
 
Saint2012 mod process security
Saint2012 mod process securitySaint2012 mod process security
Saint2012 mod process securityRyosuke MATSUMOTO
 
Scaling MongoDB with Docker and cgroups
Scaling MongoDB with Docker and cgroupsScaling MongoDB with Docker and cgroups
Scaling MongoDB with Docker and cgroupsmarcoita
 
Node.js 시작하기
Node.js 시작하기Node.js 시작하기
Node.js 시작하기Ohgyun Ahn
 
Basic Concept of Node.js & NPM
Basic Concept of Node.js & NPMBasic Concept of Node.js & NPM
Basic Concept of Node.js & NPMBhargav Anadkat
 
從技術角度看 RWD - Technical Approaches to RWD
從技術角度看 RWD - Technical Approaches to RWD從技術角度看 RWD - Technical Approaches to RWD
從技術角度看 RWD - Technical Approaches to RWDChris Wu
 
Node.js Express Tutorial | Node.js Tutorial For Beginners | Node.js + Expres...
Node.js Express Tutorial | Node.js Tutorial For Beginners | Node.js +  Expres...Node.js Express Tutorial | Node.js Tutorial For Beginners | Node.js +  Expres...
Node.js Express Tutorial | Node.js Tutorial For Beginners | Node.js + Expres...Edureka!
 
DevOps Practices: Configuration as Code
DevOps Practices:Configuration as CodeDevOps Practices:Configuration as Code
DevOps Practices: Configuration as CodeDoug Seven
 
Introduction to Node.js
Introduction to Node.jsIntroduction to Node.js
Introduction to Node.jsRob O'Doherty
 
Why we (Day) open source most of our code
Why we (Day) open source most of our codeWhy we (Day) open source most of our code
Why we (Day) open source most of our codeBertrand Delacretaz
 
Dynamic Languages & Web Frameworks in GlassFish
Dynamic Languages & Web Frameworks in GlassFishDynamic Languages & Web Frameworks in GlassFish
Dynamic Languages & Web Frameworks in GlassFishIndicThreads
 
Node.js #digpen presentation
Node.js #digpen presentationNode.js #digpen presentation
Node.js #digpen presentationGOSS Interactive
 
JavaScript as a Server side language (NodeJS): JSConf 2011, Dhaka
JavaScript as a Server side language (NodeJS): JSConf 2011, DhakaJavaScript as a Server side language (NodeJS): JSConf 2011, Dhaka
JavaScript as a Server side language (NodeJS): JSConf 2011, DhakaNurul Ferdous
 
Open Innovation means Open Source
Open Innovation means Open SourceOpen Innovation means Open Source
Open Innovation means Open SourceBertrand Delacretaz
 
Java in a World of Containers - DockerCon 2018
Java in a World of Containers - DockerCon 2018Java in a World of Containers - DockerCon 2018
Java in a World of Containers - DockerCon 2018Arun Gupta
 

What's hot (20)

The Kubernetes WebLogic revival (part 2)
The Kubernetes WebLogic revival (part 2)The Kubernetes WebLogic revival (part 2)
The Kubernetes WebLogic revival (part 2)
 
NodeJS guide for beginners
NodeJS guide for beginnersNodeJS guide for beginners
NodeJS guide for beginners
 
Node.js, toy or power tool?
Node.js, toy or power tool?Node.js, toy or power tool?
Node.js, toy or power tool?
 
Saint2012 mod process security
Saint2012 mod process securitySaint2012 mod process security
Saint2012 mod process security
 
Introduction to node.js
Introduction to node.jsIntroduction to node.js
Introduction to node.js
 
Scaling MongoDB with Docker and cgroups
Scaling MongoDB with Docker and cgroupsScaling MongoDB with Docker and cgroups
Scaling MongoDB with Docker and cgroups
 
Node.js 시작하기
Node.js 시작하기Node.js 시작하기
Node.js 시작하기
 
Basic Concept of Node.js & NPM
Basic Concept of Node.js & NPMBasic Concept of Node.js & NPM
Basic Concept of Node.js & NPM
 
從技術角度看 RWD - Technical Approaches to RWD
從技術角度看 RWD - Technical Approaches to RWD從技術角度看 RWD - Technical Approaches to RWD
從技術角度看 RWD - Technical Approaches to RWD
 
Node.js Express Tutorial | Node.js Tutorial For Beginners | Node.js + Expres...
Node.js Express Tutorial | Node.js Tutorial For Beginners | Node.js +  Expres...Node.js Express Tutorial | Node.js Tutorial For Beginners | Node.js +  Expres...
Node.js Express Tutorial | Node.js Tutorial For Beginners | Node.js + Expres...
 
DevOps Practices: Configuration as Code
DevOps Practices:Configuration as CodeDevOps Practices:Configuration as Code
DevOps Practices: Configuration as Code
 
Introduction to Node.js
Introduction to Node.jsIntroduction to Node.js
Introduction to Node.js
 
Why we (Day) open source most of our code
Why we (Day) open source most of our codeWhy we (Day) open source most of our code
Why we (Day) open source most of our code
 
Node.js Basics
Node.js Basics Node.js Basics
Node.js Basics
 
Dynamic Languages & Web Frameworks in GlassFish
Dynamic Languages & Web Frameworks in GlassFishDynamic Languages & Web Frameworks in GlassFish
Dynamic Languages & Web Frameworks in GlassFish
 
Node.js #digpen presentation
Node.js #digpen presentationNode.js #digpen presentation
Node.js #digpen presentation
 
ngCore
ngCorengCore
ngCore
 
JavaScript as a Server side language (NodeJS): JSConf 2011, Dhaka
JavaScript as a Server side language (NodeJS): JSConf 2011, DhakaJavaScript as a Server side language (NodeJS): JSConf 2011, Dhaka
JavaScript as a Server side language (NodeJS): JSConf 2011, Dhaka
 
Open Innovation means Open Source
Open Innovation means Open SourceOpen Innovation means Open Source
Open Innovation means Open Source
 
Java in a World of Containers - DockerCon 2018
Java in a World of Containers - DockerCon 2018Java in a World of Containers - DockerCon 2018
Java in a World of Containers - DockerCon 2018
 

Viewers also liked

大規模化するピグライフを支えるインフラ ~MongoDBとChefについて~ (後編)
大規模化するピグライフを支えるインフラ ~MongoDBとChefについて~ (後編)大規模化するピグライフを支えるインフラ ~MongoDBとChefについて~ (後編)
大規模化するピグライフを支えるインフラ ~MongoDBとChefについて~ (後編)Yuuki Namikawa
 
大規模化するピグライフを支えるインフラ ~MongoDBとChefについて~ (前編)
大規模化するピグライフを支えるインフラ ~MongoDBとChefについて~ (前編)大規模化するピグライフを支えるインフラ ~MongoDBとChefについて~ (前編)
大規模化するピグライフを支えるインフラ ~MongoDBとChefについて~ (前編)Akihiro Kuwano
 
17 E-5 震災とHackとクラウドと 亀渕分
17 E-5 震災とHackとクラウドと 亀渕分17 E-5 震災とHackとクラウドと 亀渕分
17 E-5 震災とHackとクラウドと 亀渕分Keiji Kamebuchi
 
Japan Developer Summit (jp) - Cloud Foundry, the Open Platform As A Service
Japan Developer Summit (jp) - Cloud Foundry, the Open Platform As A ServiceJapan Developer Summit (jp) - Cloud Foundry, the Open Platform As A Service
Japan Developer Summit (jp) - Cloud Foundry, the Open Platform As A ServicePatrick Chanezon
 
ソフトウェアパッケージベンダーのためのクラウドソリューション「SQL Anywhere OnDemand Edition」
ソフトウェアパッケージベンダーのためのクラウドソリューション「SQL Anywhere OnDemand Edition」ソフトウェアパッケージベンダーのためのクラウドソリューション「SQL Anywhere OnDemand Edition」
ソフトウェアパッケージベンダーのためのクラウドソリューション「SQL Anywhere OnDemand Edition」nisobe58
 
Building scalablewebapps
Building scalablewebappsBuilding scalablewebapps
Building scalablewebappsAyumu Aizawa
 
17 E-5 震災とHackとクラウドと ━ URIベースのCSLB
17 E-5 震災とHackとクラウドと ━ URIベースのCSLB17 E-5 震災とHackとクラウドと ━ URIベースのCSLB
17 E-5 震災とHackとクラウドと ━ URIベースのCSLBYuki KAN
 
【17-E-3】 オンライン機械学習で実現する大規模データ処理
【17-E-3】 オンライン機械学習で実現する大規模データ処理【17-E-3】 オンライン機械学習で実現する大規模データ処理
【17-E-3】 オンライン機械学習で実現する大規模データ処理Developers Summit
 
[大図解]ピグライフはこう動いている
[大図解]ピグライフはこう動いている[大図解]ピグライフはこう動いている
[大図解]ピグライフはこう動いているAkihiro Kuwano
 
Layout analyzerでのgroovyの利用について
Layout analyzerでのgroovyの利用についてLayout analyzerでのgroovyの利用について
Layout analyzerでのgroovyの利用についてkimukou_26 Kimukou
 
アイデアを塩漬けにしない-世界中の人に手伝ってもらう方法-
アイデアを塩漬けにしない-世界中の人に手伝ってもらう方法-アイデアを塩漬けにしない-世界中の人に手伝ってもらう方法-
アイデアを塩漬けにしない-世界中の人に手伝ってもらう方法-nishio
 
教科書と現場のあいだ
教科書と現場のあいだ教科書と現場のあいだ
教科書と現場のあいだYukei Wachi
 
Devsumi2012 攻めの運用の極意
Devsumi2012 攻めの運用の極意Devsumi2012 攻めの運用の極意
Devsumi2012 攻めの運用の極意Ryosuke IWANAGA
 
【17-A-2】 10年後も通用する開発環境の秘訣 <デブサミ2012>
【17-A-2】 10年後も通用する開発環境の秘訣 <デブサミ2012>【17-A-2】 10年後も通用する開発環境の秘訣 <デブサミ2012>
【17-A-2】 10年後も通用する開発環境の秘訣 <デブサミ2012>智治 長沢
 
Developer summit continuous deliveryとjenkins
Developer summit   continuous deliveryとjenkinsDeveloper summit   continuous deliveryとjenkins
Developer summit continuous deliveryとjenkinsKohsuke Kawaguchi
 
CouchDB JP Developers Dummit LT
CouchDB JP Developers Dummit LTCouchDB JP Developers Dummit LT
CouchDB JP Developers Dummit LTKoji Kawamura
 
10th Anniversary
10th Anniversary10th Anniversary
10th Anniversarydynamis
 
デブサミ2012 appinventorユーザー会
デブサミ2012 appinventorユーザー会デブサミ2012 appinventorユーザー会
デブサミ2012 appinventorユーザー会Takeaki Tada
 
Android最新技術動向(2012.2)
Android最新技術動向(2012.2)Android最新技術動向(2012.2)
Android最新技術動向(2012.2)Makoto Anjo
 

Viewers also liked (20)

大規模化するピグライフを支えるインフラ ~MongoDBとChefについて~ (後編)
大規模化するピグライフを支えるインフラ ~MongoDBとChefについて~ (後編)大規模化するピグライフを支えるインフラ ~MongoDBとChefについて~ (後編)
大規模化するピグライフを支えるインフラ ~MongoDBとChefについて~ (後編)
 
大規模化するピグライフを支えるインフラ ~MongoDBとChefについて~ (前編)
大規模化するピグライフを支えるインフラ ~MongoDBとChefについて~ (前編)大規模化するピグライフを支えるインフラ ~MongoDBとChefについて~ (前編)
大規模化するピグライフを支えるインフラ ~MongoDBとChefについて~ (前編)
 
17 E-5 震災とHackとクラウドと 亀渕分
17 E-5 震災とHackとクラウドと 亀渕分17 E-5 震災とHackとクラウドと 亀渕分
17 E-5 震災とHackとクラウドと 亀渕分
 
Japan Developer Summit (jp) - Cloud Foundry, the Open Platform As A Service
Japan Developer Summit (jp) - Cloud Foundry, the Open Platform As A ServiceJapan Developer Summit (jp) - Cloud Foundry, the Open Platform As A Service
Japan Developer Summit (jp) - Cloud Foundry, the Open Platform As A Service
 
ソフトウェアパッケージベンダーのためのクラウドソリューション「SQL Anywhere OnDemand Edition」
ソフトウェアパッケージベンダーのためのクラウドソリューション「SQL Anywhere OnDemand Edition」ソフトウェアパッケージベンダーのためのクラウドソリューション「SQL Anywhere OnDemand Edition」
ソフトウェアパッケージベンダーのためのクラウドソリューション「SQL Anywhere OnDemand Edition」
 
Building scalablewebapps
Building scalablewebappsBuilding scalablewebapps
Building scalablewebapps
 
17 E-5 震災とHackとクラウドと ━ URIベースのCSLB
17 E-5 震災とHackとクラウドと ━ URIベースのCSLB17 E-5 震災とHackとクラウドと ━ URIベースのCSLB
17 E-5 震災とHackとクラウドと ━ URIベースのCSLB
 
【17-E-3】 オンライン機械学習で実現する大規模データ処理
【17-E-3】 オンライン機械学習で実現する大規模データ処理【17-E-3】 オンライン機械学習で実現する大規模データ処理
【17-E-3】 オンライン機械学習で実現する大規模データ処理
 
[大図解]ピグライフはこう動いている
[大図解]ピグライフはこう動いている[大図解]ピグライフはこう動いている
[大図解]ピグライフはこう動いている
 
Layout analyzerでのgroovyの利用について
Layout analyzerでのgroovyの利用についてLayout analyzerでのgroovyの利用について
Layout analyzerでのgroovyの利用について
 
アイデアを塩漬けにしない-世界中の人に手伝ってもらう方法-
アイデアを塩漬けにしない-世界中の人に手伝ってもらう方法-アイデアを塩漬けにしない-世界中の人に手伝ってもらう方法-
アイデアを塩漬けにしない-世界中の人に手伝ってもらう方法-
 
教科書と現場のあいだ
教科書と現場のあいだ教科書と現場のあいだ
教科書と現場のあいだ
 
Devsumi2012 攻めの運用の極意
Devsumi2012 攻めの運用の極意Devsumi2012 攻めの運用の極意
Devsumi2012 攻めの運用の極意
 
【17-A-2】 10年後も通用する開発環境の秘訣 <デブサミ2012>
【17-A-2】 10年後も通用する開発環境の秘訣 <デブサミ2012>【17-A-2】 10年後も通用する開発環境の秘訣 <デブサミ2012>
【17-A-2】 10年後も通用する開発環境の秘訣 <デブサミ2012>
 
Developer summit continuous deliveryとjenkins
Developer summit   continuous deliveryとjenkinsDeveloper summit   continuous deliveryとjenkins
Developer summit continuous deliveryとjenkins
 
Dev@cloudの実装
Dev@cloudの実装Dev@cloudの実装
Dev@cloudの実装
 
CouchDB JP Developers Dummit LT
CouchDB JP Developers Dummit LTCouchDB JP Developers Dummit LT
CouchDB JP Developers Dummit LT
 
10th Anniversary
10th Anniversary10th Anniversary
10th Anniversary
 
デブサミ2012 appinventorユーザー会
デブサミ2012 appinventorユーザー会デブサミ2012 appinventorユーザー会
デブサミ2012 appinventorユーザー会
 
Android最新技術動向(2012.2)
Android最新技術動向(2012.2)Android最新技術動向(2012.2)
Android最新技術動向(2012.2)
 

Similar to ngGoBuilder and collaborative development between San Francisco and Tokyo

AAA 3D GRAPHICS ON THE WEB WITH REACTJS + BABYLONJS + UNITY3D by Denis Radin ...
AAA 3D GRAPHICS ON THE WEB WITH REACTJS + BABYLONJS + UNITY3D by Denis Radin ...AAA 3D GRAPHICS ON THE WEB WITH REACTJS + BABYLONJS + UNITY3D by Denis Radin ...
AAA 3D GRAPHICS ON THE WEB WITH REACTJS + BABYLONJS + UNITY3D by Denis Radin ...DevClub_lv
 
JS Fest 2019. Денис Радин. AAA 3D графика в Web с ReactJS, BabylonJS и Unity3D
JS Fest 2019. Денис Радин. AAA 3D графика в Web с ReactJS, BabylonJS и Unity3DJS Fest 2019. Денис Радин. AAA 3D графика в Web с ReactJS, BabylonJS и Unity3D
JS Fest 2019. Денис Радин. AAA 3D графика в Web с ReactJS, BabylonJS и Unity3DJSFestUA
 
The next generation of GPU APIs for Game Engines
The next generation of GPU APIs for Game EnginesThe next generation of GPU APIs for Game Engines
The next generation of GPU APIs for Game EnginesPooya Eimandar
 
mloc.js 2014 - JavaScript and the browser as a platform for game development
mloc.js 2014 - JavaScript and the browser as a platform for game developmentmloc.js 2014 - JavaScript and the browser as a platform for game development
mloc.js 2014 - JavaScript and the browser as a platform for game developmentDavid Galeano
 
SIGGRAPH Asia 2008 Modern OpenGL
SIGGRAPH Asia 2008 Modern OpenGLSIGGRAPH Asia 2008 Modern OpenGL
SIGGRAPH Asia 2008 Modern OpenGLMark Kilgard
 
Targeting Android with Qt
Targeting Android with QtTargeting Android with Qt
Targeting Android with QtEspen Riskedal
 
Cross Game Dev with Corona
Cross Game Dev with CoronaCross Game Dev with Corona
Cross Game Dev with CoronaShawn Grimes
 
Castle Game Engine and the joy of making and using a custom game engine
Castle Game Engine and the joy  of making and using a custom game engineCastle Game Engine and the joy  of making and using a custom game engine
Castle Game Engine and the joy of making and using a custom game engineMichalis Kamburelis
 
Android game development
Android game developmentAndroid game development
Android game developmentmilandinic
 
W3C HTML5 KIG-The complete guide to building html5 games
W3C HTML5 KIG-The complete guide to building html5 gamesW3C HTML5 KIG-The complete guide to building html5 games
W3C HTML5 KIG-The complete guide to building html5 gamesChanghwan Yi
 
id-objc: GLKit and Overview on OpengGL
id-objc: GLKit and Overview on OpengGLid-objc: GLKit and Overview on OpengGL
id-objc: GLKit and Overview on OpengGLDidiet Noor
 
The Next Leap in JavaScript Performance
The Next Leap in JavaScript PerformanceThe Next Leap in JavaScript Performance
The Next Leap in JavaScript PerformanceIntel® Software
 
Flutter talkshow
Flutter talkshowFlutter talkshow
Flutter talkshowNhan Cao
 
PRESENTATION ON Game Engine
PRESENTATION ON Game EnginePRESENTATION ON Game Engine
PRESENTATION ON Game EngineDiksha Bhargava
 
Corey.Berry.Portfolio.2016
Corey.Berry.Portfolio.2016Corey.Berry.Portfolio.2016
Corey.Berry.Portfolio.2016Corey Berry
 
ScroIDE Project Dicussion
ScroIDE Project DicussionScroIDE Project Dicussion
ScroIDE Project DicussionMostafa Eweda
 
Android Things Robocar with TensorFlow for object recognition
Android Things Robocar with TensorFlow for object recognitionAndroid Things Robocar with TensorFlow for object recognition
Android Things Robocar with TensorFlow for object recognitionDevFest DC
 
Go native benchmark test su dispositivi x86: java, ndk, ipp e tbb
Go native  benchmark test su dispositivi x86: java, ndk, ipp e tbbGo native  benchmark test su dispositivi x86: java, ndk, ipp e tbb
Go native benchmark test su dispositivi x86: java, ndk, ipp e tbbJooinK
 
Develop Games With Cocos Creator - A Game Engine By Cocos
Develop Games With Cocos Creator - A Game Engine By CocosDevelop Games With Cocos Creator - A Game Engine By Cocos
Develop Games With Cocos Creator - A Game Engine By CocosLuke Stapley
 

Similar to ngGoBuilder and collaborative development between San Francisco and Tokyo (20)

AAA 3D GRAPHICS ON THE WEB WITH REACTJS + BABYLONJS + UNITY3D by Denis Radin ...
AAA 3D GRAPHICS ON THE WEB WITH REACTJS + BABYLONJS + UNITY3D by Denis Radin ...AAA 3D GRAPHICS ON THE WEB WITH REACTJS + BABYLONJS + UNITY3D by Denis Radin ...
AAA 3D GRAPHICS ON THE WEB WITH REACTJS + BABYLONJS + UNITY3D by Denis Radin ...
 
JS Fest 2019. Денис Радин. AAA 3D графика в Web с ReactJS, BabylonJS и Unity3D
JS Fest 2019. Денис Радин. AAA 3D графика в Web с ReactJS, BabylonJS и Unity3DJS Fest 2019. Денис Радин. AAA 3D графика в Web с ReactJS, BabylonJS и Unity3D
JS Fest 2019. Денис Радин. AAA 3D графика в Web с ReactJS, BabylonJS и Unity3D
 
The next generation of GPU APIs for Game Engines
The next generation of GPU APIs for Game EnginesThe next generation of GPU APIs for Game Engines
The next generation of GPU APIs for Game Engines
 
mloc.js 2014 - JavaScript and the browser as a platform for game development
mloc.js 2014 - JavaScript and the browser as a platform for game developmentmloc.js 2014 - JavaScript and the browser as a platform for game development
mloc.js 2014 - JavaScript and the browser as a platform for game development
 
SIGGRAPH Asia 2008 Modern OpenGL
SIGGRAPH Asia 2008 Modern OpenGLSIGGRAPH Asia 2008 Modern OpenGL
SIGGRAPH Asia 2008 Modern OpenGL
 
Targeting Android with Qt
Targeting Android with QtTargeting Android with Qt
Targeting Android with Qt
 
Cross Game Dev with Corona
Cross Game Dev with CoronaCross Game Dev with Corona
Cross Game Dev with Corona
 
Castle Game Engine and the joy of making and using a custom game engine
Castle Game Engine and the joy  of making and using a custom game engineCastle Game Engine and the joy  of making and using a custom game engine
Castle Game Engine and the joy of making and using a custom game engine
 
Guides To Analyzing WebKit Performance
Guides To Analyzing WebKit PerformanceGuides To Analyzing WebKit Performance
Guides To Analyzing WebKit Performance
 
Android game development
Android game developmentAndroid game development
Android game development
 
W3C HTML5 KIG-The complete guide to building html5 games
W3C HTML5 KIG-The complete guide to building html5 gamesW3C HTML5 KIG-The complete guide to building html5 games
W3C HTML5 KIG-The complete guide to building html5 games
 
id-objc: GLKit and Overview on OpengGL
id-objc: GLKit and Overview on OpengGLid-objc: GLKit and Overview on OpengGL
id-objc: GLKit and Overview on OpengGL
 
The Next Leap in JavaScript Performance
The Next Leap in JavaScript PerformanceThe Next Leap in JavaScript Performance
The Next Leap in JavaScript Performance
 
Flutter talkshow
Flutter talkshowFlutter talkshow
Flutter talkshow
 
PRESENTATION ON Game Engine
PRESENTATION ON Game EnginePRESENTATION ON Game Engine
PRESENTATION ON Game Engine
 
Corey.Berry.Portfolio.2016
Corey.Berry.Portfolio.2016Corey.Berry.Portfolio.2016
Corey.Berry.Portfolio.2016
 
ScroIDE Project Dicussion
ScroIDE Project DicussionScroIDE Project Dicussion
ScroIDE Project Dicussion
 
Android Things Robocar with TensorFlow for object recognition
Android Things Robocar with TensorFlow for object recognitionAndroid Things Robocar with TensorFlow for object recognition
Android Things Robocar with TensorFlow for object recognition
 
Go native benchmark test su dispositivi x86: java, ndk, ipp e tbb
Go native  benchmark test su dispositivi x86: java, ndk, ipp e tbbGo native  benchmark test su dispositivi x86: java, ndk, ipp e tbb
Go native benchmark test su dispositivi x86: java, ndk, ipp e tbb
 
Develop Games With Cocos Creator - A Game Engine By Cocos
Develop Games With Cocos Creator - A Game Engine By CocosDevelop Games With Cocos Creator - A Game Engine By Cocos
Develop Games With Cocos Creator - A Game Engine By Cocos
 

Recently uploaded

How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????blackmambaettijean
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 

Recently uploaded (20)

How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 

ngGoBuilder and collaborative development between San Francisco and Tokyo

  • 1. ngGoBuilder and collaborative development between San Francisco and Tokyo @noto Tokiharu Noto CTO Office, DeNA Co., Ltd. 1 / 32
  • 2. +ngCore ngGoBuilder and collaborative development between San Francisco and Tokyo @noto Tokiharu Noto CTO Office, DeNA Co., Ltd. 2 / 32
  • 3. ngCore Game JavaScript Game Game Java Objective-C C, C++ ngCore iOS Android 3 / 32
  • 4. ngCore Runtime for iOS JavaScript Engine UIWebView stringByEvaluatingJavaScriptFromString() Runtime Logic Physics (Box2D) Storage (sqlite3) Audio Device Library Graphics (OpenGLES) Network UI (UIKit) JavaScriptCore iOS (in UIWebView) 4 / 32
  • 5. ngCore Runtime for Android JavaScript Engine (V8 Engine) v8::Function::Call() Native-side Java-side Runtime Logic Runtime Logic Physics (Box2D) Storage (sqlite3) Audio Network (libcurl) Graphics Device (OpenGLES) UI (android.widget) Library Android APP-FW (Java) Android 5 / 32
  • 6. Performance: iPhone 4 fps 60 Objective-C ngCore 50 JavaScript + Canvas 40 30 20 参考: JavaScript + CSS 10 1 10 100 200 300 400 500 Tankの数 6 / 32
  • 7. powered by ngCore ◎ 忍者ロワイヤル ◎ アクアコレク ション ◎ 牧場ホッコリー ナ 7 / 32
  • 8. Get ngCore! http://developer.mobage.com/ 8 / 32
  • 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. ngGo 1.x features ScrollingLayers • manage multiplex scrolling layers 10 / 32
  • 11. ngGo 1.x features ParticleEmitter • Read files from ParticleDesigner • show Particle Animations 11 / 32
  • 12. ngGo 1.x features DebugMenu • display buttons to debug • runtime configuration change • run unit tests • show each scene directly • system monitar (memory leak, fps) 12 / 32
  • 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. ngGo 1.x awesome libraries for ngCore game developers! 14 / 32
  • 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. ngBuilder 1.x 16 / 32
  • 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. Senior engineer is a hub in game dev team planner graphic animator designer senior engineer level engineer designer 18 / 32
  • 19. ngGo+ngBuilder should be a hub in game dev team planner graphic animator designer ngGo ngBuilder level engineer designer 19 / 32
  • 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. 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. ngBuilder 2.0-preview Demo & 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. 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. 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. ngmoco:) 25 / 32
  • 26. ngWare global team • ngmoco • DeNA – San Francisco – Tokyo Product Owner Project Lead Tech Lead Tech Lead Engineer Engineer Engineer Engineer ... ... 26 / 32
  • 27. @shibukawa tech lead in Engine/Library 27 / 32
  • 28. SF-Tokyo collaboration Face-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. SF-Tokyo collaboration Time difference (7 hours | 17 hours) Tokyo SF 3:00 10:00 Mon Tue Wed Thu Fri 9:00 16:00 12:00 19:00 Mon Tue Wed Thu Fri 29 / 32
  • 30. SF-Tokyo collaboration Tools • 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. SF-Tokyo collaboration To 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. Thanks! 32 / 32