Memory / Work / QuakeOneDogMode

Created , last updated . Tags: , , .

This page is for taking notes for and tracking my work on a Quake mod. You can find the mod itself (such as it is) in this software repo. The mod in its current state is almost entirely the work of other people; you can find a credits list in the README.

Immediate tasks are:

Switch engines. Ironwail isn't cutting it. I'm going to need something that at least supports tracebox. FTE seems good.

  • Create patches for & publish my current engine modifications
  • Record a video demonstration of the new movement behavior
    • demo of SlideMove & StepSlideMove
    • demo of Quake 3 style strafejumping
    • demo of QC implementation of stepjumping / pseudo-airstepping
    • demo & explanation of doublejump and telejump
  • Write and publish an article going over the above code & changes


Currently implemented:

  • Quake 3 strafejumping
    • Active when requesting diagonal movement while in the air, i.e. holding either forward or back and also one of the sidestep left or right keys.
  • New stair behavior (Quake 3's stepslidemove)
  • Quake C "step jump" behavior inspired by JCR's jump boots
    • You can now jump while in the air ahead and immediately in front of a step.
  • Doublejumping (two jumps within 400ms)
  • Teleporter jumps (jump before entering a tele, jump again after exiting for extra height & speed)
  • Wall clipping / skimming

Things to implement:

  • Crouching?
  • CPM-style +movement direction air control
    • calculate difference between movement direction and wishdir to determine whether to use CPM or Q1 air control; if wishdir is same as movement dir, do CPM, if it's over 45 degrees outside movement dir, do Q1.
  • A timer for jumppad-like wind brushes to prevent players from losing Z velocity at the top edge of whatever platform the brush is sending you to


Possible new armor system: a more 'metroidvania' style setup where armor upgrades set A. the maximum armor you can have and B. the absorption tier. Armor shards would then refill up to the max value set by armor upgrade. Upgrades would be: base (max 50, 1/3 absorb), Green (max 100, 1/3 absorb), Yellow (max 150, 3/5 absorb), and Red (max 200, 4/5 asborb).


New monsters: bats, rats, spiders, etc. Maybe I can learn how to model for Quake? I dunno. That seems unrealistic.


Table of biomes, associated maps, progression

Quake C Cleaning

Reformatting & Refactoring project. Asterisk indicates it's been completed.

ai.qc              dtquake.qc         misc_model.qc      mon_spawn.qc
buttons.qc         fight.qc           misc.qc            monsters.qc
client.qc*         fog.qc             mobot.qc           mon_wizard.qc
combat.qc          fteqcc.ini         mon_boss2.qc       mon_zombie.qc
cshift.qc          func_bob.qc*       mon_boss.qc        newflags.qc
custom_mdls.qc     func_brush.qc      mon_demon.qc       plats.qc
customsounds.qc    func_fall2.qc      mon_dog.qc         player.qc
cutscene.qc        hip_count.qc       mon_enforcer.qc    progs.src
defs_builtins.qc*  hip_part.qc        mon_fish.qc        rubicon2.qc
defs_entvars.qc*   hip_rotate.qc      mon_hknight.qc     subs.qc
defs_globalvars.qc*hip_trig.qc        mon_knight.qc      triggers.qc
defs_misc.qc       intermission.qc    mon_ogre.qc        utility.qc
doe_elbutton.qc    items.qc           mon_oldone2.qc     weapons.qc
doe_ltrail.qc      keydata.qc         mon_oldone.qc      world.qc
doe_plats.qc       keylock.qc         mon_shalrath.qc
doors.qc           lights.qc          mon_shambler.qc
dtmisc.qc          math.qc            mon_soldier.qc