From Blood Wiki
Jump to: navigation, search
LithTech Logo
Blood II indoors
Blood II outdoors
Shogo indoors
Shogo outdoors
Shogo-Blood II mix
Modeller tools

"Blood 2: The Chosen uses Monolith’s LithTech - one of the most advanced next-generation 3D engines in gaming... LithTech’s features give you the power to blow up walls, knock down buildings, scar surfaces with explosions and bullets, and interact with objects far beyond the level of simply collecting keys and destroying things. Destroy or interact with EVERYTHING if you want to survive! "
--Blood II: The Chosen website

LithTech (formerly known as the "Direct Engine") is a true 3D engine originally created by Monolith Productions in collaboration with Microsoft and was subsequently updated by a subsidiary company called Touchdown Entertainment, previously known as LithTech Inc; Touchdown's website has been down since 2010. An early version powered Blood II: The Chosen and its expansion pack. More recently it has been used in the popular F.E.A.R., its expansions, and its sequel; an unknown version is also used in Middle-earth: Shadows of Mordor. Though originally the version used in Blood II was only for Microsoft Windows, it was ported to GNU/Linux, Mac OS X, and AmigaOS systems for the Hyperion Entertainment ports of Shogo: Mobile Amour Division; work on a BeOS version for Shogo was also worked on in 1999 by Be Inc.


"Development was really slow in the beginning. We started with absolutely nothing and pieced together a beam-tree renderer for a demo for Microsoft. At that point we were importing 3D Studio files for the world. In order to accomodate players so they could make their own maps, we started working on DEdit which, in its first incarnation, had a really 'raw' interface. Then each piece of Lithtech sort of came together in stages: Implement DScript, implement networking, implement physics, start writing real game code, trash DScript, implement sound, test various 3D cards. It's been a very iterative process and we learned everything the hard way but it was always fun.. most of the time anything we were working on had a very tangible benefit and itwas cool to see everything coming together. I was thinking about writing a paper about the experience sometime and was jotting down chapter and top headers and I scribbled down 4 pages worth in about 15 minutes!"
--Mike Dussault

"When we started Lithtech and Shogo, there actually were no licensable (fully-3D) engines out there that we were aware of. There was a lot of hype about the up and coming engines, but we strongly felt that we would be better off writing our own. We were also very excited about Direct3D, which was very new and noone was using at the time. At this point, we're glad we have our own engine, but I doubt we would do it again if we had to. There were some intense hardships the whole company went through to get Lithtech to a licensable state."
--Mike Dussault

"DirectEngine (DE) isn't actually an API, it's an engine. It isn't competitive with APIs because it utilizes them for its rendering. DE's (DirectEngine's) strength is that it doesn't use one particular API. We have a version of DirectEngine for D3D, and one for Glide. You'll be able to run DE on any almost any 3D card, and get performance according to the capabilities of that card. Those using 3DFX cards will get all the bells and whistles of their cards (like lightmapping), but those with Rendition cards (for example) will also be able to run DE accelerated. DE is not limited to any one API, or chipset, but it also isn't limited by any one API or chipset. We've accessed all the best features of each card and API to maximize the end users hardware, regardless of what that hardware may be."
--James Wilson III

LithTech 1.0[edit]

"Shogo's based on DLLs written in C++. Each object type is simply a C++ class, and you use macros to export properties so it can be edited in DEdit. The server-side smarts go in a DLL called object.lto. Currently, the engine will only load that one DLL, but we gave it the .lto extension because (hopefully) for a patch, the engine will load all the .lto DLLs so people can add on behavior without having to recompile all the Shogo objects. The source for object.lto isn't on the shipping CD, but we'll be releasing it along with some of our tools, hopefully by the time the game is on shelves... [modders] will be able to modify anything on the server, and trigger client-side effects as well, so they can basically modify the whole game. The engine does the collision detection of objects, rendering, (optional) movement physics, and provides messaging between objects. The game does all the movement, collision handlers, special effects, etc. "
--Mike Dussault

