Difference between revisions of "Knee-Deep in Knee-Deep in ZDoom"

From DoomWiki.org

[checked revision][checked revision]
m (Trivia: typo)
(Custom monsters: added entries to trivia & correcting info)
Line 88: Line 88:
 
  </gallery>
 
  </gallery>
 
</center>
 
</center>
 
 
====Trivia====
 
====Trivia====
* Because [[lost soul]]s are used as part of one of the bruiser's attacks, the lost souls encountered in the [[WAD]] are actually custom monsters modified to mirror the behavior of the regular lost soul. Since the lost soul's slot in the [[Doom engine]] is hard-coded to double their chance of triggering an attack, this was compensated for by giving the new lost soul twice the amount of {{c|[[A_Chase]]}} [[state]]s, but at half the duration for each state (four states rather than two, at three tics per state rather than six), while also halving their step distance. This means they move twice as often but only half the distance each time, resulting in the correct speed compared to the original, while also doubling the chances of triggering an attack, bringing it on par with the normal lost soul's attack behavior. They do, however, have a higher chance of changing direction while ''walking'' between attacks, since they switch between states more often. They replace the 'Tall Lamp 2' ([[DeHackEd#Thing numbers|thing number 81]]).
+
* The bruiser's ground attack uses modified [[lost soul]]s that are spawned through the pain elemental's {{c|A_PainAttack}} [[code pointer]] to create the homing behavior of the fireballs, thereby launching them directly at the player. Unlike regular projectiles, they are modified to be affected by gravity as well as spawn on the ground. After 12 tics, a fireball will call {{c|A_PainAttack}} itself and spawn a new fireball in front of itself that is again shot at the player, with the cycle repeating and each fireball moving closer to the target. After it spawned the next projectile, the previous fireball will finish its explosion animation for another 8 tics, but continue to exist even after it becomes invisible, with its final frame lasting for about {{fraction|1|1|2}} seconds (85 tics). This way there are at least eight fireballs existing at the same time before the first one ceases to exist. However, should one impact with an obstacle, like the step in the ground separating the inner part of the boss arena from the outer perimeter, or the side of a pillar, the lost soul will jump straight to its {{c|A_PainAttack}} state, increasing the possible number of projectiles that can exist at the same time. That way, if two bruisers fire their ground attack in short succession, the [[lost soul limit]] of 21 can quickly be reached, preventing more fireballs from being spawned. This will lead to an attempt to trigger the ground attack by the third bruiser to fail, with the attack animation not creating any projectiles at all. This also serves as a limiter to how many fireballs will be able to spawn as they follow the player around the room. Without the lost soul limit, the room could potentially become flooded with projectiles. Nonetheless, the fireballs can still chase the player infinitely, as long they don't get stuck on any obstacle; they will, however, invariably collide with something sooner rather than later because of the layout of the boss arena. Note that the [[GZDoom]] version of KDiKDiZD, which uses [[ZScript]] instead of [[DeHackEd]], does not recreate this effect accurately, with fewer fireballs being spawned, and less pronounced homing behavior.
* The [[spiderdemon|spider mastermind]] is replaced by a flying, invisible, non-solid, and unshootable resurrector [[thing|entity]] that is used in Z1M8 to create the illusion of corpses reanimating by themselves. In order to achieve this effect, swarms of resurrectors are released into an area, where they move around at an extreme speed (twice as fast as [[fast monsters|turbo pinkies]]) while looping the [[arch-vile]]'s {{c|[[A_VileChase]]}} [[code pointer]] at every [[tic]], which makes them revive monsters they come across as they fly back and forth through the room, chasing the player and bouncing off walls. This, coupled with fact that they also have the lowest possible reaction time, results in the almost instantaneous revival of dead monsters in the affected area as soon as the resurrectors are released. Each will revive exactly one monster and then cease to exist on the very next tic, limiting the amount of resurrections that can take place to the number of resurrectors in the area. They cannot be damaged in any way, and their presence is entirely imperceptible to the player since, besides being invisible and inaudible, they do not block the player or monsters from moving through them and do not affect the kill count.  
+
* The Hell warrior's shield is actually a modified [[rocket]] that is spawned with a velocity of exactly 1, keeping it fixed in place, and with its radius being made large enough to enclose the entire collision box of the Hell warrior, protecting him from attacks from all angles. Unlike regular projectiles, the rocket has the {{c|SHOOTABLE}} [[mobj#Flags|flag]] set, and as a result is linked in the [[blockmap]], making it shootable, though it also has zero health, so it can't actually be damaged. It is timed to vanished before the Hell warrior shoots the projectiles from his shield, and afterwards a second rocket is spawned, should the player remain in sight. Because the Hell warrior's shield uses the regular rocket, the player's rocket in the game are actually modified [[BFG]]'s projectiles that function that function and behave exactly like the original.
 +
