The COG Factory / Level Design Projects

The Deep Cut

EIGHT LEVELS DOWN ONE HOLE — a chained singleplayer campaign with objectives, secrets and a duel
DOWNLOAD ZIP · 504 KBBUILD 12026-09-05
The Deep Cut

Q. Can this pipeline produce an EIGHT-LEVEL AAA singleplayer campaign — one continuous descent with objectives, retail secrets, doors, a rider-carrying lift, an escalating enemy roster and a final duel — from one plan file and a fleet of agents, each level authored by its own agent, with every engine run kept by the orchestrator?

Yes: eight levels, 186 sectors, 2,462 surfaces, 34 secrets, 24 objectives, one chained episode, 18 of 18 gate rows green including a chain control that must fail, and a packed 2.21 MB GOB that boots from dist/. Four findings outlive it, and the first is the one that matters most to every level this factory will ever build. EVERY WALL TEXTURE THIS PIPELINE HAD EVER PRODUCED WAS MIRRORED LEFT-TO-RIGHT. wheel.wall_frame returned n × ẑ where the engine wants ẑ × n — exactly antiparallel on every wall of every heading, which is invisible on tiling grime and fatal on lettering, signage or a control panel. Settled by photograph: two panels of the same material on one wall, differing only in un, one reading R and the other Я. The analysis named four sites; fixing those and then running the NEW checker against the NEW output found a fifth site nobody had looked atcampaign.sealed_doors writes the positive in-plane axis whichever way the wall faces, so half of every project's blast doors were mirrored too. 3,992 of 4,645 drawn wall faces across p44–p52 are mirrored; all eight p53 levels are 0. Second: an items.dat inside the episode GOB DOES override the stock inventory table, against three recon notes that said it could not, and a partial one replaces it wholesale — after which every bin reads 0.0, every SetInv is a silent no-op, and objectives, goal flags and LucasArts' own secrets cog die together with a clean log. Third: a distinct episode level value hangs the chain on the modal tally screen, so the campaign grants force rank and powers directly from each level's master cog instead. Fourth: campaign.py bakes a level-wide floor into two functions — a door jamb's ceiling and a sealed panel's sill are both absolute world Z, so on a stacked level the jamb lands below its own floor and the panel cut fails naming a coordinate nowhere near the mistake. Both are fixed in a subclass and an override, with the reason at the override site. And underneath: a throwaway spike is cheaper than a recon agent and is the only thing that can contradict one — seven never-run systems were round-tripped in one two-level probe episode before a single campaign level was authored.
archetypeEIGHT LEVELS DOWN ONE HOLE — a chained singleplayer campaign with objectives, secrets and a duel
projectp53-campaign
date2026-09-05
built8 levels · 186 sectors · 2,462 surfaces · 13.1–13.8 surfaces/sector · 34 secrets · 24 objectives · 65–83% of sectors sounded · 39 materials, 0 dflt.mat · 18 gate rows, 1 a control
packageP53.GOB, readme.txt, screenshot.jpg
build1 — 2026-09-05
sha2564b1dadcfaedcffe6a1e56c0c64cd799d09020c8bcf48adafa3f12b0daa73e581

Installing it

  1. Unzip it.
  2. Drop the .GOB into the episode folder of a Jedi Knight install — the one that already has JK1.GOB in it.
  3. Pick it from the episode list. On a libretro frontend, load the .GOB itself as content.

The GOB carries its own level, cogs, materials and sounds and reads the stock resource/ for everything else. There is no retail game data in the zip.

These are living projects, not finished releases. A level is rebuilt whenever something is learned — a lighting rule, a texture orientation, a whole detail pass — and it keeps its filename through all of it. The build number is how to tell which one you have: it is printed in the readme inside every zip, and it only moves when the level's bytes actually change.

Screenshots

Textures generated for this project

p53wwallp53wgatep53cwallp53ctrimp53kflorp53hwall

