Project Absentia Prototypes

Intro

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

NOTICE

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

Origins

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.

Coverage

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 Scoot Hard DX + Beta 2.8.3a

NOTE: We updated the beta to 2.8.3a which features a lot more content. Changes include:

  • E2M1, E2M2, E2M4 and E2M5 have all been given major overhauls
  • E3M2 and E3M3 has been adjusted. We’re still working on balance these
  • New voice actress for Surprise, the lovely CakeofRage has come on as the voice of Surprise
  • Some new Dr. Atmosphere and Maimbow Lines. We’re still working on adjusting the levels on these
  • Introducing the not-patented Vox Voiceover Subsystem. The bosses taunt you remotely! In Episode 2 it’s Dr. Atmosphere, in Episode 3 it’s Maimbow
  • Some lore changes. Nothing too major, mainly the relationship of Surprise and Dr. Atmosphere has been changed. You are all forbidden from making jokes about this
  • Tweaked Surprise and Dr. Atmosphere’s boss fights a bit
  • Tweaked the AI for the enemies a bit to accomodate underwater sections, as well as fix the jumping issues. Enemies should work underwater and jump more reliably now
  • Fillyseeker has new design to help distinguish it from Missile Launcher more
  • Tornadozer overhaul. Primary fire one hits most things. Secondary fire lets loose it’s classic homing, seeking tornado
  • Many other changes

Check it out!

Me and my team have been working on polishing a prototype unearthed from back in 2014 – Scoot Hard DX: Daytime Drama Zero, a prequel to the first Daytime Drama and another standalone project for GZDoom.

We weren’t intending this to be a big project, but it grew to something bigger as more people got involved with testing. It’s more than a small prequel at this point, it’s even better than DD2 is (at DD2’s current development).

WARNING: This game is for mature audiences only. Contains wanton and gratuitous violence, strong language, politically incorrect humor, and themes of authoritarianism.

You can try out Beta 2.8.3a here (Requires Windows 7/8/8.1/10 64-bit, with OpenGL 3.3+ or Vulkan. Softpoly sort of works but is unsupported by me)

Loosely based on the Rainbow Factory song and fanfic, play as Scootaloo as she takes on the Cloudsdale Weather Corporation all by herself. Take on a whole army of Cloudsdale’s “finest”. Fight with eight deadly weapons from the Missile Launcher to the massively powerful Rainbower. Fight against three bad bosses – including the head of the Cloudsdale Weather Corporation themselves, across over ten levels of non-stop action that will blow you sky high.

This is a beta (Beta 2.8.3a), and isn’t feature complete. Several enemies are missing, some voicework needs redone, and alot of the levels still need tons of work (mainly layout/balance issues, plus the Doom 64 style lighting). We plan on having most of that by Beta 3.0. We plan on having future betas after that which more polish, more music and more voicework is done. However, here’s a list of what we got so far:

  • Over ten levels of non-stop action across various Cloudsdale owned facilities, both in the sky and on the surface, from office buildings to resource mines, from icy glaciers to the weather facility itself.
  • Custom Soundtrack by Metal Neon influenced by the works of Aubrey Hodges, Alexander Brandon and David Wise.
  • Advanced features built on the Daytime Drama 1 and 2 codebases.
    • Experience glorious ScootSpeak™ when you kill enemies in the most ludicrous manner (you can turn it off).
    • Eight weapons across four categories – Bullet Weapons, Missile Weapons, Weather Weapons and Big Weapons. You can carry both bullet weapons and one of each of the other weapons. Strategize which one is best for the job at hand.
    • Enemies with different AIs react to different weapons in different ways – Low Guards to Zombies, Pegapol to Enforcers. Try each weapon with each enemy type to figure out each one’s weakness!
    • Turn into an invulnerable chicken who has the power to deny feature requests rend their flesh, or blow their eardrums out with a ClusterCluck™
    • Glide around the map and do some neat tricks to get to secrets, engage in overhead combat, or just perform some cool stunts.
    • Dynamic boss battles that require more than circlestrafing.
    • Loads of Interactivity – destroy lots of objects and use vending machines for health.
    • Fully voiced bosses.
  • Powerful ZScript code, available under a permissive 3-clause BSD license.

We’ll be working on alot of stuff for Beta 3, like replacing some of the existing levels and rebalancing existing ones, and some other gubbins. One of the things I’m unfortunately looking into is a new VA for Scootaloo as her original VA, Alabeanz, I have not been able to get ahold of, and they’ve been missing for some time (I haven’t seen them post on their Tumblr in over a year). I’m hoping they’re okay, wherever they are. We might have a lead on one, I’ll be sure to update if we hear anything.

Here’s some screenshots taken earlier of the first four levels.

https://cdn.discordapp.com/attachments/784515248798433320/795602041405702144/gzdoom_iemb9jw7QW.png
E1M1
https://cdn.discordapp.com/attachments/784515248798433320/795602066923323412/gzdoom_1vLwKt1sc0.png
E1M2
https://cdn.discordapp.com/attachments/784515248798433320/795602112074874900/gzdoom_I6fmAn209V.jpg
E1M3
https://cdn.discordapp.com/attachments/784515248798433320/795602142198497350/gzdoom_4svsCMTVyy.png
E1M4
E1M1’s starting point

Scoot Hard, friends.

Daytime Drama Version 1.14

DOWNLOAD

Requires Windows x64. If you wanna run it in your own copy of GZDoom, use the IPK3 file (ddrama.ipk3)

Download v1.14 x64 Version

If you use your own copy of GZDoom, this game is meant to be played with freelook always on, and jump enabled… and no compatibility settings.

SOUNDTRACK

Buy On RodScorpion’s Bandcamp page

SYNOPSIS

Sanya K. Waffles of the Boredomdai Civil Defence has to take down a cult of despair-loving chaos beings, crooked cops, all lead by Junko Enoshima. Worse off, many of Sanya’s friends are being held hostage.

FEATURES

  • 12 Huge Levels – a truck stop, junkyard, the suburbs, a grocery store, and a hospital to name a few
  • High-res sprites – all the enemies are drawn using Adobe Animate for a nice cartoony look
  • Bizarre enemies – the buddy bear, bonzibuddy, knockoff Garfields… politically messed up unicorns… and the iconically horrible Dontrel the Dolphin to name a few
  • Build-like features come to GZDoom – destructible walls, one-liners, interactive props, and tons of detail
  • Takes advantage of ZScript – was one of the early adopters of ZScript, a new low-level programming language for GZDoom Engine. Many of Daytime Drama’s functions couldn’t be possible, or would be very difficult without it
  • Tons of humor and horror – inspired by games like Duke Nukem 3D and Blood, this game doesn’t skimp out on the references, humor, and blood and guts!
  • Music By RodScorpion – custom made electronic music for the game!

SCREENSHOTS

Screenshot 1
Screenshot 2
Screenshot 3
Screenshot 4
Screenshot 5
Screenshot 6
Screenshot 7

Daytime Drama – A Post Mortem

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

Origins

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
Purrmoid

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.

Sanya

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

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.

Detail

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.