* The suicide bomber had to be modified slightly to do less damage in vanilla. In mods like [[Valiant]] or [[Heartland]], the suicide bomber has a smaller radius (20) and its explosion is executed through the {{c|A_DETONATE}} [[code pointer]], introduced by the original [[MBF]], which lets the modder adjust the [[blast damage]] and radius of the explosion. Since vanilla Doom lacks this code pointer and is reliant on {{c|A_EXPLODE}} to generate explosions, which cannot be customized in any way, the radius of the suicide bomber is increased by 25% to compensate for the wider blast radius (128). They are also modified to have their [[gib|gib death]] state skip over their {{c|A_Explode}} state, so that they don't explode a second time while dying.
 +
* Because [[lost soul]]s are used as part of one of the bruiser's attacks, the lost souls encountered in the [[WAD]] are actually custom monsters modified to mirror the behavior of the regular lost soul. Since the lost soul's slot in the [[Doom engine]] is hard-coded to double their chance of triggering an attack, this was compensated for by giving the new lost soul twice the amount of {{c|[[A_Chase]]}} [[state]]s, but at half the duration for each state (four states rather than two, at three tics per state rather than six), while also halving their step distance. This means they move twice as often but only half the distance each time, maintaining the correct speed of a lost soul, while also doubling the chances of triggering an attack, bringing it on par with the regular lost soul's attack behavior. They do, however, have a higher chance of changing direction while ''walking'' between attacks, since they switch between states more often. They replace the 'Tall Lamp 2' ([[DeHackEd#Thing numbers|thing number 81]]).
 +
* The [[spiderdemon|spider mastermind]] is replaced by a flying, invisible, non-blocking, and unshootable resurrector [[thing|entity]] that is used in Z1M8 to create the illusion of corpses reanimating by themselves. In order to achieve this effect, swarms of resurrectors are released into an area, where they move around at an extreme speed (twice as fast as pinky demons on [[nightmare]] difficulty) while looping the [[arch-vile]]'s {{c|[[A_VileChase]]}} [[code pointer]] at every [[tic]], which makes them revive monsters they come across as they fly back and forth through the room, chasing the player and bouncing off walls. This, coupled with fact that they have their reaction time set to 1, results in the almost instantaneous revival of dead monsters in the affected area as soon as the resurrectors are released. Each will revive exactly one monster and then cease to exist on the next state, limiting the amount of resurrections that can take place to the number of resurrectors in the area. While resurrecting a corpse, the resurrector entity will momentarily switch to the [[arch-vile]]'s {{c|S_Vile_Heal1}} animation frame, even though the resurrectors themselves use the same sprite as the plush [[cacodemon]] that is found on the table in the dressing room at the beginning of every map. This happens because the {{c|[[A_VileChase]]}} is hard-coded to jump to this frame when it resurrects a corpse. The resurrectors inherit this behavior. They cannot be damaged in any way, and their presence is entirely imperceptible to the player since, besides being invisible and inaudible, they do not block the player or other monsters from moving through them and do not affect the kill count.  
 
