The COG Factory / Level Design Projects
Droid Bay
Q. What does a level do for jeopardy when its enemies cannot hurt you? Stock droids are unarmed and their only combat instinct is Flee — so the turrets have to carry the level, and a turret never moves.
validate, thinwall and geom.py were all green on. Restaggering two rack blocks to overlap in y and not in x shipped at 84.9% exposed, 15.1% cover in eight islands, worst 1.95 units to break contact; the hazard trim band is then painted from the same computation. And the jeopardy is proven rather than argued: neither probe player nor probe thing prints health, so a watcher cog read 100 → 96 → 81 → 57 → 36 in a turret's fan and zero drops in the same 200 frames in cover — a positive and a matched negative control.| archetype | Droid bay — the enemy that never moves |
|---|---|
| project | p47-droid-bay |
| date | 2026-08-30 |
| built | 14 sectors · 348 surfaces · 4 turrets · 7 droids · 84.9% exposed · 15.1% cover |
| package | P47.GOB, readme.txt, screenshot.jpg |
| build | 1 — 2026-09-05 |
| sha256 | 0831a1ff39511086cb54132ea6b6bf6d5a607a3ac139210d39b25b15e7e7e497 |
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
P47.GOB
An Imperial droid maintenance bay, four turret emplacements and seven
droids that run away from you. The bay is one open deck 4 by 2.4 units
broken by two staggered rack blocks, and every piece of cover in the
level is one of their shadows. Destroy all four emplacements to secure
the bay.
[cogfactory / p47-droid-bay]
BUILD 1 -- 2026-09-05
sha256 0831a1ff39511086cb54132ea6b6bf6d
This level is not made or distributed by LucasArts
Entertainment Co.
========================================================================
THIS PACKAGE
------------------------------------------------------------------------
P47.GOB the level
readme.txt this file
screenshot.jpg what it looks like
INSTALLATION
------------------------------------------------------------------------
Drop P47.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 p47 Droid Bay.
You start with fists, a Bryar pistol, and a RAIL DETONATOR with 40 charges.
The stormtrooper rifle is in the access corridor on the way in; the repeater
is in the repair shop, past the third gun.
DESTROY ALL FOUR TURRETS to secure the bay. Nothing else in here can hurt you --
but a turret's death blast does 10 damage inside 0.45 units, so do not stand
next to one when it goes.
NOTES
------------------------------------------------------------------------
A TURRET IS A FAN, AND A FAN IS ARITHMETIC. Turrets never translate
-- only the head turns -- so their threat is not a behaviour, it is
a fixed set of floor points: the ones with an unobstructed line to
the gun. That set was computed offline for all 4699 walkable cells
of this level before the editor was opened, and the level was laid
out to it. 84.9% of the deck is in some gun's fan, 15.2% is in two
or more, and there is NO zero-exposure route from the airlock to the
control room.
THE WHOLE BAY TURNS ON A 0.20-UNIT OVERLAP. Two solid rack blocks
break the open deck: one hangs from the north wall and reaches down
past the midline, the other stands on the south wall and reaches up
past it. They overlap in y by 0.20 without overlapping in x, so no
horizontal line crosses the bay at any height -- and exactly one
DIAGONAL slot survives, which is why every sightline that crosses
this level has a slope steeper than 1 in 3. Give the two blocks a
gap instead of an overlap and the first version of this table
measured 95.5% exposed and 4.5% cover: a shooting gallery.
THE PAINT IS THE MAP. The red-and-white hazard band is not put where
a designer felt like it: a wall gets it when the floor in front of
it is in the CROSSFIRE -- seen by two guns or more. The level tells
you where the killzone is, in paint, before it shoots you.
THE DROIDS CANNOT HURT YOU, AND THAT IS MEASURED. None of
powerdroid, r5 or mousebot carries a weapon; the mousebot explodes
when killed and its explosion inherits damage=0.000000, so it only
shoves. Their AI files -- read out of retail JK's own Res2.gob --
have exactly one combat instinct between them and it is Flee. Four
guns with 360 health between them are the entire threat budget of
the level.
A GUN THAT NEVER MOVES STILL PROJECTS. The turret in the repair shop
shoots up through a 0.35-wide service crawlway into the bay above
and across it -- three sectors from a floor it is not standing on.
36.8% of all turret-to-cell coverage in this level is in a sector
the gun is not in.
WHAT IS IN THE GOB
------------------------------------------------------------------------
95 episode.jk
119226 jkl\p47droid.jkl
2621 jkl\p47droid.manifest.json
3075 cog\p47done.cog
2243 cog\p47start.cog
32908 mat\p47ceil.mat
32908 mat\p47door.mat
32908 mat\p47floor.mat
32908 mat\p47rack.mat
32908 mat\p47trim.mat
32908 mat\p47wall.mat
324708 bytes in 11 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 level.
The readme format is styled after SM Sith Lord's cog headers,
because his are the ones everybody read.
========================================================================













