News | Forum | People | FAQ | Links | Search | Register | Log in Project Expanding WebQuake
Hello, my first post here, hope. I normally used to post on, but I think here is a better place for this kind of post?

A few users ago, a developer did a line by line conversion of the Quake source code to javascript. I've been intrigued ever since, this port allowed for browser based play like QuakeLive, and also allowed native clients to connect.

The original developer seems content with leaving the original source close to original, so I've forked it and have been quietly toying with it off and on the last few years. The last few months I've been really focused on making something that can be consumed by anyone, and that's the state of today.

Why? When I think of trying to get a friend to run quake, I think of having them install quake, maybe install a quake loader, getting a decent key map, maybe adding command line parameters to get the engine working correctly. WebQuake greatly simplifies all this by allowing me to send a simple link to someone and they can be instantly in-game running a demo, custom map, or multiplayer game. Did I mention platform agnostic? It even runs on mobile!

The downsides to WebQuake -
- Slower than native (this is running webgl, but everything filters through the browser's API)
- Browser may limit key configurations - you there's certain key commands that you can't override in a browser like alt+w
- Require an internet connection to run (can be run offline, might have some options here)

What I've added:
Async/IO - the original source used deprecated blocking IO which isn't compatible with other technologies such as IndexedDB
IndexedDB - Local storage to support adding client pak files. This allows the server to not make pak1.pak public, and allows the user to supply it from their local filesystem, "proving" they bought the game.
ES6 modules - allows the game files to be packaged up in modules

What offers:
Frontend hosting webquake assets with pak0.pak so you can play shareware out of the box
Master server keeping track of server instances
A couple test instances running on my home server
A CTF server running in AWS Ohio

What I want to do:
- Demo Database - Ability to host/play demos
- Custom map lookup (based on quaddicted's database)
- Add more proquake features to the engine
- Make "nicer" - it's currently just a prototype
- Move everything to AWS
- Support local mods

Anyway, that's all. I don't know how useful this might be, so putting out there to gauge interest. Would love to keep a project log here maybe?
First | Previous | Next | Last
Those one-letter filenames look intimidating. :D 
hey i think it's cool.

#1 feature is probably make watching a quake demo as easy as watching a video on youtube.

Playing in the browser is cool too but has some UX issues like you described -- but might still be good as an entry point for first time players, they can sample the game easily and then install a native client once they decide they like it. 
Agree This Is Way Cool 
Please keep us up to date. 
Hmm yeah a demo browser/viewer could be cool, especially in conjunction with the ability to load custom maps.

I've seen this sort of thing before but it's still pretty trippy to watch the opening demo roll along in a browser window. My only request at the moment is to allow us to set the gl_texturemode. :-)

(FYI there's a few typos or missing spaces/words on the main page: "Tanks", "accessbile", "intomodern", "which I've wanted to ever") 
Oh heck you do have a config file in there for modifying. Never mind about my request. :-) 
First | Previous | Next | Last
You must be logged in to post in this thread.
Website copyright © 2002-2024 John Fitzgibbons. All posts are copyright their respective authors.