Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
esselfortium

Knee-Deep in KDiZD: Released! It's KDiZD for doom2.exe - 1.7.1 is now on /idgames

Recommended Posts

36 minutes ago, NiGHTMARE said:

I loved all of the architectural and layout changes made to the original levels - I almost wish they could be backported for new version of KDIZD.

 

The new/modified textures are also cool - I particularly liked the new silver computer textures which prominently appear in Z1M7. They look nicer than my attempt :)

 

Something else that might be worth noting is that (unless memory fails me) there's some TSoZD content here in the form of the Soul Reaper.

 

I'm curious why Z1M10 wasn't included. Obviously it couldn't be accessed the same way as in KDIZD, but perhaps it could have been reached through Z1M9 instead. Was the level just that bad, or were there technical problems such as practically impossible to avoid VPOs?

 

I'm also wondering if the inclusion of the suicide bombers is an in-joke ridiculing the habit of KDIZD's rocket troopers to blow themselves up?

Thanks for playing, I'm glad you liked it!


Vader was kind enough to grant permission to use the Soul Reaper sprites in this. I also used some marble STAR textures that I originally made myself for TSoZD. I avoided using any other TSoZD resources (unless I overlooked something).

 

A remake of Z1M10 might be added in a future update, but no promises. The timeline just didn't work out to get it into this release, as I promised myself early in the year that I would definitely get it done this year.

 

At one point I had rocket zombies implemented, but they were so prone to killing themselves and each other that I decided suicide bombers would be a more fun inclusion as a "panic monster", since they run around and give the player more indication of their presence. Removing the rocket zombie also meant being able to repurpose A_CyberAttack for the Hell Warrior's shield, as explained in the trick encyclopedia post above. There was a particularly funny moment I somehow managed to capture on video (albeit without sound) in which I enter a room with three rocket zombies, and somehow all three of them kill each other after being woken up by a shot.

Share this post


Link to post
On 11/19/2022 at 9:04 AM, esselfortium said:

It'd definitely be nice to add them.

 

What's the correct way to add wide variants for fullscreen graphics while keeping vanilla happy? I've never done it before so I'm not sure.

You'd want to include them as a separate WAD, that way people can put the widescreen gfx WAD in its own autoload folder (example: .\source port folder\autoload\KDiKDi_A.WAD\KDiKDiZD_WS.WAD), which most widescreen source ports support.

Share this post


Link to post
3 hours ago, holaareola said:

It really pleases me to think that had there been the knowledge and tools this could have been released in '95.

 

Technically it could, but most developers would end up simplifying most of it since it would most likely run very slow even on high-end Pentiums of the era.

 

Someone mentioned this runs "somewhat smoothly" on a MMX 166mhz CPU and that was released in 1997.

Edited by TasAcri

Share this post


Link to post
5 hours ago, esselfortium said:

That should be... most of it :-)

... You know what, this is the first comment where i have no comment other than thank you. Amazing post.

 

I guess we now have prove that Esselmagik works beyond the borders of WADs and applies to posts too.

Share this post


Link to post

This is a silly question, but is there a technical reason why the bruisers are smaller than their KDiZD counterparts?

Share this post


Link to post
2 minutes ago, Gregor said:

This is a silly question, but is there a technical reason why the bruisers are smaller than their KDiZD counterparts?

KDiZD used scaling in-engine to increase their size by something like 1.2x, and upscaling the actual sprites by that amount for a comparable size here would have lead to a lot of awkward resizing artifacts unless all of the sprites were then painted over by hand to adjust all the details for the new size.

Share this post


Link to post

ok, here's another silly question: why do the bruiser lost soul projectiles home in on the player? Looking at their states, they don't call SkullAttack and have zero speed. Why do they charge against the player? And also, why do they stop spawning after a while? Looks like there should never be more than 8 of them in existence at the same time since each one spawns a single lost soul after 12/13 tics and then persists for another 93/94 tics afterwards before vanishing. How is the lost soul limit ever reached?

Share this post


Link to post
26 minutes ago, Gregor said:

ok, here's another silly question: why do the bruiser lost soul projectiles home in on the player? Looking at their states, they don't call SkullAttack and have zero speed. Why do they charge against the player? And also, why do they stop spawning after a while? Looks like there should never be more than 8 of them in existence at the same time since each one spawns a single lost soul after 12/13 tics and then persists for another 93/94 tics afterwards before vanishing. How is the lost soul limit ever reached?

Skullfly state is automatically set when they’re spawned by A_PainAttack.

 

As for when they reach the lost soul limit, I just tuned the timing until it seemed reasonable and I don’t know the underlying details.

Share this post


Link to post
13 minutes ago, esselfortium said:

