The COG Factory / Level Design Projects
Imperial Outpost
Singleplayer garrison outpost — TWO LEVELS
DOWNLOAD ZIP · 233 KBBUILD 12026-09-05
Q. Can a hand-drawn floorplan become a playable singleplayer mission — and then a SECOND one in the same episode, with doors that open and a mission that ends?
Yes, and the drawing is the specification both times. One project, two levels, one arc: clear the west wing and the episode moves you into the east one. The expensive finding is that level 1 shipped with paper-thin walls and they were measurable — every opening was inset 0.03 on BOTH sides of a plane two sectors share, and what that leaves is a ring with a room on either side and nothing in between.
thinwall.py measured 16 pairs and 0.6582 square units of it, was demonstrated red before it was trusted, and reads 0.0000 on both levels now. The fix is a planning rule: carve the EXACT overlap, on the LARGER side only, and let the smaller face stay whole — which does not fight the buffer-zone rule but satisfies it, because a plane that would reach a free edge never crosses the face and is skipped. And a second bug fell out of giving the level a win state: jklib.episode_jk wrote gotoA = -1 on every row it had ever emitted, and −1 means STOP, so finishing level 1 would have rolled the credits instead of loading level 2.| archetype | Singleplayer garrison outpost — TWO LEVELS |
|---|---|
| project | p44-imperial-outpost |
| date | 2026-08-30 |
| built | L1 19 sectors · 402 surfaces · L2 24 sectors · 478 surfaces · 3 doors · 18 troopers · TYPE 1 SEQ 2 |
| package | P44.GOB, readme.txt, screenshot.jpg |
| build | 1 — 2026-09-05 |
| sha256 | 75f619f8325f11641d92bfc0053b417868f15b2c82592e5fa5856df71cf1cf28 |
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
P44.GOB
A small Imperial garrison outpost in TWO LEVELS, built from two hand-
drawn floorplans. Fight through the west wing, and when the last
stormtrooper falls the mission completes and drops you into the east
one -- a bigger ring of nine rooms and six corridors with three blast
doors that really open. Eighteen stormtroopers, thirty-two pickups,
and the level's own startup COG hands you a rail detonator on the way
in.
[cogfactory / p44-imperial-outpost]
BUILD 1 -- 2026-09-05
sha256 75f619f8325f11641d92bfc0053b4178
This level is not made or distributed by LucasArts
Entertainment Co.
========================================================================
THIS PACKAGE
------------------------------------------------------------------------
P44.GOB the level
readme.txt this file
screenshot.jpg what it looks like
INSTALLATION
------------------------------------------------------------------------
Drop P44.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 p44 Imperial Outpost.
You start each level with fists, a Bryar pistol, and a RAIL DETONATOR with 30 charges.
LEVEL 1: the stormtrooper rifle is in the armoury, the repeater in the barracks,
and the bowcaster in the store room at the far end.
LEVEL 2: the rifle is upstairs-left, the repeater in the south-east room and the
bowcaster in the south-centre one. THREE DOORS OPEN -- walk up and press USE.
KILL EVERY STORMTROOPER to complete a level. Level 1 then loads level 2.
NOTES
------------------------------------------------------------------------
THE DRAWING IS THE SPECIFICATION, TWICE. Every coordinate in both
levels is a floorplan read at 0.005 world units per pixel and
rounded to 0.05. The only numbers chosen rather than measured are
the ceiling heights, the doorway sizes and the door jambs -- a plan
view cannot carry those.
NO PAPER-THIN WALLS, AND IT IS MEASURED. Two sectors that touch on a
plane share a rectangle with a room on both sides of it; whatever of
that rectangle is not adjoined is a partition with NOTHING inside
it. Level 1 shipped with 0.6582 square units of exactly that around
its doorways, because every opening was inset from the shared face
on both sides. Both levels now carve the exact overlap, on the
larger side only, and measure 0.0000.
THREE DOORS THAT OPEN, AND EITHER LEAF OPENS BOTH. Each is a
threshold cut into a corridor -- two sector halves 0.26 wide and
0.48 tall against the corridor's 0.35 by 0.60, so the set-back is a
reveal you can see the depth of as you walk through -- plus two 3DO
leaves that carry half the door texture each and reassemble it when
shut.
ALL FOUR TRIM BANDS, ON A RULE. One 128-pixel sheet carries four
bands and level 2 uses every one of them for a reason: red-and-white
hazard where there IS a hazard (door surrounds, the pillar's exposed
corners, the threshold plates), the dark conduit strip where
services run (the corridors and the two service spaces), the
stencilled course on every other room wall, and the yellow-and-black
checker at the base of all of them.
THE PILLAR IS NOT A SHAPE. Both levels have one filled block in the
top hall, and a sector in this engine must be convex, so the hall is
three boxes that tile a U and the pillar is simply the region none
of them covers. Absence of a sector is solid matter. In level 2 it
hangs down from the north wall instead of standing against the south
one, so the U opens the other way.
WHAT IS IN THE GOB
------------------------------------------------------------------------
139 episode.jk
127692 jkl\p44outp.jkl
2825 jkl\p44outp.manifest.json
149789 jkl\p44outp2.jkl
2981 jkl\p44outp2.manifest.json
2975 cog\p44done.cog
3356 cog\p44door.cog
1691 cog\p44start.cog
2257 3do\p44leafl.3do
2253 3do\p44leafr.3do
32908 mat\p44ceil.mat
32908 mat\p44crat.mat
32908 mat\p44door.mat
32908 mat\p44floor.mat
32908 mat\p44trim.mat
32908 mat\p44wall.mat
493406 bytes in 16 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.
========================================================================















