spillz00 on 1/9/2026 at 23:57
Quote Posted by aerosq
What happened to the darkness repository?
It seems to be unavailable.
Had to come down for a bit. I was told it will be back soon.
jdv on 3/9/2026 at 01:14
hey, I decided to pull it *temporarily* until I get to alpha v0.1. Reason being it's simply not ready for community contributions / forks etc yet, but rest assured I'm actually making rapid progress to get it to that alpha stage where the game is actually playable and the git tree won't be fully mangled by, what I'm learning, are extremely chaotic agents if left unchecked :)
i also just a have a lot going on with work / personal stuff (including a move) which means I'm less able to pay attention to this for the next 30 days or so, but nothing's wrong. I've mostly got realtime shadows, water reflections, steam audio pathing, and other rendering enhancements nailed down for the v0.1.
The remaining parts will be trickier: AI, game logic, etc. I don't have a clear plan for getting that stuff working, so it's likely the development will be a bit of a mess for the next stretch.
don't get your hopes up: the first release of this will *not* be like the original game. small differences in how the AI systems, pathfinding work, will make a huge difference. I'm pretty much 100% sure I won't be able to reproduce the original game's AI behaviour, so the question is whether I'll be able to come up with something based on open implementations of similar style games that end up feeling appropriate for thief or not. I'm really not sure, given how this development effort has gone so far, whether "close enough" will read as "good" when it comes to the actual behaviour of the AI.
spillz00 on 3/9/2026 at 02:24
Quote Posted by jdv
don't get your hopes up: the first release of this will *not* be like the original game. small differences in how the AI systems, pathfinding work, will make a huge difference. I'm pretty much 100% sure I won't be able to reproduce the original game's AI behaviour, so the question is whether I'll be able to come up with something based on open implementations of similar style games that end up feeling appropriate for thief or not. I'm really not sure, given how this development effort has gone so far, whether "close enough" will read as "good" when it comes to the actual behaviour of the AI.
Just FYI, there are around 250 scripts in Thief Gold that need to be implemented to replicate a lot of the game's behavioral systems (conversations, interactions, etc.) in the Dark engine ECS so you'll need to focus on approximating them to get a well-behaved game. A lot the scripts are quite simple but some are more complex. If you can import the 32 bit OSMs directly then you can just use those, otherwise you will have to reverse engineer them in some way. I've found the AI agents have a tendency to roll their own logic that ignores a lot of the Dark engine ECS structure that I have had to repeatedly undo. Mark Leblanc gave a nice talk on the Thief ECS systems that is a useful primer, and goes long form in a recent interview with Casey Muratori.
[video=youtube;5di7jmHKAQs]https://www.youtube.com/watch?v=5di7jmHKAQs[/video]
[video=youtube;73Do0OScoOU]https://www.youtube.com/watch?v=73Do0OScoOU[/video]
Great to hear you are still at it, even if at reduced capacity.
jdv on 3/9/2026 at 10:16
Thank you spillz this is very helpful, I'll watch these and try to import the original scripts - that's going to be much easier to pull off.
For your own interest there is a lot of useful information on the dark engine (at the design level, at least) in this interview as well, which I found very helpful
(
https://youtu.be/Fce_5U4BPbw?t=2254)
Estel Randir on 3/9/2026 at 11:54
In the first video around 14:20, he discusses the "can attach" property of terrain. It applies to can a rope arrow attach to it. That is set in that editor. So, in many fan missions what are clearly wooden objects (trees or parts of buildings) do not have this "can attach" property and it is very very frustrating. When creating fan missions, did the author have control over setting this property or is it a "bad" terrain object (I.E. maybe it was a stone object that was retextured to look like wood - I am just guessing).
Also many such objects the arrow simply goes right through it to disappear (has no collision).
jdv on 3/9/2026 at 12:05
Estel, thanks for the feedback. I've been building things differently, properties are derived from the texture /object itself via a lookup table (I am assuming game-wide consistency of such properties), so this should be resolved automatically (unintentionally) in theory.
spillz00 on 3/9/2026 at 15:51
Quote Posted by jdv
Thank you spillz this is very helpful, I'll watch these and try to import the original scripts - that's going to be much easier to pull off.
(
https://youtu.be/Fce_5U4BPbw?t=2254)
The challenge is the scripts are 32-bit compiled DLLs that depend on a COM service in engine. I've been reimplementing by (AI-assisted) hand in TypeScript, but it's painstaking.
Btw, this comment on the Nightdive interview made me chuckle:
Quote:
I was a level designer on Thief Gold and Thief II. There's a lot of misunderstandings how the engine works. It's not over engineered. It's systems and data design engineered. It's a true entity component system that is optimized to use less memory and process quicker. It was so easy for me to build fast and test my work immediately. The systems are actually very simple, like lego pieces. I could give you a deep dive into the systems if you're interested.
jdv on 4/9/2026 at 15:07
I'm looking into ways of handling this now. Ideally I'd like to load the original scripts using some sort of emulator instead of ship reimplementations of them for a bunch of reasons.
jdv on 4/9/2026 at 15:09
Quote Posted by spillz00
Btw, this comment on the Nightdive interview made me chuckle:
Yes I understand the reason the dark engine is structured the way it is was to reduce compile loops so the devs could add new features to the game without needing to wait a day for a new binary. Extremely clever. LGS was really staffed by a team of geniuses, their engine handle an incredible amount of physical simulation for the era.
Estel Randir on 6/9/2026 at 03:39
Quote Posted by jdv
Yes I understand the reason the dark engine is structured the way it is was to reduce compile loops so the devs could add new features to the game without needing to wait a day for a new binary. Extremely clever. LGS was really staffed by a team of geniuses, their engine handle an incredible amount of physical simulation for the era.
We are pretty spoiled now with the modern state of game design. Almost anyone with time to learn and desire to stick with it can create some pretty good games. Back then they were still creating game design and refining it. 3D gaming was still pretty janky. The limitations they had to work with and the demand for more and more complexity in gaming took a lot of creativity and talent.