As for when they reach the lost soul limit, I just tuned the timing until it seemed reasonable and I don’t know the underlying detai

I think i got it though. i looked at the deh file again, and it turns out, if they hit an obstacle, like the walls of pillars in the room or step in the floor, their Death state will be triggered, in which case they jump to A_PainAttack after just 3 tics, instead of the usual 12. So with enough collisions, which can definitely happen as you run along the outer perimeter of the room trying to escape from them, the lost soul limit can be reached within 93 tic time frame

Share this post


Link to post
6 hours ago, TasAcri said:

 

Technically it could, but most developers would end up simplifying most of it since it would most likely run very slow even on high-end Pentiums of the era.

  

Someone mentioned this runs "somewhat smoothly" on a MMX 166mhz CPU and that was released in 1997.

I'm curious to see this put to the test on oldschool hardware, with like an in-depth performance analysis.

Share this post


Link to post
1 hour ago, Gregor said:

I think i got it though. i looked at the deh file again, and it turns out, if they hit an obstacle, like the walls of pillars in the room or step in the floor, their Death state will be triggered, in which case they jump to A_PainAttack after just 3 tics, instead of the usual 12. So with enough collisions, which can definitely happen as you run along the outer perimeter of the room trying to escape from them, the lost soul limit can be reached within 93 tic time frame

Actually, no. I forgot that they will always go through their spawn state first (3 tics). Only then can their death state be triggered (another 3 tics), and only then would they call A_PainAttack next. So that way, there can never be more than like 15 of them in existence at the same time at the very most. So theoretically, they could chase you forever (?), though in practice, sooner or later, they will get stuck against a wall and fail to spawn more lost souls.

Spoiler

 

 

Edited by Gregor

Share this post


Link to post

I got a bit curious about how much was changed so i started playing kdizd to compare a bit. While i did noticed a lot of changes when i first played the demake, now that i'm playing both side by side, i'm really impressed by how much the layouts were changed and reinterpreted for the better.

 

Just to compare e1m5 side by side...

Spoiler

KDIZD version

PRLaxcO.png

 

KDIKDIZD version

UTsWIjm.png

 

While all the vanilla and deh tricks are extremely impressive i do think that the reinterpretation and reworking of some of the maps also deserves equal praise. Seriously the more i keep taking a closer look at kdikdizd, i just keep finding more and more cool things about it

Share this post


Link to post

Just for the wiki, what are the chaingunners called? In deh file they are listed as Chaingun Sargeant, in the DEH9000 source they are called KDiZD chaingunner and in KDiZD they are simply referred to as chaingunner. I personally like the name Chaingun Sargeant to distinguish them from regular chaingunners since they do look quite different but it's obviously not my call.

 

I'm also not entirely sure how the Mauler is actually smarter or more aggressive than its KDiZD counterpart. I understand that putting A_Facetarget in its Spawn state keeps it from falling asleep but in ZDoom they are send straight back to their see state as well via DECORATE.
 

Spoiler

States
   {
   Spawn:
      MAUD AB 10 A_Look
      Loop
   See:
      MAUD AABBCCDD 2 A_Chase
      Loop
   Melee:
      MAUD EF 8 A_FaceTarget
      MAUD G 8 A_SargAttack
      Goto See
   Missile:
      MAUD E 0 A_Jumpifcloser(224, 2)
      Goto See
      MAUD E 4 A_FaceTarget
      MAUD F 10 A_SkullAttack
      MAUD G 5 A_Gravity
      Goto See
   Pain:
      MAUD H 2
      MAUD H 2 A_Pain
      Goto See
   Death:
      MAUD I 8
      MAUD J 8 A_Scream
      MAUD K 4
      MAUD L 4 A_Fall
      MAUD M 4
      MAUD N -1
      Stop
   Raise:
      MAUD N 5
      MAUD MLKJI 5
      Goto See
   }

 

I'm not a programmer, so i probably overlook something here but on the face of it appears to me that both accomplish the same thing in different ways.

Edited by Gregor

Share this post


Link to post
7 minutes ago, Gregor said:

Just for the wiki, what are the chaingunners called? In deh file they are listed as Chaingun Sargeant, in the DEH9000 source they are called KDiZD chaingunner and in KDiZD they are simply referred to as chaingunner. I personally like the name Chaingun Sargeant to distinguish them from regular chaingunners since they do look quite different but it's obviously not my call.

Proper spelling would be "sergeant", and for what it's worth, their standalone pack gave them a promotion to chaingun major.

Share this post


Link to post
13 minutes ago, Gez said:

Proper spelling would be "sergeant", and for what it's worth, their standalone pack gave them a promotion to chaingun major.

Great, even more names. Well, "Chaingun Sargeant"(sic) is how it is spelled in the deh lump, so if that's the official name of them in this wad, that's fine by me. Artistic license.

