The demo should work on any browser that supports all the necessary web standards (WebGL, typed arrays, blob constructor, compressed textures, etc.). We have tested and seen the demo work on Firefox and Chrome (multiple versions, multiple OSes).
Running games like this on the web is very new, so some problems are to be expected. Aside from the issues mentioned in the "Troubleshooting" section on the demo page, we have had reports of the following:
Please file an issue if with the contents of the web error console if this happens.
A more recent build is available here, which is worth trying too.
If the game crashes the tab or the browser, you should file an issue with the browser so they can fix it. We would appreciate it if you also filed an issue with us linking to it so we can track that.
If you get a JS stack trace, please file an issue with it. Note that you can append
,debug to the game URLs to make it load a non-minified version of the main JS file for better stack traces.
If the game is unexpectedly slow, on a machine with decent graphics hardware that can run other 3D content well, please file an issue on our github page.
Enter the menu with 0 or ` then go to options->keys. Or, you can use the game console, for example
/bind G left will bind G to moving left. The other directions are right, forward and back (see data/defaults.cfg for more).
Sure, in the game type
If your project is just standard Cube 2 with different artwork and scripts, but no changes to C++, then just grab BananaBread and change the art (see Modding) and scripts however you want. See the README for build instructions.
If your project has modified Cube 2's C++ code, you have two options: Either modify the BananaBread C++ code with your changes and do the previous paragraph's approach - that is simplest if you modified little of it - or, modify your project to compile to JS. The following is a sketch of how you would so so:
git diff -U5 b3e041526fa6dcc629c476fa34d1d5120b49cd0b `find -name "*.cpp"` `find -name "*.h"`
src/webdirectory like in BananaBread, copy in libz.a, and create a Makefile. The Makefile is a modification of the normal Sauerbraten Makefile, adding a little code to use emscripten. Most of that is packaging the files (building for the web is a little different than natively in that respect). See Modding for more discussion on file packaging.
Please feel free to ask for help on our bug tracker here on github or on the emscripten IRC channel (#emscripten on irc.mozilla.org) - we'd love to help you with this stuff.