Project Absentia Prototypes


While it’s too early to do a Post Mortem on Project Absentia, Metal Neon suggested I do a writeup on the history of Scoot Hard SDL, Scoot Hard DX, and Project Absentia for an upcoming event. The development was longer than Daytime Drama’s development, and is still on-going.

Rather than a Post Mortem of SHDX proper, this is more of a technical and graphical analysis of the difference between various milestones.

Scoot Hard DX was admittedly a very… crazy fangame. After it’s completion, several people suggested we go commercial. That’s when Scoot Hard DX was forked to Project Absentia, after some ideas were conceived.

I decided to focus on some of the major differences between the following games:

  • Scoot Hard: Rainbow Factory (aka Scoot Hard SDL, Circa 2012-2013, Code fixes in 2020-2021)
  • Scoot Hard DX Pre-alpha Build ??? (bundled with an ancient copy of WIGZDoom, dated August 2013)
  • Scoot Hard DX December 2020 Build 152 (the last version before Metal Neon came on, bundled with GZDoom 4.5)
  • Scoot Hard DX Beta 3.1 Build 798 (the last version of SHDX before the initial 1.0 release, bundled with WIGZDoom 4.6pre)
  • Project Absentia Alpha Build 1163 (a recent build of Project Absentia, bundled with WIGZDoom 4.6)

I will mainly be focusing on E1M1/MAP01/E1A1/E1L1 – aka the first level that appeared in all Project Absentia’s history. I will also be focusing on the common enemies through the series of prototypes. However, I will show off the sprites from the various enemies and how they evolved. I also will be doing my best to avoid spoilers for those who don’t want to be spoilers, so some enemies will be skipped, and details about lore that has changed that affects the story will be minimal unless it related to a core gameplay mechanic.

I will also point a bit of minutiae some people might not know about Project Absentia’s codebase.

Scoot Hard: Rainbow Factory/Scoot Hard SDL (November 2012, code patches in 2020-2021)

Scoot Hard SDL's titlepic, showing off a rough drawing of the Cloudsdale Weather Corporation and an old Waffle Iron Studios logo.
Scoot Hard: Rainbow Factory titlepic

The genesis of the project was Scoot Hard: Rainbow Factory and was released initially under the Waffle Iron Interactive label before being changed to Waffle Iron Studios in late 2012. For the sake of clarifying it not being canon to AuroraDawn’s fiction in any way, as well as for simplicity’s sake, I refer to this one as Scoot Hard SDL due to it using Wolf4SDL – a Wolfenstein 3-D game engine using the SDL library.

While not connected code-wise to modern GZDoom, the basic plot for what would become Episode 1 of Project Absentia is here. There’s some interesting concepts that would carry through to the end of Scoot Hard DX‘s development – three bosses, a weather based weapon, and some of the enemies are there. The low guard, the Pegapol, the engineer are all present. Mutants/Zombies do exist, but are the weakest enemy in terms of translation from Wolf3D.

Scootaloo sprite. Scootaloo has an orange coat and a short purple mane
Scootaloo sprite
Low Guard sprite. Has a brown coat, a dark brown goatee and hair, and a white lab coat
Low Guard sprite
Pegpol sprite. Has a skin tight black outfit and a blue arm band and a skin tight mask. Has an orange coat.
Pegapol sprite (then called the Pegpol)
Engineeer sprite. Has a yellow hard hat, blue goggles and a grey coat
Engineer sprite
Mutant sprite. A green pony made up of pegasus and unicorn parts.
Mutant sprite. Note the frankensteined pegasus and unicorn parts to make them an alicorn

Surprise's sprite. Has a grey complexion and a yellow poofy maine and a black suit.
Suprirse’s Sprite
Dr. Atmosphere's sprite. Red coat, crazy grey hair and a lab coat.
Dr. Atmosphere’s Sprite
a blue pegasus with their wings extended and a rainbow-colored mane, armed with a chaingun and a spectrathrower
The third boss’s sprite. Was in the process of becoming Maimbow before development switched to SHDX

One of the levels that existed all the way through to the end of SHDX and Project Absentia, albeit in a basic form… E1L1/E1M1. I will be using this level to demonstrate the evolution of the engine.

E1F1 from Scoot Hard SDL. Shows a bunch of simple tiles at a low res making up the map.
E1L1 as opened through Wolf Data Compiler. The green arrow is the starting point.

Wolf3D’s limited grid-based, tile-based map editor allowed for levels to be designed quickly. However this lead to the impossibility of making set-pieces like the Pegasus Device. An attempt was made. It was not very good. I refuse to show it, that’s how embarrassing it is. Play through the prototype yourself to find it.

The enemies were mostly hitscanners… the weird, Wolf3D type with damage falloff. Surprise used a Rainbower prototype – one you can wield too if you can find it. I hadn’t yet converted the final boss and their posters away from Rainbow Dash’s to Maimbow/Lightning Dust’s…

Oh, and the vending machines. You could buy all sorts of things from them – food and ammo! They are admittedly more useful in this game than in the future iterations.

There were some changes to the map format from Wolf3D’s default map to allow for floor/ceiling textures, tagged tiles that allowed objects, walls and switches to be daisy-chained along. If you’re familiar with how Rise Of The Triad or even Doom does it, it’s very similar to how they tag things.

There were 24 levels. Only 23 of them are accessible because of a bug I cannot for the life of me fix. Oh that wacky Wolf3D engine!

The story is a bit different – mainly because there are three endings. You can lose, you can win but lose Aurora, and you can win and escape with Aurora.

The boss is an asshole who immediately attacks you with little room for maneuverability – I should have given them a delay. However, the idea you could actually just do a pacifist route with the boss.

Dr. Atmosphere’s boss fight is underwhelming. If you fought Dr. Schabbs in Wolf3D, you fought Dr. Atmosphere.

The vending machines were janky but sometimes they worked – and they’d offer you food, ammo and other things.

The story was overall the same, and a bit more complex than I liked it to be. By episode 2 it completely deviates from anything to do with the main Rainbow Factory mythos aside Dr. Atmosphere’s involvement, which would carry through into the finished project.

