ioq3.js is a simple port of ioquake3 to the web using Emscripten. It was heavily inspired by inolen's quakejs, but aims to be simpler and up-to-date with the latest Emscripten features.
You can play the demo version here.
make PLATFORM=js EMSCRIPTEN=/path/to/emscripten
Binaries will be placed in build/release-js-js
.
Data is preloaded using Emscripten's virtual filesystem. So, if you want to play, you have the provide the official (or demo) PK3's. Here's how it would work for retail Q3:
python /path/to/emscripten/tools/file_packager.py emscripten_data.data --preload baseq3 > emscripten_data.js
And add this to the build/release-js-js/ioquake3.html
file:
<script async type="text/javascript" src="emscripten_data.js"></script>
- Run
python -m SimpleHTTPServer 8888
inbuild/release-js-js
- Load localhost:8888/ioquake3.html in your browser
- Networking
- Drop LEGACY_GL_EMULATION