* Both the [[cyberdemon]] and [[pain elemental]] are replaced by decorations: the cyberdemon by a large, leaf-crowned tree, several of which can be found standing outside the building leading to the exit at the end of Z1M8, and the pain elemental by a dead miner lying on the ground with outstretched arms that is used in most levels.
 
* Both the [[cyberdemon]] and [[pain elemental]] are replaced by decorations: the cyberdemon by a large, leaf-crowned tree, several of which can be found standing outside the building leading to the exit at the end of Z1M8, and the pain elemental by a dead miner lying on the ground with outstretched arms that is used in most levels.
  

Revision as of 05:14, 30 November 2022

Knee-Deep in Knee-Deep in ZDoom
Title screen
Authors esselfortium & KDiKDiZD team
Port Vanilla Doom
IWAD Doom
Year 2022
Link Doomworld forums thread

Knee-Deep in Knee-Deep in ZDoom is a vanilla-compatible episode-length demake of Knee-Deep in ZDoom released by Sarah Mancuso (esselfortium) in November 2022. Originally conceptualised in 2008 by a small team of mappers, the project was stuck in development hell until early 2020, when it was picked up again by esselfortium, who revised and overhauled the maps, bringing them into their final form, while also rebuilding the DeHackEd patch from the ground up.

As with the original Knee-Deep in ZDoom, the WAD consists of reinterpretations of the original Knee-Deep in the Dead with new textures and music, with the WAD also reusing many of the custom monsters from Knee-Deep in ZDoom.

Story

A tongue-in-cheek story of sorts is provided in the in-game help menu (F1) and accompanying textfile:

Your name is Doom Guy, an actor. You've been cast in a cable TV reenactment of 2007's "Knee-Deep in ZDoom". You were never much of a history buff, but it'll put food on the table and help cover Daisy's vet bills. Maybe it'll even revive your acting career. You adjust the prop helmet to breathe a little easier, try out a few cheesy poses with your character's handgun, and ready yourself for the first day of filming.

Content

Levels

Unlinked maps are narrative in nature.

Soundtrack

  • MAP01: "The End of DOOM" by Robert Prince
  • Z1M1: "Hanger Danger" by esselfortium
  • Z1M2: "Nuclear Plant-Based Diet" by James Paddock (Jimmy)
  • Z1M3: "Underground Overload" by Jimmy
  • Z1M4: "Control Alt Delete" by esselfortium
  • Z1M5: "Phoebe's Labrador" by esselfortium
  • Z1M6: "Hunter Gatherer" by Jimmy
  • Z1M7: "Computer Core Workout" by Jimmy
  • Z1M8: "Faux Bows-N-Harmony" by esselfortium
  • Z1M9: "Rainy Moods To Study Demons To" by esselfortium
  • MAP21: no music
  • MAP22: "Red Lobster Music" by esselfortium
  • MAP23: "The End of DOOM" by Robert Prince

Custom monsters

Just like Knee-Deep in ZDoom (KDiZD), KDiKDiZD features an extended roster of enemies. About half of the original list of custom monsters are included, albeit most of them in slightly revised form.
Aside from that, the wad also includes several new additions to the cast of custom monsters.

