Google nabs Square Enix and other game developers to do native client Chrome games
http://venturebeat.com/2011/12/08/google-nabs-square-enix-and-other-game-developers-to-do-native-chrome-games/ said:
Google announced today that its three-year effort to create a muscular browser technology that can run heavy duty apps such as console-like games is now ready for prime time.
Google has provided the platform to allow games to run in the Chrome browser and make use of the computers 3D graphics hardware. That makes it possible to run games with high-end console-like graphics in a web browser.
A group of game developers, including Square Enix, Unity Technologies, and Bungie, appeared at Google Thursday night to promote the use of the in-browser Native Client technology, which could result in a rich, Chrome-based gaming platform.
Native Client (abbreviated as NaCl for short, or the atomic name for table salt) was first launched for Chrome in August. An open-source project, Native Client allows native code bases to be run inside Chrome, Google's proprietary browser. Since the original Chrome port, Google has ported a full-screen API, mouse lock, and even OpenGL ES 2.0 3D graphics to the browser.
Among the many possibilities this brings to Chrome is easier to render 2D and 3D graphics, meaning Chrome could become a rich gaming platform that works on computers of every kind. While Chrome will be able to store the code for the game inside the browser, users will still have to fork over money for the necessary hardware to run it.
Since the technology is open source, Google and the developer community have already ported the Unity and Moai game engines, programming language environments Mono and Lua, audio middleware such as fmod and Wwise, as well as the Bullet physics engine, Google said.
Square Enix’s Mini Ninjas, a popular 2009 action-adventure game, is coming to the Chrome Web Store, the publisher announced yesterday. It will be the first game to utilize the Native Client SDK beta that Google released at Google I/O in May of this year as an open-source technology for running native compiled code in the browser. Chief executive officer of Square Enix Holdings, Yoichi Wada, says Native Client “enables the same consumer experience in the browser as in a native application”.
The game will require Chrome 17 Beta which will be available in the coming weeks (support for native code execution first appeared in Chrome 14). Mini Ninjas will be entering an open beta in December. The blurb promises console-quality gaming in the browser
Google took 3 years to develop this 2008 to present. A version of Chrome able to play native language games is to be released later this month. Sony's Game patent published earlier this year indicated that they also were interested in WebGL games. If Google is only now able to do this then Sony should not be considered Late to the party.
Just as with PS Suite, Open Source native language cross platform libraries are ported to all platforms - "already ported the Unity and Moai game engines, programming language environments Mono and Lua, audio middleware such as fmod and Wwise, as well as the Bullet physics engine" and are called/used inside the browser to support "Console quality" games.
It's a combination of WebGL and native language support. Since the native language libraries are the same on every platform the game is cross platform. Mono requires Cairo and Glib as does webkit in the PS3 and PS Suite on Android platforms.
Mono, used by both PS Suite and Google Chrome NaCl, is a Gnome technology and requires Cairo for rendering which requires Pango (layout engine for some international languages) which requires Glib; Lua can have Cairo bindings. Chrome's NaCl
runs in a sandbox inside a browser and PS Suite requires everything run through Mono so Mono is PS Suite's sandbox. Mono can API call/use a webkit core (Chrome) and the Android browser core based on webkit had to be rewritten to comply with webkit API standards to be used with PS Suite and its possible in the near future we will hear that Android's browser is going to support Google Chrome NaCl games.
A difference between PS Suite and Chrome Native Client looks to be in the choices for the game engines and AV support. Sony went with gstreamer and Chrome NaCl is using a different sound only library. PS Suite appears to have longer legs (more powerful for AV) while Googles choices allow for a larger more open, more inclusive platform. (This only from looking at the Sony Google TV and other CE disclosures on-line.)
A Linux or POSIX platform using a GTK webkit browser is already more than half way to supporting PS Suite and slightly less for Chrome's NaCl model as the support libraries chosen for webkit with WebGL support are the same as needed by PS suite and to a lesser extent Chrome's NaCl. The PS3 is getting a GTKwebkit WebGL browser.
What's not clear to me is if this is to be part of a WebGL standard in the future. Middleware
PS3 Home
Lua with Cairo bindings (could convert to Mono for scripting)
CairoGL
Gstreamer
Pango text layout engine for international text, not used yet?
Glib
webkit core? no proof of this but probably coming
Game Engine (Unknown)
Physics Engine (unknown)
Lua with Cairo bindings as of Home Client 1.4
As of Client 1.4 supports the Gstreamer DASH player and possibly Webkit core
Client 1.5 introduces a new Game engine (unknown possibly Phyre) and Physics engine (unknown rumored to be Havoc) The unknowns beg the question, what if Sony is using the same choices made by Google Chrome NaCL??? The PS3 has more free memory than is being used by Home and Hard Disk cache/virtual memory is being used in a manner like a handheld Vita or Android platform not like one with a hard disk. This leads to speculation that Sony has plans for "Home" on other platforms.
GTKwebkit coming to the PS3
webkit core (May require webkit2)
GTK
CairoGL
Pango
Gstreamer 1.0 with Cairo bindings (Audio and Video)
Glib
PS Suite on Android platforms via Android NDK
Webkit core (webkit2)
Mono (C & C++ compiled to C# then Mono bytecode)
GTK toolkit modified so much as to be custom Sony POSIX theme?
CairoGL
Pango
Gstreamer 1.0 with Cairo bindings (Audio and Video)
Glib
Game engine (unknown) OpenGL
Physics engine (unknown)
Google Chrome NaCl Game = NaCl in a Chrome Browser Sandbox = WebGL + Native Client Libraries
webkit core (webkit2)
Mono
CairoGL
Pango
Glib
Fmod Wwise (Audio)
Game engine (Unity and Moai) OpenGL
Physics Engine (Bullet)
Lua with Cairo Bindings
Native code compilers from many langagues including C, C++, and C# (may be part of the Mono package C & C++ compiled to C# then Mono bytecode)
A couple of people have commented that Mono is not a Gnome technology even though Wiki lists it so. One went so far as to define, probably accurately, that Gnome Technology programs use Glib but stated that Mono did not require Glib. This is not true. There is a
recent post on Mono API changes. There is a line in it; "Drop all uses of glib on public API. This will make the transition to eglib possible." that confirms Mono requires Glib but a move to a eGlib for embedded which is Glib stripped of all functionality not needed for Mono.
There is
new information from Sony on the Vita in the PS3 browser forum
Intellectual Property in Vita
Access NetFront
asiasoft AsiaFont
FONTFWORKS(日本語フォント/欧文フォントの一部)
MPEGLA(MPEG-4)
iWnn
楽ひら(手書き文字認識エンジン)Handwriting recognition
QUALCOMM
RSA
Skyhook Wireless
Sony Music Publishing
Fraunhofer IIS and Thomson(MP3)
blist
CyrusSASL
FLANN
FreeBSD
FreeType
giflib
libEtPan!
libjpeg
libtiff
MD5
NetBSD
OpenCV (Open Source Computer Vision) is a library of programming functions for real time computer vision.
squish
strlcpy
Which would indicate the Vita is using the same OS as the PS3; FreeBSD with routines from NetBSD
Browser or parts of the browser are from Access Netfront but at the same time they say they license WebKit.
http://www.scei.co.jp/psvita-license/webkit.html
http://www.scei.co.jp/psvita-license/WebKit.tar.gz webkit disclosure file , it contains every branch of webkit including GTK <sigh> but no way to tell the build
http://www.scei.co.jp/psvita-license/
Open source software used in PS Vita
1. blist
Web based database
2. bzip2 Open source data compressor
3. Cyrus SASL
Simple Authentication and Security Layer
4. FreeBSD Unix OS
5. FreeType2 Fonts
6. giflib GIF picture library utilities
7. libEtPan! Mail library
8. libjpeg Jpeg picture utilities
9. libpng PNG picture utilities
10. libtiff Tiff picture utilities
11. MD5 Checksum
12. NetBSD Unix OS
13. squish
Open Source DXT compression
14. strlcpy
String copy with protection for buffer overflow (increases security)
15. zlib Compression library
Internet Browser
1. cairo SVG drawing library and more used by webkit for rendering text and graphics
2. dtoa
Math rounding libary
3. expat Expat is a stream-oriented XML 1.0 parser library, written in C
4. FreeType2
5. hash.c routines to manipulate a hash table = data structure that uses a hash function to map identifying values, known as keys
6. ICU Unicode and Globalization support for software applications
7. libjpeg
8. libpixman library of Pixel manipulation routines now part of Cairo?????
9. libxml2
10. list.c
11. PCRE
Perl Compatible Regular Expressions
12. trio
Trio - portable and extendable printf and string functions
13. Webkit
Welcome Park
1. Boost
2. FLANN
3. OpenCV (Open Source Computer Vision) is a library of programming functions for real time computer vision.
Open source list for the Vita might be misleading. There is no Mono or GTK+ UI toolkit or modified GTK toolkit listed, both should be part of PS Suite. Cairo is listed for only the browser port but is needed for Mono/PS Suite and GTK toolkit or modified GUI. Cairo is not listed for the Vita OS but Pixman is listed outside of Cairo, Cairo and Pixman are normally together to reduce the size of the combined libary; Cairo = (Cairo SVG + Pixman + GlitZ). In this case the Vita OS may not use Cairo, instead uses Pixman which would mean the Vita OS UI does not use the GTK toolkit or GTK modified.
MPEGLA (Mpeg4) codec is listed but no core or player that could use them. GTKWebkit for the PS3 lists gstreamer, SNAP listed it, Gstreamer is in Sony Networked TVs, Google TV and blu-ray players and PDFs from Netfront ACCESS is using Gstreamer with browsers (like Firefox and Opera).
Netfront Browser NX feature list
Specifications | NetFront Browser NX
[Markup]
HTML 5, HTML 4.01, XHTML 1.1, XHTML Basic 1.1, XML 1.1, RSS feed (RSS 0.9/0.91/0.92/1.0/2.0, Atom 1.0)
[Style Sheets]
CSS1, CSS2.1, CSS3
[Advanced Scripting]
ECMAScript 262 3rd Edition
DOM Level 1, Level 2, Level 3
Ajax (XMLHttpRequest)
[Protocols]
HTTP 1.0/1.1
IPv4/IPv6
[Security]
SSL3
TLS1.0
[Memory Requirements]
ROM: 12MB (Browser engine only)
RAM: Less than 25MB (Depending on web content)
[Main Features]
Tabbed Multi-Window support
Smart Frame (Frame Flattening)
Continuously adjustable Zooming/Animated Zoom
Page/Image Saving
Word Wrap, Line boundary character check
International Domain Name
[Supported Operating Systems]
Linux® (Android™, Qt/Embedded, Qtopia, GTK+, and others)
UNIX
Microsoft® Windows® CE family, Microsoft® Windows Mobile® (Pocket PC, Smartphone)
Others
[Supported CPU]
ARM®
XScale
StrongARM®
Others
[Plug-In and Extension Modules]
Adobe Flash Player 10 (In planning)
The webkit2 GTK API is not finished, it's only partially implemented which might explain the Vita browser lack of features.