ngCore
-
Upload
motohiro-takayama -
Category
Technology
-
view
7.145 -
download
0
description
Transcript of ngCore
![Page 1: ngCore](https://reader033.fdocuments.us/reader033/viewer/2022052507/558fc4461a28ab88318b45ef/html5/thumbnails/1.jpg)
ngCore@mootoh
![Page 2: ngCore](https://reader033.fdocuments.us/reader033/viewer/2022052507/558fc4461a28ab88318b45ef/html5/thumbnails/2.jpg)
Showcase
![Page 3: ngCore](https://reader033.fdocuments.us/reader033/viewer/2022052507/558fc4461a28ab88318b45ef/html5/thumbnails/3.jpg)
![Page 4: ngCore](https://reader033.fdocuments.us/reader033/viewer/2022052507/558fc4461a28ab88318b45ef/html5/thumbnails/4.jpg)
![Page 5: ngCore](https://reader033.fdocuments.us/reader033/viewer/2022052507/558fc4461a28ab88318b45ef/html5/thumbnails/5.jpg)
![Page 6: ngCore](https://reader033.fdocuments.us/reader033/viewer/2022052507/558fc4461a28ab88318b45ef/html5/thumbnails/6.jpg)
![Page 7: ngCore](https://reader033.fdocuments.us/reader033/viewer/2022052507/558fc4461a28ab88318b45ef/html5/thumbnails/7.jpg)
![Page 8: ngCore](https://reader033.fdocuments.us/reader033/viewer/2022052507/558fc4461a28ab88318b45ef/html5/thumbnails/8.jpg)
ngCore
![Page 9: ngCore](https://reader033.fdocuments.us/reader033/viewer/2022052507/558fc4461a28ab88318b45ef/html5/thumbnails/9.jpg)
Me
JTPA SVC 2009
http://いろいろ/mootoh
![Page 10: ngCore](https://reader033.fdocuments.us/reader033/viewer/2022052507/558fc4461a28ab88318b45ef/html5/thumbnails/10.jpg)
![Page 11: ngCore](https://reader033.fdocuments.us/reader033/viewer/2022052507/558fc4461a28ab88318b45ef/html5/thumbnails/11.jpg)
Mobile
Social Game
![Page 12: ngCore](https://reader033.fdocuments.us/reader033/viewer/2022052507/558fc4461a28ab88318b45ef/html5/thumbnails/12.jpg)
Mobile
http://www.flickr.com/photos/mkuma443/4731933259/
http://www.flickr.com/photos/marklincoln/5255361533/
![Page 13: ngCore](https://reader033.fdocuments.us/reader033/viewer/2022052507/558fc4461a28ab88318b45ef/html5/thumbnails/13.jpg)
Mobile
http://blog.nielsen.com/nielsenwire/consumer/smartphones-to-overtake-feature-phones-in-u-s-by-2011/
March 26, 2010
![Page 14: ngCore](https://reader033.fdocuments.us/reader033/viewer/2022052507/558fc4461a28ab88318b45ef/html5/thumbnails/14.jpg)
Social
![Page 15: ngCore](https://reader033.fdocuments.us/reader033/viewer/2022052507/558fc4461a28ab88318b45ef/html5/thumbnails/15.jpg)
Social Mobile
![Page 16: ngCore](https://reader033.fdocuments.us/reader033/viewer/2022052507/558fc4461a28ab88318b45ef/html5/thumbnails/16.jpg)
Game
http://www.flickr.com/photos/nchill4x4/5560435682/
![Page 17: ngCore](https://reader033.fdocuments.us/reader033/viewer/2022052507/558fc4461a28ab88318b45ef/html5/thumbnails/17.jpg)
Game Mobile
http://www.flickr.com/photos/nchill4x4/5560435682/
![Page 18: ngCore](https://reader033.fdocuments.us/reader033/viewer/2022052507/558fc4461a28ab88318b45ef/html5/thumbnails/18.jpg)
GameMobile Social
![Page 19: ngCore](https://reader033.fdocuments.us/reader033/viewer/2022052507/558fc4461a28ab88318b45ef/html5/thumbnails/19.jpg)
Mobile
Social Game
![Page 20: ngCore](https://reader033.fdocuments.us/reader033/viewer/2022052507/558fc4461a28ab88318b45ef/html5/thumbnails/20.jpg)
ngCore
![Page 21: ngCore](https://reader033.fdocuments.us/reader033/viewer/2022052507/558fc4461a28ab88318b45ef/html5/thumbnails/21.jpg)
CrossPlatform
Performance Productivity
![Page 22: ngCore](https://reader033.fdocuments.us/reader033/viewer/2022052507/558fc4461a28ab88318b45ef/html5/thumbnails/22.jpg)
Objective-C Java
Platforms
![Page 23: ngCore](https://reader033.fdocuments.us/reader033/viewer/2022052507/558fc4461a28ab88318b45ef/html5/thumbnails/23.jpg)
Objective-C Java
共通で使えるもの
Platforms
![Page 24: ngCore](https://reader033.fdocuments.us/reader033/viewer/2022052507/558fc4461a28ab88318b45ef/html5/thumbnails/24.jpg)
Objective-C Java
C/C++共通で使えるもの
Platforms
![Page 25: ngCore](https://reader033.fdocuments.us/reader033/viewer/2022052507/558fc4461a28ab88318b45ef/html5/thumbnails/25.jpg)
Objective-C Java
C/C++Javascript + HTML
共通で使えるもの
Platforms
![Page 26: ngCore](https://reader033.fdocuments.us/reader033/viewer/2022052507/558fc4461a28ab88318b45ef/html5/thumbnails/26.jpg)
Performance
C/C++
JS + HTML
◎ \(^o^)/
☓ ◯
Productivity
![Page 27: ngCore](https://reader033.fdocuments.us/reader033/viewer/2022052507/558fc4461a28ab88318b45ef/html5/thumbnails/27.jpg)
Performance
C/C++
JS + HTML
◎ \(^o^)/
☓ ◯
Productivity
JS + Native ◯ ◯
![Page 28: ngCore](https://reader033.fdocuments.us/reader033/viewer/2022052507/558fc4461a28ab88318b45ef/html5/thumbnails/28.jpg)
ngCore•Write game logic in JS
•Run across multiple platforms
•Optimized Native modules
•Rapid development iteration
![Page 29: ngCore](https://reader033.fdocuments.us/reader033/viewer/2022052507/558fc4461a28ab88318b45ef/html5/thumbnails/29.jpg)
![Page 30: ngCore](https://reader033.fdocuments.us/reader033/viewer/2022052507/558fc4461a28ab88318b45ef/html5/thumbnails/30.jpg)
Developer’sView
![Page 31: ngCore](https://reader033.fdocuments.us/reader033/viewer/2022052507/558fc4461a28ab88318b45ef/html5/thumbnails/31.jpg)
DevelopmentProcess
JS
httpd
![Page 32: ngCore](https://reader033.fdocuments.us/reader033/viewer/2022052507/558fc4461a28ab88318b45ef/html5/thumbnails/32.jpg)
DevelopmentProcess
JS
httpd
Edit
![Page 33: ngCore](https://reader033.fdocuments.us/reader033/viewer/2022052507/558fc4461a28ab88318b45ef/html5/thumbnails/33.jpg)
DevelopmentProcess
JS
httpd
Edit reload
![Page 34: ngCore](https://reader033.fdocuments.us/reader033/viewer/2022052507/558fc4461a28ab88318b45ef/html5/thumbnails/34.jpg)
DevelopmentProcess
JS
httpd
Edit Testreload
![Page 35: ngCore](https://reader033.fdocuments.us/reader033/viewer/2022052507/558fc4461a28ab88318b45ef/html5/thumbnails/35.jpg)
DevelopmentProcess
JS
httpd
Edit Testreload
![Page 36: ngCore](https://reader033.fdocuments.us/reader033/viewer/2022052507/558fc4461a28ab88318b45ef/html5/thumbnails/36.jpg)
Demo• Write game logic in JS
• Run across multiple platforms
• Optimized Native modules
• Rapid development iteration
![Page 37: ngCore](https://reader033.fdocuments.us/reader033/viewer/2022052507/558fc4461a28ab88318b45ef/html5/thumbnails/37.jpg)
API• Audio
• Bank
• Device sensors
• 2D Graphics
• Networking
• Physics
• Social
• Storage
• UI
![Page 39: ngCore](https://reader033.fdocuments.us/reader033/viewer/2022052507/558fc4461a28ab88318b45ef/html5/thumbnails/39.jpg)
Internal
![Page 40: ngCore](https://reader033.fdocuments.us/reader033/viewer/2022052507/558fc4461a28ab88318b45ef/html5/thumbnails/40.jpg)
Architecture
JS Engine
JS game code
Native Runtime
Android iOS Flash
v8JSC
C++Objective-CJavaActionScript
Native module
JS ngCore module
![Page 41: ngCore](https://reader033.fdocuments.us/reader033/viewer/2022052507/558fc4461a28ab88318b45ef/html5/thumbnails/41.jpg)
Game Engine
for(;;) { input(); update();}
![Page 42: ngCore](https://reader033.fdocuments.us/reader033/viewer/2022052507/558fc4461a28ab88318b45ef/html5/thumbnails/42.jpg)
RunLoop
Native RuntimeJS Enginecommand string
![Page 43: ngCore](https://reader033.fdocuments.us/reader033/viewer/2022052507/558fc4461a28ab88318b45ef/html5/thumbnails/43.jpg)
RunLoop
Native RuntimeJS Engine
Module
parse
command string
![Page 44: ngCore](https://reader033.fdocuments.us/reader033/viewer/2022052507/558fc4461a28ab88318b45ef/html5/thumbnails/44.jpg)
RunLoop
Native RuntimeJS Engine
Module
parse
exec
command string
![Page 45: ngCore](https://reader033.fdocuments.us/reader033/viewer/2022052507/558fc4461a28ab88318b45ef/html5/thumbnails/45.jpg)
RunLoop
Native RuntimeJS Engine
Module
parse
exec
command string
![Page 46: ngCore](https://reader033.fdocuments.us/reader033/viewer/2022052507/558fc4461a28ab88318b45ef/html5/thumbnails/46.jpg)
RunLoop
Native RuntimeJS Engine
Module
parse
execeval
command string
![Page 47: ngCore](https://reader033.fdocuments.us/reader033/viewer/2022052507/558fc4461a28ab88318b45ef/html5/thumbnails/47.jpg)
RunLoop
Native RuntimeJS Engine
Module
parse
exec
Module
parse eval
command string
![Page 48: ngCore](https://reader033.fdocuments.us/reader033/viewer/2022052507/558fc4461a28ab88318b45ef/html5/thumbnails/48.jpg)
RunLoop
Native RuntimeJS Engine
Module
parse
exec
Module
parse
exec
eval
command string
![Page 49: ngCore](https://reader033.fdocuments.us/reader033/viewer/2022052507/558fc4461a28ab88318b45ef/html5/thumbnails/49.jpg)
RunLoop
Native RuntimeJS Engine
Module
parse
exec
Module
parse
exec
eval
command string
return
![Page 50: ngCore](https://reader033.fdocuments.us/reader033/viewer/2022052507/558fc4461a28ab88318b45ef/html5/thumbnails/50.jpg)
RunLoop
Native RuntimeJS Engine
Module
parse
exec
Module
parse
exec
eval
command string
return
![Page 51: ngCore](https://reader033.fdocuments.us/reader033/viewer/2022052507/558fc4461a28ab88318b45ef/html5/thumbnails/51.jpg)
Command var label = new GL2.Text(); label.setSize(150, height);
NGCore/Client/GL2/Text.js
![Page 52: ngCore](https://reader033.fdocuments.us/reader033/viewer/2022052507/558fc4461a28ab88318b45ef/html5/thumbnails/52.jpg)
Command
Module → id
var label = new GL2.Text(); label.setSize(150, height);
NGCore/Client/GL2/Text.js
![Page 53: ngCore](https://reader033.fdocuments.us/reader033/viewer/2022052507/558fc4461a28ab88318b45ef/html5/thumbnails/53.jpg)
Command
Module → idInstance → id
var label = new GL2.Text(); label.setSize(150, height);
NGCore/Client/GL2/Text.js
![Page 54: ngCore](https://reader033.fdocuments.us/reader033/viewer/2022052507/558fc4461a28ab88318b45ef/html5/thumbnails/54.jpg)
Command
Module → idInstance → idMethod → id
var label = new GL2.Text(); label.setSize(150, height);
NGCore/Client/GL2/Text.js
![Page 55: ngCore](https://reader033.fdocuments.us/reader033/viewer/2022052507/558fc4461a28ab88318b45ef/html5/thumbnails/55.jpg)
Command
Module → idInstance → idMethod → id
var label = new GL2.Text(); label.setSize(150, height);
NGCore/Client/GL2/Text.js
Args:Primitive → StringInstance → id
必要に応じて eval
![Page 56: ngCore](https://reader033.fdocuments.us/reader033/viewer/2022052507/558fc4461a28ab88318b45ef/html5/thumbnails/56.jpg)
Command
Module → idInstance → idMethod → id
var label = new GL2.Text(); label.setSize(150, height);
NGCore/Client/GL2/Text.js
Args:Primitive → StringInstance → id
必要に応じて eval
String“311,1,3,150,100”
![Page 57: ngCore](https://reader033.fdocuments.us/reader033/viewer/2022052507/558fc4461a28ab88318b45ef/html5/thumbnails/57.jpg)
Command
Module → idInstance → idMethod → id
Marshal.dump みたいな
var label = new GL2.Text(); label.setSize(150, height);
NGCore/Client/GL2/Text.js
Args:Primitive → StringInstance → id
必要に応じて eval
String“311,1,3,150,100”
![Page 58: ngCore](https://reader033.fdocuments.us/reader033/viewer/2022052507/558fc4461a28ab88318b45ef/html5/thumbnails/58.jpg)
Implement a Module
IDL in JS{ class: “Text”, namespace: “GL2”, methods: { { sig: “void setText(string text)”, js -> native }}
.js
.cpp / .h
.as
gen stub
![Page 59: ngCore](https://reader033.fdocuments.us/reader033/viewer/2022052507/558fc4461a28ab88318b45ef/html5/thumbnails/59.jpg)
Upcoming...
•More Interactive Development
•Profiler, Debugger
•Graphical Editor
•Social
![Page 60: ngCore](https://reader033.fdocuments.us/reader033/viewer/2022052507/558fc4461a28ab88318b45ef/html5/thumbnails/60.jpg)
Discussion
![Page 61: ngCore](https://reader033.fdocuments.us/reader033/viewer/2022052507/558fc4461a28ab88318b45ef/html5/thumbnails/61.jpg)
SocialGame
![Page 62: ngCore](https://reader033.fdocuments.us/reader033/viewer/2022052507/558fc4461a28ab88318b45ef/html5/thumbnails/62.jpg)
![Page 63: ngCore](https://reader033.fdocuments.us/reader033/viewer/2022052507/558fc4461a28ab88318b45ef/html5/thumbnails/63.jpg)
![Page 64: ngCore](https://reader033.fdocuments.us/reader033/viewer/2022052507/558fc4461a28ab88318b45ef/html5/thumbnails/64.jpg)
![Page 65: ngCore](https://reader033.fdocuments.us/reader033/viewer/2022052507/558fc4461a28ab88318b45ef/html5/thumbnails/65.jpg)
![Page 66: ngCore](https://reader033.fdocuments.us/reader033/viewer/2022052507/558fc4461a28ab88318b45ef/html5/thumbnails/66.jpg)
http://www.flickr.com/photos/canadianveggie/4104506343/ http://www.flickr.com/photos/gullevek/3368785185/
![Page 67: ngCore](https://reader033.fdocuments.us/reader033/viewer/2022052507/558fc4461a28ab88318b45ef/html5/thumbnails/67.jpg)
Social Game
•だれかとやる•すきま時間戦争•$
•これから?
![Page 68: ngCore](https://reader033.fdocuments.us/reader033/viewer/2022052507/558fc4461a28ab88318b45ef/html5/thumbnails/68.jpg)
Game Engines
![Page 69: ngCore](https://reader033.fdocuments.us/reader033/viewer/2022052507/558fc4461a28ab88318b45ef/html5/thumbnails/69.jpg)
JS/HTML5
•で十分なんじゃ?
•これからどんどん速くなるだろうし• JS engine, device の spec
•制限なくなっていくだろうし
![Page 70: ngCore](https://reader033.fdocuments.us/reader033/viewer/2022052507/558fc4461a28ab88318b45ef/html5/thumbnails/70.jpg)
とはいえ
JS + Native
JS + HTML
Native
Performance
![Page 71: ngCore](https://reader033.fdocuments.us/reader033/viewer/2022052507/558fc4461a28ab88318b45ef/html5/thumbnails/71.jpg)
過渡期
•現実的路線• Performance x Productivity
![Page 72: ngCore](https://reader033.fdocuments.us/reader033/viewer/2022052507/558fc4461a28ab88318b45ef/html5/thumbnails/72.jpg)
Hot topics
![Page 73: ngCore](https://reader033.fdocuments.us/reader033/viewer/2022052507/558fc4461a28ab88318b45ef/html5/thumbnails/73.jpg)
WhyngCore?
![Page 74: ngCore](https://reader033.fdocuments.us/reader033/viewer/2022052507/558fc4461a28ab88318b45ef/html5/thumbnails/74.jpg)
Existing Global Social Graph
ngCore
$
![Page 75: ngCore](https://reader033.fdocuments.us/reader033/viewer/2022052507/558fc4461a28ab88318b45ef/html5/thumbnails/75.jpg)
黎明期
•選んでもらえるようにがんばります
![Page 76: ngCore](https://reader033.fdocuments.us/reader033/viewer/2022052507/558fc4461a28ab88318b45ef/html5/thumbnails/76.jpg)
Conclude
![Page 77: ngCore](https://reader033.fdocuments.us/reader033/viewer/2022052507/558fc4461a28ab88318b45ef/html5/thumbnails/77.jpg)
ngCore
Mobile
Social Game
CrossPlatform
Performance Productivity