The COG Factory / COG Factory Experiments
AI Training Facility: Enhanced AI
The AI Training Arena with smarter enemies. A new menu row, ENHANCED AI (on unless you turn it off), hands every wave to a squad controller: a trooper has to actually see you before it fights, the first to spot you radios the rest, and instead of all running at you they take positions round you -- one in front, the next two on your flanks -- strafing as they shoot, and they walk round the pillars instead of into them. The pillars are solid now. The controller is a kit with nothing about the level in it, proved in another level too.
Sensing without FireProjectile: two ghost probes and
HasLOS. The spike found the catch: HasLOS starts in the viewer's FILED sector, and a ghost moved by SetThingPos keeps its old one, so its rays see through every wall. Re-filed by TeleportThing first, they are exact, and a ray costs about a tenth of a microsecond here. The kit's enemies drop navigation nodes where they actually stood, linked where a probe says a body fits, in a cog heap rather than as things; they route round obstacles with feelers and the graph; and they share what they see, but by construction a shared route carries places and never the player.Nothing level-specific: four cogs and copies of LucasArts' own AI classes without their movement instincts, injected unchanged into p44's outpost as well, where they adopted all nine troopers. Retail limits enforced by the generator: JK1 verbs only, no trig, every valued verb assigned, each cog under 300 on the engine's own count. A loose plan for multiplayer bots, after reading rbots (Raynar, Hell Raiser), is in the project's notes. Gate 16 of 16 with six located controls; GOB build 1 boots from dist/; the owner ran the training facility in retail JKDF2 (2026-10-02) and it worked well. Build 3 (2026-10-03, from Battle Tactics 3) makes every AI script rebuild its memory after you die and restart or load a saved game (unguarded, troopers that had seen you never alerted each other again); build 3 has not run in retail yet.
| project | p63-enhanced-ai |
|---|---|
| date | 2026-10-02 |
| package | P63.GOB, gobinator.bat, readme.txt, screenshot.jpg |
| build | 3 — 2026-10-03 (first packaged 2026-10-02) |
| sha256 | 111a7948a54319e4642e24c2c4b25fdd8818cb355f614ad9f14a5c11d108dbf4 |
Installing it
P63.GOBis a level. Unzip it and drop the GOB into yourepisodefolder.- 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
P63.GOB
The AI Training Arena with smarter enemies. A new menu row, ENHANCED
AI (on unless you turn it off), hands every wave to a squad
controller: the troopers have to actually SEE you before they fight,
the first one to spot you radios the rest, and instead of all running
at you they take positions around you -- one in front, the next two on
your flanks -- strafing as they shoot, and they walk round the pillars
instead of into them. The pillars are solid now, too. Turn ENHANCED AI
off for the stock behaviour and compare.
[cogfactory / p63-enhanced-ai]
BUILD 3 -- 2026-10-03 (first packaged 2026-10-02)
sha256 111a7948a54319e4642e24c2c4b25fdd
This level is not made or distributed by LucasArts
Entertainment Co.
========================================================================
THIS PACKAGE
------------------------------------------------------------------------
P63.GOB the level
readme.txt this file
screenshot.jpg what it looks like
INSTALLATION
------------------------------------------------------------------------
Drop P63.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 P63.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/P63.GOB inside it, and will not start
unless that folder also holds resource/ (Res2.gob) from a real install.
CONTROLS
------------------------------------------------------------------------
Up / Down (or W / S): choose a row
Left / Right (or A / D): change the value; holding repeats
Space or C: confirm (on START GAME, start the round; on the score screen, back to the menu)
ENHANCED AI: ON (default) gives the waves the squad controller; OFF is stock Jedi Knight AI
In the arena: the usual Jedi Knight controls
NOTES
------------------------------------------------------------------------
ENHANCED AI applies to the waves (stormtroopers, Gran, Rodians,
commandos, the mixed squad); the Dark Jedi duel as before
the enemies learn the room as they move: they remember places they
stood and which of them can see each other, and route through them;
nothing about the arena is written into them, and the same
controller runs in other levels
every screen is a picture: HTML pages captured by a headless browser
and cut into 16-bit materials
build 3 (2026-10-03) adds the restore guard the owner asked for
after p66: when you die and the game puts you back at the level
start, or you load a saved game, the AI controller, its node memory
and its steering now rebuild themselves from the level as it is
(before, they kept what they knew at the moment you died: in the
outpost the troopers never re-alerted each other). In this build the
controller's debug lines are on, so you will see EAI RESTORED after
a restart. Build 2 ran in real JK (the owner, 2026-10-02); build 3
has NOT run in retail yet
WHAT IS IN THE GOB
------------------------------------------------------------------------
87 episode.jk
138019 jkl\arena.jkl
18726 cog\eaictl.cog
4427 cog\eaimov.cog
9236 cog\eainav.cog
2633 cog\eaiprb.cog
6138 cog\imbus.cog
10209 cog\imcycle.cog
3301 cog\immusic.cog
5338 cog\imread.cog
6710 cog\p61gorc.cog
8736 cog\p61jer.cog
8989 cog\p61maw.cog
5809 cog\p61pic.cog
10173 cog\p61sar.cog
8431 cog\p61yun.cog
15174 cog\p63game.cog
8270 cog\p63spawn.cog
2907 3do\impillar.3do
5289 3do\imstrip.3do
92715 3do\key\grbk0.key
92715 3do\key\grbk1.key
118700 3do\key\grbk2.key
101369 3do\key\grsl0.key
101369 3do\key\grsl1.key
127354 3do\key\grsl2.key
122999 3do\key\grsr0.key
122999 3do\key\grsr1.key
157637 3do\key\grsr2.key
75738 3do\key\icbk0.key
79651 3do\key\icbk1.key
96777 3do\key\icbk2.key
82744 3do\key\icsl0.key
87069 3do\key\icsl1.key
103783 3do\key\icsl2.key
100254 3do\key\icsr0.key
105609 3do\key\icsr1.key
128298 3do\key\icsr2.key
97618 3do\key\rybk0.key
101531 3do\key\rybk1.key
129988 3do\key\rybk2.key
106684 3do\key\rysl0.key
111009 3do\key\rysl1.key
139466 3do\key\rysl2.key
129344 3do\key\rysr0.key
134699 3do\key\rysr1.key
172633 3do\key\rysr2.key
66987 3do\key\stbk0.key
74815 3do\key\stbk1.key
95856 3do\key\stbk2.key
73169 3do\key\stsl0.key
81821 3do\key\stsl1.key
102862 3do\key\stsl2.key
88619 3do\key\stsr0.key
99331 3do\key\stsr1.key
127377 3do\key\stsr2.key
131212 mat\imacei.mat
32908 mat\imaflr.mat
65676 mat\imapil.mat
131212 mat\imawal.mat
131212 mat\imbg.mat
268 mat\imblk.mat
45836 mat\imdd0m.mat
65740 mat\iml00.mat
65740 mat\iml01.mat
65740 mat\iml10.mat
65740 mat\iml11.mat
65740 mat\iml20.mat
65740 mat\iml21.mat
65740 mat\iml30.mat
65740 mat\iml31.mat
65740 mat\iml40.mat
65740 mat\iml41.mat
131212 mat\imm00.mat
131212 mat\imm01.mat
131212 mat\imm02.mat
131212 mat\imm03.mat
131212 mat\imm04.mat
131212 mat\imm05.mat
131212 mat\imm06.mat
131212 mat\imm07.mat
131212 mat\imm08.mat
131212 mat\imm09.mat
131212 mat\imm10.mat
131212 mat\imm11.mat
131212 mat\imm12.mat
131212 mat\imm13.mat
131212 mat\imm14.mat
131212 mat\imm15.mat
131212 mat\imm16.mat
131212 mat\imm17.mat
328396 mat\imname.mat
131212 mat\imp00.mat
131212 mat\imp01.mat
131212 mat\imp02.mat
131212 mat\imp03.mat
131212 mat\imp04.mat
131212 mat\imp05.mat
131212 mat\imp06.mat
131212 mat\imp07.mat
131212 mat\imp08.mat
131212 mat\imp09.mat
164236 mat\imrate.mat
196876 mat\imres0.mat
196876 mat\imres1.mat
196876 mat\imres2.mat
131212 mat\ims00.mat
131212 mat\ims01.mat
131212 mat\ims02.mat
131212 mat\ims03.mat
131212 mat\ims04.mat
131212 mat\ims05.mat
131212 mat\ims06.mat
131212 mat\ims07.mat
131212 mat\ims08.mat
131212 mat\ims09.mat
131212 mat\ims10.mat
131212 mat\ims11.mat
131212 mat\ims12.mat
131212 mat\ims13.mat
131212 mat\ims14.mat
131212 mat\ims15.mat
131212 mat\ims16.mat
131212 mat\ims17.mat
65740 mat\imstart.mat
16588 mat\imswl.mat
16588 mat\imswr.mat
328396 mat\imv0.mat
131404 mat\imv1.mat
98572 mat\imv2.mat
131404 mat\imv3.mat
65740 mat\imv4.mat
16588 mat\imwl0.mat
16588 mat\imwl1.mat
16588 mat\imwl2.mat
16588 mat\imwl3.mat
16588 mat\imwl4.mat
16588 mat\imwr0.mat
16588 mat\imwr1.mat
16588 mat\imwr2.mat
16588 mat\imwr3.mat
16588 mat\imwr4.mat
3572 sound\imchang.wav
132344 sound\imchime.wav
528044 sound\imcmd.wav
132344 sound\imdefeat.wav
18566 sound\imfire.wav
517484 sound\imgen.wav
510444 sound\imgp.wav
538604 sound\imgran.wav
517484 sound\imjer.wav
469964 sound\imlose.wav
519244 sound\immaw.wav
686444 sound\immenu.wav
541244 sound\immix.wav
2028 sound\immove.wav
532444 sound\imrod.wav
513084 sound\imsar.wav
132344 sound\imtimeup.wav
522764 sound\imtrp.wav
380204 sound\imwin.wav
517484 sound\imyun.wav
797 misc\ai\eaigr.ai
797 misc\ai\eaigr.ai0
796 misc\ai\eaigr.ai2
815 misc\ai\eaiic.ai
813 misc\ai\eaiic.ai0
813 misc\ai\eaiic.ai2
819 misc\ai\eairy.ai
818 misc\ai\eairy.ai0
815 misc\ai\eairy.ai2
724 misc\ai\eaist.ai
724 misc\ai\eaist.ai0
720 misc\ai\eaist.ai2
1738 misc\pup\gr.pup
2126 misc\pup\ic.pup
2172 misc\pup\rystr.pup
2362 misc\pup\st.pup
21179222 bytes in 178 entries
CREDITS
------------------------------------------------------------------------
The image menu, the arena and the training rules are p61's
(tools/cogfactory/projects/p61-image-menu); the Dark Jedi duels are
p52's; the stormtroopers, Gran, Rodians, commandos and Dark Jedi are
LucasArts' own templates, and the enhanced AI classes are copies of
LucasArts' own stdefault/grdefault/rydefault/icdefault with the
movement instincts taken out; the controller, the menu row and the
arena changes were generated by tools/cogfactory.
The readme format is styled after SM Sith Lord's cog headers,
because his are the ones everybody read.
========================================================================