The final note is I use Aubrey Hodges’ Doom Playstation soundtrack as a placeholder. The opening music is an instrumental for Rainbow Factory. Unfortunately it can get content ID’d on certain platforms, so if I ever stream this it’ll probably be muted.

Scoot Hard DX Pre-Alpha (August 2013 – Build ???)

Scoot Hard DX title screen (with Scootaloo looking angry) and "Waffle Iron Studios Presents:" at the top.
Title sequence from the August 2013 build. The titlepic is really low-res and there’s a glitch.

Scoot Hard DX was my first attempt at making something very bizarre in GZDoom that resembled an old Apogee/3D Realms first person shooter – namely Rise of the Triad – with the intent of showing it to the public at some point.

GZDoom offered more flexibility with DECORATE and ACS and walls that could be anything other than 90 degrees. It also supported 3D floors. Theoretically this concept could work.

…. theoretically. There were tons of problems right out the window. For one, there was no easy way to port the levels… so I was all on my own there. Also no one had written a DECORATE/ACS codebase that could serve as Rise Of The Triad’s weapon system. Not even el zee’s Return of the Triad, which I looked at for reference (mainly the Rainbower and the HUD), used this, just opting for you to have all rocket weapons at once.

This was around the time Rise of the Triad 2013 had come out… and reception was lukewarm at best. I personally liked the ROTT remake, it’s fun to play and inspired me.

Low guard. a tan pony with brown hair and a white outfit
Male Low Guard from the August 2013 Prototype
Pegapol. A brown pony with a black mask and outfit
Pegapol from the August 2013 Prototype
Engineer: a blue pony with grey hair and a white outfit
Enginer from the August 2013 Prototype
High Guard. A bearded blue pony with brown hair and a green outfit
New Enemy: High Guard from the August 2013 Prototype
Surprise's sprite. an off-white pony with a blonde poofy maine and crazy wings, and of course, armor
Surprise’s Sprite
Dr. Atmosphere's sprite. He has a red coat, a gray mane and a look that could kill
Dr. Atmosphere’s sprite

However, as much as I like ROTT 2013 (better than the original I dare say?) the motivation was not enough. For one, ZScript was three to four years off, GZDoom was not yet the de facto port to use (you still had ZDoom, which had more features but a more limited renderer, and GZDoom, which had an advanced OpenGL renderer). I was getting frustrated with the limitations… so I gave up at some point with this ambitious idea.

… not before at least a few other prototypes with full rotational enemies and more levels existed. However, I cannot find these and neither can Tom. I guess it was just sheer luck he found this. Unfortunate, it’d be neat to see how those prototypes looked compared to the direction we ended up going.

The very first map still exists, by the way… more basic, but the elements are there.

A textured blueprint of E1A1 of the August 2013 prototype of Scoot Hard DX.
Scoot Hard DX’s E1A1. You start where the gold plus is on the map (specifically the green spot next to it)

The one thing that stuck through the longest was the voice acting. I actually commissioned a VA by the name of Alabeanz. They voiced Scootaloo… unfortunately I cannot find where they ended up. They went quiet around the time the COVID-19 outbreak happened. I worry about them to this day. I have attempted to reach out on Tumblr, the only place I knew they were active.

… unfortunately the voice acting is the best part of this prototype (save for one line which Metal quotes a lot… to my grumbling and moaning). The movement is probably the weakest point. I wasn’t aware at this point you could control stuff like air control and all that.

That said there are fundamentals here – gibs, swappable weapons, and a voice acting system. This voice acting routine would become the basis for Daytime Drama’s one liner subsystem… which would eventually be used in future iterations of Scoot Hard DX, thus coming full circle.

Oh, as for the music – there is none. Not even placeholder music.

Some interesting bits – the vending machines are more simple, only dispensing apples or meals based on how much coin you have. The enemies are high-res, but use a different method than what I’d use for DD1 and beyond… and Surprise is implemented a bit similarly to what she did in SHDX’s final version. Dr. Atmosphere is present. A prototype enemy – a portable version of the Pegasus Device, loosely modeled off the NME from ROTT exists in the files, but is generally a bad boss.

The Portable Pegasus Device. A machine thatgrinds fillies up into paste and is mobile on spikey legs
The Portable Pegasus Device

There’s many levels that exist, but for the sake of showing evolution, I’m showing off E1M1’s equivalent’s screenshots.

Fun fact: this was the first iteration of WIGZDoom. The icon was from another project at the time that fell through.

Scoot Hard DX was abandoned as it was obvious this was more than I could chew. In order for this to REALLY kick ass, it would need voice acting, a better ability to get into the game logic, thus better movement… and a new coat of paint.

ZScript and Daytime Drama

Daytime Drama Screenshot demonstrating the enemy varieties and the Build-like aesthetic.
Daytime Drama screenshot showcasing the infamous Dontreldemons and a bit more Build in terms of asthetic

With the advent of ZScript in early 2017, I ported most of Daytime Drama’s ACS/DECORATE code to ZScript. The gibs, the voice overs, and inventory items. It was buggy still – it had awful sound mixing (to no fault of Sarah and Brad’s voice acting) due to my inexperience with such matters, plus relied heavily on copyrighted sound clips, and it was being worked on at a time where ZScript was definitely shaping up to be the future, but people were reluctant to make examples or port their code to ZScript because of Zandronum – a client-server multiplayer engine based on an old GZDoom branch.

In short… early on, I was on my own. I believe me, Accensus, Marisa Kirisame, and a few others had started adopting ZScript at the time, while others complained due to lack of documentation or incompatibility with Zandronum or ZDoom 2.8.1. Eventually it gained traction, but by then I had ported most of the code to ZScript, save for two ACS libraries – one which still is in use today, albeit much, much slimmer.

Daytime Drama was not the first ZScript project – but it was my first ZScript project. And boy, did it shine. Despite it’s buggy nature, a self insert protagonist that somehow didn’t meet the ire of the masses (I mean, she is a cop after all), and the insane plot… yet people liked it. I still have no idea what people liked about it. I still have people showing interest in this project to this day, 3 years after I stopped major developments on it.

So it was obvious… I needed a followup. And I tried. Many, many times. DD2 was started up FIVE TIMES before I looked at it and went “yeah, this isn’t going to work like it did before”. Lightning doesn’t always strike twice, kids.

