Monday, August 30, 2010

Android Development

Originally I had figured that it would be nice to have a simple way to package the engine and a game as an installable package for the Android platform.  However, after doing some testing and preliminary benchmarking, I've determined that running a game in an engine completely written in JavaScript isn't going to perform well on that platform.  So I've expanded the task to develop a launcher app into a complete port of The Render Engine to the Android platform as an app.

I know it might sound foolish, but most people aren't as interested in extending the engine as much as they are to use it.  Instead of running the engine in JavaScript, I plan to create a simple prototype to test implementing the engine in Java and using the WebView to expose the engine to a game.  The methods will all be the same, but the internals will run in native Java rather than JavaScript.  It's going to take some time, but the eventual plan is to be able to write a game for The Render Engine which runs in any web browser, plus the Android app, without changes.

What this would encompass is rewriting the engine in Java and creating interfaces to the parts of the engine using the Java to JavaScript bridge.  If this proves, a) plausible, and b) practical, then the result might be to have games that run quickly on Android and take advantage of the hardware more natively.  As such, I'm expecting most of the processing to speed up and for games to run without feeling sluggish.  Eventually, it would be possible to navigate to a game (or possibly distribute it through the Android Market Place) which runs the same on any desktop browser, and with the best possible performance on Android devices.

If all goes well with this, I might see if I can either develop (or commission) someone to do this for the Apple iPhone.  However, don't cross your fingers yet since that might violate their policies and allow people to develop apps for iPhone which aren't iTunes-approved.

No comments:

Post a Comment