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)

Quake2Benchmark

 

# 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)

Quake2 as JavaScript fascinating

super fascinating… now SOUND IS WORKING! THE CPU USAGE IS NOT THAT HIGH! AMAZING! IT’S JAVASCRIPT! ;-p

Quake2 as JavaScript fascinating2

you can resize the browser window… no problem…

Quake2 as JavaScript fascinating3

Quake2 as JavaScript fascinating4

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…)

asassins creed in browser

Trying firefox… now music plays: but the game stops with these errors: looks like no browser but ie is supported.

bad job microsoft.

asassins creed in browser - looks like no browser but ie is supported.

http://race.assassinscreedpirates.com/

 

admin