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