Jack Harrhy

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:

QuArK - Quake Army Knife

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:

LibreQuake - A free and opensource Quake remake with art under the BSD license

Games:

jhspetersson/q2048 - 2048 game remake on Quake engine

Engines:

FitzQuake

FTEQW

Games:

Nuclide

Nuclide is a cross-platform game development kit. It is powered by FTE QuakeWorld and intended for developers.

Games:

ezQuake

WebQuake

Tools:

idtech2 / Quake II:

TODO put into place:

Mods / Tools:

Remaster:

Engines:

Yamagi Quake II

KM Quake II

Games:

Blendo Games - Gravity Bone

Blendo Games - Thirty Flights of Loving

Wikipedia

GitHub

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

Qfusion/qfusion

Tutorials:

Map-Center

quake.blog

www.gamers.org

The Quake 2 Documentation Project

Interfacing the Game Subsystem

Overview of exports / imports to the game DLL.

quake2.com

The arts of Q2 DLL coding

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:

iodoom3

dhewm3

Quadrilateral Cowboy

Skin Deep

Steam

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:

blendogames/Doom3-Starter-Kit

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!