The COG Factory / Level Design Projects
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?
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 at — campaign.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.| archetype | EIGHT LEVELS DOWN ONE HOLE — a chained singleplayer campaign with objectives, secrets and a duel |
|---|---|
| project | p53-campaign |
| date | 2026-09-05 |
| built | 8 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 |
| package | P53.GOB, readme.txt, screenshot.jpg |
| build | 1 — 2026-09-05 |
| sha256 | 4b1dadcfaedcffe6a1e56c0c64cd799d09020c8bcf48adafa3f12b0daa73e581 |
Installing it
- Unzip it.
- Drop the
.GOBinto theepisodefolder of a Jedi Knight install — the one that already hasJK1.GOBin it. - Pick it from the episode list. On a libretro frontend, load the
.GOBitself 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
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.
========================================================================
















