The COG Factory / Level Design Projects

Cantina

Spaceport cantina
DOWNLOAD ZIP · 177 KBBUILD 12026-09-05
Cantina

Q. Can a level be carried mostly by THINGS — furniture, fittings, a bar — rather than by its geometry?

Yes — and the detail pass found the sprint's worst shared bug. Every wall texture in every level is upside down: v indexes a MAT's row, row 0 is the top, and jklib.planar_uv makes v grow upward. This bar's painted bottles hung neck-down. 32 of 32 drawn surfaces are upright now, all four trim bands are in service where only one was, and the bottles are geometry — sixteen of them, each taking its glass colour from a different swatch of the rack texture, for no new art.
archetypeSpaceport cantina
projectp36-cantina
date2026-08-30
built2 sectors · 40 surfaces · 19 things · 16 modelled bottles
packageP36.GOB, readme.txt, screenshot.jpg
build1 — 2026-09-05
sha256b95c3ab840c05cb54e2bf72ede9c61eac8964179d235abd91c357d1d075f36b5

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

cnwallcnfloorcnceilcnwoodcnbarcntrim

The readme that ships with it

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

 P36.GOB

 Can a level be carried mostly by THINGS -- furniture, fittings, a bar
 -- rather than by its geometry?

 [cogfactory / p36-cantina]

 BUILD 1  --  2026-09-05
 sha256 b95c3ab840c05cb54e2bf72ede9c61ea

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

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

INSTALLATION
------------------------------------------------------------------------
Drop P36.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.

WHAT IS IN THE GOB
------------------------------------------------------------------------
        92  episode.jk
     38837  jkl\p36cant.jkl
      1115  jkl\p36cant.manifest.json
     25240  3do\cnbar.3do
      3779  3do\cnbeam.3do
      4590  3do\cnbottl.3do
     51898  3do\cngantr.3do
      5240  3do\cnstage.3do
      8034  3do\cnstool.3do
      7295  3do\cntable.3do
     32908  mat\cnbar.mat
     32908  mat\cnceil.mat
     32908  mat\cnfloor.mat
     32908  mat\cntrim.mat
     32908  mat\cnwall.mat
     32908  mat\cnwood.mat

    343568  bytes in 16 entries

CREDITS
------------------------------------------------------------------------
  Generated by tools/cogfactory in the openjkdf2_libretro tree.

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

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