by Thomas Green
make the ShockEd faq?
2) What is the ShockEd faq?
3) Where can I get ShockEd?
4) How can I contribute to the ShockEd faq?
5) What resources should I use if I have a problem
6) What are some good ShockEd web sites?
7) What’s the difference between SS2 and the Thief
8) The first steps you should take to ANY problem
you have with ShockEd.**
9) Do I really need to load up the level again
after I have played with it in Game mode? **
10) Are there any keyboard shortcuts?
11) I hear people saying I should always use
Grid snapping. Is this true?
12) How do I make my recharger particles blue
like the game? *
13) How do I make sky? Its nothing but black
with a few dots?
14) My brush wont change type (solid/air/water)
even though it says it has changed.
15) Sometimes when I move a texture or add a
new one to a brush, I don’t see any changes.
16) How do I make the player start somewhere?
17) How do I add objects to the players inventory
when they start?
18) How do I make the game start where the camera
is in the editor?
19) I have finished my level but when I try it
out in the real game I don’t have an interface.
20) How do I create an ambient sound in the game?
21) I created an ambient sound with a radius
of 30 but it never goes away.
22) How do I turn a sound on and off?
23) I have a DestroyTrap switchlinked to another
object, but it doesn’t destroy that object.
24) How can I view more than one Area at a time?
25) Are there any commands I can enter to see
my frames per second?
26) Is there a command to get some stats about
the level itself?
27) What do all those different tools do (build
28) My chairs are sinking in to the floor.
29) Why can I walk through some of these objects?
30) Why do my doors disappear as they are opening?
31) How can I figure out what Hue and Saturation
values to use to get a specific color?
32) Why do my windows have weird pink boxes on
33) How can I remove textures or texture families
I don’t need anymore?
34) “Floor me” doesn’t seem to work all the time.
35) How do I change the default stats for the
36) I cannot figure out Quest Filters.
37) How do I make a corpse?
* - a change or clarification was made since the last version
of the FAQ** - a new question added since the last version of
Why make the ShockEd faq?
I spent six weeks
putting together my first System Shock2 (SS2) level, Arboretum.
During that time, I spent many hours testing out lots of objects
and how they work, reading tons of forum posts, scanning tutorials,
and asking questions of my own. I realized that a document like
this could have saved me a lot of time and frustration.
What is the ShockEd faq?
This document is
a series of questions a new user of ShockEd might have. Though
I am far from an expert on the subject, I have put together
any strange issue or fact that I can think of that came up while
working with ShockEd so that others can save themselves the
frustration. This faq assumes you have been through the ShockEd
tutorial that came with the editor and have some further questions.
Where can I get ShockEd?
I’d suggest you
head to http://www.sshock2.com/shocked/resources.asp
and grab the editor there, as well as Dave Angels menus and
How can I contribute to the ShockEd faq?
If I there are
any errors in this faq, or you have some pearls of wisdom to
share yourself, please send an email to firstname.lastname@example.org
What resources should I use if I have a problem with ShockEd?
A) The ShockEd
tutorial that comes with the editor.
B) Tutorials on
C) This document
D) Search the Editor’s
Guild forum at www.ttlg.com
Use the SEARCH button on the top right and find your answer
there first before entering your own post: it’s faster and it
doesn’t annoy the people who have the answers to be asked the
same question by every newbie.
E) Look at the
original levels from the game to see how the pros did it.
F) Your last resort
is to post on that same Editor’s Guild forum at www.ttlg.com
and tell them clearly what you want to achieve and what you
have already tried that didn't work. That makes it much easier
for them to help you.
What are some good ShockEd web sites?
the ShockEd community is fairly small. There are not too many
web sites available, and fewer still that update frequently.
I would recommend a few Shock and not so Shock sites below:
(the mother of the dark engine game sites, including important
(another large site, dedicated to Thief 1 and 2)
(has a few tutorials)
(a great site that has lots of Thief levels and screenshots)
What’s the difference between SS2 and the Thief games?
Quite a lot and
not much. The games use the same engine so they share the same
benefits and faults. The layout is the same and the editor looks
exactly the same, but there are some differences. Lots of Thief
tutorials apply to ShockEd. And lots of Thief editors can help
point you in the right direction. But there are many differences
(sounds, objects, how items link) so you may have to do some
fine tuning to get a Thief tutorial to work.
The first steps you should take to ANY problem you have with
Have you tried
Portalizing? Optimizing? Computing Pathfinding? Building AI
Rooms? Did you type “script_load allobjs” in the console?
Do I really need to load up the level again after I have
played with it in Game mode?
Yes. When you come
back to the editor from game mode ShockEd has left everything
in the state it was when you left the game. So if you picked
up a weapon it is now on the player and cannot be picked up
again. If you killed a creature it is now gone from your level.
A one-time door will now be permanently open.
Also, pieces that
are needed for the game are now in your level. Another copy
of “The Player”, fake nanities, pieces of the hud. It can just
be a mess.
over time, this WILL corrupt your level. It will cause unusual
problems to appear that no one can seem to help you with. It
will be a real headache down the road. So SAVE before you go
into game mode and LOAD that save back up as soon as you come
With that said,
this annoying attribute of ShockEd does have one useful purpose.
If you need to simulate an effect that can occur in Game mode
but you cannot set it up to happen in the editor, then go into
game mode to make the effect happen, exit to the editor to see
what the results are and how you need to do things, load up
your save, and then duplicate the effect.
Are there any keyboard shortcuts?
You bet. Any using
them can save you a heck of a lot of time. Especially moving
around brushed and objects. They are all located in your Shock
directory in a file called Keybind.cfg I suggest you take a
look there and get a feel for using the keyboard.
I hear people saying I should always use Grid snapping. Is
Yes. If you do
not ALWAYS have the USE button for the grid on, you will get
errors. Not immediately, but they will happen. You want to avoid
this at all costs. Some Thief editors say they put their grid
size on 13 and never to go below or you will get errors. I moved
between sizes 11 and 13 frequently (because we Shockers have
some tiny screens and such to build) and never ran into any
problems. But I wouldn’t recommend going down any further.
Objects will not
snap to grid but that is fine.
How do I make my recharger particles blue like the game?
Easy. ShockEd just
needs to be told to use the right palette. Go to Editors – Mission
Parameters – Rendering Parameters – and where it asks for the
palette enter “shockpal”
How do I make sky? Its nothing but black with a few dots?
1) Hit Alt+T to
bring up the texture screen
2) Click on the
empty box labelled "Sky"
3) Click on the
ceiling of the room that you want to be the sky. You should
now have a black parallax texture and if you look close enough,
a few TINY little red dots
4) In the console
type "load_sky sky" NOT load_family
5) Go to Editors
- Mission Parameters - Sky Rendering - change it to textures.
Now you have a sky.
6) There is one
more sky you can try and that is "load_sky acid"
My brush wont change type (solid/air/water) even though it
says it has changed.
Any time you have
the texture window open, it will not accept any changes you
make to a brushes type. Just hit Alt+T to get out of the window
and try changing the brush again.
Sometimes when I move a texture or add a new one to a brush,
I don’t see any changes.
That means you
moved a piece of your achitecture since you last Portalized.
Portalize again and you should see your changes and any new
changes you make to the textures. But once you move another
brush, you may not be able to see texture changes again.
How do I make the player start somewhere?
You need to create
two objects and link them.
1) “The Player”
– put this somewhere outside of your actual rooms as it is not
a real object but will leave a triangle if you put it in a room.
2) Marker – “a
level start marker” – put this where you want the player to
3) Create a “playerfactory”
link from the level start marker to the The Player.
How do I add objects to the players inventory when they start?
1) Create the objects
you want and put them in your level (it doesn’t matter where,
but it’s a good idea to put them next to the “level start marker”
so you can find them again easily).
2) Create a “Contains”
link from the Level Start Marker to the object.
3) On the links
screen, double click on that ID # on the far left. An ordinal
field will come up. This is the space number on the characters
inventory screen. So if you add 3 objects to player but leave
them all with an ordinal of “0”, they will all try to cram into
the same place and the player will only have one in the end.
Instead number them like 0, 1, 2. And then all three will appear.
How do I make the game start where the camera is in the editor?
in the console before you go to game mode. Then you will start
where the camera is at. Just make sure it is actually inside
your level or you’ll fall for quite a while. And don’t forget,
you don’t have to spell it each time. Next time just type “per”
and hit the TAB key and it will fill in for you.
I have finished my level but when I try it out in the real
game I don’t have an interface.
You need to tell
the game to add the interface. The editor does this automatically
when you go into game mode. But the game does not. It’s pretty
You need to create
a trigger to a simple “Marker”. On this Marker add S – Scripts
and in the first field type “ChangeInterface”. Now when the
game starts, you will have the interface. But if you go into
the game through the editor, you will not have the interface
anymore because you toggled it off (since the editor automatically
toggles it on when you go into game mode).
By the by, a good
way to trigger the Marker, is to create a Once Trigger that
is very small and right under where the player will spawn. Then
when they enter the game, it triggers off any initial effects
How do I create an ambient sound in the game?
First, find the
name of the sound you want. They are located under Schema –
AMB_SCH. I also have a list of the Ambient schemas out there
on the net someplace. To listen to a schema, in the console
type “play_schema **name**” with the EXACT schema name. “halt_schemas”
will stop all the sounds playing. If you are going to listen
to a lot of sounds, I suggest you add those commands to a custom
menu, it will save you a lot of time. Note, that you cannot
simply find the WAV file name in the SND.crf file. The schemas
have different names unfortunately.
Next step is to
add a Traps – Ambient Sound trap. Add the property A – Ambient
Hacked. Give it a radius and the schema name and you are all
I created an ambient sound with a radius of 30 but it never
You created an
ambient sound with the environmental attribute. This attribute
says that no matter where the player goes, the sound will follow
them at the same intensity. This is a good idea for engine rumbles
and such. The radius merely defines the range and which it is
Now the sound WILL
go away when another ambient sound with the environment attribute
has its radius entered. And if you gave it the schema “cmd_silence”,
guess what, now it’s all quiet.
How do I turn a sound on and off?
To turn a sound
on, do not make it an Ambient sound like above. Instead create
a Trap – Sound Trap. Add the property – Sound – Object Sound
and type in the schema name you want. Now this sound will not
do anything on its own. It is silent. If you trigger it with,
say a button, it will make noise as you expected.
However, I do not
know of a way to turn off the sound other than using a DestroyTrap
to delete the Sound object.
I have a DestroyTrap switchlinked to another object, but it
doesn’t destroy that object.
Sounds like you
have a DestroyTrigger instead of a DestroyTrap. Try remaking
the object as a DestroyTrap and see if that helps.
How can I view more than one Area at a time?
1) Select an Area
2) At the bottom
of your screen hit the button marked Activate
3) Repeat this
with another area
4) Select the button
marked Shot Hot – You should now see both areas only
5) If you do not
see just both areas, that means one of two things, either you
are not looking at Show Hot or more likely, you have one Area
marked as Me Only. Unmark that Area as Me Only and it should
Are there any commands I can enter to see my frames per second?
Inside the game
mode hit the colon and type “show_stats”. It will give you lots
of good stuff. Keep in mind that total brushes are not the only
factor to slowing down your level. Lots of objects and animated
lights will also bring things to a crawl.
Is there a command to get some stats about the level itself?
Yep. In the editor
at the console type “info_window”. Some interesting info there.
What do all those different tools do (build rooms/optimize/etc)?
I asked this question
once myself and a kind soul named Xarax gave an excellent reply
and a suggestion I strongly encourage to create a “rebuild”
file. Here is what he had to say:
The Thief engine is a "portal engine". A portal engine
uses 3D convex hulls (aka Polyhedrons) for mapping the 3D world.
The "walls" of the hull are polygons. The polygon
that is shared by two adjacent 3D hulls is called a "portal".
(Actually there are 2 portals, because portals only go one way.)
The "Portalize" action computes the hulls and portals
between the hulls. Portalizing is faster than optimizing, but
can create world maps that are more complex than optimizing.
Those folks who
advise not optimizing are ill-advised. Optimize at least once
per session; any warnings or errors must be dealt with immediately.
Commonly seen problems are "Warning: Didn't grab coplanar
case!" and "Error: SplitPolyhedronByPortal blah didn't
cross plane." These are usually caused by not using the
grid or using a grid size that is too small (I never go below
grid size "12"). Optimizing performs 2 portalizations.
For ThiefGold, each optimizing pass will use the current lighting
setting (Quick, Raycast, Objcast), so you should set Lighting
to Quick before optimizing, then relight afterwards with Objcast.
I think Thief2 DromEd uses Quick lighting on the first pass,
which is goodness.
Build Rooms is
required when you create new kinds of rooms. If you create a
new kind of room that has, say, a TrigRoomPlayer script, then
the game won't recognize the new room (nor activate the script)
until you Build Rooms.
The AI room database
is different from the "Build Rooms" database. AI must
always *know* what room they're in and which room they're transitioning
to. There are some in-game commands that can spew information
to the monolog file for showing AI room transitions. I don't
know why it's important for AI to know their current/next room,
but it is.
also includes information about objects (collision avoidance)
and lighting information. Thus, it's important to compute pathfinding
after Objcast lighting your level, so that AI have a realistic
view of the world in terms of light levels, shadows, as well
as for avoiding objects in the world. The room databases don't
Here is a handy-dandy
text file that I run from the DromEd command box when I want
to rebuild the entire level. I name the file "rebuild.txt".
Just put the file in your Thief directory and issue the DromEd
command "run rebuild.txt" whenever you want to rebuild
the entire level (you should "Show All" area brushes
and enable all filtering before running this file).
The command file
performs the various build operations in the proper sequence,
as well as grid snapping everything according to the current
grid size. I always set my grid size to "12" and leave
My chairs are sinking in to the floor.
Some of the objects
do not have the right dimensions built it to them for some bizarre
reason. You have two solutions:
1) Change the chair’s
Dimension properties to have a radius of 2.5
2) Change the Control
properties by selection the Rotation button and adding Location.
This will lock the chair into place. It will be EXACTLY where
you put it and never move.
Why can I walk through some of these objects?
1) The objects
dimensions properties to not match the physical dimensions in
the editor/game. Simply edit the object and change its Dimension
properties to be correct. (i.e. you stretched a door to be twice
as big but can still move through it. So change its Dimension
properties and that will fix it)
2) The object never
had a collision property added for some reason. Add the property
– Physics – Collision Type – Bounce.
Why do my doors disappear as they are opening?
If the middle
of any object is outside of the game world the entire object
will disappear. You doors are opening into a solid wall, when
the middle crosses into that wall the entire door disappears.
a space for the door to move into so that the center of the
brush never moves into a solid. That should fix it.
How can I figure out what Hue and Saturation values to use
to get a specific color?
Yet another “two
1) Go to this web
site to give you some idea (though it is not quite accurate)
2) The most accurate
way is to open up MsPaint. Create a custom color with the color
wheel and look at the Hue and Saturation values. Take these
numbers and divide them by MsPaints maximum values for them
(240) and you have the decimal value that ShockEd wants.
Why do my windows have weird pink boxes on them?
This has to do
with unusual ways light seems to affect them. You need to change
the radius or angle of the light OR where you put the window.
How can I remove textures or texture families I don’t need
In the console
type “compress_family all”
“Floor me” doesn’t seem to work all the time.
Like many things
about ShockEd….it’s buggy. Sometimes hitting it twice will work.
Sometimes it just doesn’t work. Don’t rely on it.
How do I change the default stats for the player?
Add the properties
under the Player group to either the A Player item or the Level
Start Marker. Some only work on one or the other.
I cannot figure out Quest Filters.
If you’ve gotten
far enough to be using Quest Bits but cannot figure out the
filters there is a simple reason why. QB Filter will pass along
a switchlink if the value of the QB_Name is larger than the
amount specified in QB_Value.
So if the player
flipped a switch that had a QB Set make PowerOn to 1. Then all
I need to do is to have that elevator switch go to a QB Filter
looking for PowerOn at 0. As long as PowerOn is larger than
0, the filter will pass along the signal.
How do I make a corpse?
1) AI - Current
State - Dead
2) Look in the
Motions.crf (treat it as a ZIP file) for the animation names,
look for things that sound like corpses (i.e. humdiedn3)
3) Creature - Current
Pose - Type - Motion Name
4) Create - Current
Pose - Motion - "the exact name of the motion from the
5) Portalize. You
should immediately see the creature in its new pose.