Rapid fire trooper
Same as in KDiZD, this is a zombieman with a rapid-fire gun. They have 30 hit points and replace the Wolfenstein SS.
Suicide bomber
A new addition to KDiKDiZD over the original, this black-clad zombie seeks out the player and will explode when either shot or making contact with them. They have 60 hit points and replace the dead lost soul (thing number 116).
Chaingunner
Just like in KDiZD, this is a sprite redress of the chaingunner with no additional changes.
Shadow
A small imp-like creature with 80 hit points that quickly moves about with a slouched posture, grey skin, and large red eyes. It will freeze in position for one second, before beginning to hurl small, dark red fireballs at its target at 30 tic intervals (about 0.86 seconds). It is mostly identical to its KDiZD counterpart, though neither translucent nor leaving a blurry outline behind as it moves, but possesses a slightly faster firing cycle during its attack (30 vs 36 tics). It replaces Commander Keen.
Soul harvester
A grey-skinned, emaciated imp-like creature with 100 hit points, same as in KDiZD. It shoots yellow skull projectiles that have a 75% chance of homing in on the player. It has no melee attack and replaces the revenant.
Mauler
A blood red variant of the demon with large, black horns that charges into the player just like a lost soul during its attack, but unlike a lost soul, it has no risk of becoming inactive after it slams into an obstacle, as it will always return to chasing the player again. It has 150 hit points and is largely identical to its KDiZD counterpart. It replaces the pool of brains (thing number 137).
Dark imp
An imp with dark skin and orange eyes, a wide open mouth, and even more spikes covering its body than a regular imp. They closely resemble the third variant of dark imps in the original KDiZD in terms of visuals, but have 160 hit points, more than any of the three variants present in the original, and fire a quick burst of three cacodemon projectiles as its ranged attack. It replaces Romero's head.
Nightmare demon
A new addition to KDiKDiZD over the original, this grey-scale variant of the demon has 200 hit points, moves 40% faster than regular demons, bites slightly faster (4 tics or about 0.11 seconds), and has about a 38% lower pain chance. It also has a green tongue rather the usual red. It can be seen as a revision of the blood demon from KDiZD and replaces the 'hanging torso, looking down' (thing number 131).
Wargrin
A new addition to KDiKDiZD over the original, this humanoid mutant crawls along the floor on both hands and legs, and has a flamethrower equipped on its back. It has 250 hit points and fires a burst of three volleys, each consisting of a pair of small fire projectiles, mirroring the firing pattern of the mancubus, which it replaces.
Dark caco
A new addition to KDiKDiZD over the original, this grey-scale cacodemon has 400 hit points but no melee attack, moves faster than a regular cacodemon, and spits out a continuous string of the same kind of small, dark red fireballs that the Shadow fires, though at a much higher rate of fire of one shot every 5 tics (about 0.14 seconds). It replaces the arachnotron.
Soul reaper
A new addition to KDiKDiZD over the original, this tall, grey-skinned, emaciated monster resembles a fully grown soul harvester and attacks with the same kind of yellow skull projectiles with a 75% chance of homing in on its target. However, unlike the soul harvester, it also has a melee attack and fires a burst of two projectiles, instead of just one, as its ranged attack. It has 400 hit points and replaces the arch-vile flame (thing number 5).
Hell knight
Same as in KDiZD, Hell knights feature a sepia-filtered look. They also use different sounds for their screams and roars but behave otherwise the same as regular Hell knights. Interestingly, the knights in this WAD do not utilize a separate set of sprites like they normally do, but instead use the same sprite set as the baron of Hell, which is recolored through DeHackEd. This way additional DeHackEd states are freed up for other custom actors.
Hell warrior
An orange-skinned Hell noble with a lion's mane, 600 hit points, and a shield. While it looks and behaves similarly to the Hell warriors from KDiZD, there are many subtle differences between the two in terms of their attacks and animations. It flings baron projectiles but with the intervals between shots more than halved, and upon triggering its pain state, will raise its shield to defend itself, temporarily becoming invulnerable to regular damage (about 0.86 seconds), although it can still be hurt through blast damage. While the shield is raised, if the target remains in its line of sight, it will fire a volley of three projectiles from its shield, two wargrin projectiles and a Shadow fireball in the center. This is followed up by a second volley if the target is still in its line of sight. While it fires the projectiles from its shield, it is vulnerable again to regular damage for a moment (about 0.17 seconds) despite having its shield raised, before becoming invulnerable again between volleys. It replace the arch-vile.
Bruiser
A triplet of orange-skinned, fiery Hell nobles with 3000 hit points each serve as the final boss of the WAD, as opposed to their implementation in KDiZD, where they represented the penultimate boss encounter (only two instead of three) before the fight against the giant mantis-like Deimos Guardian. They are somewhat smaller than their KDiZD equivalents due to the fact that the bruisers in the original were upscaled in-engine, and KDiKDiZD reuses their sprites unaltered; but just like in KDiZD, they have three different ranged attacks in their arsenal, though the exact nature and behavior of these attacks differ from the original. The first attack is a burst of six volleys of wargrin projectiles. The second is a ground attack that spawns fireballs (modified lost souls) along the floor that home in on and impact with the player. The final attack is triggered either by moving into their melee range or through activating their pain state, whereupon they will spawn three yellow skull projectiles in quick succession, each with a 75% chance of homing in on the player. They replace the swaying body (thing number 102).


