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

Scoot Hard DX – A Post Mortem


This is in no way comprehensive. I left out a bunch of stuff for the sake of brevity. I also in one case hid the name of someone. If you piece together who it is, please keep your nose out of it.

With that said… the Scoot Hard DX Post Mortem


Scoot Hard DX started out as a Wolfenstein 3-D mod called Scoot Hard SDL. In a sea of mods that took place in the Wolfenstein 3-D mythos – with shooting Nazis, mowing down Hitler in a mecha, and other such stuff. This stuff isn’t bad – but I wanted to create something that stood out more in a sea of Wolfenstein 3-D mods that stuck to the original setting.

Rainbow Factory by Glaze/WoodenToaster

So, being the autistic (no, really) person I am, I decided to draw inspiration from the My Little Pony Community. I had recently discovered Rainbow Factory by WoodenToaster (or better known as Glaze). The song talks about Cloudsdale – a city in the My Little Pony mythos where Pegasi reside, harboring a dark secret in the clouded walls of the Rainbow Factory, and how it ties into Clousdale’s responsibility of weather stability with the use of something called the Pegasus Device. Aurora Dawn, recovering from an illness, wrote the story very quickly after being introduced to the show, the fandom, and the song.

By late 2011, Aurora Dawn’s fanfic, Rainbow Factory, was hot off the presses. The story elaborates on the premise of the song – with Scootaloo, a filly and secondary character in My Little Pony: Friendship is Magic, failing her flight exam, thus meeting the same fate as her friend Orion and another pony, Aurora, did. For this they are sent to exile.

Except… it turns out there’s no exile. Instead failures are ground up into the components to make Rainbows. This infernal machine is called the Pegasus Device. And who’s running the show? Scootaloo’s sister figure – Rainbow Dash!

The themes of extreme nationalism, failing a system rigged against the weak, and wanton and gratuitous violence. For me, this story had it all. Despite how crazy the story was compared to the source material, I related so hard to Scootaloo. I still do to this day. I fucking love this story so goddamn much, flaws and all.

A year after it’s release, and it was still sending chills and controversies through the Brony community. Some loved it, some hated it, and some wanted it banned, claiming kids could see it easily – even though many people, including Aurora, tagged it and hid it behind content warnings. It was made abundantly clear this was not for kids, and was for a mature audience, as well as for horror fans and not… you know… people with a weak stomach.

I started thinking… how cool it would be to actually make a Wolfenstein 3-D mod based off of this concept. By November 2012, Scoot Hard: Rainbow Factory was released… to a bunch of my friends. It unfortunately didn’t get very far, aside someone mentioning it on a Wolf3D forum somewhere.

Boxart of Scoot Hard SDL
Scoot Hard: Rainbow Factory boxart mockup
Screenshot of Scoot Hard SDL
Scoot Hard: Rainbow Factory starting room

Scoot Hard: Rainbow Factory (now called Scoot Hard SDL) was overly ambitious. Breakable glass, touchplates that opened traps, live wires you could turn on and off… and crude attempts at making a flamethrower. It was buggy… and it wasn’t finished. I remember working on adapting an idea I had – making an alternate universe where it was Rainbow Dash’s rival – a character on the show named Lightning Dust. Lightning Dust had motives… she hated Rainbow Dash for getting kicked out of the Wonderbolts Academy. What better way than to punish Scootaloo.

This plot point was being integrated into the codebase, when I decided just to scrap Scoot Hard and start working with the GZDoom engine.

Reinventing The Wheel… Twice

Since it was effectively a deluxe edition of Scoot Hard, I decided to call it Scoot Hard DX… and I dropped the Rainbow Factory to make it clear this was not officially sanctioned nor intended to be canon to Aurora’s story.

Scoot Hard DX Prototype Screenshot
Scoot Hard DX Prototype (Circa August 2013)

By mid 2013 I had a rough prototype – I believe this is the one I showed my friend Tom at the time, who was in the Brony community around this time. Tom kept ahold of the prototype. I’m glad he did, because at some point I got frustrated with what I wanted to do with Scootaloo – making her glide – and I decided to drop the project. I have no idea if there was anything else, but I remember the scripting – still relying on DECORATE and ACS kludges – wasn’t quite there yet. At some point these prototypes were lost. Not even screenshots or the asset trees remain. I know it got farther than the prototype Tom showed me later on… a shame no other prototypes exist.

