STAR WARS™ Jedi Knight: Mysteries of the Sith™

STAR WARS™ Jedi Knight: Mysteries of the Sith™

Not enough ratings
How to install (and create!) single-player Dark Forces II: Jedi Knight and Mysteries of the Sith maps.
By The elder Jedi
This guides works for both Jedi Knight and Mysteries of the Sith.

Have you ever wanted to create your own Star Wars stories in Jedi Knight, or install ones that other people have made? Then this guide is for you!

The first section tells you how to play single player maps you have downloaded.
The second tells you how to make one (To an extent) using JKedit.

I am not a professional on this and just started in like April 2020. I wasn't alive when modding was in it's prime, or when most of the old forum posts I've been looking at to do this were written, so most of this guide was written from good old trial and error.
4
   
Award
Favorite
Favorited
Unfavorite
Disclaimer and why this guide even exists in the first place
TL;DR
I made this because it took me forever to figure out and isn't easily found.

Long explanation:

I got bored and wanted to play some more MOTS. The problem is I had already finished the game and wanted to explore new single player maps. There are a lot of maps online, but nothing tells you how to put them in your game. (I searched, and found nothing. Luckily, some of the maps had instructions in the README files included with them.)

After playing a few, I wanted to try making one myself. I love using level editors (Age of empires 2, Aurora for Neverwinter Knights, Lego Indiana Jones 2 [The editor is one of the two good parts of that game], and Portal 2 are ones i have used.)

I yet again find almost zero information, but on Jkhub there are 3 editors listed. So, I downloaded JED beta and tried it, since the consensus is that it's better than the other one. Upon launching, it gave me some error. So then I tried ZED. Windows didn't want to launch it (It said it's probably malware) and even when i did, it gave me the exact same error for JED. (It's an updated version.)

Next thing I tried was Smith. Turns out it wasn't an editor, it is a game-engine recreation. However, the editor part of it requires you to use JED or ZED.

So I tried JKedit. IT ACTUALLY WORKED FOR ME!!!

But all the manuals and links on the JKhub and Massassi don't work and are long gone, so I had no idea how to use it. I found someone had posted one of the manuals on ModDB in 2019 that they had found archived. It's missing some pictures and is incomplete, so I read it and am making a new, and hopefully more useful, guide here.

ALSO, I HAVE MADE A GOOGLE DOC BACKUP OF THIS GUIDE: Guide Backup Link[docs.google.com]
Part 1: How to install single player maps.
First, you need to find some maps to install!