So while working on a DD2 iteration, my friend Tom hands me the prototype. Long of the short of it, burnt out from Daytime Drama 2’s development, I cracked my knuckles and got to work.

And boy, did ZScript make an improvement! I could code a weapons system just like ROTT had… or make it even better! I could make more dynamic enemies without using DECORATE or ACS kludges. Plus my level design had… slightly improved.

Plus I knew a ton more people who could do voice acting and level design.

So we got to work on a purely passion project.

Several beta versions were released. Beta 1 was released on Halloween of 2020. However, reception was lukewarm. I think it… honestly was the ponies. Unfortunately, ponies are not accessible to some people.

Scoot Hard DX Build 152 (December 2nd, 2020)

Scoot Hard DX Build 182 Titlepic showing Scootaloo and Aurora fighting off against a low guard and a Pegapol
Scoot Hard DX Titlepic (Build 182).

However, it caught the eye of a friend of Rod – my musician at the time. Metal Neon came into the picture and started suggesting ideas. It was good to have someone who understood Boomer Shooters like I did on the team…

Around this time, there were issues with the game – the movement was still bad, the weapons all looked the same (still using the sprites from SHDX’s August 2013 build). It was obvious I needed to work on it some more.

… so we did. Metal came on initially as a beta tester, but he ended up doing more – music, model renders, level design… it was a breath of fresh air when the rest of us were not sure what to do.

And eventually we got the movement down right. More on that later.

Why did I pick the December 2020 build instead of Beta 1, 2 or 2.5? Because this is the true point of when the project began to take shape. I want to show how much this starkly contrasts with what we did next.

That said, let’s go over what this build had – 10 levels, 3 bosses, and most of the weapons are there… still using most of the prototype’s graphics. Some enemies were recreated, namely Dr. Atmosphere and Maimbow – Maimbow’s was necessary as his sprites didn’t exist.

New Dr. Atmosphere sprite. Same as before, except he has glasses and his wings are extended.
New Dr. Atmosphere Sprite
Maimbow sprite. Aqua green pony with a rainbow mane, and a shit-eating grin.
Maimbow Sprite

It was around this time I realized that I was going to need to get a new VA for Scootaloo, unfortunately, as Alabeanz was nowhere to be found.

This build has the old SWWM_GZ explosion build code and the armor system is quite jank. Both of these made it really difficult to calculate damages done by enemies.

Several of DD1/DD2’s systems are in place – the titlemap sequence, the RIP Sound Obituary, the one liners, and a way of daisy-chaining sounds together and play subtitles – I call it the Vox Subsytem. No relation to the news site. I think it was an allusion to the Vox system in Half Life 1.

The music is RodScorpion’s, albeit it doesn’t really fit the tone I was going for. It’s a combo of my direction and his style. Again, as I said in the SHDX post mortem, he’s not a bad musician, I just wasn’t feeling it.

However, there were significant changes under the hood. For one, Scoot Hard DX had been upgraded with code from the Daytime Drama 2 prototype – which had been code adapted from Daytime Drama 1, and thus code adapted from Scoot Hard DX’s original codebase. Kind of funky how that works, huh?

We also used OTEX and Ancient Aliens as placeholder textures. These were picked for their vibrant colors compared to stock Doom or FreeDoom.

So while it was rough in appearance and a bit of a rush job, technologically there was so much potential.

MAP01 (E1A1/E1M1) of Scoot Hard DX October Build

Scoot Hard DX Beta 3.1 Build 798 (April 3, 2021)

Scoot Hard DX Build 798/Beta 3.1 Titlepic showing Scootaloo and Aurora fighting off against denizens of the factory. This pic would be the last titlepic before the end of SHDX's development
Scoot Hard DX Titlepic (Build 798 Beta 3.1) – this titlepic would last until the end of SHDX’s development

Aw man, here we go! Scoot Hard DX: Beta 3.1 is the release I have the most fond memories of. It truly showed how much the game had improved. Completely new textures, overhauled maps, and the soundtrack was mostly complete at this point. It was glorious!

Just to show how much work we did in four months – that build number is almost 4x what we had before. To give you an idea, each time we commit a change to Git, it increments the build number by one. Archaic, I know. I prefer this as no one is going to remember a hash the length of Kansas. For a standalone game, this will do.

Scoot Hard DX 3.1 had all the voice acting done for the most part, had all the textures drawn over to be original instead of OTEX/Ancient Aliens/stock Doom/Shadow Warrior/whatever the fuck else I was using. The levels were completely overhauled, and some new levels were added… some were even frankensteined together from levels that sucked to make… a level that frankly I’d sooner forget (the infamous Tchernobog Laboratory).

The enemies were full rotations at this point, as opposed to the always-facing-frontwards enemies from the earlier prototypes.

Low guard. a tan pony with brown hair and a white outfit
Low Guard sprite

Pegapol. A brown pony with a black mask and outfit
Pegapol sprite

High Guard. A bearded blue pony with brown hair and a green outfit
High Guard sprite
Engineer: a blue pony with grey hair and a white outfit
Engineer sprite
Light Enforcer sprite. A white unicorn with a grey armor and helmet, a red shield and a bomb collar
Light Enforcer sprite

Scootaloo crouched sprite
Surprise’s sprite
Dr. Atmosphere’s sprite
Maimbow’s sprite

The weapons were overhauled completely to make them less samey, in both silhouette and in color scheme. Adding brightmaps to the sprites did help. Here’s some examples.

A grey and black rocket launcher made entirely of cylinders.
The missile launcher in SHDX from August 2013 to the December 2020 prototype
SHDX 3.1's Missile Launcher: A dark grey rocket launcher. Hoof mounted!
The missile launcher in SHDX from Beta 3.1 onward
A grey and black rocket launcher, made entirely of cylinders, with an antenna on the top.
The “Fillyseeker” in SHDX from August 2013 to the December 2020 prototype
SHDX 3.1's Fillyseeker: A dark grey hoof-mounted rocket launcher with orange accents and lights and an antenna.
The “Fillyseeker” in SHDX from Beta 3.1 onward. The orange accents light up in OpenGL or Vulkan
A grey weapon with blue accents
Hailer in SHDX from August 2013 to the December 2020 prototype
A yellow weapon with a bright cyan core and blue nozzles.
Hailer in SHDX from Beta 3.1 onward. The blue cyan core lights up in OpenGL or Vulkan