Fast forward to 2020. Daytime Drama was released, has a cult following. I met one of my partners because of it, and I met my other partners because of her. We were thinking of a followup, and I really wanted Scoot Hard’s plot to be relevant, as it technically was a prequel to the Daytime Drama mythos. However, Scoot Hard SDL was still buggy and I lost the Scoot Hard DX prototypes. Oddly, Scoot Hard SDL’s source code was still up there… and I still had a copy of that. I attempted to fix it to no avail. Wolf4SDL’s code is just too jank for me to understand.

While taking a break from what was going to be Daytime Drama 2, Tom hands me an old prototype. It has not only an old WIGZDoom build from the day – but also a prototype PK7 of Scoot Hard DX from 2013. It was a glorious find! I wondered, could I actually get this running in modern GZDoom… and fix the problems with it.

And I did. Slowly but surely, I refactored the code and updated E1M1. We were really excited at this prospect. A team formed around Scoot Hard DX. Development on DD2 stalled for reasons beyond the scope of this post mortem. However, we were having more fun working on Scoot Hard DX, and it was technically a new entry. Thus I decided to rebrand Scoot Hard again – as Scoot Hard DX: Daytime Drama Zero. Ellie and I worked on the levels. Rod was composing an ambient soundtrack. An initial beta was released on October 31, 2020.

This beta of the game… were received lukewarm at best. Massive amounts of hitscanners, bad air control, and other issues plagued the game early on. Plus me and Rod were having creative differences over the soundtrack. Plus… I was not sure if ponies was a good idea. It was getting to the point that I was about ready to slap a 1.0 on it and call it a day and go back to working on DD2… a cursed project on it’s own.

However, one of Rod’s friends – Metal Neon – is brought on the playtest. After some initial silence, he gives his feedback. He also shows off a track he made – a remix of Ecco the Dolphin that has yet to be released (so I won’t demonstrate it here). That said, his ideas on how to make the game better – improve the lighting, make the weapons stand out, make enemies that are meant to challenge the player than just lettting them spam the Fillyseeker (a Heat Seeker). At this point, the project was starting to get some actual feedback from someone who knew the genre as much as me and Ellie did – if not even more. While implementing these ideas, Metal ended up composing a track to go with Dr. Atmosphere’s boss battle. I was impressed with it.

Me and Rod had some admittedly nasty arguments over our creative differences and his tendencies to be a bit difficult to work with… I regret having those arguments and I could have done better. Eventually after some discussion, Rod left the team for personal reasons, and Metal was brought on to replace him. Me and Metal both feel bad about what happened. I do assure people that I have talked to Rod since, and there’s no bad blood between the three of us.

However, Metal’s sudden contributions was starting to affect one of our team members – someone I hired by giving them a laptop as a form of payment – to help with game assets. A risky move I know, more on that later. This person, we’ll call Person A, was starting to cause problems for the team. Metal could be a bit direct at times, and sometimes a bit temperamental. However, he handled it professionally and apologized and made genuine strides to improve… this person wasn’t having it. I should have seen it early on that this was going to be trouble.

Metal also introduced a colleague of his who could help us rig a pony model so I could use it for reference. The guy however, was incompetent at what he did, and constantly failed to save his work. However, worse yet, the guy kept using ethnic and racial slurs and making trans jokes that even I was uncomfortable with. I tried several times to tell him to stop, but he wouldn’t. Ironically a rule change got him to leave, and he Alan Smithee’d the project. Oh well.

New Blood

One of the things Metal thought could use improvement was the weapons. Person A helped redesign the weapons… however their weapon designs were overly complex, requiring me to simplify them at times to fit the art style more. They were as much theirs as mine at this point.

A Heavy Enforcer Sprite
An Enforcer sprite
A SpectraWasp
The new and improved Tornadozer. At least in functionality. It looks like a Dr. Seuss looking ass.

Back to Metal’s contributions – he designed an enemy called the Enforcer. It used a shield to deflect explosives, and later on in development, react to certain damagetypes with a volley of grenades. A heavy variant had cluster MIRV grenades and a psychic “whip”. He also suggested balance changes to the Tornadozer – a weapon that gave us so much trouble in development because balancing it was hard.

A One Liner from Scootaloo by Victoria Prater

We also replaced Scootaloo’s VA with Victoria Prater – the sister of a friend of Metal, who did a bangup job. She really captured what I was going for with Scootaloo. The original VA, alabeanz, has not been on their Tumblr since the pandemic hit. I genuinely hope they’re okay.

