Quake in WebGL

SiPlus published the https://github.com/SiPlus/WebQuake.

Update: http://webquake.quaddicted.com/, have fun!

Everything below this post might be outdated. Right now that installation is the shareware for legal reasons. The deathmatch server might occasionally be running but don’t expect it to.

Thank you very much!!! But please keep it up to date, some fixes are very important (at the time of writing it’s 1 build old).


Press p to toggle between texture filtering on and off.

I added some maps (either append ?+map MAP or enter “map MAP” in the console):


Watch Quake done Quickest (Quake in 11:29 on Nightmare difficulty): http://www.quaddicted.com/stuff/WebQuake/Client/WebQuake.htm?-game%20qdqst

Hi, could you tell me the folder structure you have on your server for this game … I can’t seem to work out where to put the unpacked ID1 folder ?

Great job with this so far. Are you planning on making it fully featured? ie mod support etc?

Paul: For example like this


Make sure everything is lowercase (unless you are on a Windows server).

Andrew, mods work. :slight_smile: Try http://www.quaddicted.com/stuff/WebQuake/Client/WebQuake.htm?-game%20qdqst or http://www.quaddicted.com/stuff/WebQuake/Client/WebQuake.htm?-game%20czg07 (that one crashes after the start map) or http://www.quaddicted.com/stuff/WebQuake/Client/WebQuake.htm?-game%20quoth (I have not tested that one yet).

I tested Quake Rally and Navy SEALs, they’re safe to install. Team Fortress works too, but it’s pointless at the moment.

“WebQuake” folder and JavaScript files shouldn’t be lowercase.

Quoth is completely broken, looks like it was made for some specific engine.

Pushed a commit (build 10) adding forgotten console command and variable and forcing all requested file names to be lowercase.

“Quoth is completely broken, looks like it was made for some specific engine.”

Absolutely not the case…


Yeah, Quoth should definitely run. I noticed the same issue (texture garbage) in dm5rmx. Reminds of the good old “grey flash”, ie maxed out edges and faces.

Quoth’s start.bsp works, but e1m1quoth has completely broken polygons. Some of them flash, some of them are extended into infinity, some of them are drawn only partially. The collision hull looks mismatched, and many entity polygons are missing. There’s something wrong with the face-to-triangles conversion code, I think. dm5rmx has the same issue as well.

DM5RMX doesn’t work properly in WinQuake, a lot of polygons are missing. I’m not going to fix this. It was compiled with a hacky compiler.

I do not know the technical details but that was a performance issue back in the days. You can increase the numbers for r_maxedges and r_maxsurfs to get the rendering to work. That was a common thing to do even in the DOS days.

A modern GL client should not limit the amount of rendered edges/surfs but eat whatever is legal in the BSP format (actually, more than that to support maps compiled with modern BSP compilers!).

Grep http://user.tninet.se/~xir870k/tooltips.txt for “grey” and see the bottom of http://user.tninet.se/~xir870k/readmegl.txt
Some stuff from there would break the protocol. The modern standard protocol for SP is Fitzquake’s protocol 666 which allows for more entities etc.

There’s no limit in WebQuake, map parts are dynamically allocated, but in WebQuake I don’t see the same polygons as in WinQuake. In WinQuake, they sometimes appear, but in WebQuake, they are completely missing, and there are lots of garbage and overlapping polygons. As I said, I tried to render all polygons at once, but I still didn’t see the missing polygons, so I don’t think this is caused by rendering leaf marksurfaces instead of node surfaces.

For some strange reason, WebQuake renders 62000 (!) triangles on dm5rmx when all leaves are visible. While in GLQuake that’s slightly over 9000 polygons, and polygons on dm5rmx usually consist of 2-3 triangles, so there shouldn’t be more than 27000 triangles.

Amazing work! We need a webgl editor now!

I kind of want to try doing a webgl editor, but I have a funny feeling I never will. Would be cool to be able to map on any device that supports JS, HTML5 and WebGL.

than, can you imagine how long will it take to compile a map with vis in JavaScript?

http://radiantjs.com/ !

Would be great if there was a web version of Worldcraft, but with 3.x-like camera controls, not awful view-roll-changing mess from 1.6.