Breakout session on Web games in hosted apps
This breakout session was part of the Workshop on Web games. Minutes taken by Xiaoqian Wu.
Ping: today I would like to introduce a new type of web games, Baidu smart games, we launched this project two years ago
… Baidu is a leading Chinese search engine
… Baidu App is serving 180 million users per day
… one goal is to increase the consumable resource
… another goal is to set up an mini game ecosystem, which can be easily deployed for the devs
… we created a runtime kernel, a pure JS execution and native rendering environment for 2D and 3D
… developers are still writing web coding languages
… we are using the runtime to enable more features and improve the performance
… JS binding framework
… lifecycle, no window or document tree
… no native binding in the runtime
… can only include Java objects
… performance metrics 200x improvement
… need an efficient JS execution engine
… [demo of the IO latence]
… minimize parsing and compiling time
… it’s based on a lightweight native rendering engine
… we would like to make the most of the GPU computation
… JS execution and rendering engine are in the same thread
… currently a very simple threading model
… provide key functions by modules
… for example: file system, audio and network models
… optimisation with partial native computation
… benchmark of the runtime, measure the performance for different
components
… [3d demo of the benchmark]
… now we have 60,000 developers working on this platform
… 150,000 smart prgrames
… it’s an opensource runtime
… it also provide support for the developers during the whole process of
the developing the games
… it can integrate with other game engines, like Cocos, Unity
… still has performance limitation compared to the native
… future improvement with cloud gaming, and third party technical
service provider
… we offer an AI Framework for this program
… to provide AI capability to the developers
… most developers have difficulties using the AI library directly
… architecture of the AI framework of this program
… developers can take advantage of the face detection
… camera matrix, anchor matrix, ambient
… it’s using a JS framework, so developers can use WebAPIs like WebXR
… we provide many other AI APIs
… like face API
… [demo of a interactive face game]
… [another emoji face game demo]
… [AR demo to color a 3D car model]
… we will also provide WebML and Paddle.js APIs to allow the developers
to customise their games
… future work provide more AI APIs for the developers
Justin: is this AI model only work on Baidu Apps?
Ping: We’ve opensourced the runtime
@@2: is the back end also open source?
Ping: yes
Chris: it's interesting you are taking advantage of the GPU with native apps
@@3: why do you develop your own rendering engine?
ping: due to the limitation of flexibility of the AI APIs and performance, it became a must to us
Chris: same for us
Tom: does it work the same on IOS?
Ping: we do have difficulties to make it work in IOS, we tried talking to Apple
Tom: do you use the web view in IOS?
Ping: the JS core
Chris: we use JS core, but native rendering
… but we haven’t got to this level
Chris: would like to understand how can we do progressing games in browsers
Ping: this experience of smart games can contribute to APIs in the browsers
Tom: how many small programs?
Ping: 150,000
… 20,000 online, but mini games is just part of them
… we also provide quality review
Tom: does the regulation of the government for games also apply to this kind of mini games?
Ping: mini games don’t need license
Francois: what’s the blockers for the web view?
… is there anything we can do to fix the problem?
… some APIs are missing the in web view due to security or privacy reasons
… what’s the gap?
Chris: this design is trying to address problems more than for the browsers or for the web view
@@3: the camera is also one reason
Ping: all the UI/device related APIs have limitation
Chris: camera access stuffs are interesting, hope the WebXR API can fix some of the problems
… if we can get access to the native level permission
@@3: 3D computation is difficult for lots of developers
Eden: we do care about the privacy when we design these APIs
… access to camera or geolocation needs permissions
Chris: there are a few reasons that we are going out of the web view, but using the same technology, it’s good that your API can work with GPU
@@3: how about DOM?
Ping: we don't have DOM, it’s transformed
Eden: we provide APIs for developers to export their program into HTML5 games or Baidu smart apps
Francois: I’m curious to know which part of these APIs are missing from the Web
… we’ll have a workshop on WebML soon
… hope these can be directly an Web API instead of something above of the Web
Ping: we are working closely with the WebML community group
Francois: [explains the WebML API]
Ping: we love the Web technologies, as it’s more friendly to the developers
Francois: most of the APIs seems valuable to web community, would like to learn more details
… guess you will further the discussion in the Chinese IG
… hope the outcome of the discussion will come back to the global community soon