Much of the original voicework was re-done as well – Ben, Tabby, Cake, redsoilder55… and Metal himself voiced the cast of characters. However, Jenna Pepper voiced the delightfully effeminate fellow known as Maimbow – Lightning Dust’s new identity. Originally Maimbow wasn’t going to be a trans femboy Nazi, but at some point we decided on that

Maimbow Undash – the CEO of the Cloudsdale Weather Corporation in Scoot Hard DX
Screenshot of Scoot Hard DX in it's final stages
Scoot Hard DX in it’s final version

AuroraDawn notices!

At some point during development, I mention on my recently recreated Twitter that we were making a game based on Rainbow Factory. At some point AuroraDawn – who had been away from the fandom last I checked – had responded on Twitter. When Ellie told me about that… I was so overjoyed. He liked the concept.

I started messaging him to see what he thought and if he was okay with it… he was okay with it, as long as I made it clear it was not canon to his works. I agreed. We talk on occasion – more on that some other time, as it’s important to what we do next.

Requiem For A Friend

However, not everything was grand around this time. I hit a wall. My depression was severe. The ZDoom community’s relationship with me was collapsing.

Also trouble with the game’s code. Most of the code was a weird hybrid of Scoot Hard DX’s old code and Daytime Drama 2’s source code – all in ZScript, save for some auxiliary ACS functions for maps. Oh and there was a bit of SWWM_GZ in there. It seems ironic now, but Marisa and I were good friends for the longest time – she was my first friend outside Accensus and WatchDaToast in the community. I still have very mixed feelings about what happened – but it’s mostly not good.

Demo-Chan and Scootaloo
This image, showing Demo-Chan (from SWWM_GZ) and Scootaloo is probably the most painful thing to look at.

Most of the SWWM_GZ code, save for custom subtitles for dialogue and some other functions, was removed – not even because of any bad blood between me and Marisa, but because the code was causing unpredictable issues. The way stackable armor worked was completely re-written to use my own formulas, and we went back to using the default explosion code because SWWM_GZ’s explosion code – which offered spherical, rather than cylindrical, damage, was causing inconsistent results. Direct hits sometimes caused no splash damage – even on enemies that take splash damage, the velocity of enemies thrusted was weird… in general the code was not usable.

I frankly have no idea why I even used this code, looking back. The way I did it works much better. I typically write my own code now. Using other people’s code – even with permissive licenses like MIT – sometimes causes trouble for me.

That said, I still am sad about losing my first friend in the Doom community, as well as being ostracized. This put me in a real bad spot for several months… I still am recovering.

It’s been hell. Many sleepless nights with Metal and Jenna helping me.

The issues with the code causes many frustrating work sessions… again, it seemed like the best thing to do was to write my own and just keep at it. I feel really bad for the stress that caused all of us.

That said… my coding was not the best either. I was often frustrated, especially with adding UI elements. The worst one was reworking the Boss’ Health Bar. Christ that was bad.

Shaking Things Up

The worst part, was Person A was starting to grow even more manipulative. As the project got more recognition, they kept stressing the work they did. They knew my mental state was not the best, and they started gaslighting me. The level that nearly broke us apart was Tchernobog Laboratory. We couldn’t agree on that level. Person A started gaslighting me. This lead to an argument between me and Metal that nearly ripped the project apart. We worked it out – and I’m really sorry now that I listened to my friend of two years. No wonder I’m paranoid as fuck.

Person A kept causing trouble… and at one point we calmly approached them to work out something. What happened next was infuriating – basically deflecting the blame entirely on us for why they were being so awful. Basically a thirty minute tirade. I should have fired them there… why I did I have no clue.

As time went on, Person A’s role became less and less, and I think that’s what started to upset them. More people started coming on – Dane of MovieUnleashers fame came on as the voice of the Engineer. One of the in-jokes with his role is the line “Looks like we caught ourselves a bogie”. I think it comes from a movie, and the line was being used to troll someone in Tower Unite. Oh the fun shit we come up with.

That’s one thing that absolutely makes Metal really cool. I’m not the best with putting myself out there – but Metal is so energetic and puts himself out there where I can’t. He gets us noticed. He also is willing to learn. He started working with voxel editors and Blender to make voxels to give the game even more of a Build-like aesthetic. The voxels in this game are all his.

Because Metal got around – We got noticed by In The Keep’s Motherload. He was interested in our work, despite the connection to pony.

By March the project was reaching the final stretch. Most of the music was done, with a few tracks being worked on. There were some bugs still needing to be done, and Maimbow’s arena had to be completely redone.