A grey weapon with a black barrel, cyan tubing and a rainbow gradient representing the tank
Rainbower in SHDX from August 2013 to the December 2020 prototype
A grey weapon with a muzzle break and RGB tubing hooked up to a tank with RGB components
Rainbower in SHDX from Beta 3.1 onward. The tubing lights up, as does the inside of the tank, in OpenGL or Vulkan

We also gave each weapon an alt-fire and tweaked the primary fires a tad. Scoot Hard DX originally had no alt-fires. Examples of this include the heat seeker’s cluster grenade, the freezer’s fire and alt-fire acting like a rapid-fire weapon and a hail core shotgun respectively, and the tornadozer has been overhauled a bit. Rainbower is pretty much the same, with a devastating alt-fire used as a panic button type situation.

Scootaloo’s movement is tighter and suffers less from what Metal calls “Simon Belmont Syndrome” – basically once you commit to a jump, you gotta finish it. Air control and better glide implementation definitely helps.

The cutscenes are there, albeit not in their final forms. I remember we needed to clear up the past tense/future tense issues.

Metal’s soundtrack is present, and boy is it a major improvement with what we had before. I think most of the tracks are present here.

New enemies were added. The iconic Enforcers… still a bit rough, but they’re there. There’s also better Zombies, SpectraWasps (mechanized death with wings), and the Engineers throw sentries. The bosses have been completely overhauled, with Surprise fighting in an arena that when she’s at 50% health, she drops the floor – literally – causing you to have to traverse a Spectra filled pit. Dr. Atmosphere and Maimbow’s boss fights are now in stages too.

Alabeanz’s voice lines were replaced entirely by Victoria Prater, an acquaintance of Metal’s.

I got rid of SSWM_GZ’s Explosion code at some point between the December 2020 build and this build. The armor system works pretty much as it does in the latest version.

Weapons and some items were starting to be turned into voxels.

All the levels started employing different lighting methods to make them, stand out. E1M1 is a great show of this.

Another thing added was the presence of tutorials in the first few levels of Scoot Hard DX. These were hit or miss. I designed them to introduce things like alt-fire, jumping and gliding, among other things. However people ended up just whizzing by and wondering why they failed XD. I guess unless you stop the action and make people read them before they move on, people aren’t going to pay attention.

The textures were also completely re-drawn using a cartoony pixelated look. We went for that to offer a contrast to the sprites, which are higher res Adobe Animate (Flash) art.

Finally, the biggest change was we revived the old Waffle Iron Studios fork of GZDoom – WIGZDoom!

I know the 1.0 release was the true milestone, but… this release is the release I remember fondly. I even made a special boxart parodying the Windows NT 3.1 boxart.

A parody of the Windows NT box with the Cloudsdale Weather Corporation logo and Scoot Hard DX at the bottom, and the Waffle Iron Studios logo in the upper-left corner

It was glorious. I like this release. It makes me happy.Arnok

E1M1 in it's near final state, showing off the colored lighting and small but noticeable changes.
E1M1’s overhead blueprint showing off the colored lighting

Project Absentia Build 1163

Project Absentia Build 1163 titlepic, showing Abby wielding a tommy gun and a rocket launcher, wrecking a bunch of Enemies shit on a rooftop. Phoenix with his orange hair can be seen grinning in the background, transparent over the shining moon
Project Absentia Build 1163 titlepic

We forked Scoot Hard DX right after the 1.2 release after we decided the concept could be commercialized, as long as we separated it from the MLP mythos. I will be only sharing small bits of information and graphics here to not spoil the game. However, as you can see above in the titlepic, several of the enemies have been given a non-pony overhaul

We first had to gut the “RIP Sound Obituary” – a system that mocks you when you die… due to the use of copyrighted meme materials. Sampling is a tricky thing. Metal wants this back with stuff we know we have the rights to such as the Average Joe™

Next was replacing every single sprite and asset with a non-pony version. Right now there’s no pony assets, save for an Easter egg I insist upon keeping.

The biggest change herself? Scootaloo, the relatively clean, no-swearing filly, is now a sadistic angel with a bloodlust and a vulgar mouth – and this angel calls herself Abby.

Victoria Prater didn’t want to come back for the role of Abby, so we went with someone else – one of Metal’s friends, SinsAndSmokes… who’s performance was pretty fucking psychotic… so we went all ham on Abby’s background, including making her quite more vulgar. It’s been fun being in the recording sessions with Metal and Sins. So yeah, that’s the biggest change you’ll notice right away.

With the help of AuroraDawn himself, we came up with some concepts. The Cloudsdale Weather Corporation became the Orkan Corporation, and instead of Pegasi would be angels in Heaven with nefarious motives.

The Orkan Corporation logo, which is a blue cyan upside-down triangle, with a white I-like shape in the middle, and a yellow, red and blue parts on the top
Orkan Corporation logo, based on a sketch by AuroraDawn, inked and colored by SanyaWaffles

The big difference? This is just Episode 1 of 4. The story has been greatly expanded, and the game will go from Heaven to Hell and beyond! I won’t go into the specifics of what’s going to happen next… you’ll have to see. [chuckles]

Some enemies were dropped for Episode 1 – the zombies have been replaced with robotic canines called “Doggos”, but those won’t appear in the demo we’re presenting. Neither will the changes being made to Dr. Atmosphere or Phoenix (formerly known as Maimbow).

The voxels were replaced with brightmapped models made from voxels. Some 3D models were made from scratch by Metal Neon.

Speaking of boss fights – Asphodel’s arena (formerly Surprise’s arena) has been modified to allow better flow. There’s now teleporters and vents that allow you to “Pac-man” your way through the level.

Some additional changes were made to the weapons’ functionality and their names. Some alt-fires were tweaked or replaced – like the cluster bomb becoming a firebomb, straight out of Rise of the Triad. Namely now the SMG – a Tommy Gun – has infinite ammo, but you have to reload, as opposed to having unlimited ammo with no catches. You can also swap out the default ammo for hollow point ammo. There’s also headshots now, backported from additional code from the DD2 codebase, based on the work by Mikk.