There are many sites that have them:
Massassi Temple ( https://www.massassi.net/ )
The Admiral's Command Center ( https://tacc.massassi.net/ , it even has reviews of the levels!)
JKhub

Are just a few. (Just use a search engine)

Choose a map and download it and unzip it somewhere.

The first thing you should do after unziping a map is read the readme!

Some maps also have gameplay changes and new weapons (Among other things) These might not work using the default method.

Default Method:

Dark Forces II : Jedi Knight and Mysteries of the Sith use different file formats! Jedi Knight uses .gob files and MOTS uses .goo files. .gob and .goo files are the entire level/episode packaged in a single file.

To get a single player map to run in your game, just put the .goo or .gob file into the folder titled 'Episodes' in the game's folder. (To get there, right click on the game in steam, go to local files, and hit browse local files.)


P.S. Click the images to make them bigger.


Now, start the game! Hit single player, and the 'New Game' button.The single player maps you have added will be in a list of 'Episodes' (Since that's what Star Wars movies are called)




If only the Jedi Knight or Mysteries of the Sith campaigns show up, (Or nothing does and the game starts the campaign automatically), something is wrong. Make sure it's in the 'Episodes' folder and it is a .gob (For Jedi Knight) or .goo (For MOTS).

I don't know what to do if that doesn't work, again, follow the mod's ReadMe.

If that's all you want to do, then you can stop reading this guide. However, if you want to try making a single-player map (or multiplayer, I don't cover it, but this teaches you how to use the editor),
then keep reading!
Part 2: How to make your own single player maps!
First things first, there is an offical guide for this:

ModDB-jkedit offical tutorials

That is pretty much the only guide for this. Thank you so much, LithTechGuru, for uploading that, else, this guide obviously wouldn't exist.

For anything that isn't in the one I am writing below, use that one. It also tells you how to do things manually. (In the guide below, I use the create door tool to create doors.

It's pretty good, and what I used to write this one.

Now, for the fun part.

This is using JKedit by Ole Thomasen.

Here is a link to the download on JK Hub : JKedit by Ole Thomasen[www.jkhub.net]

(Edit 8/9/2021: In March JK Hub server broke, here is backup link, don't know if it works: Backup[drive.google.com] . This is just the application put into a folder on google drive.)
However, I suggest you use the download link at the top of the Mod DB guide


It is not open-source like the other editors (it's shareware) but it is the only one I got to work. (I am using Windows 10.)

Download it, then unzip the file. Run the installer. (The only thing in the folder)

When it asks you where to install it, keep it's default name, but place it in your Mysteries of the Sith or Jedi Knight folder. (I don't know if you have to, but it may solve problems with finding the game files.) [If using disk copies of the games, place it in the Lucasarts folder]

Now run it! (jkedit.exe or hit "create new jedi knight" / "create new mots")

To set it up if you just hit the application, go to Tools > Select Product > And choose JK / MOTS. When you hit create map, it might give you an error or something, but running the game first should let the editor see the files.


You can now use this to make all your single-player and multiplayer maps and episodes!
A few things to keep in mind...
(Note that these actions can only be done after you start your map, hitting Ctrl z right won't undo anything in JKedit since you haven't opened the application yet. Duh.)

If you do something wrong, use Ctrl - Z.

After every 5 - 10 actions, I recommend you check your map for errors. This is done by hitting Level > Errors. If there aren't any, Save!

You can not have concave sectors. This will cause errors.

I recommend never hitting the same sector option in any tool (like extrude) It leads to errors. (This is for extending hallways and stuff, which means it's pretty useless, as you can just merge sectors after creating them with less room for errors.)

Hit view > rendering > all sectors rendered. (It's also the blue isometric box) This will let you see the whole textured map in the editor.

I would also suggest you change the view distance in Tools > options to something like 15 for both the sector and 3do distance.


Sidenote: Windows Help
JkEdit has windows help functionality. Unfortunately, Microsoft has removed windows help from newer windows systems, and instead of packaging something that would actually, you know, let you use the help files, anytime you try to open help it will redirect you to a page telling you to ask the developer for a new version of the software, assuming they still exist.

The good news is they made a patch for windows 8 that works with 10 & supposedly 11. You'll have to use command prompt to install it though, so if you want help (lol), you are going to have to get your hands dirty:

Install windows help (windows 8, 10, 11)[www.winhelponline.com]

YOU DO NOT NEED TO DO THIS TO READ THE REST OF THE GUIDE, I do not want you to get stuck on this and just give up.

Also, when you get to step 1: 5. copy four files, those are the paths in file explorer. Microsoft also changed the names of the files, so instead go to the folders C:\amd64_microsoft-windows-winhstb_31bf3856ad364e35_6.3.9600.20470_none_1a54d9f2f676f6c2 & C:\amd64_microsoft-windows-winhstb.resources_31bf3856ad364e35_6.3.9600.20470_en-us_c3a9a33a1aee3495
to find the files you need. Make sure you are using the correct drive (D: or C:) on your computer when you copy/paste command prompt commands.
Tah-dah!
JkEdit: Setup, Navigation, and Splitting surfaces
First, I know almost nothing about this. I only started yesterday. (5/18/2020) So this is just the basics. It said this for over a year. I'm terrible at updating things.

Now that I have been doing this on and off when I feel like it (It is now Christmas break 2020 for me), I now know a bunch of stuff, so lucky you if you didn't read this earlier when I gave bad advice.

Before you start mapping there are terms you need to know. I'm too lazy to put them here, but, lucky you!, it's the first section of the guide I linked above.

Now that you know all those terms (You read them, right?), hit the new map button.
(File > New) (If you are using MOTS, switch to MOTS mode by hitting tools > select product)

Note that if this is your first time starting it, you will have to specify which game you are creating the map for, and you will have to show it the game files.

This is what your screen should look like now.

To move around the room, use these controls:
Move Forward & Backward -------- Up and Down arrow keys
Strafe Left & Right -------------------- L & R keys (I don't use this, instead I just...
Turn Left & Right ---------------------- Left and Right arrow keys
Move Up & Down --------------------- U and D keys (This is useful, but weird)
Look Up & Down ---------------------- Pgup & PgDn
Zoom ------------------------------------- W (It is a toggle, so hit it once to zoom and a 2nd time to return)

You will eventually notice that you are not alone, and there are two people in the room, Kyle Katarn and a normal Stormtrooper.

These are exactly what you think they are: Kyle is the spawn point / player and the Stormtrooper is just a Stormtrooper.

If you were to run this map right now, (I will tell you how later) you would spawn in a room, with a stormtrooper. When you return to the starting sector (in this case that room) , it will say "Mission objectives complete" (But the map won't end.).

By default, this is how your map will run, exit the spawn sector and then return to spawn. The map doesn't end either, which is weird. That will be the last thing we fix. We don't need goals if we don't even have a map.

But let's at least do something to the map before we test it.

Splitting surfaces
This sounds stupid and you would think we would draw a box or something first, if you have used other 3-D map editors before. (Like Hammer for Source) However, it is the first part of both this and the other (official) guide for a reason: It is crucial for editing the geometry in your level, and how JkEdit works.

So to do this, click on the wall in front of you. (Or the floor. Or ceiling)

Look where my mouse cursor is. This is the turn grid on/off button. You can press (G) to toggle this when you have a wall selected.

Press that button.
You will notice that some rude person has covered your wall with orange squares. (You can change the color in Tools > Options > Colors > Grid Node if you want.)

These squares are called nodes, and they are points which allow you to edit geometry.

Now, these nodes are spread a little far apart. You can change this distance by hitting the grid + and grid - buttons, which are located right next to the grid off/on button. My mouse cursor is between the two buttons in the following image.

This is VERY important, as it lets you keep floors level.

Now, time to actually split the surface.

Click on a node. It should turn red. (Unless you changed the color setting for that too.)

Hold Ctrl and select more nodes.
Go in a clockwise/counterclockwise order. This can be a line that it will split down, or a square. {If you instead click the split by polygon tool, it can be any shape you want.}

Now hit the Split Surface Button. (I screwed up my interface, so it is on the top bar. If you didn't move it, it will be the top button on the toolbar on the right)

You can also press S.

It will give you a popup. Hit yes, unless you don't want to. (You should, else you won't learn how to use this editor well...)


This is what it should look like now (If you made a square) As you can see, the nodes are within that boundry you made. This is now a seperate surface.
Changing textures and Extruding things.
In case you don't fully believe that this is a separate surface, we will change the texture just to prove that you are wrong. (Assuming you followed directions correctly)

The other guide dosen't mention this, but it's very easy. (I figured this out after I wrote this entire section and realized it has placed a texture in front of the old one, but didn't replace it.)


When you have a surface selected, hitting material [click on the word on the left side of the screen, it is a button] brings up a texture insert menu.

This menu shows all textures that are used on surfaces CURRENTLY in your map. You can hit the add button to add a new texture to the list. This helps filter out textures you never will use in this map.

(Note: Some will look pink/purple. These are part of a different colormap. [Not really, but just think like they are off-limits right now. It's like a tileset you can't use. Yet.]

Select a texture that is either in your map and is different from the current setting, or use a brand new one.


Now, you have changed the texture. But that isn't the primary reason for splitting surfaces.

Extruding surfaces

Now, we will make a small alcove.

Double click on this surface, and hit the extrude button or press E.


This will bring up options. First, we need to explain scale.

In order make things the size you want them, (not huge or too small) you have to have a sense of scale.

The starting room you have is 2 by 2. 1 is a big number in this editor. (1 by 1 would be the ideal size for a square room.)

Since this is just a small alcove, we want it to be small. .1 is about the size of an item shelf, so I recommend you go with .2 like I did.


Hit okay. It should look somewhat like the image above.

Now, lets decorate it.
Placing 3dos (AKA 3-d Objects)
We are going to place an object in this alcove.
(Finally, the interesting stuff!)

First make sure you do not have a surface selected. To help with this you can go out of the walls and click on the void, or click on kyle or the stormtrooper. (Don't double click on them unless you are going to place a copy. Don't place a copy of kyle.)

If the menu doesn't appear, you can double click on them, you just have to take the extra step and hit the "Add" button, and clear the search field at the top.

Hit insert, and select an object to place. You can type in 00table in the search bar if you want to use the same table I did.

Hit okay to place the object.


As you can see, it isn't where I want it.

On the left side of the screen, there is an x, y, and z postiton. You can move the object by hitting the up and down buttons for each. You can also type in a number. (Click in another box to update it's position.)


Once you are satified with it's placement, you're done!

This places any 3do, including enimes and pickups. NPCs are about halfway down the list, while items are 2/3rd's of the way down the list (They are under _powerup, NOT WEAPONS [Weapons is the models and animations)


There is a limit on how many 3do's you can have on a map. It's pretty high though, so is only a problem for huge maps. (But honestly, most maps in the campains for both games are 'huge')
Doors, Rooms, and sectors
Now it's time to add a door.

Select the surface you want to create the door on.

Now, if you noticed with the alcove, the alcove's floor was above the floor of the default room. We don't want our door to be a few inches (Or whatever measurement unit they use in that galaxy far far away.) off the ground. So, let's increase the size of our grid until it is completely orange (or whatever color you made it.)


Select one of the nodes that is against the floor (Unless you want your door to not be touching the ground. This is the center bottom of the door.


Hold Ctrl and select a second node. This is the direction the door will be pointing. Here I have it up. This is how you want every door unless you are making a weird map (Like the falling ship level in Jedi Knight)


Click the create door button (Or press O)


There are a few options here you need to understand:

Front / Back simple/sunken options:
Simple means the door is flush with the wall. Sunken means it is in a doorway. Choose which
you prefer. Having the back sunken will make it easier to create a room/hallway behind the
door.
Opening left/right/up/down:
This is the way the door opens. If you select left, the door will slide into the wall to the left
when it opens. Up means it will go into the ceiling, down means it will go into the floor.
The dropdown menu:
This lets you select which door model you want to use. The model you choose will determine
the size of the door.

Once you are satisfied with your settings, hit okay to make your door. It should look like the picture below:

(If you look closely, I missed the floor in this, so it is a centimeter off the ground. Oh well. If you want to avoid this problem completely you can hit the button that has dots in a square pattern by the + and - grid buttons. This will toggle the nodes to only show on the edges of the surface. You will have to zoom out a bit to select a second node for the direction of the door you create)

You have created a door, but there is nothing behind it! Double click on the surface directly behind it and hit extrude to make a hallway. [There is no image for this since you have used extrude before.]

You can use the same method you used to create the door for elevators, stairs, landscapes, and switches.
(If I knew how to link switches to doors, I would explain it, but I don't. Proboly requires cogging. (Scripting for Jedi Knight)) [Edit: I haven't tried this yet, but I probably could]

Making rooms

Now you have a door that leads to a hallway. But how to you make a room?

There is a tool right next to the extrude tool called the expand tool. This is pretty much extrude, but lets you expand your room in multiple directions.

First, select the surface at the end of the hallway. (If you made one. If you didn't, just select the surface on the other side of the door.) Select two nodes like you did with the door. You will notice the expand surface button is available.

Click on the expand surface button. (Or press P)


Now enter in the following. These settings are self-explainitory. They are the directions your room goes out from the starting surface and the shape of it.

Click on the okay button when you are satisfied.

You should now have a room!


Explaining Sectors

Every map is split up into sectors. These tell the computer how to draw your map. (Basically, it says that the stormtrooper is in front of the door and not behind it, so the computer draws the stormtrooper in front of the door.)

Pretty much every room and hallway is it's own sector. (Everytime you use the extrude tool, it creates a new sector.) You can change the ambient lighting for each sector, as well as the sound that plays while you are in that sector.

Below, in the cogs section, we will make a sector a secret area. But first, we will create a hot tub.





More geometry and adjoin rendering
There are more tools that have not been covered relating to geometry.

The dome, cylinder, and landscape tools can be used on a surface. Since they affect the whole surface, this is another reason to split surfaces.

Landscapes just make that surface bumpy. (Beware, It makes like 20 new sectors out of that surface)

These are done in similar ways to placing doors, so we will only show the dome tool in this guide.

Split the floor of the room you just created. You can split surfaces across a line, like this:


Now select that surface, and extrude it a bit. You don't need to do this to create a dome, but you do if you want to fill it with water.



Now select the dome tool. There are a few options you can choose. Hit okay.


You now have a pit for your water!


Adjoin rendering

When you use the extrude tool, you create a new sector, a well as most other tools. There are invisible surfaces that seperate those sectors. You can change what these invisible surfaces do.

You can activate the Adjoin rendering tool by hitting the button, pressing j, or selecting it under tools. It looks like two overlapping tan squares, with a gray square in the center.

When you activate it, you will see a transparent surface over your pit.
Select the surface. You now can select four new options on the far right or bottom of your toolbar: Create water, breakable glass, forcefield, and slashable grate.


For now, hit the Create water button. It will ask you if you want to create a water sector.


Hit yes. You now have water in your hot tub!





Cogs, what they are, and how to add default ones to your map
Cogs are scripts. They do everything. So, you need to know how to use them. Or at least read them.

The easiest way to do this is extract them from the campaign.

You can use JKGOB[www.jkhub.net] to extract cogs from .gob and .goo files.

After that, you modify it to fit your map. To read cogs, read the explaination in the official tutorial.

Someone wrote a guide to teach you how to write them as well.

How To Cog [www.jkhub.net]



Just a quick area...

I will show you how to use a cog in your map. The one we will use will set and track secret areas.

First, create a new sector for your secret area. I made one in the floor by using the split by polygon to create a 12 sided shape, and extruded it by .2 to create a small hole in the ground.


I then used the adjoin rendering tool to create a slashable grate over the opening.


Make sure it is a seperate sector!

Click one of the textures in that sector. Take note of the sector number. This you will need in your cog. (Yours will proboly be different than mine)



Using cogs in your map

Now, onto the actual cog that will make this a secret area!

Hit level > cogs in level.


This will open the cogs menu. Notice there are already a few. (In my case, 4. 1 for the door, one for the slashable grate, and the default start and goal cogs. )

We are going to add a default cog to our map. Click the add button.


This bring up a list of cogs that you can add to your level. Select the cog 00_secretareas.cog and hit OK.


Now, select 00_secretareas.cog. There are a bunch of empty boxes to the right. These are parameters. These are parts of the cog you can change to refer to different 3do's and sectors. First, let's take a look at the cog itself. Hit view.


At the top of most of these cogs is the title and a brief explanation of what the cog does.

The next section is symbols. This tells you what the terms used in the cog are and what the parameters mean.

After that is the actual code.

Note that even though this tab says editor, you can't change the text of the cog from here permenitly. You'll have to use another application.

Exit the view, and take a look at those parameter now that we now what they mean. (If you read it)


Each of these parameters needs to be filled for the cog to work. For this cog, the parameters need to filled with the name of a sector. (That's why it says sector next to it!)

So, fill in the first box with the sector number of the secret area you created.

However, this cog has 19 more parameters that need to be filled. You may have noticed that when your camera is not in a sector while moving around, it says the sector # is -1. -1 is the void. When you have a parameter that you do not want to fill, put -1 in the box.

So, put -1 in each of the 19 other boxes, and hit apply. (Double check #20 afterwards, it may be blank. Fill it in or you'll get an error.)

Once you check, hit okay, check if there are errors, then save! When you run the map, (If you did it right) upon entering that part of your map, it'll tell you you entered a secret area!

This is just a basic cog, but you'll be able to do a few things with cogs if you repeat the steps above with other cogs. Make sure you know what the cog is looking for in it's parameters!





Advanced hallways, death pits, and catwalks.
The biggest area in our level right now is the starting room, so lets make a more interesting area.

We will start by making an octogonal hallway.

Select two points on one of the walls, like we did to create the door , expand the room, and create the secret area. Make sure they are far enough away from the ground.

Now use the split by polygon tool and give the shape 8 sides. Make sure the radius is big enough for kyle to walk through!


The surface is now split.

.
Extruding at an angle

There were some options that you couldn't use when we extruded the alcove earlier. That's because you have to do the two-points thing to use them. Do that on the new surface, and hit extrude.
.
You will notice that we can now make it go at an angle. There is also a connect to opposite surface option, but we will use that later. (It is extremely useful, unless you are just making a linear, straight line map.) Set it to go up 25 degrees, and hit extrude.

.
This looks ugly, so I re-textured it. You can make it any texture you want.
.
Let's extrude the top by .4, so we can do a slight texture realignment.


.
You can see that the texture on the top part looks really ugly at that angle, even though it is lined up with the previous wall. When going into the texture alignment, it is at an angle. Change the angle to 0 degrees, hit apply, and if it isn't the direction you want, change the starting vertex.

Before:
After: (Yes, it's not perfect)

Well, hallway complete. On to making the next area of our level.

Death Pits

Now, we will make a room that has a catwalk over a death pit.

First, lets expand the surface using the parameters I used in the image below.
The sector should look ugly like this, so you can retexure it if you want.
In case I somehow lost you earlier, here is an overhead shot of what your map should look like now:
.
Alright. now look at the wall to the side of the hallway, and expand it using these parameters. Notice how we added a number to the bottom of the surface box. You could have done two extrudes, one over, and one down, but this keeps this pit as one sector. This will be important for when we create the catwalk.
.
Splitting sectors
The second thing the other guide told you how to do was to split sectors. I didn't know why it would be needed at first, so in this guide, I left explaining it to when we actually had a use for it. Now, this pit we created to too small to actually kill the player from fall damage. So, we are going to toggle the sector as a pit. But first, we need to split it, so that you don't die from walking across the catwalk.

So go into sector mode. Hit grid, and change the grid settings to edges only. It should look like this:
.
Splitting a sector works just like splitting a surface, except you have to select three+ points. Select points like in the image below.
.
Now, just hit the split sector/surface button. It does both!
Now, the sector should be split.

To check hit the adjoin rendering button, which is what we used to put water in the bath tub. Now, you can make this a pool of water, force field, grate, or pane of glass if you wanted to, but we want to make it a PIT OF DEATH!!!!!!!


So simply select the bottom sector, hit the sector flags button, and set it to pit. Done. It kills anything that falls off the catwalk we are about to make. Except maybe Palpatine apparently.

Catwalks

Split the ledge surface until it's a rectangle like this:

Select 2 points on it:

Hit the carve sector surface tool. This is the first time we will be using this tool. It looks like a white hole in a brown square. Just go with the default options. Hit accept.

You now have a railing-less catwalk!
It just wouldn't be Star Wars™ without one!

Connecting Hallways, Ramp, and Moving skyboxes
Time to make more stuff! We are almost done with the basics of JKedit!

Small ramp using carve tool
So, earlier we made that hexagonal hallway. It's entrance was above the ground however, so let's put a small ramp there to make it look better.

Select 2 points in the center of the surface, from bottom to top, like we do with most of these tools.


Now use the carve sector/surface tool (What we just used for the catwalk) and put it at a negative angle. (I recommend using the number you put the hallway going upwards at so it looks good.)


Now you have a ramp. (If you don't like the sides you could have split the surface so it lined up)


Unfortunately, when you check for errors (Because you have been doing that after every section, right?), doing this caused one. Lucky, sometimes the editor can run a process to fix these errors, and this is one of those times. (Or, at least it should be)



Just hit the "clean-up" button and it should fix them for you. Note that this can only done with subtle errors, most cannot be fixed with this.

Making a sky so the player can look up and think "Wow, I'm not in a grey building anymore."

Because just having rooms is kinda boring. So, we will change the ceiling over the catwalk to be a sky.

So after selecting the ceiling, go to material, add, and pick out any sky texture that you like.
[Note: The texture called NarSky or something like that for MOTS will crash JKedit]
The ceiling should now look like a sky.

However, it's just a room in a building with clouds painted on the ceiling. We want the sky to have depth. So now, go to surface flags, and check the box labeled Sky(Ceiling). Hit Okay.

You won't see anything different in the editor, but it will look a lot different in game. We are going to still take an extra step. Clouds don't sit still. So, we are going to add the SlideCeiling cog to our level. Once we have this added, all textures marked as Sky(Ceiling) will move at the same speed in the same direction.

So, Go Level > Cogs in Level... > Add... > and select the 00_slideceiling cog. (Shown below)


Now you can set the speed you want it to move in both directions. Hit Ok when you are done.

Connecting Hallways

The step before we start working on the grand finale.

When making a level, you may want to create things like windows into rooms, or hallways where you can go multiple directions. But the question is, how do you accomplish this?

We will make a back area on the other side of the catwalk to demonstrate this. Note that this doesn't always work out smoothly and is one, if not the, hardest things to get right.

Split the surface on the other side of the catwalk like this.

.
Then extrude it by these dimensions TWICE.

.

DO TO EACH SIDE THE FOLLOWING:

Select the second surface from the catwalk and extrude it by .3 (left image)
Then extrude the side furthest from the catwalk by 1. (right image)
.
The end result after it has been done to each side should look like this:

Now that that's done, it is time to use our new action.

Split the surface on one side, and Select the side shown. Turn on the grid, and select the outside edges button. (This helps line things up and makes sure floors and things are level)

.
Then, do the two-point thing, starting at the bottom node. Click extrude surface.

Now, lets look at our options.

We can now use the connect to opposite surface button. Click on it after looking at the image below.
.
If you did it correctly, it should look like this:


If it doesn't look like that, chances are the two sides aren't evenly lined up.

Congratulations, you have learned the last basic level geometry tool in this guide.

As a celebration, we will have a short quiz to make sure you know the basics:

Create an alcove in that area, and insert a blue key object into it (It's a powerup) . Texture the alcove so it doesn't look bad. See the three pictures below.

.
If it looks like (or close to) the last one, good job! Hopefully you did it, because that key is the key to the last part of this level: Locking the bathtub, and making you win when you get inside.
Writing a End to your level with your own Cog!
Actually, wait, we are going to insert another cog first. Just to make sure you remember. And also to lock that door.

Writing a End to your level with your own Cog! Adding another cog first!

(You may want to get up and stretch or something. This "Finale" is going to take a while, and is our longest section by a landslide. Just thought it was courteous to let you know, so you don't expect to get it done in 15 minutes.)

Go to Level > Cogs in Level... > Add Cog . Select 00_doorkey.cog from the list, and hit Ok.

Awesome! We have it added!

Now, let's delete the old door cog. Make sure you remember the object number. (If you don't, you can click on the door you want to lock to find out.
Okay, so now we just have the doorkey cog left.

Let's select the doorkey cog, and fill in it's parameters : The door's object number, and -1 for the next three. However, we don't know what to put in the key(int) spot. Click view with the cog selected.

Read the top section of the cog.

Look what it says about the key colors. Since we have a blue key, the key(int) parameter should be set to 1.

Do so.
It should look like this. (No, you don't have to fill in the flex values) Hit Ok.



Writing a End to your level with your own Cog! For real this time.

So now, we have to something different. We will be using a seperate tool to write our own cog.

The tool is called cogwriter. The reason for using this tool is that it will catch things such as spelling mistakes, missing semicolons, and other syntax issues.

Download Link is the second one on this page:
The Admiral's Command Chamber - Editing Utilities[tacc.massassi.net]

If you wanted to, you could also just do this in a .txt file, and change the file name to .cog, but you won't have the error checking that makes cogwriter great.

So, now, to make it easier to read the text, you can just read the images below. I have step by step instructions in them.

Remember, click on the images to make them bigger. In fact, this is not a suggestion. Click on them.

Do it.

Note: In the symbols section, space out the words using tabs (3rd and 4th images)

Let's save that document, and head back to JKedit for a minute.

Open the Episode Editor (Level > Episode Editor...)


This is where you can change the level name and description, as well as other things.

Let's change the name of this level to "Kyle Takes a Bath." ,

where it says mission description, let's change it to:
"After traversing yet another 90's sewer level, Kyle Katarn smells pretty bad, and needs a bath."

Now let's edit our goal. We only have one. (Goal_01000)

Where it says Goal Description, let's change that to "Unlock the door to the bathtub so Kyle can get the smell of sewage out of his clothes before Jan gets upset with him."

.
This will be the goal listed when the player views their datapad.

Now let's change the name of the level file. You should name it something unique, like "your name + steam tutorial level". In the example below, I named the file Bathtime.jkl .

.
The last thing before we are going back to finishing writing the cog is removing the useless goals cog that is already there.

Go to Tools > Options. These are the options for using the editor. Here you can change the resolution, render distance of objects, colors of the nodes, and more if you want. Now we are going to change "Include Goals Cog?" to No.

.
This will remove the default Goals cog from our map. When we finish writing our goals cog, it will replace the old one.

Now, it's time to head back to CogWriter!

[Edit (11/17/2022): I just now noticed that this has a potential problem, the cog will trigger whenever the bathtub sector is entered by anything, not just the player. Add "&& GetSourceRef() == player " inside the if( ) , after the word "bathtub". The GetSenderRef gets who sent the message (the sector "bathtub"), and the GetSourceRef gets who caused the message to be sent (the player)]

Now, let's put this cog in our level!

To do this, we need to go in Level > Files in Level...


Once you are there, you will see a box with a list of the files in your level. This shows any new files you have created, and is how you place new files in your level. (Custom mats, 3dos, cogs, etc.)

To add your cog to the level, you need to follow three steps:
1. Click the "Add" button.
2. Find where you saved your cog you wrote using the file browser. Make sure the results are filtered to .COG files.
3. Select your cog from the list and hit open. You did it, the cog is added!
4. Close the window by hitting OK. (You added it, so I don't count this as a fourth step. I can count. I think...)

Ok, now we added the cog file to the level, now we have to put the cog in the level.

All you need to do is the same thing you have done for every other cog. Go Level > Cogs in Level...
then hit Add, and select your cog from the list.

Now, thanks to having that symbols section in our cog, we can just enter in numbers for the cog. (Again, you don't have to type in anything for the sound, since we already defined it.)

[Make sure you put in your bathtub sector, it may be different than mine above!!!]

Now hit OK, and save your map.

FINALLY, AFTER 1.5 YEARS I HAVE FINALLY FINISHED THIS GUIDE TO THE POINT WHERE YOU HAVE A FULLY PLAYABLE MAP FROM START TO FINISH!!!!!!!
(Sorry, had to get that out of my system - hannafamilycomputer 9/7/2021)

Settings for your maps
Here are some other things you can do for your map.

You can change starting equipment and force power configurations. Hit level > startup editor.
This is what the player starts the map with. You can change these more reliably by changing the Master aka startup cog.

To get force powers to work, the jedi needs a jedi level,and maximum force mana.

(Does anyone know what the Salamira setting does?)


You set the episode name, the level type (Single user is Single player, the other options are multiplayer modes) and objectives (By editing the "Goal Description", you can add more below by coping that line and placing another with the next hexidecimal value ) by going to level > episode editor. To put multiple levels in your episode, you close any open files you have, and in the startup area, go into Tools > Multiple Level Editor...


Here you can set more options for your map. It is in level > header.
How to publish / test your map.
Hit tools > test level.

If that doesn't work, (no worries, it didn't work for me either!) ,hit file > save as > .gob or .goo depending on the game. Then, place it in the correct folder. (See the first part of the guide) Launch MOTS or Jedi Knight, and play your map! (Saving it as a .gob/.goo will let you send other players your map.)

(Diagram of where and how to save it)

The sites I listed above (In part 1) you can submit a map if you follow their guidelines. I don't know if there is a steam workshop page (I'm pretty sure there isn't), but maybe someone could create a steam discussion thread to post custom maps.

[If there isn't one, I'll do it once I have something decent to post, at least for MOTS, if you, the reader, don't beat me to it]

The end-user's license agreement says something about putting stuff like "I am the creator of this mod, star wars Jedi knight is copyright lucasarts and disney" or something like that in the readme attached to your mod/map.

Click the link below, and just paste the text in a .txt file to put in your mod, after editing it.


https://drive.google.com/file/d/15yiwOjBH9OvYC_BXn2HN3V68pFFvQC26/view?usp=sharing


More tips
This section will have a few more things added to it as I figure things out, so keep a lookout.

Goals
Here's a link to a video on adding goals to levels. It's not the best but that's the only topic I've found a video relating to JkEdit on. It's a little hard to follow especially since the author puts every single function a script can have in it, but at least this gives you examples of these in action. (Kind of)

JKEdit Tutorial: Adding Goals to Levels

{Sidenote related to 29:40. In MOTS you can drown Dark Mara. It's the only way I could beat her. (I am horrible at lightsaber duels in Jedi Knight) It's more realistic without doing this, however, it can lead to cheap battles. (I.E. Your epic Sith lord your hero has to fight in a vertical arena gets crushed to death by an elevator.)}

Texturing

You can use change texture coordinates tool to stretch, rotate, and align textures.

An easy way to align textures (make them line up) is to select a surface that has the texture you want, hit copy, then select the surface you want that texture to be, and hit paste! Using these two tools, it's very easy to make your texturing look good.

I also have a way of doing this for doorways:
This is a real timesaver when it comes to texturing.

Also , bonus tip : You don't have to press Ctrl for these, as C and V are bound as copy/paste in JKedit!

Cogging

Cog syntax

The Cog programming language has the syntax of most basic languages, accepting things such as:
if( statement){ && = and || = or else {
and data types:
int string
There are much more, those are just 2 examples.


Cog Verbs

This link will help show what different cog verbs do, so use it! JKHub used to have a more in-depth version, but server fire happened, so this is what you've got.

https://millennium.massassi.net/cogverb/

Make sure to hit "Show" in the bottom of the box to see the terms themselves.

Counting in Cogs

Say you want something to happen after a certain number of things are done, like after killing 5 stormtroopers, or pressing 2 buttons. This is pretty easy to do in cogs. In this example, we will have 3 troopers each named bob. (Just have thing bob# 3 times in your symbols section)

You need an int (integer) in your symbols section. You can give it any name you like, if you make it a local variable:

int deaddudes local

Then, in the code section, in the startup block, set your int to 0:

deaddudes=0;

Lastly, use an if to have it see if the condition is met, in the message section. Example:
killed: if(GetSenderRef() == bob1 || GetSenderRef() == bob2 || GetSenderRef() == bob3 ) { if(deaddudes == 2){ print("All 3 bobs are dead!"); } else{ deaddudes = deaddudes + 1; } } return;
This will check if one of the three bobs were killed. When the first two are killed, it will add 1 to deaddudes. When the last one is killed, deaddudes = 2, so it will print "All 3 bobs are dead!".

This can be used in many ways and is very useful. You can add it to things like a goal sector to make sure the player dosen't get a message multiple times when entering one. (Set the int to 0, when the player enters the sector, check if the int == 1, if not, display the message and make the int = 1.)

Making good levels

Here are some articles on how to make levels better in Jedi Knight.

http://www.commandchamber.net/

https://tacc.massassi.net/articles/

They have some good advice for making your levels not trash.
Conclusion
Hope you enjoyed this guide. It is basic, but should get you in the right direction.

If you have better information, or if I'm wrong, or have more to add, please comment below, or if it pertains to a specific section, comment in the google doc version of this guide. I am open to suggestions on how to improve this guide and will update it as I learn more. I can probably answer most of your level geometry questions and how to use the default cogs, but most likely will not be able to answer lighting, cut scene, and debugging questions. I do also know more stuff (like creating patrol routes for enemies) that is not in this guide because it is very long already.

Thanks for reading!


(EDIT 8/24/2020) You can't add files to discussions, comments, workshop, or artwork on steam. So you'll have to post it on some other site (Maybe save it on google drive, make it "Anyone with link can access", and post that link into the discussion.)

Check out the other things I have made:

Guides:
How To Climb the Scaffolding without cheats - Half-Life 2 Lost Coast

Mods:

Portal 2: Prison For Unruly Cubes , 4-Layer Labyrinth , Short, Simple Test Chamber
9 Comments
The elder Jedi  [author] Mar 26, 2024 @ 6:37pm 
@Jonessoda9 , I've been meaning to sit down & redo some sections of this guide & add stuff:(Rewrite the intro, explain the terms throughout the guide as they come up instead of linking to a glossary, I now know how lighting works [mostly :p], expand part 1 to show how to use Max Manager & use mods that are .exe files because for some reason steam changed the name of it from the disc release, and I think the goal cog isn't optimal - startup section may be redundant, though I'm not 100% sure) for a while now, I just haven't felt up to it with all that. Last time I touched it was a year ago when I added the windows help side-note.

Anyways, Jkhub can still be accessed via wayback machine, so you can still view all the posts and tutorials there, however all the custom user made cogs, tools, and assets you could get there are lost because it doesn't archive downloads.
[Last capture before fire:]
https://web.archive.org/web/20200920000523/http://www.jkhub.net/
Jonessoda9 Mar 26, 2024 @ 3:56pm 
Awesome guide man. Looks like jkhub is down permanently though. So may need to update that
Shotgun Mike Nov 26, 2023 @ 7:55am 
wow
The elder Jedi  [author] Jan 9, 2023 @ 4:25pm 
This guide is very image-heavy, so sometimes not all the pictures load. If that happens to you, use the Google Doc version. (I don't keep it as up to date as this one)

Link: https://docs.google.com/document/d/11b6mf9JT1-fMm0IvtKlLTCJ7K6l8dB5wiQaeYDSKhCk
Zeithri Nov 6, 2021 @ 12:51pm 
Didn't read the whole thing since... Well it's really long.
But I'll definetly use this if I ever get around to making a level in this.
FistofArrows Aug 30, 2021 @ 8:21pm 
This is pretty informative and it's cool that you worked on this game that is older than you! Nice job!
JoJolion1010 Aug 9, 2021 @ 6:54pm 
Thank you so much for this, this is so amazing. Jedi Knight: Dark Forces 2 is such a good platforming game with the insane level design, force jump and force speed powers. I can't wait to make my own levels and play through ones other people have made as well
Milk Oct 5, 2020 @ 6:28am 
Its so crazy seeing a full guide for JkEdit on Steam in 2020.

I remember back when modding Jedi Knight was in its prime, modders making maps in JkEdit was so divisive. You'd be looked on as a noob for using JkEdit instead of JED to make maps.

I used JkEdit and I loved it. I was able to make some pretty decent stuff with it.
The elder Jedi  [author] Aug 24, 2020 @ 5:41pm 
Here is a WIP verison of my first level, the Tie Freighter.

https://drive.google.com/file/d/1Q-JI4dCq--xfdsNi8ZjsMKa8yJMQbnnO/view?usp=sharing

Feel free to try it out and reply!