Neon Undercity

Q. Can a reference photo's LIGHTING CHARACTER — coloured neon pools in a dark alley network — be carried into the engine by a bridge-side bake alone?

No — and that is the result. DF2 per-vertex light is INTENSITY ONLY; the colour has to come from the sector's TINT, and tint only colours what the sector's light level already illuminates. The sprint's control level, and the one that taught the most.
archetypeNeon undercity
projectp33-neon-undercity
date2026-08-25
built5 sectors · 58 surfaces · 9 lights
packageP33.GOB, readme.txt, screenshot.jpg
build1 — 2026-09-05
sha2569b27047235573a63f5aa8e118b20528727c13119defe30225decd5c09d4534da

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

ucwallucfloorucpanelucgrilleucsignuctrim

The readme that ships with it

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

 P33.GOB

 Can a reference photo's LIGHTING CHARACTER -- coloured neon pools in a
 dark alley network -- be carried into the engine by a bridge-side bake
 alone?

 [cogfactory / p33-neon-undercity]

 BUILD 1  --  2026-09-05
 sha256 9b27047235573a63f5aa8e118b205287

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

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

INSTALLATION
------------------------------------------------------------------------
Drop P33.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
------------------------------------------------------------------------
       100  episode.jk
     39838  jkl\p33under.jkl
      1232  jkl\p33under.manifest.json
      2283  3do\uccrate.3do
      5562  3do\ucsign.3do
     32908  mat\ucfloor.mat
     32908  mat\ucgrille.mat
     32908  mat\ucpanel.mat
     32908  mat\ucsign.mat
     32908  mat\uctrim.mat
     32908  mat\ucwall.mat

    246463  bytes in 11 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.

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