Speaking of the DD2 codebase, Build-like explosion controllers were added from this codebase. I didn’t see much use for them initially in Scoot Hard DX, however one of Metal’s complaints were the explosions in Scoot Hard DX weren’t big enough. So I decided to bring them back. One advantage to this over traditional ACS is the fact you can use these objects without any knowledge of ACS – but if you do know ACS, then you can use them to make even more powerful effects.

We decided to demonstrate this in E1M1 by radically changing the intro to this level.

E1M1, showing a rooftop that has a vent shaft that drops to the bottom
E1M1, with the new rooftop and some other minor changes
The new opening to E1M1, showing a rooftop and a bunch of explosive barrels.
E1M1’s opening.

Those barrels explode. You can jump over them and into the vent shaft below, but why do that? Explosions are cool. Reception to these have been extremely cool overall.

So as you can see, E1M1 has evolved over the years. As it’s beginnings of just a Wolf3D level to it’s Build-esque modern iteration.

Some other minor tweaks include us tweaking the fonts on the menus and HUD to be kosher with commercial usage, as Crewniverse is a Steven Universe thing and Revue just looked ugly.

Interesting bit: Scoot Hard DX Version 1.3 was released in the interim, which includes some silent hotfixes I added to Version 1.2 of Scoot Hard DX, as well as updating WIGZDoom to a newer version. This version was separate from Project Absentia in terms of the source code’s lineage

Boot Screen

Boot Screen for Project Absentia

it reads out:

Waffle Iron Studios Project Absentia Build 1163 Private Alpha 3

HAL: Version 1.12 1/07/2011
HAL: Processor is an Orkan Corporation Workstation Rev. 3.3
HAL: Angel Revision 2.4
HAL: L2 cache is not installed.
WI/GZDoom 4.6 Compatible Multithreaded Enabled

It has the Waffle Iron Studios in the background.
Waffle Iron Studios boot screen

The boot screen is a reference of Windows NT 3.1, 3.5x, and 4.0’s boot screens. It serves as more than a reference. That build number is updated every commit until we go Gold. For Early Access, we plan on not doing this until the game’s four episodes are done.

As for what a “HAL” is? Another reference to Windows NT – the Hardware Abstraction Layer. Unlike the Windows NT version, this is purely graphical and doesn’t do anything, except if you change Abby’s name to something else it’ll get rid of it. I might get rid of this to avoid confusion, alas.

Trying the builds yourself

I’ve included everything except the Project Absentia build here. You are free to look at these and analyze them, just know I offer no support for these and they are provided on an as-is basis.

I hope this has been an interesting look at E1M1 through the development cycles as well as some interesting bits I felt were worth mentioning about the build’s differences.

In Conclusion

As you can see, Scoot Hard DX has evolved from a fangame into Project Absentia, a completely original IP… and boy has the journey been long.

With the experience we had under our belt for Scoot Hard DX, we hope Project Absentia will be even better.

Thanks for sharing a part of the journey with us.

-Sanya, on behalf of Waffle Iron Studios

Toby Accessibility Mod

Note: This is not one of our projects, but I wanted to share this all the same.

Alando1 over at the ZDoom Forums has made a mod called Toby Accessibility Mod which aims to offer accessibility options and features for people who are blind.

Inspired by Toby Ott, a blind gamer featured in the Gaming Through New Eyes documentary, ZDoom Forums user Alando1, has been working on making a mod that incorporates some neat features – like a dropoff detection system (to detect if you’re approaching a ledge that’ll cause you to dive off a cliff head first), as well as incorporating Jarewills’s health and ammo readouts and an audio feedback compass script. The health and ammo readouts works based on an ammo’s percentages, and the dropoff detection emits a high pitched beep when close to an edge with a significant dropoff. The thread has videos that demonstrate it. Most of these commands are accessed by keys on the keyboard.

There’s a few other things I noticed in the videos – there’s audible footsteps in time with the player’s movement, detection when colliding with walls or objects. The mappack seems to also have positional ambient noises to help navigate the player. The compass uses pre-recorded cardinal directions (even diagonal ones) to indicate what direction the player is facing. There’s a few other things, such as indications if enemies, health, armor, and ammo are nearby. There also seems to be unique pickup sounds for each item class. There’s also audio indicators for if a door is locked and requires a key. There’s also another neat feature I really like – if a switch or interactive panel is in front of you, it will emit a sound for that as well. These all have unique sounds that make it very clear what is going on. This is just a few of the things implemented. If you or someone you know has trouble seeing – no matter the degree, this might help make playing Doom a much better experience.

A ton of effort went into this project, and it shows. I appreciate this, as someone who is dating a blind person.

As an aside, Jenna and I have discussed how such accessibility would be implemented in GZDoom, given a recent heated topic on the ZDoom Forums, and she said there’s many approaches – all with their pros and cons. I hope technology and modding – or replacement/augmented vision technology – gets to the point Jenna and people like her can enjoy her hobby again.

Accessibility mods are something I really like to see – especially in an engine where accessibility is hard to integrate. Doom was unfortunately never designed with visually impaired people in mind – even colorblindness is something that hasn’t been addressed easily, either by mods or engine-side. It’s not an easy task to integrate accessibility into a visual, tactile experience, but It’s nice to see something that works within the framework of the engine to make it as accessible as possible.

The only thing it seems to lack which I think would be good, is audio cues on what GZDoom menu element is being highlighted and what menu is currently active. With ZScript it’s certainly possible, however menus are admittedly my weakest point in coding with ZScript so I could offer little advice except to say it’s in the realm of possibility.

Also some people have reported improvements can be made to the dropoff detection.

However, I have faith this person, or another contributor, can figure it out.

That said, if you need something like this – load it with your copy of GZDoom. It includes a mappack as well. If you just need the mappack or the accessibility project standalone, you can get that too.

Check out Toby Accessibility Mod below!


Me and my team have been hard at work on Daytime Drama 2. I’m gonna be preparing a semi-public beta test by the years end and a massive info dump is looming, so stay tuned.

Here’s some news in the meantime.

