The COG Factory / COG Factory Experiments
Battle Tactics 4: Survival Wave Arena
Obsolete since 2026-10-07. The Elite Arena (P70) runs the same survival waves, and it fixes every fault below.
Known faults, the list to fix if it is ever brought back:
- While P68.GOB is installed, shields absorb no damage in any level, the single-player campaign included: the mod's static world has room for only 35 of the game's 40 item scripts, so the shields script never loads.
- Its enemies hold no visible weapon in the original Jedi Knight, because the call that shows a held gun on a computer-controlled character works only in Mysteries of the Sith.
- It cannot be installed alongside P69 (the Floating Mod Menu) or P70 (the Elite Arena).
Superseded by The Elite Arena.
Its last build stays downloadable for reference; it will not be rebuilt.
Waves of the Battle Tactics squad in LucasArts' own multiplayer maps m10 and m_boss17, loaded in single player, without changing a byte of either map. Each round puts you at its start, spawns the squad frozen at its spots through a countdown, times the fight until the last one falls, hands out health, shields and ammo, and sends you to the next round; a death ends the run. The mod recognises the map by two landmark things, the way SM Sith Lord's XtremeFuckin'Warfare does, and stays idle everywhere else.
Building it found an engine fault that every such mod is exposed to. A saved game stores each object's template number in 16 bits, and the static world's numbers do not fit: the restore reads a template from far outside the level's own list. Measured: a navigation marker's template read 32770 before a death and 0 after the restart, and about two restarts in ten killed the game outright. LucasArts' own static world has no templates, so the stock game never met it. The arena now keeps the level-start save clean and gives its templates names no level uses, so the single-player campaign is untouched; a save taken during a round still carries the risk, and the readme says so.
Every behaviour is read off the engine, with a control that fails. The squad holds perfectly still through the countdown (0.000 moved, no shot) where a build that releases it at the spawn moves 2.6 and fires; the round time is the last kill to a tenth of a second, and a build that forgets one member stops the clock two seconds early; you stand exactly at each round's start; the reward lands exactly; a death ends the run and the restart begins again at round one (14 of 14 restarts across shifted timings); on any other level the mod prints one line and nothing else. The owner ran P68.GOB in the original Jedi Knight, in a real multiplayer session, on 2026-10-03: "a good start" -- it worked, except that no enemy held a weapon.
| project | p68-survival-arena |
|---|---|
| date | 2026-10-03 |
| obsolete since | 2026-10-07 |
| package | P68.GOB, UAL-LICENSE.txt, readme.txt, screenshot.jpg |
| build | 1 — |
| sha256 | d1f48af12de20e5464ef1b5d02d84297a7ea6055ab4e28eaf7414f9fc21cc431 |
Installing it
P68.GOBis a mod. Unzip it and put the GOB in yourmodsfolder.- Single Player → Debug Play (retail needs
JK.EXE -devMode) → Jedi Training → m10 or m_boss17. Do not save during an arena run.
The GOB carries its own static world (static.jkl), cogs and the squad's animations.
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 Mod P68.GOB -- SURVIVAL WAVE ARENA Waves of p66/p67's squad -- troopers who take cover, flank and fall back -- in LucasArts' own Jedi Training maps m10 and m_boss17, loaded in single player: a countdown, the squad frozen at its spots until FIGHT!, a timer until the last one falls, a reward, the next round. [cogfactory / p68-survival-arena] BUILD 1 -- 2026-10-06 sha256 d1f48af12de20e5464ef1b5d02d84297 This mod is not made or distributed by LucasArts Entertainment Co. ======================================================================== THIS PACKAGE ------------------------------------------------------------------------ P68.GOB the mod (no level: it changes nothing until you load m10 or m_boss17) readme.txt this file screenshot.jpg what it looks like UAL-LICENSE.txt the licence of the animation library the squad's movement comes from INSTALLATION ------------------------------------------------------------------------ RETAIL JEDI KNIGHT: copy P68.GOB into the Resource folder of your Jedi Knight install, beside Res1hi.gob and Res2.gob. Keep its name: Jedi Knight mounts every GOB in Resource in name order and the first one holding a file wins, and the mod replaces jkl\static.jkl, which Res2.gob also carries -- P68.GOB sorts before Res2.gob. (Or keep it in a folder of its own and start JK.EXE with -path <that folder>.) To remove the mod, delete P68.GOB. OPENJKDF2 / THE LIBRETRO CORE: put P68.GOB in the mods folder of your Jedi Knight folder (openjkdf2 mounts mods\*.gob ahead of resource\). The mod is idle everywhere else: on every other level -- the single- player campaign included -- it recognises nothing and does nothing. HOW TO PLAY ------------------------------------------------------------------------ Load m10 or m_boss17 of the Jedi Training episode in SINGLE PLAYER. Retail: start JK.EXE with -devMode (a shortcut with `JK.EXE -devMode`), then Single Player -> Debug Play -> Jedi Training -> m10 (or m_boss17). openjkdf2 always shows Debug Play. The arena also runs when you HOST a multiplayer game on those maps (the host's player fights it). 5 rounds. Each round you are moved to the round's start; the squad (2, 3, 3, 4, 4 members a round, in multiplayer skins) appears at its spots and stays FROZEN through a 5-second countdown; at FIGHT! they hunt you, take cover, flank and fall back as p67's squad does. The clock runs until the last one falls: ROUND n CLEAR with your time and the total. Then the reward (+25 health, +25 shields, +40 energy, +40 power), a 4-second pause, the next round. After the last: ARENA SURVIVED with the total time. DEATH: in single player a death ENDS the run (YOU DIED IN ROUND n with your time); press fire to restart the level and the arena begins again at round 1. In multiplayer, the arena starts over at round 1 after you respawn. DO NOT SAVE DURING AN ARENA RUN. Jedi Knight saves a thing made from a mod's static template with an index it cannot read back, and loading such a save can crash the game or corrupt the level (found and measured by this project; LucasArts' own static world has no templates, so the stock game never meets it). The death restart is safe: the mod keeps the level-start save clean. Recognising the map: the mod checks two landmark things of each map (their thing number, sector and exact position), the way SM Sith Lord's XtremeFuckin'Warfare recognises its maps. SETTINGS (this build) ------------------------------------------------------------------------ rounds 5; members per round 2, 3, 3, 4, 4; countdown 5 s; pause 4 s reward per round: +25 health, +25 shields, +40 energy, +40 power spawn spots: mix (seed 68): each round's first spot is the authored one, the rest drawn from the proven spots To change them, regenerate the GOB from the project (src/arena/settings.py). NOTES ------------------------------------------------------------------------ Retail Jedi Knight has NOT run this mod yet: every test so far is the project's own engine fork (openjkdf2). How hard the squad is (health 60, aim spread 2 degrees, retreat at half strength) is easy to change: say if it is too easy or too hard. m_boss17 is a stack of separate decks: a member who spawns on another deck than yours cannot walk to you (the navigation does not jump between decks yet); he holds his deck and fights from it. CREDITS ------------------------------------------------------------------------ The squad's locomotion is Quaternius' Universal Animation Library [Pro] (CC0 1.0, quaternius.com; the licence is misc/ual-license.txt in the GOB), fitted to the multiplayer skeleton by p65 Motion Study; the on-foot controller is a port of the aeronauts project's (three-player- controller 0.6.2); the navigation graph is p64's Path-Finder bake (MIT, after Recast, zlib); the squad is p66/p67's (its brain after p63's Enhanced AI). The static-world route and the landmark idea are SM Sith Lord's XtremeFuckin'Warfare's. The maps, the troopers, commando, officer and Greedo models are LucasArts' own; everything else was generated by tools/cogfactory.