April 3, 2021 was the day Scoot Hard DX Beta Version 3.1 came out. I made a boxart based on Windows NT 3.1 to commemorate this release.

Scoot Hard DX Version 3.1 Box, based on Microsoft Windows NT 3.1's boxart
Scoot Hard DX Beta Version 3.1 Boxart

This would be the final beta released to the public. 3.5 was going to happen, complete with a Windows NT 3.5 inspired boxart, but we decided against it as we were so close to release.

Scoot Hard DX 3.5 boxart
The planned 3.5 variant, mimicking the changes of Windows NT 3.5’s boxart

Release Day

Scoot Hard DX Version 1.0 – the first stable release – was released April 16, 2021. You play as Scootaloo, who has been sentenced to death at the Cloudsdale Weather Corporation. She gets away, kills a guard, and works to rescue her friends from the fascist Pegasus Reich.

Scoot Hard DX’s final boxart, inspired by Quake’s gritty, industrial boxart.

Weapons at your disposal? Rocket launchers, a freezer called the Hailer, a gun that shoots ball lightning, a giant gun that fires a wave of rainbows that atomize everything in it’s path, and a gun that generates tornadoes that home in on enemies, or barrages them with gusts of wind. You could also turn into a chicken – which was a two pronged joke. First, the joke is an old fandom gag where, because of one scene, and Scootaloo canonically not being able to fly… made her doomed to be called a chicken even today. I turned the cringe into a powerup! Also the chicken? Graf’s avatar. I have no beef against Graf by the way. People have not picked up on it yet. I’ll probably get in trouble if it’s found out. Oh well.

For those who haven’t played it – Scoot Hard DX is a mix of Shadow Warrior, Rise Of The Triad, and Blood. It has a lot more vertical movement than most Doom projects. Scootaloo can glide and control her descent. This up/down motion makes it play differently than many things. I think the movement stood out to most people. Also you can’t deny playing as a disabled filly fighting against a fascist corporation is kind of a neat, albeit hilarious concept.

Scoot Hard DX screenshot showing off eye candy
Scoot Hard DX’s E1M1 showing off some eye candy – the voxels, the brightmaps on the weapons, the high-res sprites and HUD elements.

Also from a technical standpoint it was cool. Many projects are still using ACS and DECORATE. Scoot Hard DX, like Daytime Drama before it, was entirely written in ZScript – save for some functions in ACS where ZScript would be overkill, like cutscene stuff. The boss routines were entirely ZScript. The Rise Of The Triad weapon system? ZScript. Everything was powered by ZScript. I don’t think Scoot Hard DX could exist without ZScript… well, it could, but it would be very, very jank.

I have no beef with people who use ACS or DECORATE still. But many things are requiring ZScript now – such as getting the date, cross-mod services without hard-coded dependencies, overriding how items work, fine turning damage control… many things ZScript can do but DECORATE alone and ACS can’t. I see so many people on the ZDF ask how to do something. It’s easy to do in ZScript… but they insist upon supporting Zandronum or sticking with ZDoom 2.8.1. It’s annoying to say the least.


So Scoot Hard DX wasn’t featured on Icaruslives yet. I don’t think it got much recognition from the ZDoom regulars… except one who happened to see the Doomworld thread…

It got covered by DavidXNewton, who does Doom related videos. He says Scoot Hard DX was the most violent thing he ever featured and added a disclaimer at the beginning, lest YouTube Kids accidentally picked it up and showed it to kids.

David Does Doom – Scoot Hard DX. David claims this is the most violent thing he’s featured on his channel.

I was honored by David covering it and saying that.

As an aside – I really wish YouTube allowed for more than just “for kids” and “not for kids” and more than just “age restricted”. I prefer the old RSAC advisory myself – based on content and not just age. I also wish they’d not force their bots to decide that. Let us decide for ourselves.

The video shows off most of the campaign. We fixed the Enforcers to be more fun to fight.

Also BryaStar covered it in a Twitch stream. I was there for two of the three streams. She seemed to enjoy it, especially after the many bugfixes and balance changes.

Part one of BryaStar’s LP
Part two of BryaStar’s LP – age restricted because of an Easter egg she found
Part 3. I wasn’t here for this unfortunately.

The movement took some time for BryaStar to master. It was this and feedback from other people that made it so we introduced a run/walk speed modifier – which defaults to shift. Q became the quick kick.

