The COG Factory / Level Design Projects

Coral Reefer

A shallow lagoon: one water sector under one air sector, a boat, a pooled reef
DOWNLOAD ZIP · 1 MBBUILD 22026-10-03
The owner's take: Gnarly's banded coral shrimp on the reef, one perched on its rock and one crawling over the sand.

Q. Can one big shallow water sector hold a whole reef -- a boat you spawn on and climb back onto, scuba gear, far more coral than the engine's 640 things, and schools of fish -- and read as a reef from the boat as well as under the water?

Yes, as two sectors. An 18 x 18 lagoon 1.2 deep under an air sector 3 tall, every face on one 1.5 grid so no edge carries a T-junction, the water surface 144 adjoin pairs written the way stock clear water is -- textured and translucent from both sides -- so the reef shows from the deck. The air walls are horizon sky and the ceiling is ceiling sky; the sky's painted horizon sits on the eye line, so its own sea band carries the water to the horizon. The reef is 24 patches round rocky bommies with corals growing on the rocks, seagrass meadows and rubble on the sand between, and a clear ring of sand round the boat so the first look down is open water. About 1,640 pieces, never more than 430 alive: an entity pool creates what is near the diver and removes what is behind him. Five bommies are always loaded instead: each is home to a pair of Gnarly's shrimp, one perched on its flat top and one on a cleared patch of sand at its foot. Build 2 passed the owner's play test.
archetypeA shallow lagoon: one water sector under one air sector, a boat, a pooled reef
projectp62-coral-reefer
date2026-10-02
packageP62.GOB, readme.txt, screenshot.jpg
build2 — 2026-10-03 (first packaged 2026-10-02)
sha25607c37816bc3c103bc06ac134ce76ab75f6460747474a0ec5907efd40a99882bd

Installing it

  1. P62.GOB is a level. Unzip it and drop the GOB into your episode folder.
  2. Pick it from the episode list.

The GOB carries its own level, cogs, models, materials, and sounds.

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

The readme that ships with it

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

 P62.GOB

 A dive boat anchored over a shallow tropical lagoon. A scuba tank
 leans on the console: take it, step off the swim platform, and the
 reef is yours -- brain coral, staghorn, sea fans, table coral, tube
 sponges, anemones, pillar coral and seagrass on rocky bommies, with
 schools of tangs, sergeant majors, chromis and parrotfish swimming
 their rounds, and pairs of banded coral shrimp at home on the bommies,
 waving their claws and antennae. Climb back aboard by the ladder at
 the stern.

 [cogfactory / p62-coral-reefer]

 BUILD 2  --  2026-10-03   (first packaged 2026-10-02)
 sha256 07c37816bc3c103bc06ac134ce76ab75

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

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

INSTALLATION
------------------------------------------------------------------------
Drop P62.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,
models, materials and sounds, and reads the stock resource/ for
everything else.

On a libretro frontend such as RetroArch, unzip first and put P62.GOB in
the episode folder of your Jedi Knight folder, then load it from there.
The core treats the folder above the GOB's folder as the game folder,
reads the episode from episode/P62.GOB inside it, and will not start
unless that folder also holds resource/ (Res2.gob) from a real install.

CONTROLS
------------------------------------------------------------------------
  Use (Space) on the scuba tank on the boat takes the gear -- look down at it, it leans on the console
  Use (Space) on the tank again hands it back
  Use (Space) on the ladder at the stern, from the water, climbs you back aboard -- at the surface or under it
  F1 toggles the external camera, to see the diving suit