First and foremost, I am hosting RodScorpion’s AmateurZ webcomic now. This is in line with my goal of Waffle Iron Studios being very much being the video game and webcomic answer to Troma – truly independent game mods, projects and webcomics. It’s got a neat premise, and I’m privvy to some of the details of the story, and it’s a perfect addition to the site. RodScorpion, as some of you may know, is my friend and musician for the Daytime Drama series of games. You can find it here.

Second, I updated Daytime Drama to version 1.12 which fixes some issues with the project I overlooked as well as updating the engine to a 4.5pre devbuild which fixes some stability issues. You can find it here.

We got a future roadmap, and when DD2 is officially revealed we’re going to talk more about our plans for what we want to achieve here at Waffle Iron Studios. Alot of people have been volunteering to help me, and I want to go commercial someday – but stay as independent as possible so we can make provocative, truly funny and intelligent works without being hindered by either corporate nonsense or draconian censorship – be it right wing or left wing. We want to be truly independent.

Accessibility Woes

Pelican, the original software I used for Waffle Iron Studios, promised what I needed – a simple static website. However, there were tons of headaches, such as having to compile and re-upload the entire website every time I updated it. I also couldn’t get the tags to work properly.

Upon discussion with one of the people working at Waffle Iron Studios – a voice actress and my dear friend Jenna, I decided to migrate to WordPress. One thing that I really wanted to get working though was better accessibility, as Jenna is blind and uses a device called a screen reader to access websites.

My main thing is WordPress must be able to be read by a screen reader and navigated with ease.

This isn’t just for Jenna’s sake and other people like her. One of my pains is modern websites absolutely are hard to navigate, even with conventional methods and having your sight. I just want content over fanciness as well.

This is not saying Pelican is bad. Pelican is good and if you prefer more manual websites, try it out. It’s just it became a bit tedious for me.

Anyhow, if this works, expect more content. I will be updating this page (and revamping the theme) as time goes on.

A Tribute To Myk Friedman and Ultimate Simpsons Doom

NOTE: THIS WAS ORIGINALLY POSTED OCTOBER 2nd, 2019 before the WordPress Migration

One thing I didn’t mention in the post mortem was how one Doom WAD really pushed me to try to make my own. Sure, might not be “the best” example of the engine’s capabilities – but that doesn’t matter to me.

Ultimate Simpsons Doom, by Myk Friedman, was one of the first patch WADs that I played that was designed for the ZDoom engine (mainly the SNDINFO lump being used to define additional sounds).

One thing I really like about the Doom WAD was the high-res graphics (for DOOM standards) used for the sprites. I think at the time DECORATE wasn’t a thing, so he couldn’t scale the sprites. It’s easy to fix now though. This stood out to me in a sea of WADs that just edit or base art on Doom, Duke 3D and other contemporary games, rather than go for a cartoony feel.

I really like this project. Sure, the WAD has some interesting to say the least texture choices, and doesn’t replace any of the levels. Icarus covers the WAD very nicely, and I share his views on the project.

I can safely say, if it weren’t for Ultimate Simpsons Doom – I’d probably have never been motivated to look into Doom modding using ZDoom and it’s family of engines.

Unfortunately, I found out recently that Myk Friedman died in 2014 of diabetes, and I had no idea he had a series of videos involing crossovers and such called Ultimate Cartoon Fight.

The channel seems to be still somewhat maintained by his friends and family, but seems to be rarely updated without his visions and guidance – with the last update to the series proper being 5 years ago.

So I take my hat off to Myk Friedman. Rest in peace dude, and thanks for influencing my direction in using this engine.

Daytime Drama – A Post Mortem

NOTE: This was originally posted Monday September 23rd 2019 before the WordPress migration


It starts back in 2006. I started work on a game mod – a TC based on internet phenomena and random shit I could think of. I called it “Drama” for a lack of a better title. I was admittedly a browser of Encyclopedia Dramatica a bit too much.

However, this project is not really something I’m proud of. My level design was utter garbage, the sprites were not that good, and it relied on DEHACKED and DECORATE mixed together. It also focused too much on edgy humor. I don’t mind edgy humor – but some stuff was admittedly in poor taste.

I released several projects in the interim, but none really struck me as something I’ve always wanted to do – I wanted to do a project where a person, down on their luck, has to go up against a bizarre against all odds scenario. I’ve always liked action movies, if you couldn’t tell.

The original project had that going for it – I loosely based the protaganist off a friend of mine from back when.

I explored this concept with a Wolf4SDL project called Scoot Hard. I still have a copy of it and I do plan on polishing it up – or even remastering it in GZDoom – but it focused on Scootaloo from My Little Pony going up against the Rainbow Factory.

Scoot Hard Box With Screenshots
A kind of cringy boxart for Scoot Hard (I did it like it was sold in-universe, heh)

I learned alot from that project. Coding most stuff in C/C++ helped polish up my lower level programming skills… and it was the first major project I had completed. Granted, it was short. However I still fondly remember it. Hell, it has two things I have yet to implement proper in the Daytime Drama series – achievements (albiet primative and not that many) and vending machines!

Alas, one of the things I didn’t like about it was the engine. I love Wolfenstein 3-D but the level design was lacking. I did find out how to do things like wall decorations, vending machines and such – but I really hated being stuck with just 90 degree walls.

And the sound engine! I know sound is often a point of debate in the Doom community. Hell, when designing DD2 me and others working on the game lamented at how it’s impossible to transition between tracks dynamically, like how modern games do. However, I had to completely gut Scoot Hard’s sound code and it’s still not proper. The Wolf4SDL sound code I used was from the Die Hard Wolfer’s forums, and it has some problems.

Yeah, Wolf3D as an engine definitely is primitive. We had to start somewhere.

Turning Tragedy Around

I decided to go back to GZDoom for my next project. It had easy to use tools, extensive documentation overall, and more importantly it was relatively easy to make a standalone game, even then. Later on the engine would even be GPL’d entirely, making it feasible to use as an indie game engine.

I started early on in 2013 toying with the concept of an indie FPS – a freeware one that appealed to my interests.

A tragedy would occur though that would admittedly affect me greatly. My grandpa passed away in 2013. I fell into a deep depression… I still am in that depression.

