Quake

Things to add:
I already have a lot of stuff in here known, but at least linking to the high level places in the other lists of things section, and having it here as a dive for myself to do in the future, would be nice.
Other lists of things:
ranguli/awesome-quake - A curated list of awesome Quake related goodness
q2cafefiles.com - Big directory listing of all sorts of Quake II stuff.
Tools:
brokenprogrammer/quake-mdl-viewer A .mdl viewer for quake and quake 2.
Written in Jai.
General:
Documents / Writeups:
Guillaume Chereau - Comparison of Doom 1, Quake, and Doom 3 entity references system
Fabien Sanglard - Quake 3 Source Code Review: Network Model
myria666 - Quake Player Movement Document
This page is for a PDF document I have written that details the workings of (most of) quake’s
pmove.c
file.As well, I included a bit of a ramble that briefly introduces collision algorithms such as GJK and EPA, and some other structures like BVH and BSP.
idtech1 / Quake:
TODO put into place:
https://www.quaketerminus.com/addon.shtml
https://github.com/mattbailey/quake-slide
https://www.ryanliptak.com/blog/rampsliding-quake-engine-quirk/
LibreQuake - A free and opensource Quake remake with art under the BSD license
Games:
jhspetersson/q2048 - 2048 game remake on Quake engine
Progs:
Engines:
Ironwail - High-performance QuakeSpasm fork
Games:
Nuclide is a cross-platform game development kit. It is powered by FTE QuakeWorld and intended for developers.
Games:
Tools:
By Tim Bergeron, creator of QSS-M.
idtech2 / Quake II:
TODO put into place:
https://github.com/q2community
https://github.com/VortexQuake2/Vortex
https://q2community.github.io/q2-modding-api.github.io/#/
https://www.oskarmendel.me/p/diving-into-quake-2-building-a-ui
https://github.com/hifi/q2admin/tree/master
Quake II Lua Integration
Basically mounts a ‘real’ game DLL itself, but then passes off functions to a Lua DLL to handle it as well, very cool.
Mods / Tools:
Remaster:
Games / Map packs:
Blendo Games - Citizen Abel (Episodes 1-4)
The first four Citizen Abel episodes are single-player maps introduced during the wild and woolly mod-making days of 1999.
• Citizen Abel 1: The Self-Entitled Adventure
• Citizen Abel 2: Bargain-bin Savior
• Citizen Abel 3: The Civic Redemption
• Citizen Abel 4: Malfunction Junction
Engines:
Games:
There’s a monster gurgling around with a big pricetag attached to his head. No one’s been able to defeat him, but we’re all very confident you’ll knock out a wicked googoly.
Blendo Games - Thirty Flights of Loving
thirty flights of loving uses (an old version of) kmquake2. It looks like kmq2 is still being updated: http://www.markshan.com/knightmare http://www.markshan.com/knightmare/editing.htm
one of its big things is kmq2 includes Lazarus, an add-on that adds a bunch of functionality to singleplayer mapping: http://www.markshan.com/knightmare/downloads.htm
Tutorials:
Map-Center
The Quake 2 Documentation Project
Interfacing the Game Subsystem
Overview of exports / imports to the game DLL.
globals.SpawnEntities = SpawnEntities;
This function is called from the engine at each map start. If you look in > game.h you can see that this function takes three parameters. The first is the name of the map, the second, and most interesting, is something declared as char *entstring, and finally the third is the spawnpoints for something which was not possible to put in the map (The code says it has something to do with coop respawns, strange).
The entstring is really a very long string, actually the ascii part of a map which can be seen using a hex viewer. It looks like a lot of c structs, and contains all the entities and the coordinates. That part is being sent in here for parsing, so if you wanted to, you could change the entity definition for map files TOTALLY.
Videos:
idtech3 / Quake III Arena:
idtech4 / Doom 3:
Engines:
DanielGibson/SkinDeep - Unofficial Linux port of the SkinDeep Demo source code
NOTE: This README (everything behind the line of dashes) was included in the SkinDeep sourcecode (skindeep_sourcecode_2025_02_13.zip)
Development Resources:
This is a starter kit for making standalone projects with the Doom 3 engine.
This kit includes:
- the minimal amount of art/data assets required to run the game.
- one test map.
Use this as a starting point for your projects, make cool stuff, enjoy!