#Map09:Abatoire

Share this post


Link to post
1 hour ago, Gregor said:

Great, even more names. Well, "Chaingun Sargeant"(sic) is how it is spelled in the deh lump, so if that's the official name of them in this wad, that's fine by me. Artistic license.

#Map09:Abatoire

I didn't rename them anywhere in the deh9000 script, so I guess "Chaingun Sargeant" is just a default coming from somewhere. That's also what shows up in WhackEd4 if a new deh patch is created.

Just calling it the Chaingunner or KDiZD Chaingunner is fine.

 

1 hour ago, Gregor said:

Just for the wiki, what are the chaingunners called? In deh file they are listed as Chaingun Sargeant, in the DEH9000 source they are called KDiZD chaingunner and in KDiZD they are simply referred to as chaingunner. I personally like the name Chaingun Sargeant to distinguish them from regular chaingunners since they do look quite different but it's obviously not my call.

 

I'm also not entirely sure how the Mauler is actually smarter or more aggressive than its KDiZD counterpart. I understand that putting A_Facetarget in its Spawn state keeps it from falling asleep but in ZDoom they are send straight back to their see state as well via DECORATE.
 

  Reveal hidden contents

I'm not a programmer, so i probably overlook something here but on the face of it appears to me that both accomplish the same thing in different ways.

Okay, then I guess their behavior is comparable to the ZDoom version. I didn't remember all the specifics.

 

4 hours ago, DMPhobos said:

I got a bit curious about how much was changed so i started playing kdizd to compare a bit. While i did noticed a lot of changes when i first played the demake, now that i'm playing both side by side, i'm really impressed by how much the layouts were changed and reinterpreted for the better.

 

Just to compare e1m5 side by side...

  Reveal hidden contents

 

While all the vanilla and deh tricks are extremely impressive i do think that the reinterpretation and reworking of some of the maps also deserves equal praise. Seriously the more i keep taking a closer look at kdikdizd, i just keep finding more and more cool things about it

:)

 

Thanks!

Share this post


Link to post

I've only scratched two levels into this project and KDiZD, but I'm already enamored by the level starts featuring a Caco doll on Doomguy's desk. Both Hangar and Nuclear Plant are oozing with enough detail (and flesh, and nukage) to further my interest in mapmaking.

 

Thank you, Essel!

Share this post


Link to post

Does anybody else having blinking "slime inflow" wall textures (original Doom textures WALL57_2-4)? Happens to me when using Woof.

Edited by NightFright

Share this post


Link to post

Really enjoying both technical magic and gameplay.

 

There's a little misalignment on Z1M5 (in Chocolate Doom).

 

Spoiler

DOOM00.png

 

Share this post


Link to post
On 11/22/2022 at 8:13 PM, esselfortium said:

Scripting:

  • These use a modified version of Linguica and Nine Inch Heels' Mikoportal-based scripting setup.
    • My first modification is using an Explosion Generator (a dehacked object that calls A_Explode every tic) to blow up the barrels that slightly push the voodoo doll, rather than relying on a crusher, which is unreliable on barrels (crushers can randomly turn them into gibs and not explode).
    • My second modification is using a dedicated thing type created in dehacked to temporarily block the voodoo doll until a script has been activated. Originally lost souls were used, but this broke in nomonsters for obvious reasons.

There is one more step to this setup worth mentioning that took some painful debugging and experimentation. No-damage mikoveyors are inherently very slow, so essel devised a fan-like setup for trigger linedefs to activate as many of them as fast as possible. However that is when the vanilla SPECHIT (special hit) overflow strikes, allowing only 8 special triggers per actor at once. This can be benign (think tons of tiny identical teleport lines for a large telecloset monster), but breaks the map if every action is unique and important. So we devised voodoo doll threading where the conveyors are parallelized, 8 actions per thread/doll. Since the dolls move extremely slow, they sync up reasonably well, though general thread safety is not entirely guaranteed.

Share this post


Link to post
30 minutes ago, dew said:

There is one more step to this setup worth mentioning that took some painful debugging and experimentation. No-damage mikoveyors are inherently very slow, so essel devised a fan-like setup for trigger linedefs to activate as many of them as fast as possible. However that is when the vanilla SPECHIT (special hit) overflow strikes, allowing only 8 special triggers per actor at once. This can be benign (think tons of tiny identical teleport lines for a large telecloset monster), but breaks the map if every action is unique and important. So we devised voodoo doll threading where the conveyors are parallelized, 8 actions per thread/doll. Since the dolls move extremely slow, they sync up reasonably well, though general thread safety is not entirely guaranteed.

