Might be the greatest game ever made. I was raving like a lunatic about it to a friend in public once and a guy next to us turned around and interrupted me to say it’s the only game he’s ever played because he felt no other games could top it.
The headshot collision code in DX is broken as well. This is from memory from looking at the DX SDK years ago (+15 at least), but...
The collision shape used for a character in DX is a single cylinder. The game looks at where on the cylinder the collision point of the shot is, and tries to figure out if it's a head, body, or leg shot. It does this by checking how high the collision point is, with the lower X% being legs, top Y% being the head, and the middle being the body.
If a shot hits the head section, it runs some additional checks, and can sometimes still count as a body hit. There was some weird code that, after you stared at it long enough, looks like it ended up splitting the head area into compass aligned 1/8ths (so north, north-east, east, etc) and hits to the N-E-S-W octants would count as a head shot, and a hit to the NE-NW-SE-SW octants would count as body shots. (I couldn't tell if the angles rotate with the character, or are absolute relative to the world.) I think there was also a check for hits on the top cap of the cylinder, so that the hit would have to be close to the center of the cylinder to count as head hit, and near the outer rim would count as a body hit.
I guess what they were trying to do was make the actual head hitbox a smaller section of the head level, so that a shot that should go over the shoulder and miss would just count as a body shot and not a true headshot. And if you made a test map, with the player and a static test enemy placed in a line, this could work reliably from a fixed position. But when you actually play DX, and approach enemies from various angles, headshots inexplicably fail.
Weird coincidence, but I had to look through some old files backed up from the computer I was using 15+ years ago, and noticed it had C:\DeusEx sitting right there, with the SDK files in it. I found the function that handles damage in it.
It looks like I misremembered/misinterpreted some stuff. It looks like the top of the head behaves like the sides of the head, extending upward, forming a + shape.
Judging by how the arm/leg damage works, it the collision hit zones rotate with the enemy. Offset appears to be were the collision point is releative to the character's rotation, since it's also used to determine front/back and left/right collision. So for a hit to count as a headshot, it has to hit a cardinal octant of the collision cylinder.
The game also features bullet drop, but this is completely broken. Iirc it does a hitscan against the cylinder and then depending on the length of the ray the hit point is moved further down the length of the cylinder, but this means you cannot for instance aim above the character to compensate for bullet drop.
This is what Warren Spector made while Romero was busy pissing money away and constantly rewriting Daikatana.
The one worthwhile thing to come out of Ion Storm.
Lots of emergent gameplay. Almost always more than one way to solve each puzzle. Stealth, brute strength melee, long range combat, explosives, computer hacking ...
My favorite recent Deus Ex discovery is that you can skip the entire Paris sewer section of the game by grenade jumping off the Paris rooftops and then grenade climbing into the area containing the entrance to the Catacombs. Nothing breaks!
Warren's 6+2+1 questions before starting a game project; Team 1 & Team A (no one wanted to be Team B or Team 2); the day we hit pre alpha and realised the game was not fun; LAM wall climbing & problem solving with explosive barrels; origin of the name JC Denton
Modders have put a ton of effort into fixing and restoring this game. The developers originally wanted to let players choose the protagonists gender, but they didn't have the resources to make it happen, so of course the community ended up redubbing JCs entire script and editing the rest to bring it back almost seamlessly.
Imo its crazy that there basically hasn't been a game made since, in it's genre, with the same level of ambition.
Prey 2017 was fantastic.. but in terms of ambition it was a step back, it's basically an improvement on system shock 2.
I do think there is an ultimate game out there that has not been made yet.. We could do it now though, combine a totally open simulation like minecraft with on-the-fly story / dialogue / characters by an LLM.
> Imo its crazy that there basically hasn't been a game made since, in it's genre, with the same level of ambition.
I would argue that games like Cyberpunk 2077 or KCD2 are a logical step-up for the genre offering open world, next gen graphics, many more weapons, NPCs, interactions, etc. and quite ambitious.
Surprised to see Deus Ex mentioned; I played the game first in the early 2000s and was entranced by the storyline, coming from shoot-em ups like Doom and Quake. I've played this game several times over the course of the last two decades, and while it hasn't aged very well, it remains one of my favorites. I can't recall any other game making me pause towards the end and considering the consequences of my actions.
28 comments
[ 0.33 ms ] story [ 55.5 ms ] threadHowever, fans of the game are calling it "Demastered".
And the DuClare Chateau level remains one of my favorite plot beats in gaming.
The collision shape used for a character in DX is a single cylinder. The game looks at where on the cylinder the collision point of the shot is, and tries to figure out if it's a head, body, or leg shot. It does this by checking how high the collision point is, with the lower X% being legs, top Y% being the head, and the middle being the body.
If a shot hits the head section, it runs some additional checks, and can sometimes still count as a body hit. There was some weird code that, after you stared at it long enough, looks like it ended up splitting the head area into compass aligned 1/8ths (so north, north-east, east, etc) and hits to the N-E-S-W octants would count as a head shot, and a hit to the NE-NW-SE-SW octants would count as body shots. (I couldn't tell if the angles rotate with the character, or are absolute relative to the world.) I think there was also a check for hits on the top cap of the cylinder, so that the hit would have to be close to the center of the cylinder to count as head hit, and near the outer rim would count as a body hit.
Hm, I should just make a diagram. Here: https://imgur.com/a/KG6MF1k
I guess what they were trying to do was make the actual head hitbox a smaller section of the head level, so that a shot that should go over the shoulder and miss would just count as a body shot and not a true headshot. And if you made a test map, with the player and a static test enemy placed in a line, this could work reliably from a fixed position. But when you actually play DX, and approach enemies from various angles, headshots inexplicably fail.
https://pastebin.com/bwjaiDj7
It looks like I misremembered/misinterpreted some stuff. It looks like the top of the head behaves like the sides of the head, extending upward, forming a + shape.
Judging by how the arm/leg damage works, it the collision hit zones rotate with the enemy. Offset appears to be were the collision point is releative to the character's rotation, since it's also used to determine front/back and left/right collision. So for a hit to count as a headshot, it has to hit a cardinal octant of the collision cylinder.
Edit:
Updated diagram: https://imgur.com/a/Mec7HGm
This is what Warren Spector made while Romero was busy pissing money away and constantly rewriting Daikatana.
The one worthwhile thing to come out of Ion Storm.
Lots of emergent gameplay. Almost always more than one way to solve each puzzle. Stealth, brute strength melee, long range combat, explosives, computer hacking ...
Branching story with multiple endings.
A must play.
“You will soon have your God, and you will make it with your own hands.”
Said demo has actually aged very well imo.
(The real pros can do it all in a single jump.)
Warren's 6+2+1 questions before starting a game project; Team 1 & Team A (no one wanted to be Team B or Team 2); the day we hit pre alpha and realised the game was not fun; LAM wall climbing & problem solving with explosive barrels; origin of the name JC Denton
https://www.youtube.com/@AlexCBrandon
https://www.youtube.com/watch?v=naDOv1W6-Cc
Prey 2017 was fantastic.. but in terms of ambition it was a step back, it's basically an improvement on system shock 2.
I do think there is an ultimate game out there that has not been made yet.. We could do it now though, combine a totally open simulation like minecraft with on-the-fly story / dialogue / characters by an LLM.
I would argue that games like Cyberpunk 2077 or KCD2 are a logical step-up for the genre offering open world, next gen graphics, many more weapons, NPCs, interactions, etc. and quite ambitious.
Same could be same of Skyrim 10 years ago.