The COG Factory / COG Factory Experiments
Motion Study
Real human movement for Jedi Knight. Quaternius' free Universal Animation Library (walk, sprint, back-pedal, strafes, crouch, crawl, jump, land, turns) is turned into Jedi Knight keyframes that play on the multiplayer skeleton, so one set works on every multiplayer model at once. A new character runs on a port of the aeronauts on-foot controller: you drive him by remote from a sealed booth, or he finds his own way round a level by its baked navigation graph, jumping only where the graph says there is a jump.
One set plays on all 28 multiplayer models. Multiplayer swaps only the model, never the puppet. All 28 models.dat models share Kyle's node order and parents, and the worst joint shift is 0.3 mm. In the gallery all 28 play each of 13 keys at once, read back from each model's own puppet in the engine.
The character is an actor with no AI. Pushing him by velocity let him climb steps a player cannot. Driving him by thrust in his own frame, with the player's floor drag, keeps the player's own step and slope limits. Freezing the player keeps every input readable, so his keys drive the character instead. Every puppet state was proved by a run that presses the real keys and reads back the animation that actually played. On the navigation graph he crosses the gaps that have jump edges and refuses the others, rather than walking into the pit. Retail JKDF2 has not run any of it. Build 3 (2026-10-03, from Battle Tactics 3) makes the navigation graph and the gallery rebuild after a game load (unguarded, loading the other level's save left the follower with no route and piled animations on the gallery).
| project | p65-motion-study |
|---|---|
| date | 2026-10-03 |
| package | P65.GOB, UAL-LICENSE.txt, readme.txt, screenshot.jpg |
| build | 3 — 2026-10-03 (first packaged 2026-10-03) |
| sha256 | 1bb1413bef0cbc0f1bdf29154305a27774040167113e1ef75267fc0a9889c3d8 |
Installing it
P65.GOBis a level pack. Unzip it and drop the GOB into yourepisodefolder.- Pick it from the episode list.
The GOB carries its own levels, cogs, models, and materials.
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
P65.GOB
Quaternius' Universal Animation Library walking, running, crouching
and jumping as Jedi Knight keys on the multiplayer skeleton -- one
character you drive by remote, and every misc\models.dat model playing
the same moves side by side.
[cogfactory / p65-motion-study]
BUILD 3 -- 2026-10-03 (first packaged 2026-10-03)
sha256 1bb1413bef0cbc0f1bdf29154305a277
This level is not made or distributed by LucasArts
Entertainment Co.
========================================================================
THIS PACKAGE
------------------------------------------------------------------------
P65.GOB the level
readme.txt this file
screenshot.jpg what it looks like
INSTALLATION
------------------------------------------------------------------------
Drop P65.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 levels, cogs,
models and materials, and reads the stock resource/ for everything else.
On a libretro frontend such as RetroArch, unzip first and put P65.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/P65.GOB inside it, and will not start
unless that folder also holds resource/ (Res2.gob) from a real install.
CONTROLS
------------------------------------------------------------------------
LEVEL 1 (the lab): you stand in a sealed booth and DRIVE the character in the hall with your normal controls: forward / back / strafe move him, the mouse or arrow keys turn him, your run key makes him SPRINT, crouch crouches him, tap crouch twice to CRAWL (jump or sprint ends it), your jump key jumps, 1..0 pick his weapon and fire fires it
with Always Run ON every key press is the run tier, so he always sprints; to see him WALK, bind the Slow key or turn Always Run off for this level
drive him onto the far platform of the LEFTMOST lane (across the narrow 0.10 gap) to go to level 2
LEVEL 2 (p44's Imperial Outpost, emptied of troopers): the character patrols on his own by the level's baked navigation graph; walk somewhere and tap crouch twice and he comes to you
NOTES
------------------------------------------------------------------------
along the hall's south wall stand all 28 multiplayer models from
misc\models.dat, all playing the SAME key at once; every six seconds
they switch to the next one and its name is printed (walk, run,
walkback, strafes, crouch, crouch idle, crawl, jump, fall, land,
turn, stand). Look for any model whose limbs come apart or bend the
wrong way
the keys replace only the MOVING-AROUND animations; firing, force
powers, deaths with a weapon and swimming keep LucasArts' own keys.
With a gun or the saber his legs move by UAL and his arms hold the
weapon as LucasArts does
his own speeds are a real person's (scaled by Kyle's measured
height: 1.8 m = 0.185 units), so he walks and sprints far slower
than Kyle runs
your own weapon still fires from your booth when you fire: the
character is invulnerable to it
retail JKDF2 has not run any of this. A screenshot of the gallery
and a word on how he moves are the most useful things you can send
back
build 3 (2026-10-03): the navigation graph (level 2) and the gallery
(level 1) now rebuild themselves after a game load: without it,
loading a saved game of the other level left the follower with no
route and piled animations on the gallery models. Build 3 has NOT
run in retail yet
WHAT IS IN THE GOB
------------------------------------------------------------------------
121 episode.jk
135610 jkl\p44outp.jkl
43741 jkl\p65lab.jkl
11469 cog\msctl.cog
13229 cog\msfol.cog
4431 cog\msgal.cog
13295 cog\msnav.cog
2647 cog\msprb.cog
3481 cog\msrem.cog
2975 cog\p44done.cog
3356 cog\p44door.cog
1691 cog\p44start.cog
433 cog\p65exit.cog
460 cog\p65kit.cog
2257 3do\p44leafl.3do
2253 3do\p44leafr.3do
1858 3do\p64pil.3do
299439 3do\key\msbk0.key
357673 3do\key\msbk1.key
260848 3do\key\msbk2.key
144449 3do\key\mscb0.key
183320 3do\key\mscb1.key
134905 3do\key\mscb2.key
144517 3do\key\mscf0.key
183388 3do\key\mscf1.key
134973 3do\key\mscf2.key
259733 3do\key\msci0.key
132496 3do\key\mscw0.key
193605 3do\key\mscx0.key
231366 3do\key\msd10.key
237586 3do\key\msd20.key
237478 3do\key\msdr0.key
435269 3do\key\msf10.key
222038 3do\key\msf20.key
237478 3do\key\msfa0.key
158780 3do\key\msfi0.key
194216 3do\key\msfs0.key
39712 3do\key\msh10.key
52121 3do\key\msla0.key
126358 3do\key\mslp0.key
126360 3do\key\msri0.key
546652 3do\key\msrn0.key
618481 3do\key\msrn1.key
618481 3do\key\msrn2.key
299438 3do\key\mssl0.key
357672 3do\key\mssl1.key
260847 3do\key\mssl2.key
299444 3do\key\mssr0.key
357678 3do\key\mssr1.key
260853 3do\key\mssr2.key
222234 3do\key\msst0.key
283353 3do\key\msst1.key
207128 3do\key\msst2.key
30471 3do\key\mstl0.key
30476 3do\key\mstr0.key
132569 3do\key\mswk0.key
149189 3do\key\mswk1.key
157430 3do\key\mswk2.key
32908 mat\p44ceil.mat
32908 mat\p44crat.mat
32908 mat\p44door.mat
32908 mat\p44floor.mat
32908 mat\p44trim.mat
32908 mat\p44wall.mat
8332 mat\p64ceil.mat
8332 mat\p64flr.mat
8332 mat\p64pil.mat
8332 mat\p64pit.mat
8332 mat\p64wall.mat
493 misc\ual-license.txt
5355 misc\pup\msky.pup
10048767 bytes in 71 entries
CREDITS
------------------------------------------------------------------------
the animations are Quaternius' Universal Animation Library [Pro]
(CC0 1.0, quaternius.com; the license is misc/ual-license.txt in the
GOB and UAL-LICENSE.txt beside it), fitted to ky.3do by limb
direction; the on-foot behaviour is a port of the aeronauts
project's controller (three-player-controller 0.6.2); the navigation
graph is p64's Path-Finder bake (MIT, after Recast, zlib); Kyle and
the multiplayer models are LucasArts' own; everything else was
generated by tools/cogfactory.
The readme format is styled after SM Sith Lord's cog headers,
because his are the ones everybody read.
========================================================================