I still don't quite understand how voodoo dolls don't lose their momentum when they bump against the block thing on the conveyor. Shouldn't that cancel their momentum immediately. obviously it doesn't. but why?

 

Another thing i notice while looking at the mikoportals setup, is that there are two teleport destinations next to each other but with the lower one a little further back. Both get an exploding barrel teleported into them at exactly the same time. Why do you need two explosions arranged like this.

Spoiler

772617528_Screenshot(9).png.5252028cbf0cd13b75483a6941b66886.png

 

And also, the upper compartment has this little triangle sector in front of it raised that seemingly blocks the explosion (?) and that gets lowered by the doll as soon as it starts moving. What's up with that?

 

Spoiler

1022175234_Screenshot(10).png.6a200e549569991769f4dd0539965da8.png

 

 

 

Share this post


Link to post
25 minutes ago, Gregor said:

I still don't quite understand how voodoo dolls don't lose their momentum when they bump against the block thing on the conveyor. Shouldn't that cancel their momentum immediately. obviously it doesn't. but why?

The doll continues to fall through the floor infinitely and doesn't lose its momentum while pressing against the blocker thing. Then it continues forward when the blocker gets crushed.

 

There was actually a report by Revenant about the setup failing, which we figured out was the doll sliding off the blocker, since there was enough space on the side and it triggered the wrong specials prematurely. However we could only confirm this for EE, it didn't happen in vanilla/choco/pr+. Is this the cosine value table imprecision for heading, and should it be applied to the doll? Genuinely asking the programmers!

 

40 minutes ago, Gregor said:

Another thing i notice while looking at the mikoportals setup, is that there are two teleport destinations next to each other but with the lower one a little further back. Both get an exploding barrel teleported into them at exactly the same time. Why do you need two explosions arranged like this.

This is the borrowed setup from Linguica and NIH, which allows the mikoveyors to work even for ITYTD. As far as I understand it, the explosion normally blocks off the secondary one, and the doll has enough momentum to continue its infinite fall. However on ITYTD the effect is halved and a secondary explosion is needed for the doll to get pushed far enough (and still only take 1% total dmg). This thing is black magic, I suggest looking up the particular research thread, links should be here.

Share this post


Link to post

I've been holding off playing this and I really shouldn't of. WAD of the century.

image.png

 

Spoiler

Also, the little dioramas in replacement of the screens is super fucking adorable. WAD of the millennia.

Share this post


Link to post

Holy moly, E1M7. This is incredible! Tough combat but never grindy and what a sense of place. The haunted base feeling is nailed perfectly, so dark and eerie yet really vivid with the coloured lighting. That techy strip near the first area in the vanilla equivalent was extremely cool. Never seen this effect before, had to open the editor but still don't quite get how it's working. A weird interaction between the pulsing light type and change to brightest adjacent? Struggle to understand how this one is within the visplane, drawsegs and blockmap limits -- feels like it has some of the most expansive areas in the pack but they still look so detailed. The meticulous texturing here is superb and suggests a real weight and solidity to the architecture.

 

A more chaotic and trap-filled character than the maps so far, I enjoyed it immensely. Big map anyway but it took me extra-long to get through because I stopped to gawp so often.

Share this post


Link to post

Just finished the whole thing. Most remarkable ending sequence of any wad since ages, that's for sure!

 

The final fight against those Super Barons was surprisingly tough. Tbh I am not sure how this is supposed to be done without kicking the bucket. Basically, stop moving and you can admire the floor textures from close range. If that was the idea, then well done. For my taste it was still kinda hard, especially when playing on ITYTD (which I always do in my first playthroughs). But well, with a lot of persevereance it's managable.

 

Anyway, the whole thing is just fantastic. First time I have ever seen transparent liquids or (pseudo) reflective floors in a vanilla wad. Also the way some ZDoom moments that couldn't be realized are referenced is simply ingenious. Was it worth almost a decade of waiting for this? Most certainly!

Share this post


Link to post
3 hours ago, NightFright said:

Tbh I am not sure how this is supposed to be done without kicking the bucket.

I generally try to circle strafe around the outer perimeter and use the pillars to block their floor attack.

 

Glad you enjoyed overall, thanks for playing!

Share this post


Link to post
13 minutes ago, INfront95 said:

Ok im curious, what was the technical limitation to start the wad from map 13?

In Vanilla Doom II, secret exits can only be placed in MAP15, in addition to a super secret exit in MAP31. KDiZD only has a single secret level, so yeah...

Share this post


Link to post

MrIcarus has made a spotlight video for the WAD. :^)

 

 

I have to say congratulations to everyone involved again. This really is another amazing technical achievement and you should all be very proud of your work. I may lack the brain power to comprehend it, but it's really inspiring stuff nonetheless.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×