To try to stave off the depression, I started tinkering with GZDoom. I started drawing enemies based on cartoon characters and stuff I witnessed… the dudebrony and checksum unicorn enemies were an obvious reference to MLP’s discourse involving vocal minorities in the fandom. I’m not fond of pushing political messages in games for “woke points”. It was more tongue in cheek fun than me condemning bronies. I have no problem with them – something people have accused me of doing.

I also worked on another project. I wanted to see which one was better. One was a Rise of the Triad clone based on one of my earlier concepts. The other was a Duke 3D style FPS starring my persona.

It’s clear now what one took off. I do wanna revisit a ROTT clone someday. Perhaps someday I will.

One of the things I liked back when was Gaming Garbage – a show by Lowtax and Shmorky (more on that later) where they play awful games. I decided to include Dontrel as a Cacodemon replacement. For the uninitiated, Dontrel the Dolphin is played off like a Sonic or Crash Bandicoot type mascot, but unintentionally becomes creepy due to the warped MIDI music and how Dontrel is rendered. Lowtax plays him off as being an elderich abomination, and thus a meme was born.

As for the other more iconic enemies – the Brony of Despair is admittedly based off the typical neckbeard brony stereotype – he basically is a Baron of Hell. Two recolored ones serve the purpose of cluster 1’s bosses, a homage to Doom’s E1M8 boss battle.

However, to balance it out, I made a Checksum Unicorn – who is erratic, fast, keeps reviving the dead… and very angry. I based her off of some Tumblr influencer who had a reputation for being a bit nasty. I forget her name though.

People have constantly asked me if I was trying to trash bronies. To be honest it was not my intent, as I said – however I cannot deny it made for good cannon fodder. I prefer to take the Filthy Frank approach to humor – no one is off limits, not even yourself.

I did similarly with BonziBuddy. Joel of Vinesauce inspired me with him resurrecting the evil spyware grape ape lookin’ ass. Bonzi serves as a good Mancubus replacement. He fires pineapples at you. Why I didn’t go for coconuts? Eh, not really sure. I think Pineapples were more fun to draw.

The most messed up enemy was probably the Purrmoid – which is based on the Cat Fingers episode from Steven Universe. Say what you want about the show, but some of the episodes have good nightmare fuel material. I will tap into this more in DD2.

BonziBuddy. A purple ape with bananas for arms that open up.
The Bonzi Buddy Enemy
Brony of Despair. A maroon unicorn wearing a fancy outfit and a fedora-like hat, and really messy brown hair.
The Brony Of Despair
Checksum Unicorn. A female cream colored unicorn with red hair and wearing a green shirt, and grey skirt.
The Checksum Unicorn
Dontreldemon. A grey dolphin head with a really awful skewed jaw and a cowlick for hair.
The Dontreldemon Enemy
Picture of the Purrmoid, a bolbous enemy with cats protruding out of their body

These are 1/4 the resolution. These sprites are HUGE in-game, but I scale them down to fit the standard hitboxes and FOV. If only textures were this easy.

I kept chipping away at the game over the years. I had nothing better to do, especially since a fainting spell left me unable to drive in 2014. I did alot of art on my own. I even photoshopped signs and decorations for the levels. I even got help from some people, namely my friend Kelsie. More on that later.

Very early I knew I wanted to try to make it as close to Duke Nukem 3D as possible – a bit of Blood influence, some Aliens and Super Metroid too. Hell, the weapon upgrade ideas came directly from my love for Super Metroid.

I also decided to base the protaganist on me. A much more able-bodied version of me chuckles nervously.


Two renditions of Sanya (2015, 2018). Sanya in 2015 has red hair and a slimmer complexion. By 2018 I made her more pudgy and with brown hair. She stills retains the 90s fashion statement of a hoodie, baggy pants and chunky platform sandals. Not really typical for a cop, I know.

Two renditions of Sanya. The one on the left is an earlier Danganronpa-esque rendition circa 2014-2015. The one on the right is her current look as she will appear in future entries.

Sanya is one of my oldest characters. She’s a merging of two concepts – a saiyan OC from my childhood – and myself.

It makes sense – the tail, the bullet resistance… the tendency to be a bit heated… all things my character is. Some of course based off my own self.

A bit personal here – I had recently come out as trans during the time the game was in progress. So I made Sanya trans too.

However, I know – as it should be – that this doesn’t define a character. In fact in the entire game I made it a rule of thumb to never mention Sanya is intersex and trans because I very much abhor people who feel the need to state their gender/sexuality all the time. I didn’t want to use this to “sell” my project.

Thus this is the first time I’m ever gonna mention it. It’s not incredibly relevant anyhow. I prefer my characters to not be woke stereotypes. I hate that in gaming and in media.

What defines Sanya? She’s a fiercy loyal person who could have ran away from the problems. She’s got a bit of John McClane from Die Hard in her, though she’s more analogous to Ellen Ripley from the Alien movies.

Thank god she didn’t run away because this could have ended badly. Very badly. However it puts a great stress on her. Her one liners and sarcasm are a coping mechanism for the pure chaos and evil she’s facing against.

One of the levels I made was a hospital with a mental health ward. This was made because personally I have a great trauma with these things. I made the level to intentionally challenge myself during playtesting. And RodScorpion’s music “Anemia” really fits the tone of the level and reminds me of a hospital.

Also, to be honest, I’m not trying to make an ultra 5deep4me game. I am just for making a fun game. However sometimes stuff like this does happen.

In hindsight I’m surprised no one gave me grief for making Sanya a cop character. I know police are given so much shit nowadays. I’m not for that. I’m glad most people either put their outrage at the door or didn’t see it as an issue.

I decided to call the project Daytime Drama as a homage to my very first project. It’s as simple as that. It honestly makes little sense. I call it Daytime Drama despite the fact for all intents and purposes the game might as well happen at night due to that dark sky.

Honestly naming things is not my forte.

Giving Sanya a Voice

My friend Sarah did Sanya’s voice. This took a bit, and in beta voice acting was sporatic. I had someone else do an alternate voice for Sanya, but it didn’t work out. Honestly it’s for the best… though the idea of a Russian-esque Sanya still amuses me.

Sarah has a voice that has the right amount of pep and I was glad she was able to get into the final version of the game. My only regret is she didn’t do more – and that’s on me – I only wrote a handful of lines.

