Mike Dussault
Monolith | LithTech | Jan 29, 2000, 07:51:12 (ET) | dussault@lith.com

*** Monolith Production's Finger Server

User name: dussault
Plan modified: Mon Oct 04 17:46:52 1999


The coolest thing that got in lately is lightmap
animations. Basically, we can now get shadowed effects for
a bunch of things in the environment:

- When doors open, light floods out.
- Flickering lights in the environment cast shadows.
- Keyframed objects and lights cast shadows on things.
- As the sun rotates over the world, the shadows on
everything move.

I'll be working on Certain Cool Enhancements to this next

I must say again how impressed I am by Third Law. They
never cease to amaze me. In addition to building their
game, they've added a ton of awesome features to their
version of the engine. I can't believe how fast these guys

DX7 is in now. There are a lot of things that I like about
it and a few things I dislike about it (but I had my chance
to complain so I won't complain now!) Overall, the API is
a lot cleaner and easier to use (especially to initialize).
It was really easy to convert everything over.

It remains to be seen whether or not there will be any
performance gain with skeletal animation using the
multimatrix blending (ie: hardware T&L for skeletal


I've been working on a lot of Lithtech2's under-the-hood
type stuff lately, and some good progress has been made.

The preprocessor's output poly counts are reduced by about
20%. Originally, this optimization created some lighting
bugs but those have been fixed. A slew of other lighting
bugs have been fixed as well.

Added a way in DEdit to align textures across a set of
polygons. You tag all the polies (in order) that you want
it to align the textures on, then give the command and
starting from the first one, it aligns the textures along
all their edges. For example, you could select the walls
bounding a circular room and have it align the textures

Did some work on getting model animation blending onto the
server. Originally, we had planned on only supporting this
on the client since there were some issues with having it
on the server, but we decided to put the functionality onto
the server, which simplifies a lot of the game code. Even
so, I think the game code was the most complex of all this
stuff. Probably about 80% of the animation blending work
was done by BLong.

One cool feature that slipped in is a light preview mode in
DEdit. You basically can load the lighting and go through
your level in DEdit to preview the lighting.

Another thing that got in is a way to manually edit the
lightmaps in DEdit. You can directly tweak and edit the
pixels in the lightmaps in realtime in DEdit, then save the
lighting data back out. I don't have high hopes for this
feature but it didn't take long to do so it'll be
interesting to see how it goes.

On my timeline at this point, there's a gap that I could
only label "LEGACY CODE", with more than a small amount of
enmity. If I were to describe it in any more detail, I'd
probably get arrested for full-scale assault and battery on
the english language.

WorldModel (finally) cast shadows on the environment and

I moved ALL the math-related functions into a cool
interface called MathLT. This was necessary because the
game code needed to do a lot of math for light animations
but couldn't use any of the engine's normal interfaces
(because it was being called by the preprocessor).

I LOVE the way the engine's interfaces are evolving.. we
used to have 2 enormous interfaces called ClientDE and
ServerDE (Lithtech used to be called DirectEngine, that's
why they end in DE). These interfaces shared a lot of the
same functions and got ugly. Nowadays, they're getting
slimmer and slimmer.

-- everything below is not relevant to Lithtech2 --

I'm on a mission now to only eat proteins for two weeks.
There's a low-carbohydrate diet that is taking Lith by
storm, and since I tried it, I've felt 100x better. I
TOTALLY expect to get about 30% more work done now just
because I can actually think straight (the negative effects
of carbs are amplified for hypoglycemic freaks like me).

If you're ever at Denny's on Wednesday night at 3:30am with
a guy who just got dumped by his girlfriend who works
there, and she calls the cops and your friend starts
getting lippy with the cops, make sure to pretend you don't
know him and just drive off. Not that anything resembling
that happened to me last Wednesday.

Well, I flew to L.A. a few months ago to see Tom Waits and
now it turns out he's coming to Seattle for two nights in
October! I was up at 8:30 the morning they went on sale
banging on my browser's Refresh button like I was playing
Track and Field, and I scored 10 tickets in the orchestra


Time for a quick update:

The first iteration of the terrain functionality is in now.
Wes has been busting out cool terrain levels for a while
and everything is proceeding smoothly. I know I will have
to revisit terrain a couple times in the next couple months
to get it better and better, but the hardest part is over.

As part of the terrain work, the engine's top-level search
structure is a quadtree instead of a BSP tree now.
(Changing to an octree is very easy, but we don't
need it for NOLF). This comes in handy, is faster for
certain operations, and handles non-indoor games better
than a BSP as well, so I'm glad this got in.

While working on model LOD, I found a way to rework the
skeletal animation loop to be MUCH faster. I can't believe
I missed this before.. it was so obvious, but it's a relief
to have the LT2 models rendering at the speed one would

I'm very pleased with the way the model LOD came out. It's
much simpler than the Shogo method (which was similar to
Intel MRM) and is a lot more efficient. In the game, we
will be using a set LOD offset for each GAME detail level
(ultra-high, high, medium, low), and the animators can
tweak out what each version will look like. The
transitions between LODs are smoothed out so you can only
tell it's doing LOD if you really look hard.

The model rendering will get another pass in the not too
distant future, and I'm expecting even more performance
gains. Sometimes this kind of thing bites me in the ass
though.. envision this scenario, "I am specifying 1/3 of
the vertices as before, but it renders slower!" Or how
about, "I removed 20% of the transforms, but it renders
slower!" There are those who say there's a reason for
everything, and there are those who use 3D APIs...

Primary things left to address for LT2 (I'm leaving these
extremely general because I'm sure I'll end up doing the
exact opposite of whatever I say here :)
- Lighting enhancements
- Networking
- Mods
- More model optimizations
- More terrain optimizations
- General renderer optimizations.. I have some ideas
that I'm very excited about

I saw Ministry last weekend and it was an awesome show,
way better than their last one. At the last one, Al just
sat there in a chair and barely moved, at this one, they
all went nuts. They even played Supernaut! I almost got
myself perished in the pit but it was fun as hell.

Emails are coming in about once a minute... I really wish
Outlook had a way you could tell it to only check for email
every X minutes, or only let high-priority email through.
The little email icon that comes up in my taskbar when I
get an email feels like an eye staring at me, daring me
to ignore it..


Time for an update about E3. I've been amazed at all the
interest in Lithtech that E3 generated. Here's an article
I can't argue with:


I can't really pick one thing I saw as the most
impressive... it all sort of blended together. The things
that stick out in my mind are Drakan, Anachronox, and 3rd
Law's Psycho Circus game. 3rd Law just released this video:


I couldn't believe the hordes of monsters in their game..
you have to see it to believe it. If I had a Men of the
Year award, the 3rd Law team would get it.

The most memorable events I have of the E3 trip are:

1. I busted half a move. In my vocabulary, busting a move
is getting a phone number from a girl you don't know.
Busting half a move is complimenting them but not having
the balls to get the number.

2. We played pool in a bar next to Jamie Fox.

3. Jason, Chris and I had just finished up a nice meal and
were stepping out of the restaurant on the Santa Monica
Promenade when we saw some lights flicker about half a
block down. We all looked, then there was a HUGE (3 story
high) explosion in which a manhole cover was blown out of
sight. The first thing I remember is feeling a heat wave.
The next thing was seeing the crowd go into panic mode. We
stood around for a little, then got up closer to see that a
hole about 10 feet in diameter had been blown in the
road. Apparently a gas pipe had exploded. The square
piece of metal that holds the round manhole cover in place
was jammed in the road sideways so it looked like a diamond
sitting on one of its edges.

After E3, Joel and I were at Universal Studios
at 'Creativity', at which there were a bunch of informative
talks. It's good that the people that populate the video
card companies are cool since we have to spend so much time
with them :)

Lithtech2 is proceeding along nicely. Among other things,
S3 texture compression is in now which reduces our texture
file sizes and will make a big difference on cards that
support it. I was amazed at the quality of S3's texture
compression library, I can't even tell the difference
between uncompressed and compressed textures (but then
maybe that's because I don't want to see it :) Just in
case, each texture can be stored as compressed or

Jonathan and I went to a Tom Waits show in L.A. last week,
it was totally awesome! After 2 1/2 hours and 3 encores I
could've sat there for another 10 hours. We saw Chuck
Weiss and Benicio Del Toro hanging out in the lobby too.
Our seats were pretty far back (and security was tight!) so
we didn't have a very good view, but I got the first hour
or so on tape!


Lithtech2 development is proceeding far faster than I
expected. At this point, it's like night and day compared
to where it was a few months ago. Cool features are
getting added every day. What's cool is that the R&D will
continue for at least the next few months.

It's interesting to see the Lithtech API evolve over time.
We've experimented with so many styles and ways of
structuring things that the API has looked very different
at different times. As it moves on, I can see it steering
a course between speed, complexity, usability, and

Our Lithtech2 E3 demo is looking AWESOME. It's very
outdoors-ish. It's already looking much better than I had
envisioned. While not "2 years before its chosen time",
this demo will pump fear.

I'm psyched to see 3rd Law's (Bloodshot's) game at E3.
From what I've seen so far, it's looking great. It has
been great working with these guys, it's obvious they have
a lot of experience and know their shit. Their game will
kick ass so keep an eye on it.

A few of the new developments...

Skeletal animation is working great so far. Each model can
now have multiple textures assigned to it as well. M.A. is
pimping out models with shared animation sets.

Support for 32-bit textures and screen surfaces has been in
for a while. I'm very happy with the way it's structured..
all the color conversion code was strewn out before but now
it is cenralized, clean, and simple. It's definitely
better to be using 32-bit textures and a 16-bit screen than
16-bit textures and a 32-bit screen.

The TNT2 owns me. It's very interesting to be working in
this paradigm where the card isn't the bottleneck anymore.
The bottleneck is much more on the processor and data
structure side.
NOLF Team 2003/01/25
Jason Hall 2002/06/25
AvP2 Team 2002/04/05
Andy Mattingly 2002/02/27
Karen Burger 2002/02/27
John Jack 2002/02/27
Brian Goble 2001/05/04
Bill Vandervoort 2001/05/04
Jeremy Blackman 2000/08/04
Mike Dussault 2000/01/29
Kevin Lambert 1999/08/23
Israel Evans 1999/05/10
Paul Renault 1999/03/24
Aaron St. John 1999/03/10
Spencer Maiers 1999/03/05
Rick Winter 1999/02/18
Benny Kee 1999/02/18
Jay Wilson 1999/02/10
Brian Long 1999/01/29
Paul Butterfield 1999/01/29
Kevin Kilstrom 1999/01/29
Joel Reiff 1999/01/26
Craig Hubbard 1999/01/10
Scott Schlegel 1999/01/05
Kevin Stephens 1999/01/04
Peter Arisman 1998/11/12
Nick Newhard 1998/11/12
Toby Gladwell 1998/11/12
Nathan Hendrickson 1998/11/12
Matthew Allen 1998/11/12
Matt Saettler 1998/11/12
Greg Kettell 1998/11/12
Eric Kohler 1998/11/12
Brian Waite 1998/11/12
Brennon Reid 1998/11/12
Brad Pendleton 1998/11/12
Ben Coleman 1998/11/12

Also Today...


Full list

Visit Webdog today!


Square Eight - Taking over the world and you don't even know it yet! Copyright © Square Eight 1998-2022. All Rights Reserved.
The BlueTracker is provided by Webdog.
We are not responsible for the content of the .plans displayed here.