

The 3D Software Rendering Technology of 1998's Thief: The Dark Project - ukdm
http://nothings.org/gamedev/thief_rendering.html

======
camperman
"The techniques used in Thief were never written up and I thought it might be
nice to write them down for once, even if they're now totally irrelevant."

No Sean. To someone who's currently reverse-engineering Thief for the purposes
of remaking it for modern platforms, this is a wonderfully helpful document.
Many thanks.

~~~
weaksauce
This indeed made my gloomy Tuesday morn a little bit brighter... I love Thief
and I love game engine renderers. This reminds me to bust out my old pc and
play it again.

~~~
camperman
My wife asked me why I still keep this one old laptop. I said it's the only
way I can still play Thief. I've had no luck with VMWare, VirtualBox running
XP or Windows 98, wine, CrossOver or native XP. That's Just Wrong and I'm
going to change this state of affairs if it's the last thing I do.

~~~
ukdm
Hopefully GOG.com will get it sooner rather than later.

~~~
camperman
You can still buy Thief, Thief Gold and Thief 2 from various outlets and you
can certainly get it working on a modern win32 platform judging from the
responses on the game's forums. But it's a brittle process with no guarantees
(as I know only too well) and only getting worse with time.

GOG might well come out with a version and I'd be ecstatic if they made a
bundle which could run predictably on a modern platform. It would certainly
save me a bunch of work :)

~~~
camperman
jegub I'm actually replying to you because there's no reply button under your
comment for some reason.

I'm jealous - I really am ;) I know the process - hyperthreading fix, DDFix,
DarkLoader, T2 meshes in T1, safe texture manager switch, reload the codecs
and so on - works well for some people. I guess I'm scratching a (very large)
personal itch.

~~~
dunstad
If I'm not mistaken, the reply button takes longer to appear the more deeply
nested a comment is, to discourage long, drawn-out arguments which detract
from the value of a thread.

------
strags
Oh man, I remember my first games industry job - having to write a billion
different combinations of pentium hand-optimized polygon renderers.
(Convex/concave, textured, gouraud, textured+gouraud, etc...).

We did some similar occlusion stuff in our (admittedly terrible) game
("Assault Rigs", Psygnosis). We sliced foreground object geometry along a
plane where necessary to resolve sort issues with the background - and also to
allow the scenery to cast "fake" shadows on parts of the object. I also came
up with bitfield-represented PVS independently of the Quake guys :)

If I remember correctly, I did a special-case constant-z renderer for big
scenery polys, but the in-game geometry used self-modifying code to set the
constant U/V gradients for the spanline. Ugh.

Of course on the PS1, there was no software rendering anyway, and we just had
to subdivide foreground polys to avoid affine-mapping artifacts. I'm still not
sure how we dealt with all the seaming issues that that can introduce.

Ah, happy days :)

------
talmand
Ah, Thief. That was an interesting engine to create levels for. I seem to
recall that it tried to use real-world measurements which helped a great deal
in terms of sizing things as compared to the player. Plus how the levels were
created (subtraction from a solid world) was puzzling but then Unreal did the
same. I always preferred Quake's level creation method.

But my favorite bit of the engine? Sound. It was so vital to gameplay you had
to consider it heavily while creating a level. I don't think I had to consider
how sound travels through a level since.

~~~
mr_luc
Just seeing Thief on here makes me go all gooey inside.

Dromed brings back memories. <http://www.keepofmetalandgold.com/upcoming.htm>
\-- The Garden, 2002, FM under development by mr_luc; screenshots here:
<http://www.keepofmetalandgold.com/ej/gardn/> \-- wow, way back.

Dromed was a bear. I remember the 'water brush hack' -- you couldn't make a
cylinder with more than a certain number of sides (8)? But if you made an air
brush with 8, a water brush with 8 but rotated, and then a water-air, and then
a water-solid, you could make columns with lots of sides. I did that process
over and over again to make a dome, and then to hollow it out on the inside,
too.

I started programming for money around that time and had to leave it all
behind. But every few years I've downloaded all of the Thief FM's and replayed
through both games and the standout Fan Missions.

Except recently. I can't get it to work on Windows 7, with VMware or any other
way.

The impressive things about the game engine were 1) the sound; 'room brushes'
to apply different acoustics to areas, which promoted sound design to a first-
class citizen of level design, 2) the object system. It was surprisingly
flexible, and you could do a lot of very programming-like things because there
were various stimuli and stimuli receptors you could attach to objects, be
they AI or elevators or other things ...

------
sbochins
I couldn't really follow this article. But looking back at Thief, it was
really ahead of its time. I think games nowadays still cannot match up with
its stealth gameplay implementation. I would include Deus Ex in this as well.
It made a great use of light and allowed the player to affect the light as
well as the sounds they made. Really great game.

~~~
eru
Don't forget System Shock 1 and 2. It's not a stealth based game, but it's
made by the same people by as Thief and even System Shock 2 even uses Thief's
engine.

System Shock 2 is still one of the scariest games around.

------
dpio
Thief was/is one of the best games i've ever played. Thief 2 as well. Thief 3
was a bit too narrow, but still decent.