I know neither Harmony nor Rebecca (of Harmony and Rise of the Wool Ball respectively) had a voice and they’re the closest analogs to Sanya in Doom based games. Not knocking that – both are great games, and both are great characters. It’s just I wanted Sanya to have a voice. This tradition is being carried on in the sequel.

This was possible in ACS and DECORATE – two scripting languages available to the ZDoom family of engines. However the code was messy and required constantly looping. Plus ACS is more suited for level alteration than gameplay.

ZScript changed that. ZScript allowed me to basically roll my own functions, as well as export most code out of ACS. In fact… about that…


ZScript is a low level programming language introduced to GZDoom. It had been in development for a long time. It answered so many of the problems we were facing with DECORATE and ACS. You can edit all sorts of things with it – including level geometry. I was able to code a lot of sector effectors like Duke 3D had. The exploding walls? Daisy chained objects. I could assign a duration, tag range of exploding objects. I even made it so you could break TVs. This was all before they implemented a “destructable geometry” feature that I still can’t wrap my head around. I like mine better to be honest.

While my project wasn’t the first to have ZScript, it was at least one of the first of it’s kind to have it. Most people bitched about the documentation being lacking, but I was able to learn easily.

One thing they did was exported the status bars to ZScript. This was done after Daytime Drama was pretty much done. I plan on rewriting the Status Bar/HUD in ZScript someday for the sake of neatness. There’s still some code in ACS I’d like to export to ZScript, but the god awful cutscenes in my game depend on it.

An Earlier Build Showing MAP01. The statusbar is different and has a bunch more information.
An Earlier Build showing MAP01… however the statusbar is different. The statusbar proves to be tricky to design with SBARINFO, which was the only thing available at the time outside ACS for drawing HUDs.

I hate the cutscenes in DD1. Least favorite part of it. I don’t wanna talk about them. Mainly because they were an afterthought. I will take great care next time on that.


My friend Kelsie (known as MissFinefeather) helped me a great deal with decorating the levels. Half of the decorations in the game are hers. And she designed the cinematic sequences in the cinema level.

In MAP07 there’s a cityscape, and most of the decorations such as the billboards are her stuff. Some are mine. To be honest I forget who did what – except I know for a fact she did a reference to Damekko Dobutsu.

Kelsie's Billboard Featuring Urno from Damekko Dobutsu. Urno is a humanoid wolf.
Kelsie’s humor is a bit different than mine, but that’s okay. I really think this is a cute billboard, and conveys the normal life of Tchpsor and surrounding cities before the evil occurs.

In fact, the capital city region is called Damekko and Madokaton, a homage to that anime. You can see these on highway signs.

Kelsie has since moved onto do other things. Last we talked she’s been doing Homestuck and Steven Universe liveblogging. I hope she is well.

However, many things are mine too. I designed the morshu-mart level, right down to including a reference to the B movie The Stuff, a movie Sarah and I really like.

One of the biggest challenges is making “Build”-like level design in Doom. Fortunately in Softpoly and Hardware mode, GZDoom supports wall sprites and floor sprites. In fact the game requires it pretty much.

However it’s more than that – one of the challenges is making the tall, vertical levels Duke 3D had. Making the levels took me the longest time.

In all, the amount of detail we put in was insane – to the point I had to scale back some of the textures for size.

Icarus’s Video

Daytime Drama is my first successful game project and the forum thread got tons of feedback. It got covered by ICARUSLIV3S on YouTube. Nothing I’ve ever done creatively has gotten that far.

Keep in mind this was from a beta build a long time ago, but it still gives you an idea of what to expect gameplay wise. Icarus gives a fair review of the project and I’m grateful he covered it.

I explained in the comments about some things – namely some bugs he had ran into. I also had someone accuse me of staning Shmorky… somehow they failed to notice I added a flaming flowercrown enemy just to spite Shmorky. That’s kind of cringe, not gonna lie.

In Conclusion

Daytime Drama seems to have developed a cult following. I even met a friend because of the game. My friend Ellie.

I figure what sold it was what I intended it to be – a very well crafted shitpost in essence. I never set out to make it the best game ever. I never intended nor do I ever intend on making a “woke” game with a female protaganist. I was just trying to make my own kind of game – especially since GZDoom seems to have a thousand and one different TCs aimed at extending the Doom universe or Wolfenstein.

I’m not bashing that… but I’ve always wanted to have something else. And that’s what I did, and I feel I succeeded.

Daytime Drama 2 will take the lessons learnt and make another game in a similar lineage – I’m again, gonna make my type of game.

However, I know what made Daytime Drama resonate with people – the enemies, the humor, and the level design. I’m gonna try to keep that in mind for DD2.

If you wanna donate to my development you can do so here.

Re-Launch of Waffle Iron Studios

NOTE: Originally posted on Sunday September 22nd, 2019 before the WordPress migration


I decided to migrate to WordPress, so pardon the mess as we work on this.


The site is a bit simple for now. I’m using Pelican to generate my site as it seems to be the easiest in terms of accessibility.

So, what’s the purpose for this?

Well, I got tired of Tumblr’s bureaucracy, Twitter’s rapid fire and very anti-social ways. Not to mention both sites are very unfriendly for art – both in a technical sense and in people’s response.

The ZDoom forums are fine and all… but it can be very overwhelming at times… so I have decided to just take a financial hit and roll my own site.

While I will still use Twitter in a very limited capacity, and I will still use ZDoom Forums as much as I can, I feel a need for my own personal corner on the internet, with fewer limitations.

What will this site focus on?

  1. My creative endeavours – this should be obvious. I will be serving development logs on my games using GZDoom engine, but also occasionally my art.
  2. Occasional personal stuff – occasionally I will be using this site to talk about stuff important to me. I feel none of the sites I mentioned are a good fit for me, both from a technical and a social-political standpoint. However I will try to keep it brief, I know people are not here for that content.

I will try to tag those things accordingly. If I can figure out how to create two different sites from pelican I will do so. I’m a bit rusty, admittedly.

Also I am considering launching a forum at some point, but only if there’s enough demand. I’m not much of a community manager outside my personal Discord.

Anyhow, I will be posting posts/pages about Daytime Drama and it’s sequel soon. So stay tuned!