Trivia

  • The bruiser's ground attack uses modified lost souls that are spawned through the pain elemental's A_PainAttack code pointer to create the homing behavior of the fireballs, thereby launching them directly at the player. Unlike regular projectiles, they are modified to be affected by gravity as well as spawn on the ground. After 12 tics, a fireball will call A_PainAttack itself and spawn a new fireball in front of itself that is again shot at the player, with the cycle repeating and each fireball moving closer to the target. After it spawned the next projectile, the previous fireball will finish its explosion animation for another 8 tics, but continue to exist even after it becomes invisible, with its final frame lasting for about 112 seconds (85 tics). This way there are at least eight fireballs existing at the same time before the first one ceases to exist. However, should one impact with an obstacle, like the step in the ground separating the inner part of the boss arena from the outer perimeter, or the side of a pillar, the lost soul will jump straight to its A_PainAttack state, increasing the possible number of projectiles that can exist at the same time. That way, if two bruisers fire their ground attack in short succession, the lost soul limit of 21 can quickly be reached, preventing more fireballs from being spawned. This will lead to an attempt to trigger the ground attack by the third bruiser to fail, with the attack animation not creating any projectiles at all. This also serves as a limiter to how many fireballs will be able to spawn as they follow the player around the room. Without the lost soul limit, the room could potentially become flooded with projectiles. Nonetheless, the fireballs can still chase the player infinitely, as long they don't get stuck on any obstacle; they will, however, invariably collide with something sooner rather than later because of the layout of the boss arena. Note that the GZDoom version of KDiKDiZD, which uses ZScript instead of DeHackEd, does not recreate this effect accurately, with fewer fireballs being spawned, and less pronounced homing behavior.
  • The Hell warrior's shield is actually a modified rocket that is spawned with a velocity of exactly 1, keeping it fixed in place, and with its radius being made large enough to enclose the entire collision box of the Hell warrior, protecting him from attacks from all angles. Unlike regular projectiles, the rocket has the SHOOTABLE flag set, and as a result is linked in the blockmap, making it shootable, though it also has zero health, so it can't actually be damaged. It is timed to vanished before the Hell warrior shoots the projectiles from his shield, and afterwards a second rocket is spawned, should the player remain in sight. Because the Hell warrior's shield uses the regular rocket, the player's rocket in the game are actually modified BFG's projectiles that function that function and behave exactly like the original.
  • The suicide bomber had to be modified slightly to do less damage in vanilla. In mods like Valiant or Heartland, the suicide bomber has a smaller radius (20) and its explosion is executed through the A_DETONATE code pointer, introduced by the original MBF, which lets the modder adjust the blast damage and radius of the explosion. Since vanilla Doom lacks this code pointer and is reliant on A_EXPLODE to generate explosions, which cannot be customized in any way, the radius of the suicide bomber is increased by 25% to compensate for the wider blast radius (128). They are also modified to have their gib death state skip over their A_Explode state, so that they don't explode a second time while dying.
  • Because lost souls are used as part of one of the bruiser's attacks, the lost souls encountered in the WAD are actually custom monsters modified to mirror the behavior of the regular lost soul. Since the lost soul's slot in the Doom engine is hard-coded to double their chance of triggering an attack, this was compensated for by giving the new lost soul twice the amount of A_Chase states, but at half the duration for each state (four states rather than two, at three tics per state rather than six), while also halving their step distance. This means they move twice as often but only half the distance each time, maintaining the correct speed of a lost soul, while also doubling the chances of triggering an attack, bringing it on par with the regular lost soul's attack behavior. They do, however, have a higher chance of changing direction while walking between attacks, since they switch between states more often. They replace the 'Tall Lamp 2' (thing number 81).
  • The spider mastermind is replaced by a flying, invisible, non-blocking, and unshootable resurrector entity that is used in Z1M8 to create the illusion of corpses reanimating by themselves. In order to achieve this effect, swarms of resurrectors are released into an area, where they move around at an extreme speed (twice as fast as pinky demons on nightmare difficulty) while looping the arch-vile's A_VileChase code pointer at every tic, which makes them revive monsters they come across as they fly back and forth through the room, chasing the player and bouncing off walls. This, coupled with fact that they have their reaction time set to 1, results in the almost instantaneous revival of dead monsters in the affected area as soon as the resurrectors are released. Each will revive exactly one monster and then cease to exist on the next state, limiting the amount of resurrections that can take place to the number of resurrectors in the area. While resurrecting a corpse, the resurrector entity will momentarily switch to the arch-vile's S_Vile_Heal1 animation frame, even though the resurrectors themselves use the same sprite as the plush cacodemon that is found on the table in the dressing room at the beginning of every map. This happens because the A_VileChase is hard-coded to jump to this frame when it resurrects a corpse. The resurrectors inherit this behavior. They cannot be damaged in any way, and their presence is entirely imperceptible to the player since, besides being invisible and inaudible, they do not block the player or other monsters from moving through them and do not affect the kill count.
  • Both the cyberdemon and pain elemental are replaced by decorations: the cyberdemon by a large, leaf-crowned tree, several of which can be found standing outside the building leading to the exit at the end of Z1M8, and the pain elemental by a dead miner lying on the ground with outstretched arms that is used in most levels.