Version 1.2 fixed the enforcers. Several mini-hotfixes were pushed to the 1.2 release to fix bugs that I felt didn’t warrant a major release, such as a bug with the titlemap that caused a print formatting error and caused ZScript to abort.

We were featured on In The Keep’s podcast. Me, Metal and Jenna were there talking with The Motherload about Scoot Hard DX and the history behind it.

I didn’t discuss some of the things discussed on this page because I wasn’t quite ready to – mainly some of the specific things with the ZDoom community. I’m now at the point I feel I can be honest about that shit to the public. I do talk candidly about some of the issues I faced growing up too, as well as my experience with the LGBTQ+ community not being the best, despite me being trans and all that jazz.

And it was here we announced… this was not the end. Scoot Hard DX was a decent enough of a hit we were going to adapt it into a commercial project – and that AuroraDawn was helping with some of the concepts to get us started.

… but that’s another story for another time. Around this time, Scoot Hard DX forked into Project Absentia, but we still maintain bugfixes for Scoot Hard DX. 1.3 was released, updating WIGZDoom to a 4.6 version of the GZDoom engine, as well as addressing an issue with newer devbuilds.

It was around this time that two major things happened. First, Person A and I had a falling out because I had enough of their bullshit. I let them go as gracefully as I could. They started spreading rumors that I didn’t pay them (despite me doing so) and dragging my friends into the dispute. I was angry to say the least.

On top of that… Jenna, my girfriend, and one of my best friends, fell ill. For those who don’t know, Jenna is blind, and has been since 2017. She had hearing loss and severe vertigo. This put her into a bad mental spot that terrified me. I was worried I was going to lose her. It took her about a month to get back to normal. It nearly broke our relationship apart because she was acting so nasty at times, taking out her anger on us. I felt like a horrible partner.

However, love prevailed in the end and we’re stronger than ever. And she wants to come back for Project Absentia. And we’re excited. The strife and turmoil made us stronger… and we’re going to make this even better than Scoot Hard DX.

I want to talk about Project Absentia so bad. But you are all going to have to wait another day.

So… here we are. The end of Scoot Hard DX’s development. This development cycle was… all over the place.

… but it was worth it. We got a project out the door. It got us noticed in a sea of boomer shooters. I am happy about that.

We’ve made safeguards to make sure the drama that plagued the development is no longer going to be a problem. We’ve grown as a team, and as individuals, and as friends. And for that, I am grateful.

In Conclusion

Scoot Hard DX was my first big project as a team. I thank everyone involved. There’s so much other stuff I want to mention – like Korzodin helping us out a bit, Zan telling us how to change the air control, my conversations with AuroraDawn, the fact we got to meet General Mumble and Koa, two MLP fan musicians, and the bunch of injokes we accumulated during development. And of course, the Atmosphere family – Cake’s pride and joy. There’s even more than that.

Alas, I don’t want to ramble too much.

As tough as it was – I feel like I’m a better person now, and I strive to keep improving.

I feel with Project Absentia, I hope to accomplish my dream of going commercial… and making my grandparents proud.

Love ya Grandma Sue and Grandpa Bob. ❤️

Announcing Project Absentia + Site Overhaul

We want to announce that we’re adapting Scoot Hard DX into an original IP. This project is called Project Absentia and is going to be commercialized. Scoot Hard DX will remain up as a freeware project (and always will be), while Project Absentia will add so much more – including three more episodes, and a whole new story direction. We don’t want to spoil too much.

Abby, the heroine of Project Absentia, holding a Tommy Gun.
Abby, the anti-heroine of Project Absentia

AuroraDawn, the author of Rainbow Factory, Pegasus Device, and Pegasus Device Reckoning, has helped with some of the concepts to turn Scoot Hard DX into it’s own thing – separate from Rainbow Factory and MLP in general. We thank him for being so good to our dev team.

I have added a page for Project Absentia. Expect more as time goes on.

Another thing we have done is added a Discord widget to the site. It allows you to connect to the public Discord server, as well as see who’s currently online. Come join us sometime. We’re on frequently.

Scoot Hard DX Beta 3.1 is out

Another mockup boxart, in the Style of Windows NT 3.1’s boxart

Beta Version 3.1 is out. It fixes a critical bug in the weapon system, adds a new jingle for the secret and a bunch of other sounds, as well as some new music tracks.

Download here.

Note: Some antiviruses might raise concerns about WIGZDoom. While it is safe, if you prefer, you can just run the IPK3 with your copy of GZDoom.