The readme that ships with it

========================================================================
 Jedi Knight Level

 P53.GOB

 Imperial Survey has driven a lined shaft six hundred and forty metres
 into the ash of Verrick, and it is not looking for ore. Ride the cage
 down through the muster deck, the crusher gallery and a hundred-year-
 old colony the bore cut clean in half, until at four hundred and
 twenty metres the blast seal comes up on riveted blue hull plate:
 there is a dreadnought buried down there, the colonists found her
 first, and something in her holds is why they stopped digging. Then
 the hole runs the other way. The core goes up the bore on the hoist
 and you go after it, out into the ash light where a walker guards the
 haul road, and up onto the headframe where you started, to face the
 overseer of Bore Nine across the mouth of the shaft. Eight levels and
 one hole: a cage that carries you, doors that come back, thirty-four
 secret areas, and a field log that ticks off as you go.

 [cogfactory / p53-campaign]

 BUILD 1  --  2026-09-05
 sha256 4b1dadcfaedcffe6a1e56c0c64cd799d

 This level is not made or distributed by LucasArts
 Entertainment Co.
========================================================================

THIS PACKAGE
------------------------------------------------------------------------
  P53.GOB          the level
  readme.txt       this file
  screenshot.jpg   what it looks like

INSTALLATION
------------------------------------------------------------------------
Drop P53.GOB into the `episode` folder of a Jedi Knight install (the one
that already has JK1.GOB in it) and pick it from the episode list.
Nothing else needs to change: the GOB carries its own level, cogs,
materials and sounds, and reads the stock resource/ for everything else.

On a libretro frontend, point the core at the GOB itself. It needs a
folder beside it holding `resource/` from a real install -- that is
where the retail data lives and none of it is in here.

CONTROLS
------------------------------------------------------------------------
  PLAY IT: New Game, and pick COG Factory p53 The Deep Cut.
  EIGHT LEVELS, ONE HOLE. You start with fists and a bryar; the shaft
    hands you a weapon a level until the saber at four hundred metres.
  OBJECTIVES: press ESC and open the Field Log. Each level has two to
    four, they tick off as you go, and the log also counts your secrets.
  SECRETS: thirty-three of them, at least one on every level, and the
    game says ENTERED SECRET AREA when you find one. Shoot suspicious
    panels; look behind the machinery; the sump under the cage is a room.
  THE CAGE carries you between depth bands. Stand on it and wait.
  DYING costs you nothing but the level: the game autosaves at every
    level start and puts you back there with no menu.
  NO MUSIC YET: the levels call for MUSIC/Track40..47.ogg and those tracks
    are not written, so the campaign plays on ambience alone.

NOTES
------------------------------------------------------------------------
  ONE PLACE, EIGHT DEPTHS. Every level carries one segment of the same
  1.20-across bore casing, the same cage, and a depth plate on the
  landing wall; you leave each level through a landing box and arrive
  in the same box one band lower. What changes is what the bore is
  cutting through -- Imperial plant, then ore-rust industry, then a
  hundred-year-old colony the shaft cut in half, then raw rock, and
  then, at four hundred and twenty metres, hull plate.

  THE ENGINE HAS A SECRETS SYSTEM AND WE FOUND IT. Bins 70 and 71 with
  LucasArts' own 00_secretareas.cog -- a cog this episode NAMES and
  does not ship, because a mod GOB may reference the stock library.
  The linkid is a bitmask, so re-entering a secret does not award it
  twice.

  NOTHING IN A JEDI KNIGHT LEVEL'S GEOMETRY CAN MOVE. Every door and
  every lift is a THING on a path, and a rider is carried only because
  the engine's own move walks whatever is standing on it -- a bare
  position write teleports the platform and leaves you behind.
  Measured both ways before the campaign was built.

  EVERY WALL TEXTURE THIS PIPELINE HAD EVER MADE WAS MIRRORED. The
  frame returned the cross product the wrong way round, which is
  invisible on tiling grime and fatal on lettering. Two panels of the
  same material, one each way, photographed in the engine: one reads R
  and the other reads it backwards. This is the first episode built
  with it right.

  THE ROOMS ARE SMALL ON PURPOSE. Pooled over a thousand retail
  sectors that hold an actor, the median ceiling is 0.60 units and the
  median footprint 1.13 -- smaller than anything this factory used to
  build. What retail spends inside that volume is pieces, motion,
  script, light and sound, so that is what this campaign spends too.

  SOUND IS FREE. Every room carries an ambience bed named straight out
  of the retail resource GOB, at a volume chosen per room the way
  LucasArts did it -- the same file quiet in one space and loud in the
  next, to pull you toward the shaft.

