My 22nd Ludum Dare's Postmortem: "Inbox Fool"
BEGIN TRANSMISSION!
Oh hey there, Terry! You've come to read my postmortem? Good! This will make up for destroying my floor.

My Ludum Dare 52 game, "The Bountiful" didn't turn out how I had hoped, and in my postmortem I highlighted some of the issues I planned to adress in my future LD games. In summary, during last LD I ran out of time because I focused too much on the story and trying to implement about 16 small mechanics to fit the story. I ended my previous postmortem by saying "I’m probably going to make my future games focus on a single mechanic and let the story come second. It feels a lot better when you get to play around with a single mechanic, instead of struggling to fit everything in the deadline. Quality over quantity and all that." So, what measures did I take to make that happen, and did it work?
Here were the goals I created for this Ludum Dare: * Focus the gameplay on a single unique mechanic. (with a twist at the end.) * Add the story elements afterwards. * Keep the acapella streak going. * Don't run out of time! * Oh no?
Let's talk about each bullet point.
Focus the gameplay on a single unique mechanic
Most of my previous LD games are centered around a single unique mechanic, though I can't say that applies to my LD52 game, which is likely one of the reasons I have mixed feelings about it. I wanted to avoid feeling mixed about this game, so let's break down how I came up with the idea for my LD53 game.
Before the theme was announced, I did some brainstorming with my friends. I recently discovered a method of running arbitrary code execution in Super Mario Bros. :
https://www.youtube.com/watch?v=xoDakIA31jc
so my brain was in the mood for a puzzle game. Thankfully, "Strange machines" or "Leave something behind" didn't win, as the puzzle game I came up with for those themes leaned a bit too hard into RAM manipulation, and was going to be impossible to explain. For the theme "Your health bar is more than just a health bar" my friend Luke, inspired by "Pootis Engage" made the connection between the word "health bar" and the bars forming the screen's aspect ratio. The idea I came up with for gameplay involved taking damage/healing to change the aspect ratio, but you would choose where the black bars go, and that creates floors or move the walls that you can interact with in order to reach new locations in the room you're in. I named it "L+Ratio", which I thought was a funny and clever name for that idea.

Alas, the theme "Delivery" won, so let's figure out what to do with it.
When I figure out what to do with the theme I try to come up with something nobody else would. See my LD51 game, "Watch Out" for the theme, "Every Ten Seconds". With the theme "Delivery", My friends and I created a short list of the "obvious takes" on the theme. We came up with package/pizza delivery, giving birth, removing livers, A building where you kill things, but all of these sounded too predictable. It's far from my greatest take on a theme, but we thought about "What if we're delivering something the recipient doesn't want? Like Divorce papers or a bomb." With the story of the game partially figured out, we needed to turn this "Bomb delivery" into a game with a unique mechanic. And honestly, I had zero ideas. I dunno, maybe you use the bomb's shockwaves for platforming? It's not very puzzly though.
Then it hit me. I'll just re-use the idea we had for the health bar theme! So the aspect ratio won't be changing, (FORESHADOWING) but moving around a second layer of tiles seemed really cool, and probably a lot more interesting than restricting it to vertical bars. With the mechanic figured out, I got started on the game.

But what about the twist at the end? The story of the game so far is about delivering a bomb to someone, so this game could definitely have a boss fight! A real easy twist is that this boss would use the main mechanic against you! After hitting the boss, the walls get closer (Foreshadowing resolved) and then the walls are moved.
Add the story elements afterwards.
I'll admit I actually started on the story a bit earlier than my "Let the story come second"-plan would guide. I wanted this final boss character to have personality and talk to the main character throughout the game. I came up with the idea to have a TV on the wall of every room, and the boss would use that to give some banter. As soon as the main mechanic was implemented, I started recording some voice lines. I began by implementing the banter for "The world's smallest speaker":
https://www.youtube.com/watch?v=O56r-UO2pFE
Watch out, Spielberg! This game definitely had the most voice lines of my Ludum Dare games so far, and these TV cutscenes needed both visuals and subtitles, which added a lot to the scope. I was immediately aware of the trap I had just put myself in, as I did the same thing last Ludum Dare. But I had the advantage you see, all that was left was making the levels, a boss fight, and then the cutscenes. These levels didn't need 16 smaller features to implement and test and bug fix, so I felt confident I'd be able to make it in the deadline. Hey, wait a second...
Keep the acapella streak going.
For both Ludum Dare 51 and 52, I made an acapella music track in my game. It's goofy, it's absurd, it's unexpected, it makes the game stand out, but it takes forever to make! I immediately knew I'd make the acapella track for the boss fight music, as that would be a great way to add personality to the boss. You see, it's his mixtape!
Making synthy music is pretty easy. I use LMMS, and I've been using it for about 8 years now, so I'm very familiar with the tools it has. Making acapella music, on the other hand, requires me to actually hit the right notes. Now, I've done musical theater way back in high school, and since then I sing in my car every time I commute anywhere, so I got the experience. Hitting notes isn't too hard for me, but if I have no idea what the notes are... that's a different story. Even before I started recording my voice, I needed to make a synth version to base the notes off of. In my LD51 game, it just worked out that I remade the main music of the game, but this would be a new track entirely, and making both a synth version that would be unused and an acapella version seemed wasteful. So I kept the synth version for the title music, ha!