NOTES
------------------------------------------------------------------------
  the reef is about 1,640 coral pieces; the engine can hold 640 things
  at once, so a cog creates the coral near you and removes the coral
  behind you as you swim, never more than 430 at a time (the entity
  pool, tools/entitypool)

  five pairs of banded coral shrimp live on the reef: one of each pair
  perched on top of its coral head, its mate on the sand at the foot,
  now and then crawling a short square beat; every one waves its
  antennae, and now and then flicks its tail or waves its claws

  you cannot climb out of water in Jedi Knight, so the ladder is the
  way back aboard: press Use on it from the water

  the air is unlimited and the suit is worn whenever the tank is held
  (the scuba kit's defaults)

  five of the diving suit's seven textures are flat-colour stand-ins
  (divetank, wetsuit, divereg, divelense, cressifins); darker.mat and
  bluesuede.mat are Gnarly's real ones

  tested in OpenJKDF2 only; retail JKDF2 has not run it

WHAT IS IN THE GOB
------------------------------------------------------------------------
        84  episode.jk
    337665  jkl\reefer.jkl
     14510  cog\entpool.cog
     25676  cog\entpool0.cog
     25700  cog\entpool1.cog
     25890  cog\entpool2.cog
     26058  cog\entpool3.cog
     19570  cog\entpool4.cog
      2460  cog\rfboard.cog
      8186  cog\rfsch0.cog
      7876  cog\rfsch1.cog
      7826  cog\rfsch2.cog
      7886  cog\rfsch3.cog
      7494  cog\rfsch4.cog
      8062  cog\rfsch5.cog
      8997  cog\rfshrimp.cog
     24845  cog\scbscuba.cog
      7217  3do\rfanem1.3do
     25561  3do\rfboat.3do
      8791  3do\rfbrain1.3do
      8797  3do\rfbrain2.3do
      3974  3do\rffan1.3do
      3957  3do\rffan2.3do
      9282  3do\rffish1.3do
      9280  3do\rffish2.3do
      9278  3do\rffish3.3do
      9278  3do\rffish4.3do
      9279  3do\rffish5.3do
      4729  3do\rfgrass1.3do
      9610  3do\rfladder.3do
     15221  3do\rfpill1.3do
      9547  3do\rfrock1.3do
      9569  3do\rfrock2.3do
     13896  3do\rfrock3.3do
    131558  3do\rfshrimp.3do
     50064  3do\rfstag1.3do
     70122  3do\rfstag2.3do
      5991  3do\rftable1.3do
     14614  3do\rftube1.3do
     11020  3do\rftube2.3do
     55304  3do\scbtank.3do
    105893  3do\scubakatarn.3do
      8213  3do\key\rfshflik.key
     83957  3do\key\rfshidle.key
     18050  3do\key\rfshwalk.key
     13159  3do\key\rfshwave.key
      1748  3do\key\rftail1.key
      1954  3do\key\rftail2.key
      1542  3do\key\rftail3.key
      2573  3do\key\rftail4.key
      2159  3do\key\rftail5.key
    131212  mat\bandedcoralskrimf.mat
    172172  mat\bluesuede.mat
      2188  mat\cressifins.mat
    131212  mat\darker.mat
      2188  mat\divelense.mat
      2188  mat\divereg.mat
      2188  mat\divetank.mat
     32908  mat\rfanem.mat
     32908  mat\rfbrain.mat
    131212  mat\rfcloud.mat
      2188  mat\rfdark.mat
      8332  mat\rfdeck.mat
      8332  mat\rfdeep.mat
     32908  mat\rffan.mat
     32908  mat\rffanb.mat
      2188  mat\rfglass.mat
      8332  mat\rfgrass.mat
     16524  mat\rfhull.mat
      2188  mat\rfmetal.mat
      8332  mat\rfpill.mat
     32908  mat\rfrock.mat
      8332  mat\rfrubble.mat
     32908  mat\rfsand.mat
      2188  mat\rfseat.mat
      8332  mat\rfskin1.mat
      8332  mat\rfskin2.mat
      8332  mat\rfskin3.mat
      8332  mat\rfskin4.mat
      8332  mat\rfskin5.mat
    131212  mat\rfsky.mat
     32908  mat\rfstag.mat
     32908  mat\rfstagb.mat
     32908  mat\rftable.mat
     32908  mat\rftube.mat
     32908  mat\rftubeb.mat
     32908  mat\rfwater.mat
      2188  mat\rfwhite.mat
      2188  mat\wetsuit.mat
    225020  sound\scbbreth.wav

   2742632  bytes in 90 entries

CREDITS
------------------------------------------------------------------------
  The diving suit, scubakatarn.3do, is by Gnarly, from his level Club
  OC, shipped exactly as he made it, with his darker.mat and
  bluesuede.mat. The banded coral shrimp is Gnarly's too
  (bandedcoralskrimf.3do and bandedcoralskrimf.mat): his material
  ships byte for byte; the model ships as rfshrimp.3do, his geometry
  with a skeleton added (its body cut in three at its own vertex rings
  so the tail can bend; no vertex moved) and animated by four
  generated keys. The scuba kit (scbscuba.cog, scbtank.3do,
  scbbreth.wav) is p56-scuba's, copied out of P56.GOB by its own
  integration readme. Coral Reefer is not Club OC: only the suit and
  the shrimp are his.
  The boat, the ladder, the coral, the fish, the shrimp's rig, keys
  and cog, the other cogs and the lagoon were generated by
  tools/cogfactory in the openjkdf2_libretro tree; the reef, sand,
  rock, water and deck textures were painted by Nano Banana 2 from two
  labelled texture sheets. The ambient beds (00underwater.wav,
  00wind02.wav) and the ladder step (walkmetaldry01.wav) are
  LucasArts' own sounds from Jedi Knight.

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

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