Monsters that freak out level designers

Had a small bug when developing a level/map some time ago. I was working on a piece of what I consider architecture. This is where I've already settled on a map design as far as how the flow should go but now fleshing out how to make it actually look interesting. In this case, I was working on a section where the player moves from a larger area with a high ceiling to a smaller tunnel area with a lower ceiling. I'd decided on placing large pillars on either side of this exit/entrance (depending on your direction of travel). Furthermore, I thought placing Doom 2's built in Tall Tech Pillar decoration on top of my wider, taller pillars would work out nicely.

I've been working in a hybrid development environment for several years now. Having abandoned the Microsoft Windows world for my general purpose computing needs back in 2015, I generally live exclusively in the world of some Linux variant while going about my day-to-day, need a computer for this fill in the blank whatever. But I keep an older Windows XP desktop on hand for designing the layout of my Doom maps. Why? Well, because my tool of choice is an older version of DoomBuilder. I use version 1.68. And I can't get it to run properly in Linux using WINE. When I don't have a mapping project on the front burner, the Windows XP computer isn't even switched on.

Anyhow, I'd finished this tech pillar topped entrance/exit and moved on to other great map design achievements (cough-cough). This is how that glorious entryway looked:

A venerable Pi-Koss-O, right?!

So, the picture above is a scene in the 2nd level of a project that took me way too long (seven years!) to get pushed out the door. After which, I moved along and when I had the uncontrollable urge to fart around with level editing again, I thought it would be a good time to play with more DECORATE code. Adding new monsters into my Doom world has been the fetish of 2022. It's a bit more challenging than simply creating new textures of flats to paint walls, floors and ceilings. With the exception of some animated textures and flats I've made, generally, one obsesses over every pixel of a single 64x64 or 64x128 pixel image. When working on monster replacements, there are different combinations of viewpoint angles, behavior states and pain and death sequences to feed the Doom engines.

In the case of my Electrodemon monster, there are 94 cells of animation to edit.
NINE-T-FOUR!! Yah. That's the price you pay for having something look cool though. Upon completing such a Herculean task, it would be nice to test the sucker out. Rather than wait to see what the damn creature is going to look like in action until after I've designed the map he's going to appear in, thought it better to just test in something I'd already made. So, I injected the electrodemon into this previous work, Chap Deathmatch 3. And it tested out just great and I was quite pleased with the results of labor. Later on, I'd moved on to working on something else and I go to test whatever that might've been in the above pictured level and I see this:

Hey! What are you doing up there?!

My immediate reaction is that I must've corrupted the wad file transferring it via sneakernet USB drive from Windows system to Linux or vice-versa. Or maybe I monkeyed something up with the tools I'm using and I've corrupted the file that way. In my past Doom editing days in Windows, I remember screwing up wad files beyond belief simply by having the same file open in two programs, say DeepSea and XWE at the same time. With DeepSea, file changes happen when you explicity hit the Save button in the program's interface.
You know, like NORMAL PROGRAMS DO.
With XWE, changes you make happen IMMEDIATELY = an immediate flush to the open file!! Needless to say, I've corrupted plenty of my shit in the past before I got a handle on these concepts. So, the thumb comes out and points at my negligence in the use of tools. I scrap the work at hand and revert to a backup copy which was made before the corruption occured. I move along.

Time passes, other small projects are released. I'm working on something the other week and place a tall techno pillar into the map at hand. I go to test and there's that haunting face of the electrodemon again! Twenty- seven B stroke six, TWENTY-SEVEN B STROKE SIX!...

I don't know why I did it, but this time, I opened the doom2.wad file and did a small search. Sonofabitch! There it was; ELECA0. The tall tech pillar has a single cell graphic with the name ELECA0!

"Ya, so what?" My equally clueless reader asks.
You don't understand. All of my 94 cells of animation that make up the Electrodemon monster sprites are named with ELEC. Here, look at the DECORATE code:

       ELEC AB 10 A_Look
       ELEC AABBCCDD 2 A_Chase
       ELEC H 0 Bright A_FaceTarget
       ELEC I 8 Bright A_VileTarget("Electrocute")
       ELEC J 8 Bright A_FaceTarget
       ELEC KLKLKLKLKL 2 Bright A_VileAttack(NULL, 1, 0, 0, 0.0, "Fire", VAF_DMGTYPEAPPLYTODIRECT)
       ELEC I 8 Bright
       Goto See	   
       ELEC EF 8 A_FaceTarget
       ELEC G 8 A_MeleeAttack 
       Goto See 
       ELEC H 2 BRIGHT
       ELEC H 2 BRIGHT A_Pain
       Goto See
       ELEC M 8 BRIGHT
       ELEC N 8 BRIGHT A_Scream
       ELEC O 4 BRIGHT
       ELEC P 4 BRIGHT A_NoBlocking
       ELEC Q 4 BRIGHT
       ELEC R -1
       Goto See 

A quick look over at the ZDoom reference online yields:

    ACTOR TechPillar
      Radius 16
      Height 128
      ProjectilePassHeight -16
        ELEC A -1


Well, great. Simple solution is to rename the Electrodemon's cells from ELEC to ELEK and the problem is solved. Except...
I shared that monster definition with the world on this very website! So, if you happen to have downloaded the Electrodemon monster from this website between May and November of 2022, you have my apologies, condolences and utmost empathy for any psychological or other logical breakdowns that may have occurred. You may want to replace him with a new copy downloaded from HERE, unless you don't mind frozen in time electrodemons replacing every tall tech pillar you may have in a level.

Robotron INDUSTRIES, (c)2024 Copyright Chap Software,
All Rights Reserved