JEDI-KNIGHT structure

We are going to see how Jedi-Knight is built and how the game works, without going to details which would be too long and difficult.

The game , is first an engine, the executable: JK.EXE which calculate movements, interactions with player and world, define which animation to play and when, play sounds, calculate dynamic lightings if there are some. All this using scripts (COGS) that are compiled while the level loads. Those scripts are for the base functions automaticaly started by the engine where they are stored and for all others compiled and loaded at the game start .
The second base element is the .GOB file or container, that contains all the datas needed by the level. It's with such a file that we can publish a level and distibute it. It's very easy to install a level : you just have to put the .gob file in the EPISODE folder of Jedi-Knight. So when the game start you can choose the custom game in NEW GAME in the start menu.


The container can store many kind of datas :



The file which define and give the level structure : EPISODE.JK

The geometry, objects types and positions : .JKL file

The scripts for this level : .COG files

Les textures additionnelles : les fichiers .MAT

The custom objects : .3DO files

Animations corresponding to the objects : .KEY files

Les descriptions d'animations reliant les .3DO aux .KEY : les fichiers .PUP

Sounds and dialogues : .WAV files

Texts to be shown during game, comments, objectives : .UNI files

The AI scripts configuration for the custom actors : .AI files

The sound configuration for objects (sounds to be played) : .SND files

Particles, smoke, explosion textures : .SPR files

Background images for the menus : .BM files

Custom color palettes : .CMP files

Custom fonts used : .SFT files

The Jedi-Knight folder contains a folder named RESSOURCE which contains two containers :

Res1hi.gob (if you choose high définition sounds)

Res2.gob

Res1hi.gob :



This container store the default .WAV sounds of the game.



The .UNI files (credit.uni, cutstring.uni, jkstring.uni).

credit.uni contains the end generic with authors list.

cutstring.uni contains the undertitles for cutsceenes.

jkstring.uni contains messages shown while the game, errors messages and menu texts.



The .BM files for the menu background images.



The .SFT files which are fonts.



Dialogues by default : .WAV files.

Res2.gob :



This container contains all the 3D objects : .3DO files

Corresponding animationsantes : .KEY files

The .3DO textures : .MAT files



Scripts by default : .COG files



The .JKL by default : static.jkl



The original texture : .MAT files



The .DAT files

item.datWeapons definitions, pickup objects, bonus, force, goals , player style.

models.datthe multiplayer actors.

sabers.datthe multiplayer sabers.



The sithstring.uni file
save nmessages, entry codes and multiplayer mode.



The .AI file which define the artificial intelligence of the actors.



Color palettes (colormap) : les fichier.CMP



The .PAR files defining sphere for particle representation (smoke, dust).



The .PUP files discribing how objects are animated.(Bind the .3DO to .KEY)



The .SND files discribing the sound characteristics of the objects.



The .SPR files , textures for dust, splash, smoke, bubles, explosions...