The original version of LithTech was used in Blood II: The Chosen as well as in its sister game Shogo: Mobile Amour Division. The original version included a LithTech software renderer and a DirectX renderer to take advantage of 3D graphics cards (this was converted to OpenGL for the various Shogo ports). LithTech, in a similar vein to the id Tech engines, stored its level, sound and data files in one central package (REZ files). These REZ files could be edited, removed, or created from scratch to create custom levels or mods. LithTech has the support for multiple player modes, such as the various MCAs in Shogo and the playable four Chosen in Blood II.

It also allowed for some adaptation for events during cutscenes, a relatively new feature at the time. The source code for LithTech was released under certain conditions to allow greater freedom for mod developers. LithTech was also in many ways a spiritual successor to the Build engine used in Blood. Like in other titles from that engine, the characters of Caleb, the other Chosen, and Sanjuro have a variety of taunts and dialogue throughout the games, and most objects in the games can either be destroyed and/or interacted with. Another singular feature was its early use of ingame physics, such as in Blood II with the return of head soccer and also movable objects which could even be thrown around using the Singularity Generator or grabbed and and dragged with the "G" key.

Although it was not as advanced as other contemporary engines in some areas, LithTech was complimented for its ease of programming: this was a direct result of its development history, being originally planned as part of DirectX and a programming system originally conceived as a way to simplify game development. There is an interesting difference in perception on this version of the engine: some people saw it as the "poor man's engine", used by those who could not get the id tech or Unreal engines, while other saw LithTech as a strong engine in its own right which was just as, if not more, advanced than its contemporaries. The main problem faced with this version was networking code which took a lot of patches and other upgrades to try and sort it out.

The head engineer behind the LithTech engine, Mike Dussault, is honoured in both games. In Blood II his name can be found as one of the inhabitants of the Cabal Safehouse, and in Shogo there is a minor character named after him. The promotional video for LithTech (see "External Links) showed scenes from Blood II and "Riot" (now Shogo: MAD) as well as scenes from two never released titles called "Claw 3D" and "Draedon". The former appears to have been a third-person puzzle game based on the earlier Monolith title, and the latter appeared to be third-person medieval fantasy fighting game.


"Too numerous to mention, but I'll take a stab at it. There is, of course the fact that the Lithtech engine is true 3D, and that it allows for an extreme amount of customizability. This has allowed us to do some pretty impressive special effects and areas. Here's a list of some of the engine's features: Location Specific Damage, allowing recoils, deaths, and damage specific to where you shoot your enemy. Shoot them in the head, and they'll die instantly, with an appropriate death animation. Shoot them in the leg and they'll grab their leg, and then limp after you. Code Accessible Node Transformation and Linking (CANTAL). This allows us to attach models together. In Blood 2 this allows us to put the actual weapon the player or enemy is using in their hand. It also allows us to attach limbs, and then separate them dynamically, so that creatures will dynamically lose limbs when they die. Location-specific reflection mapping, which allows for very realistic 'chrome' effects on the weapons. The metal parts of the weapons shine and reflect as you move around. Volume-based fog, giving underwater areas a fog effect that obscures vision at a distance. Displacement Mapping, which creates wave effects that make our water rise and fall in waves. Level of Detail (LOD) system. This is a great feature that applies to our models. Each model has up to 250 levels of detail, and the levels change depending on how far away from the model you are. The further away you get, the fewer polygons are used, but since there are so many different levels it is almost impossible to tell that the models are changing. This makes a huge difference on how many polygons are being drawn in the model. From a distance an 800-polygon model may draw as little as 250 polygons, with no noticeable jump in look due to the distance you are from the model. This allows us to have a lot more models on the screen at once, so the days of fighting just one or two enemies at a time are long gone. :) These are only some of the features in Blood 2."
--James Wilson III

See Also[edit]

External Links[edit]