I’ve had the itch to play Deus Ex increasingly over the last few years. The first 10 years since the game was released, I repeatedly and thoroughly played it (as you can tell from my guide), and after roughly 10 full playthroughs, had kinda burned myself out on what was my favorite game. đ«€ So, I hadn’t touched it in the last 10 years other than for testing a few things and capturing gameplay.
But I finally gave in recently and started researching what the best mods to use were now. I liked Shifter back in the day since it made the game feel a bit fresher. But as I was craving a vanilla experience, I realized Shifter just added way too much beyond the core gameplay: new weapons, skill systems, augs, and lots of dubious or silly features. Then there’s Revision, which is all the rage right now, but again, I feel like it tries to do too much. I hear there’s a “vanilla mode”, but why would I bother with all of that to just play the original game. Maybe I’ll give it a try in the future.
HDTP (High Definition Texture Pack) hadn’t changed much since I last played with it. There are some good models here, but I really don’t like how the new character models lookâthey’re just too different and kinda amateur. Seems they are a polarizing feature as the creators went through the trouble of having an in-game menu to choose if you want to use the new character models or not. They state in the readme file that the new character models “were so damn contentious. Seriously, don’t get me started.”
I actually liked a lot more this little texture upscale mod that does faithful AI upscales of all the actor (anything placed in the world) textures. I wish someone would do the same for the world textures. As I realized when I did my AI upscale of the Deus Ex poster and some other classic memes, AI is quite good at maintaining the original look of the image and just adding in details.
I also tried New Visionâa high-res world texture packâbut didn’t really like it. It suffers from a combination of amateur work and being too detailed for such low-poly environmentsâyou know when you have a giant flat wall, it’s really easy to see the texture looping over if it’s too detailed. Also, like half the filesize of this mod is taken up by high-res animated textures, they’re essentially videos but without any temporal compression, just each frame compressed on its ownâextremely inefficient. Some of the signage is decent, though (although a lot of the Chinese text for Hong Kong is different and wrongâinteresting choice). I starting ripping them out of the UTX files to use separately, but it’s kinda tedious to sort through.
And finally, I wanted to try a new audio renderer as well, in case I could get better sound quality from my remastered soundtrack (the Galaxy renderer is limited to 8-bit mod samples). So, I put an OpenAL renderer in for a few levels. But I found that it has several issues like the music getting stuck a lot.
Well, when I finally decided on what mods to useâpartial HDTP (everything but characters), partial New Vision (signage), plus actor texture upscales and the requisite Deus Exe launcher and DirectX10 rendererâI fired up the game and was surprised to find that it still really holds up. After not playing for so long, I had forgotten a lot of the strategies that I would invariably employ in any given situation, freeing me to experiment with new ones. It’s really quite fun.
Lingering Troubles
But… there’s a few things that still bothered me (you knew it was coming). The first issue I had was the HUD UI is really friggin bright. For a game that takes place entirely at night, having an interface that’s any bit brighter than just-barely-visible is like a flashbang, especially to my old eyes. I always use the “Ninja” UI theme since it’s the darkest (and least gaudy), but even that is too much. And the default theme is even worse. I compared some screenshots from 2002 and now, and the best I can tell is that the brightness slider overly affects the HUD brightness (it really shouldn’t affect it at all). So, cranking up the brightness to see the world better also has the unintended effect of making the HUD too bright.
Then there’s the codes and logins. It’s something I’ve complained about forever. Who the heck wants to stop every time they come to a computer or keypad so that they can look up if they have the login or code in their notes, then move their hands to type in the login, realize they’re misspelling it, go back to their notes and just copy the login, then paste the login and realize they now forget what the password was. And all this in the dark by the way, because it’s a dark game. It’s an absolute chore.
And finally, the bug with Paul. I remember the first many times I played the game that Paul always died. I’d clear out the Ton and Paul would say he’ll be fine, but then next thing I know he’s dead. I thought that’s just how the game was until I tried Shifter and realized that my habit of going out the window to snipe from the roof was killing Paul every time. And now, without Shifter, I had to make the difficult choice of not sniping from the roof or killing Paul. Fine… I’ll save Paul and just walk out the front door… grumble
A Mod of My Own
So, I decided to start poking around with the game to see if I could mod it myself. I was thinking about making a system that would allow the player to automatically learn and enter codes and logins as they found them; Human Revolution does something similar as far as I can remember (dang, I should play that again, too). But to start, I needed to know with certainty every code and login in the game. This is a rather difficult proposition. It’s actually very tedious to hunt down all the keypads, computers, and ATMs in UnrealEd, so I gave up on that immediately. There are a couple package viewers for Unreal 1 packages (which includes Deus Ex map files), UTPT and UE Explorer. But they both have sizable issues for this sort of thing, and again, you have to open and search through every map, so it’s still pretty high on the tedium scale.
I actually decided to instead use AI to help me figure out the package format and write a script to search through all the maps at once. However, the documentation for Unreal 1 packages isn’t all that great anymoreâthis is the best I could findâso there was still an awful lot of reverse engineering and trial-and-error involved. CompactIndexes sure are an interesting thing! đ I uploaded some of the code and documentation I created to Github in case that aids anyone (or just simply helps preserve the information). In the end, I came up with a list of 129 unique and knowable codes from the game. (There are about 235 unique codes altogether, but you can’t find almost half of them. Also, two codes are given as partials, and I found out that one code is actually a bug.)
But then came the part where I actually had to write some new code for the game. I had toyed around with this a couple years ago to add a few console commands, but that was relatively simple and I just used UnrealEd to compile it. However, my planned changes would involve many script files and it would again be too tedious to work with these in UnrealEd’s little class hierarchy browser. Using UCC seemed like the obvious choice, although I had many issues getting it setup.
First of all, UCC won’t decompile (ucc batchexport) the Deus Ex scripts without giving an error a few scripts in. You actually have to use the “Export All” button in UnrealEd to get a clean decompile of all the scripts. You aren’t asked where UnrealEd will export to or where UCC will compile from either, everything is pooped out and then read from Deus Ex’s root with directories for each packageâthis makes keeping your game and development environments separate a real hassle. If you want UCC to recompile a certain package, you have to first delete the package from the System directory so it knows, you can’t otherwise choose certain packages. Also, both UnrealEd and UCC check the DeusEx.ini to know which packages ([Editor.EditorEngine] > EditPackages) and where to load from ([Core.System] > Paths). It’s important to check these in case (for example in my case), HDTP has put an overriding DeusEx.u package in a separate path that you don’t know about. Another curious thing that I stumbled on for a while is that UCCÂ takes scripts with defaultproperties defined at the bottom while UnrealEd does notâit will error at compile if you have default properties.
But once I got all of that figured out, it was mostly smooth sailing writing the code for the mod. The AI I was using (Claude Code Sonnet 4.5) made quick work of understanding the class inheritance hierarchy, UnrealScript’s antiquated quirks, and what any given script was doing. I just had to guide it onto what changes to actually make and how best to do them, and then proofread what it produced to make sure there wasn’t anything stupid going on (as you do generally with LLMs these days). What would have been previously too overwhelming for me with my health the way it is, instead took about four maxed out sessions with Claude. I still had to figure out the new UI textures on my own, though.
Here’s a demo video of the new code learning system:
Finishing the Mod
After all the work it was to add the new code learning system, it was refreshingly simple to change the HUD theme. You just open up one of the ColorThemeHUD_*.uc scripts and change what you like, then add it to the CreateColorThemeManager() list in DeusExPlayer.uc. So, I did a minor modification to the Ninja HUD theme to make it much darker, resulting in a 60% decrease in luminance for HUD background texturesâso much easier on the eyes. I did find a little issue, though, later when I realized that the HUD themes are saved in the savegames. So, I had to add a little utility to reload the themes in the “Colors” settings menu. Otherwise, you couldn’t use the new theme in an existing saveânot cool.
Here’s a comparison of the default HUD themes and my new darker one:
- Default Theme
- Ninja Theme
- Darkness Theme
- Darkness Theme Opaque
One of the main modding difficulties for Deus Ex is that there’s no modularity. Basically every mod needs to make changes to the DeusEx.u package because almost all the main game logic is in there and UCC needs to see all the scripts to even compile. It would be great if someone could make a mod loader that would allow different packages to be loaded and extend/override existing classes, but I don’t know if the engine or compiler could support it quite frankly.
But what I’m getting at is that if you want features from multiple mods, you have to manually merge them together. And being that I wanted a few of the fixes from Shifter, that’s what I had to do. I was fairly conservative about the fixes I included; I only wanted ones that fixed major general bugs or missions bugs. So, I left any exploits or weird glitches intactâI don’t feel like it’s my place to decide for anyone whether or not they should use an exploit. Sometimes I use the inventory overlap exploit anyways. đ (Don’t ask where I put that vial of ambrosia, Dowd!) Copying the fixes was a little bit cumbersome, but most of them are just in the MissionXX.uc scripts anyways.
But then I also went through the process of adding HDTP support to the mod, which was also a bit tricky. Shifter’s support for HDTP is rather complex with special functions for loading and unloading HDTP actors on-the-fly depending on if it’s enabled or not. I thought I could simplify this by just making a version with and a version without support for HDTPâonly a couple of the HDTP scripts overlap with my modded ones. But it still turned out to be a bit of a chore with moving packages and scripts around so that UCC can find them all. But it does work.
I’ve tested a fair amount of the game with the mod, and although I’m sure I’ll find bugs once I play through it properly, I feel like I can release what I already have. So, you can download the mod from this page if you are so inclined. I’m merely calling it SnakeMod since I can’t think of anything clever. But if a better name comes to me, I’ll change it.
There’s another mod for Deus Ex called Transcended that has a very similar focus and is more feature-rich. But yet, it doesn’t have the same improvements my mod does and does fix lots of quirks and exploits which I don’t want to. It’s definitely a good alternative, though, and perhaps I might merge some of the changes with my own mod (or vice versa?) at some other time.
HDR
I was also playing around with the DirectX 1o renderer for the game a bit as I was in the midst of modding. There’s a setting to turn off “Classic Lighting” and turn on HDR lighting. The HDR makes scenes have more contrast as well as adding some tonemapping and bloom on lights. However, the original author made some dubious choices about how the adaptive luminance should work. They gave it an absurdly long recovery time (like 30 seconds) that leaves you blinded for at least 10 seconds after looking at a bright lightâbasically unplayable. And also the range of the adaptation wasn’t limited at all and could get way too dark.
There’s a small mod to the HDR listed on PCGamingWiki that tries to fix these issues by just disabling the adaptive luminance altogether, but that leaves some bright scenes completely blown out and dark scenes pitch black. So, I tried to fix the original intent of the HDR by making a few more overarching changes. For one, the range of luminance levels is clamped between a high and low limit. Secondly, the speed of the adaptation is vastly reduced; it only takes about a second now. Third, the response is slightly less linear, so that both subtle changes in scene lighting have a smaller effect on adaptation, and vice versa, that bold changes have a greater effect. And finally, there is a slight preference to the center of the screen when adapting luminance, so that what you’re looking at has a greater effect than what’s in the periphery.
I think all these changes combined make the HDR effect now quite usable, and also so subtle that I’m barely noticing it most of the timeâwhich is what the goal is, I think. Although, there are a few situations that warrant some further tweaking of the shader; sometimes white textures or brightly-lit surfaces are given a bit too much darkening. But I’m pleased enough with my changes that I am releasing the HDR shader file as well. The values to tune are pretty well labeled and documented in code comments, so I encourage others to tweak them as well, in case they prefer a slightly darker scene or faster adaptation, etc.
Final Note
I just wanted to say a little about an old friend that passed recently. He was the one that I started my original website with way back in the year 2000. And fittingly for this post, he was the one that convinced me to play Deus Ex. For weeks he was going on and on about how great the game was until I finally relented and gave it a try. He wasn’t right about many things, but he sure was with Deus Ex.
So… cheers to Loogie. He deserved better, and he will be missed.



























