This project is pretty new but there is work to make it web browser capable either in a java applet or a plugin for IE/FF/WebKit/etc but there are also others that are out there using alternative renderers. Most of these are in early development with varying support and do not currently compare to Adobe’s Flash Player versions. However the hardware rendering ones like JITB may beat it fairly quickly once all the other features are added. Complete OpenGL based renderers like Unity or WebGL are fast and can run pretty heavy rendering because of hardware acceleration for all drawing and native support.
Flash Players that use OpenGL as the renderer are nice because cross platform support is easier. The reason why OpenGL is a great idea is it is so cross platform on desktop and on mobile, it is also coming soon in WebGL for the browser hopefully.
Versions of OpenGL and support
OpenGL ES
OpenGL ES 1.1 = OpenGL 1.5 and lower (fixed function)
Android
iOS devices 3rd gen and lessx
OpenGL ES 2.0 = OpenGL 2+ (current version 4.1 – shader capable).
iPhone (3GS or later), iPod Touch (3rd generation and later) and iPad
Android 2.2+
WebGL
OpenGL
Windows
OSX
Linux
There is still a clear open field for an open source player to match something like Moonlight for Silverlight or hardware rendered canvas. WebGL would be great to have in time if it gets support but it is also nice to have a compiled language in the content that works in the player faster than scripting but with the ease of scripting. Plugins are still very relevant if they can address that.
Alessandro Pignotti’s project looks to be the start of something good to come. Lightspark Open Source Flash Player [github]has some really nice features that should influence the Flash Player and maybe even draw some interest from Adobe? Maybe it can be like the Moonlight player for Silverlight only broader.
One such awesome feature is OpenGL GLSL hardware rendered shaders for elements of flash. Flash has Pixel Bender which is pretty nice but having GLSL shaders and the use of OpenGL directly is great.
Features
JIT compilation of ActionScript to native x86 bytecode using LLVM
Very good and robust support for current-generation ActionScript 3
A new, clean, codebase exploiting multithreading and optimized for modern hardware. Designed from scratch after the official Flash documentation was released.
Mobile games are on slower hardware, similar to later 90′s computers so native is a great way to go for 3d and 2d game development because of this limitation at the current time and well into the next few years. Take this time to learn you some native gamedev. andengine isn’t native directly as it is Java based but compiled with the Dalvik JIT virtual machine. Another way to go native on Android is the Android NDK which allows C and C++.
So many cool and useful technologies are unveiled at SIGGRAPH every year, this year at SIGGRAPH 2009 was no different. Khronos Group, behind the new guidance of OpenGL, OpenGL ES, OpenCL, OpenVG, COLLADA etc, came another big announcement about hardware rendering within the browser. WebGL is now an official standard being developed at Khronos Group to bring javascript control of OpenGL to browsers… Wow!
Ok so this was officially announced at the GDC in March but limited information, but now it has been slated for an official public standard in early 2010. Shortly after the announcement at the GDC we saw Google o3D appear doing exactly that, controlling OpenGL through Javascript in the browser but it was still largely software/harward hybrid rendered. Google, Mozilla, Opera are part of the companies supporting WebGL which is great for browser support, also NVIDIA, AMD and Ericsson are in on it.
Khronos Details WebGL Initiative to Bring Hardware-Accelerated 3D Graphics to the Internet
JavaScript Binding to OpenGL ES 2.0 for Rich 3D Web Graphics without Browser Plugins; Wide industry Support from Major Browser Vendors including Google, Mozilla and Opera; Specification will be Available Royalty-free to all Developers
4th August, 2009 – New Orleans, SIGGRAPH 2009 – The Khronos™ Group, today announced more details on its new WebGL™ working group for enabling hardware-accelerated 3D graphics in Web pages without the need for browser plug-ins. First announced at the Game Developers Conference in March of 2009, the WebGL working group includes many industry leaders such as AMD, Ericsson, Google, Mozilla, NVIDIA and Opera. The WebGL working group is defining a JavaScript binding to OpenGL® ES 2.0 to enable rich 3D graphics within a browser on any platform supporting the OpenGL or OpenGL ES graphics standards. The working group is developing the specification to provide content portability across diverse browsers and platforms, including the capability of portable, secure shader programs. WebGL will be a royalty-free standard developed under the proven Khronos development process, with the target of a first public release in first half of 2010. Khronos warmly welcomes any interested company to become a member and participate in the development of the WebGL specification.
Google released O3D this year and there are great strides in 3d within the browser from game engine wrapper technologies such as instant action technology, gaim theory engine (now owned by id Software and runs Quake Live, hardware rendered Unity 3D (and Torque 3D coming soon), and Flash software rendered 3d engines Papervision 3D, Away 3D, Sandy (Sandy also released a haXe version that exports a javascript version) and others. But it looks like the movement is to bring OpenGL to the web as a standard under the name WebGL, this would be great! There would still be lots of times where plugins are better now and in the near future but the path is a good one. Having a software/hardware rendering hybrid like Google O3D for broad video card support (some of the painful older intel cards), or using a plugin like Unity3D, Torque 3D or wrapper technology for bigger engines is a good idea for the time being. But the future is grand in this area.
I think that Google O3D and OpenGL ES success on iPhone games probably combined to get this in motion. OpenGL and very basic video cards are now standard in most machines out there. Unity3D actually published hardware statistics on casual gamers (web-based games) ever so kindly and shows that even though there are some older Intel cards out there, for the most part machines nowadays have a video card capable of supporting at least low-poly 3d and hardware supported 2d rendering in real-time for games, user interfaces and more.
This is exciting news, it appears the movement of the web gaming market is getting much more capable and is accelerating the innovation of hardware accelerating the web.
Making things easier to produce and control with more simplified and minimal languages like Javascript, Python and Actionscript etc that control more complex systems, that typically you would need to invest more time in such as a platform on C++ is the goal. V8-GL has this goal in mind.
V8-GL from the author states:
V8-GL intends to provide a high-level JavaScript API for creating 2D/3D hardware accelerated desktop graphics.
In other words, you can hack some JavaScript code that opens a desktop window and renders some 3D hardware accelerated graphics. Bindings are made using the V8 JavaScript engine.
I updated to iPhone SDK 3 beta 4 and iPhone OS 3 beta 4 and the latest Unity iPhone and things were much better in perception of speed at least in early testing. Not sure if it was more from one or the other but the games I am testing/building so far are quicker and the OS feels faster overall.
This build fixes many issues and makes some great optimizations for speed as listed here:
New Features and Improvements
Reduced memory footprint for uncompressed audio by 50%
“Memory usage for textures reduced by 50%. Texture memory is now freed once it has been submitted to OpenGLES on the device. The “Enable Get/SetPixels” flag in the Texture Import Settings lets you disable this feature on a per texture basis in order to access the texture data from a script using GetPixel etc.
Improved iPhone script call optimization
Removed unused parts of Mono runtime
Reduced memory overhead while reading data from disk and slightly improved load times.
Support for several predefined splash-screens (portrait/landscape) for Indie version. Just rename one of the splash-screens in the output directory to Default.png
Exported audio session activation/deactivation functions to AppController.mm
Added Scripting Reference code examples for iPhone specific APIs
Bug Fixes
Fixed audio to play correctly after phone call / text message / alarm interruption occurs
Fixed compressed audio occasionally refusing to play
Fixed AudioSource.PlayOneShot to work correctly with compressed audio
Fixed audio to respect Mute switch and background iPod music
Fixed Pause function and time property for compressed audio clips
Fixed OpenAL memory leak
Fixed PhysX memory leaks
Fixed Audio and Animation assets leaking while loading new scene
Fixed a crash related to playing compressed audio in a sequence
Fixed memory leak while updating Mesh geometry data
Fixed several small memory leaks in rendering module
Fixed asynchronous .NET sockets
Fixed .NET threads
Fixed cross thread boundary calling to the delegates
The site mentions that OpenGL source can be converted to run in the engine. You can do this now with Alchemy although it is in very early stages. It is not clear if it is an automatic conversion or if it simply means it is similar in syntax and method signatures, objects etc.
I definitely will be watching and see how it progresses, there isn’t much other than a single post about the engine so far and no info on the api or sample code. Looking forward to seeing more, the z-sorting is quite nice. Doesn’t appear like collisions are there yet but it has a nice look.
Sometimes excellent toolkits come out of the blue like this such as Ffilmation (isometric flash engine) or Alternativa (flash 3d engine flash 10 focused) so you never know.