Quake
Quake stuff.
TODO: give this page a graphical overhaul to differentiate it from the rest of the website.
Wider than 60ch
Less spaces between indents
Bring back bullets
Things to add:
Other lists of things:
ranguli/awesome-quake - A curated list of awesome Quake related goodness
Tools:
brokenprogrammer/quake-mdl-viewer A .mdl viewer for quake and quake 2.
Written in Jai.
General:
Documents / Writeups:
Quake 3 Source Code Review: Network Model
…
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
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:
Engines:
Games:
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!