The COG Factory / COG Factory Experiments

Floor Piano

2026-08-22
DOWNLOAD ZIP · 115 KBBUILD 12026-09-05
Floor Piano

A row of floor tiles, each its own surface, each wired to a note. Walk across them and the room plays. The first project where a generated level does something.

A surface entered message does reach a COG for the player, and N generated floor keys each play a distinct note.
projectp03-piano
date2026-08-22
packageP03.GOB, readme.txt, screenshot.jpg
build1 — 2026-09-05
sha25606bc0e8f13f92e345fd1fb21c5d9a3d0317a871d4a0a16d0aee6bc8440ef9fdd

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

The readme that ships with it

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

 P03.GOB

 Does a surface 'entered' message reach a COG for the player, and can N
 generated floor keys each play a distinct note?

 [cogfactory / p03-piano]

 BUILD 1  --  2026-09-05
 sha256 06bc0e8f13f92e345fd1fb21c5d9a3d0

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

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

INSTALLATION
------------------------------------------------------------------------
Drop P03.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
------------------------------------------------------------------------
        88  episode.jk
      6865  jkl\piano.jkl
      1909  cog\piano.cog
      1116  cog\pianoprobe.cog

      9978  bytes in 4 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.

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