
The 3D Software Rendering Technology of 1998’s Thief: The Dark Project (2011) - luu
http://nothings.org/gamedev/thief_rendering.html
======
qwertyuiop924
Funnily enough, I've been playing Thief recently (this one, not the rubbish
new one). And _wow_ that game is hard.

It's also an absolute blast to play, and an important piece of gaming history
(one of the first First Person Stealth games, helped codify 3D stealth as a
genre, engine later used in System Shock 2, had some influence on Warren
Spector's next game, Deus Ex).

While the renderer wasn't particularly impressive for the time, the AI, sound,
and lighting engines were, which was essential for a stealth game.

~~~
simonh
> And wow that game is hard.

It's brutal. I ended up way down at the far end of a level (a sewer I think)
only to find that I was missing something I needed to do or have from back
near the beginning. Lack of attention gets punished hard. Great game though,
you really feel like you earned beating each level.

~~~
moomin
Finished that and Thief 2 on max objectives on every level. Not because I'm
particularly fond of rock hard gameplay, but because you got to appreciate the
game to its fullest extent.

Games that up the difficulty by making the mobs bullet sponges, meh.

(With that said, some levels in the first were a real grind to deal with all
the guards.)

~~~
talmand
I really appreciated the fact that one of the ways they ramped up the
difficulty was by increasing the required objectives.

~~~
moomin
There's literally entire areas you don't need to visit if you use the lower
difficulties. On the other hand, the extra cash you get lets you buy a lot
more stuff... which you're going to need to accomplish all those objectives.

I don't particularly ever wish to revisit The Cathedral. Spent three hours
retracing my steps trying to find about 15 gold...

------
AdmiralAsshat
The amazing thing here is that Looking Glass studios was known for its well-
written stories and innovative gameplay, in addition to its technology. The
first two generally come from highly creative people that are not necessarily
trained in the minutiae of high-performance technical design. It must be
incredibly difficult to assemble a team like that while also recruiting
someone with the technical chops to create the engine.

~~~
mihaifm
I remember reading some rumors that part of the dev team behind Thief also
works on Dishonored. Thief was a fantastic game, so is Dishonored, and the
similarities are striking. It would be interesting to know if this fact is
true.

~~~
BOBOTWINSTON
This would not surprise me at all. One of the main level designers for
Dishonored also did City 17 in Half-Life 2. When I first played through it I
was like "wow this person really got inspired by HL2". Turns out it was the
same guy. Dishonored was honestly a better Thief reboot than the new Thief,
but then again the new Thief really made me furious. I think I got < 2 hours
in before I just couldn't stand it anymore.

------
steeve
For those wondering what it looked like:
[https://youtu.be/38tJGachSfg?t=10m13s](https://youtu.be/38tJGachSfg?t=10m13s)

It looks pretty amazing to me and fluid for a purely software rendered video
game.

~~~
qwertyuiop924
...Actually, I'm pretty sure Thief _did_ get hardware rendering at some point.
For one thing, the finished product uses D3D.

~~~
joakleaf
This was even mentioned in the post.... The author left the company for a
short while and returned to add hardware rendering.

------
blunte
This game was beautiful and truly exciting to play when it came out. The
graphics really contributed to the feeling of being there, sneaking around,
watching light dancing from torches and shadows of moving NPCs.

~~~
hacker_9
The audio was done well too, gave a real sense of atmosphere. I find their
latest installment with all the fancy graphics, high quality models, cutscenes
and so on just not as fun to play. They just don't capture the same
atmosphere.

~~~
AJ007
The mental abstraction layer primitive graphics provides may communicate more
value than we gain from a near accurate simulation.

I'm not sure if this is because realism in a game contains mostly unnecessary
information and our brains don't have to filter all of that out, or it is
something else. The part of me that is bearish on VR is for this reason.

~~~
braveo
It's a problem with a lot of newer games. As someone who remembers playing on
the old Atari 2600, the hyper realism gets tiring really fast.

It manifests itself, not just in the graphics, but in forcing me to watch yet
another ladder climbing animation, my character not being able to stop on a
dime and turn completely around, ad nauseum.

I vastly prefer games that don't go for realism.

------
iainmerrick
I find software 3D rendering really interesting, as somebody who works on
indie games. GPU-accelerated rendering is obviously much faster and you can
get much better results; but it does have drawbacks!

With GPU rendering, I spend the majority of my time testing and debugging on
various platforms. 3D APIs are very complex, hardware capabilities vary a lot
and driver quality is very poor. So even though you can get much better
results in principle, in practice you _can 't_ get it as good as you hoped (or
at least I can't) while also making it robust and reliable.

With software rendering, you needed a ton of effort (by really smart
programmers like Barrett) to get viable results, but at least you had
confidence that it would _work_ on everybody's computer, rather than crashing
randomly on drivers that don't implement a 300-page 3D spec correctly.

I'm told that Vulkan should improve matters, being simpler and better-
specified than OpenGL, but I'm skeptical. It still seems very complex, and it
doesn't run everywhere yet so it's not a great fit for low-end indie games.

~~~
jeremiep
"Much Faster" is a bit of an understatement. The last software rendered title
I can think of is the first Unreal Tournament. No CPU can handle the load of a
modern game's graphics, not even close.

Even badly integrated OpenGL is still orders of magnitude faster than the most
optimized software rendering. And you're getting a lot more in terms of image
quality on the GPU: texture filtering, anti aliasing, "free" conversions to
gamma/linear space and more.

Vulkan IS simpler than OpenGL, theres no arguing about that. But simpler does
not mean easier. There's just much less stuff to worry about as engine
developers to hit the fast path. On the other hand, you're managing a lot more
memory by yourself.

And even in software rendering you still get different results on different
hardware. And even different results in debug vs release. Floating point
arithmetic is fun like that. CPUs varies in power just like GPUs do; cache
sizes vary greatly, number of cores, base clock speed, amount of available
memory, memory speed, etc. And we're not even touching SIMD yet.

You can't replace having to learn the hardware and the APIs to access it in
order to build a game engine. That was also true of software renderers;
they're closely tied to the properties of the CPU they target.

That's why you get access to Unreal4 or Unity3D; very, very few people can
actually make stable and portable game engines. Its just a hard problem space
to begin with. Making it easier only means losing lots of flexibility and
performance.

~~~
dfox
One thing to consider there is that today most 2D inide games are in reality
rendered by 3D hardware pipeline (because of some middleware that just maps
anything to Direct3D/OpenGL ES, today this includes even SDL) and that is the
use case where you (a) don't need hardware acceleration for rendering at all
and (b) trigger obscure driver/hardware bugs that nobody cares about because
they are irrelevant for truly 3D engines.

~~~
jeremiep
So long as your 2D game doesn't have lighting or require shaders. You'd limit
yourself to vector rasterizing and blitting bitmaps.

There are loads of 2D games out there pushing the GPU far enough that they
would never run in software rendering.

------
Zardoz84
A small incise : On 2001 Blade, the edge of darkness (aka Severance : Blade of
darkness outside of Spain), did a really nice job displaying indoor/outdoor
dungeon ambient.

The ambient, and the water effect and realtime shadows was really awesome.