WHAT IS IN THE GOB
------------------------------------------------------------------------
       360  episode.jk
    107422  jkl\p53crush.jkl
      1396  jkl\p53crush.manifest.json
    113162  jkl\p53face.jkl
      1586  jkl\p53face.manifest.json
    118692  jkl\p53haul.jkl
      1644  jkl\p53haul.manifest.json
     93846  jkl\p53head.jkl
      1978  jkl\p53head.manifest.json
    115829  jkl\p53holds.jkl
      1753  jkl\p53holds.manifest.json
    106573  jkl\p53mustr.jkl
      1353  jkl\p53mustr.manifest.json
    102014  jkl\p53well.jkl
      1514  jkl\p53well.manifest.json
    112276  jkl\p53works.jkl
      1754  jkl\p53works.manifest.json
      3260  cog\p53door.cog
      5766  cog\p53goal.cog
      3502  cog\p53lift.cog
      6857  cog\p53lvl.cog
      2276  3do\p53leaf.3do
      2274  3do\p53pad.3do
     32908  mat\p53cceil.mat
     32908  mat\p53cflor.mat
     32908  mat\p53cgate.mat
     32908  mat\p53ctrim.mat
     32908  mat\p53cwall.mat
     32908  mat\p53fceil.mat
     32908  mat\p53fflor.mat
     32908  mat\p53fgate.mat
     32908  mat\p53ftrim.mat
     32908  mat\p53fwall.mat
     32908  mat\p53hceil.mat
     32908  mat\p53hflor.mat
     32908  mat\p53hgate.mat
     32908  mat\p53htrim.mat
     32908  mat\p53hwall.mat
     32908  mat\p53jceil.mat
     32908  mat\p53jflor.mat
     32908  mat\p53jgate.mat
     32908  mat\p53jtrim.mat
     32908  mat\p53jwall.mat
     32908  mat\p53kceil.mat
     32908  mat\p53kflor.mat
     32908  mat\p53kgate.mat
     32908  mat\p53ktrim.mat
     32908  mat\p53kwall.mat
     32908  mat\p53mceil.mat
     32908  mat\p53mflor.mat
     32908  mat\p53mgate.mat
     32908  mat\p53mtrim.mat
     32908  mat\p53mwall.mat
     32908  mat\p53rceil.mat
     32908  mat\p53rflor.mat
     32908  mat\p53rtrim.mat
     32908  mat\p53rwall.mat
     32908  mat\p53wceil.mat
     32908  mat\p53wflor.mat
     32908  mat\p53wgate.mat
     32908  mat\p53wtrim.mat
     32908  mat\p53wwall.mat
      4416  misc\cogstrings.uni

   2194915  bytes in 63 entries

CREDITS
------------------------------------------------------------------------
  Generated by tools/cogfactory in the openjkdf2_libretro tree.
  Geometry authored through SED (github.com/smlu/SED) over the
  cogfactory bridge.
  LucasArts did not make this. Jedi Knight is theirs; this is a fan-
  made episode.

  The readme format is styled after SM Sith Lord's cog headers,
  because his are the ones everybody read.

========================================================================