does it make sense to port desktop games to the browser?
… if we really get bandwidths like heck… then maybe… otherwise it will stay the buy downloadable-setup, install… update, update process.
Here are two examples, both are using WebGL, it might run on your phone if the browser is supporting it (Android Users: Install Firefox for Android! i tested and it seems to play WebGL-Quake-2 !!! but i have no bluetooth keyboard to actually try it out)
Google’s HTML5 port of Bytonic Software’s Java port of Id Software’s Quake II
http://quake2playn.appspot.com/ -> loads quiet fast… but is it really html5? not java?
https://en.wikipedia.org/wiki/Google_Web_Toolkit
Google Web Toolkit (GWT /ˈɡwɪt/), or GWT Web Toolkit,[1] is an open source set of tools that allows web developers to create and maintain complex JavaScript front-end applications in Java.
Using GWT, developers can develop and debug Ajax applications in the Java language using the Java development tools of their choice. When the application is deployed, the GWT cross-compiler translates the Java application to standalone JavaScript files that are optionally obfuscated and deeply optimized. When needed, JavaScript can also be embedded directly into Java code, using Java comments.[11]
GWT does not revolve only around user interface programming; it is a general set of tools for building any sort of high-performance client-side JavaScript functionality. Indeed, many key architectural decisions are left completely to the developer. The GWT mission statement[12] clarifies the philosophical breakdown of GWT’s role versus the developer’s role. History is an example of such: although GWT manages history tokens as users click Back or Forward in the browser, it does not prescribe how to map history tokens to an application state.
GWT applications can be run in two modes:
- Development mode (formerly Hosted mode): The application is run as Java bytecode within the Java Virtual Machine (JVM).[13] This mode is typically used for development, supporting hot swapping of code and debugging.
- Production mode (formerly Web mode): The application is run as pure JavaScript and HTML, compiled from the Java source. This mode is typically used for deployment.
here is how to offline build and run: https://code.google.com/p/quake2-gwt-port/wiki/BuildingAndRunning
have not tested in on mobile phone… but under Sware Iron + OSX + Xeon 3.0 GHZ it runs FAST (50+x fps)
# offline build on debian: apt-get install vorbis-tools openjdk-6-jdk and try sudo apt-get install lame apt-get install vorbis-tools openjdk-6-jdk lame hg clone https://code.google.com/p/quake2-gwt-port/ cd /applications/ apt-get install hg apt-cache search mercurial apt-get install mercurial-git hg clone https://code.google.com/p/quake2-gwt-port/ # complains about ssl hg clone http://code.google.com/p/quake2-gwt-port/ # use no ssl apt-get install ant cd quake2-gwt-port/ root@knoppix:/applications/quake2-gwt-port# ant run Buildfile: /applications/quake2-gwt-port/build.xml libs: [mkdir] Created dir: /applications/quake2-gwt-port/war/WEB-INF/lib [copy] Copying 1 file to /applications/quake2-gwt-port/war/WEB-INF/lib server: [mkdir] Created dir: /applications/quake2-gwt-port/war/WEB-INF/classes [javac] /applications/quake2-gwt-port/build.xml:59: warning: 'includeantruntime' was not set, defaulting to build.sysclasspath=last; set to false for repeatable builds [javac] Compiling 271 source files to /applications/quake2-gwt-port/war/WEB-INF/classes [javac] Note: Some input files use unchecked or unsafe operations. [javac] Note: Recompile with -Xlint:unchecked for details. [copy] Copying 4 files to /applications/quake2-gwt-port/war/WEB-INF/classes [copy] Copied 13 empty directories to 13 empty directories under /applications/quake2-gwt-port/war/WEB-INF/classes install-resources: [java] Trying mirror: ftp://ftp.fu-berlin.de/pc/msdos/games/idgames/idstuff/quake2/q2-314-demo-x86.exe
now point your browser to the machine you compiled it on (preferable linux machine)
super fascinating… now SOUND IS WORKING! THE CPU USAGE IS NOT THAT HIGH! AMAZING! IT’S JAVASCRIPT! ;-p
you can resize the browser window… no problem…
from a tech perspective: amazing job 😀 GOOGLE-GUYS! but cruel game.
Micro$oft’s Assasin’s Creed in da (ie only?)-Browser
http://race.assassinscreedpirates.com/ -> never finishes loading in Sware Iron (Chrome rip-off music is also not playing…)
Trying firefox… now music plays: but the game stops with these errors: looks like no browser but ie is supported.
bad job microsoft.
http://race.assassinscreedpirates.com/
liked this article?
- only together we can create a truly free world
- plz support dwaves to keep it up & running!
- (yes the info on the internet is (mostly) free but beer is still not free (still have to work on that))
- really really hate advertisement
- contribute: whenever a solution was found, blog about it for others to find!
- talk about, recommend & link to this blog and articles
- thanks to all who contribute!