First, I needed to record the bass line, which was just me saying "Boss fight. Boss fight. Boss fight. Boss fight. Boss fight. Boss fight. Boss fight music." with the word "boss" being an octave higher than the word "fight". I tried for about ten minutes to get this line right, but I swear at 140 Beats-Per-Minutes, that's somehow a tongue twister, so I recorded the "Boss" part seperate from the "Fight" part.
The melody was "Fight! Boss fight! The boss fight. The boss fight music. Fight. It's the boss fight! Boss fight? You're probably gonna fight!" Watch out, Beethoven! Needless to say, this song was a masterpiece.
I also added a 52 second long monologue in the middle of the song. All around, I'm proud of this one!
Here it is for your auditory pleasure.
https://www.youtube.com/watch?v=8X1bWB2x0pg
Don't run out of time!
I mention in my previous Postmortem, that Even after 20 Ludum Dare's, I do a terrible job at estimating how long things will actually take to implement. Somehow after everything was implemented I still had a TON of time left. My best guess for how this happened is the mechanic is super easy to make levels for. Last LD, I spent all of Saturday making mechanics, then spent all of Sunday making the "levels" for those mechanics. This time, The mechanic was done super early, and the levels were all finished by the 24 hour mark. Some people mentioned in comments on my game that there should've been another mechanic introduced around level 5 or 6, and I have to agree. I had the time... I should've done that. The gameplay gets a bit stale right before the twist, and some playtesting during this time would've also helped reduce the outrageous precision required for the final 2 levels. Notes to keep for my next Ludum Dare game.
So after the rest of the game was done and I had about 3 extra hours to go before the compo submission hour. What did I do with this extra time? I made a super rad screen transition between stages, and added way more details to the title screen than I ever have for any of my LD games before, I spellchecked all the subtitles, I made the boss fight harder, and I got to add some tiny bits of polish here and there... This was everything I could've hoped for in a Ludum Dare. I was proud of what I had created, and I didn't run out of time. Submission hour was still about 15 minutes away.
So then I hit the build button, and-
OH NOOOOOO!!!
It wouldn't be Ludum Dare if there wasn't last minute panic.
Notes to keep for next Ludum Dare: test the game in a built state more. So, the second layer of tiles uses a shader to render an alternate version of the graphics for the tiles behind them. It's pretty cool when it works, but it only worked perfectly fine under the conditions that the screen is at a very specific resolution. The resolution I had in the editor for the entire duration of development. However, in ultra-wide it was stretching the texture to fit my ultrawide resolution instead of lining up with the tiles. and I was running out of time to fix it.

It was such a shock! I had no idea how to begin fixing it, and jumping from a very satisfied state to complete panic felt awful. I remember just sitting there in awe looking at my built game malfunctioning in fullscreen for a solid 5 minutes thinking "What do I even do?!". Time was ticking, and I wasn't doing anything. Disheartening is the word I would use. On the other hand, this is what makes game jams so... marvelous? It was time for the classic last-minute "jank" fix. Unity has something called a RenderTexture, where instead of rendering to the screen, a camera can render to a texture that can be used in shaders, or simply placed on a quad! My solution to this new issue was to force my main camera to render to a RenderTexture at the specific resolution that worked. Then, another camera will just look at a quad with this rendered texture on it. HA! This came with some complications surrounding how I grab the mouse coordinates for clicking on the cursor used for the main mechanic. I simply had the new "main camera" 100 units above the old camera, and subtracted 100 units from that camera's calculated mouse positions.
If it works, and nobody knows how poor the backend is... is it even poor at all?

Reflection
The big takeaway from this is gameplay-polish. I made the final few levels too precise, and level 3 was also poorly explained. I should get some play-testers to try the game before submission hour, and speaking of- I should build the game every now and then to make sure my ultrawide monitor doesn't break things!
Also, the first bullet point- the one about focusing on a single mechanic- that worked out incredibly well. Keep it simple.
Results
3rd Overall
2nd in Humor
1st in Audio
Oh yeah! So I still haven't met my goal of top ten in mood, but I got a personal best score in Overall, Fun, and Audio! I'm a bit devastated I didn't beat my last entry in humor. off by 0.02 stars, ha! We'll get 'em next time.
Closing thoughts
This went well. As for what I'll need to do next time, I think I need to focus on simply making the game more intuitive, and less strict/precise. I'm definitely focusing on a single mechanic from here on out, that really worked in my favor in terms of time required to build levels.
I had a lot more to reflect on with the previous Ludum Dare, but I think I still took some valuable lessons away with this one. Mostly getting feedback before the deadline, and testing a build of the game frequently during development.
I plan to keep the acapella streak going. (I think my ratings in audio is exclusively because of it).
All things considered, this was a great Ludum Dare!
END TRANSMISSION!