Custom weapons

Knee-Deep in Knee-Deep in ZDoom includes two main weapon modifications: a custom super shotgun replacing the standard SSG and the flare rifle replacing the plasma gun. Additionally, the BFG9000 is removed from the game, with the corresponding weapon slot instead calling the regular pistol, which as a result has two weapon slots associated with it.

  • The super shotgun reuses the sprites and sounds of the custom SSG from the original KDiZD, but has a marginally faster rate of fire than the regular DOOM II SSG or the slower KDiZD SSG.
  • The flare gun fires small, yellow plasma "bullets", which have been modified to have their damage almost tripled (14-112 damage) compared to the normal plasma projectiles (5-40 damage), but the rate of fire is much lower, shooting a projectile every 9 tics rather than the standard 3 tics, resulting in roughly the same DPS as the normal plasma gun. It uses the firing sound of the rifle replacing the BFG9000 in KDiZD but is otherwise based on the flare gun from Mapgame by Fletcher` released in 2009, reusing the sprites of both the weapon and the plasma bullet.
  • The pistol has its firing rate slightly increased (-1 tic) to match that of KDiZD's pistol.

Custom items

  • KDiKDiZD includes a full eight sprite rotations for most of its items and pickups, creating a faux 3D effect by allowing them to be viewed from different angles, just like in the original KDiZD. The following items and pickups have all eight rotation sprites included:
    medical kit, stimpack, armor, megaarmor, armor bonus, berserk, radiation suit, automap, backpack, box of rockets, box of ammo, ammo clip, box of shells, shells & flare ammo (modified energy cell pack).
  • The red, blue & yellow skull keys have been replaced with orange, silver and green keycards, respectively, and all six keys have additional rotation frames, enabling them to be displayed rotating around their own axis.
  • There is a special seismic bomb device in Z1M1 that has to be collected and placed at a specific location to progress in the map. It replaces the flaming barrel.
  • KDiKDiZD does not make use of energy cells, megaspheres or light amplification goggles, with the megasphere instead being repurposed as the seismic bomb once the device is set in the wall in Z1M1, as well as its subsequent explosion, and the light goggles being replaced by a special variant of the berserk that has the MF_SHOOTABLE flag set internally, enabling it to teleport by being pushed over a linedef through an explosion; it otherwise functions like a normal berserk pack.

External links