Save some time!
Pro-tip: You can play both entries I worked on at the same time to only waste half as much time! It's a win-win!
https://ldjam.com/events/ludum-dare/46/the-honest-ai
https://ldjam.com/events/ludum-dare/46/rude-bear-gotchi

Pro-tip: You can play both entries I worked on at the same time to only waste half as much time! It's a win-win!
https://ldjam.com/events/ludum-dare/46/the-honest-ai
https://ldjam.com/events/ludum-dare/46/rude-bear-gotchi

Figured I'd jump in on the "here's a playthrough of my game" bandwagon, except this is a guitar playthrough of the escape sequence from Rad Boar Rewind. Definitely some of the more difficult guitar work I've ever thrown into an LD entry, but I'm super happy with the results. Check out the video and then go play the game for yourself.
https://www.youtube.com/watch?v=MDGem1Rfxpk

Flat Earth is a simple, storybook-ish RTS game with a physics element to mix things up. We knew we wanted to lean into more of a calming aesthetic than our usual absurdity (see: ALL the Rude Bear games). So beyond just making a game that worked mechanically, we also wanted the music to be tied in closely with what was happening in the game world.
Alex came up with the idea of having vocals in the music - singing about how happy the villagers were to live in this big grand world. I think the phrase he used was along the lines of "indie darling music about the grandeur of the earth." Something cheerful, naive, maybe a bit pretentious, but definitely good-natured. That's not a style of singing and writing that I'm particularly strong in, but I figured I'd give it a go.
I've done a few vocal entries in past Ludum Dares, but usually being able to hide my vocal shortcomings behind layers of effects and distortion. Since we wanted it to be calming and natural sounding, I actually had to take time to sing things better than I usually do. It's always uncomfortable to strip away some of the processing that I usually use to make things sound better, it feels a bit more exposed, but I'm happy with how it turned out. I also tried to embrace some of the naivety and sing songs about friends being happy, which feels super weird for a guy who tends to write more depressing music, but I think really fit the tone of the game that we were going for.
I also did a tiny bit of audio programming to allow the events in the music and game to be synchronized together. I've done a few audio-driven games in past Ludum Dares and usually over-engineered the audio side of things. The audio sequencing piece was a last minute addition (within the last hour of the jam), that Alex outsourced to me. Since there wasn't much time I landed on a super-simple solution that kinda fit the simplicity of the music itself. Instead of having multiple audio files to transition between, I just exported the soundtrack as a single file and marked several transition points in the music as variables in the code. To take advantage of those transitions it was just a SUPER simple matter of checking audioSource.time (with a bit of a buffer to protect against silence cutting in).
void Update()
{
if (audioSource.time > currentLoopEnd - 0.05f)
{
audioSource.time = nextAudioLoopStart;
callback();
}
}
Super simple. Adding a few more conditions allowed for us to loop sections as needed, trigger state changes on certain sections completing, and really end up with a result that felt unified and cohesive.
I've participated in a lot of Ludum Dares over the years - at least one entry in every event since LD27 (and several times doubling or even tripling up). And, while I've had a few less-than-stellar submissions, I'm usually pretty happy with the results. I've been teaming up with @alexrose since 2014 and @bitsandcrafts since 2018. We've made a lot of crazy stuff together and put out some games that I'm proud of. This time around, however, it might be some of our best work. We'd love it if you'd check it out.

I wrote part one of this post mortem without spoilers. I'd highly recommend taking a look at our game before reading this or checking out the OST.
Ok, spoilers out of the way - here's my overanalysis of what we did to have the music work with the theme and the game.
My goal here is to show some of what I did, but also give people ideas for how they might want to approach music in their future games. If you've come across any Ludum Dare entries that do interesting musical reinforcement link them below, I'd love to see what other people have done.
Our peaceful little village gets invaded by aliens and dinosaurs as the game progresses and we wanted the music to reflect this turning point. I had a few goals for this - A) to synchronize the surprises in the music with the gameplay, B) to make it seem jarring while still being a smooth transition, C) to play with the idea of stability through rhythm, D) to make it sound metal without alienating people who don't enjoy the style.
We knew fairly early on that the game was going to have a complete shift partway through. The storybook aesthetics felt a bit like a kid telling a story - he's happy with it, he thinks it's fun, but he gets bored and wants there to be dinosaurs and aliens instead of stupid villagers. There's something fun about arbitrary shifts in tone and I really wanted to use aggression to highlight the absurdity. We think the surprise is hilarious, and general consensus so far seems to agree with us. And if you get the chance, I highly recommend screaming about aliens and dinosaurs.
For a quick glance at the surprise happening to a couple different LD jammers on their streams:
Twitch clip thanks to @coleslaughter
Twitch clip thanks to @erikengineengineer
The transition point needed to be surprising, but it also needed to flow. A jarring change in music is easy and I've thrown plenty of them into my Ludum Dare entries over there years. But a change that FEELS jarring but still allows people to smoothly adjust to the change is a completely different animal. (see the videos above)
This attack section begins by throwing a synchronized arpeggio over the last vocal line from the happy section. The introductory riff accomplishes a few things - it announces to the player that SOMETHING is happening, establishes new instruments, and provides a pivot to the parallel minor key. All while adding rhythmic spice and being a pain to play cleanly on guitar. By giving just a few seconds of this transition, people have a chance to acclimate to things shifting before I start screaming "aliens" at them. It's just a couple seconds, but without this transition, EVERYTHING would have felt worse. It feels abrupt, but it's still connected to what came before.
My goal for the rhythm was to have a few aspects of rhythmic instability that would reinforce the world getting crazy without making it too confusing. By using a couple rhythmic tricks and swapping them out in each section, nothing feels super crazy on its own, but makes the larger flow of things feel more unpredictable.
Aliens - After the transition arpeggio, we hit a section with a shifting time signature of 4+3+4/4 while I scream "aliens" over and over. This rhythm feels off-putting on its own, but by phrasing the vocals in a repeated pattern and giving clear movement in the chords you can make things feel fair more natural. If people can latch onto vocal rhythms, you can get away with a lot of other trickery elsewhere.
Verses - The verse sections use the same trick of letting the vocal melody guide things. The vocal melody mimics the happy section - same melodic movement (just in minor), same rhythms (still in 4/4). But underneath the vocals the rest of the instrumentation is accenting a 5-beat rhythmic pulse that resets every 4 bars. Polymeters are fun, but take a lot of care to make sound both clear and natural.
Lasers - The last interesting rhythm happens on the "lasers" bit. It's a bit more common of a trick - the same 12-beat phrase gets used in two different ways. Initially it shows up as 3 measure phrases of 4/4 before converting to 4 measure phrases of 6/8. This change to 6/8 marks the only place in the song that doesn't have a strong quarter note pulse. Neither of these feel particularly unstable on their own, but allow for the transition back to the verse feel differently unstable than it did the first few times.
I'm a metal guy, that's my default, but I know not everyone enjoys harsh vocals. So my goal was to keep the harsh vocals as discernable as possible and limit them to just a few words - aliens, dinosaurs, and lasers (with a few linking phrases here and there). By keeping the harsh vocals in controlled contexts makes them feel adequately extreme without demanding the listener to power through vocals they don't like for the whole second half of the game.
Similarly, on the instrumentation side of things, I tried to keep things in the realm of "controlled chaos." You can get away with a lot of dissonance so long as you let it either be a) spice, b) enough of a focus that people get time to acclimate. I had a lot of ideas that I rejected throughout because they felt like the chaos overwhelmed the purpose. I love chaos, but usually a soundtrack benefits from the IMPRESSION of chaos instead of actual chaos.
Thanks for checking this out. This post is way longer than I intended, but figured some people might find it interesting. I'm really happy with our game and the response it's gotten so far. Looking forward to playing more games this week and seeing what gems I stumble across.

Well, that's probably the most work I've ever gotten done over the course of a single Ludum Dare. Seance is my 20-somethingth collaboration with @alexrose, and it very well may be our best yet. It's definitely our most ambitious. A fairly complex story (especially by gamejam standards) written by Alex and mapped out to facilitate work between @lowri-bowden on the graphics, our 7 voice actors, and me on the audio editing/processing side. Over 400 lines of dialogue auditioned, edited, and processed. I personally handled 2+ hours of voiceover takes resulting in ~350 lines of dialog. There were some additional audio efforts from @sonnybone, who took care of processing his own voice for the detective, and @alexrose, who did some additional work on our friendly neighborhood malevolent being's voice. Scope creep is real, but we powered through.
This was the first time we've attempted to create a game with anywhere NEAR this amount (or quality) of voice acting. We needed to find people who could record themselves at a sufficient quality, could get the tone of a character, and give a compelling delivery of their lines. We started off with a fairly broad call on Twitter that resulting in Mike Bithell(?!) saying he'd be down for a quick take or two.
Once we had Mike on the list we doubled down on trying to find the best voices we could for the other roles. We got some long-time Ludum Darers (@sonnybone, @sheepolution, @rincs, @naetoid) and some friends that we turned into first-timers (@chrissiecodes, @loriston4shoriston) to jump in. Everyone killed it with their roles. I think I've heard each character referred to as someone's favorite character (#RendellGang4Lyfe), which shows that we didn't end up with any weak points.
Additional thanks to @pomo and @blay09 for their work over the weekend trying vocal takes and helping make connections with some of our actors.
Voice did a bunch of the heavy lifting in this game, but art was instrumental in pushing the quality forward - both in the final result, but also in giving people a visual to tune their vocal deliveries to. This was our second time working with @lowri-bowden and she absolutely killed it.
I had a bunch of ideas for how to handle the music, but the rest of the work ended up eclipsing the stuff that I had in mind. We ended up with about a minute-and-a-half of music which, when spread over the course of an hour-long playthrough, means you hear the same thing a LOT. We added some dynamic controls to allow some variation depending on who you're talking to, which helps out considerably, but I had planned to lean into this dynamic control a lot more. I wish I hadn't focused as much on my (failed) solo entry in the early part of the weekend or that I had figured out some efficiencies in the vocal editing earlier so I could have spent more time focusing on the music.
I still REALLY like the Soundtrack that I created, I just wish there was more of it.
It took MOST of the jam period, but eventually I got a suitable workflow for processing the 2+ hours of audio takes I had to process. Initially I started with a VERY manual process to ghostify all the voices (pre-verb in particular required extra steps) - make sure the voice ROUGHLY matched the tone and volume of the other voices, find the take I wanted, normalize it, bounce it, reverse it, add processing for pre-verb, un-reverse it, add additional processing, export as wav, convert to ogg. About halfway through the first characters takes I realized this was COMPLETELY unsustainable. I ended up developing an Audacity macro that allowed for me to automate the bulk of this process.
Once I had the macro sorted out, I still had the much smaller (but still fairly large) job of vocal matching and mining the raw audio for the best takes. This was COMPLETELY new territory for me, so I had to learn as I iwent. Initially it took an ABSURD amount of time for me to properly process, edit, and bounce the clean audio takes. After hours and hours of doing things inefficiently, I eventually got a workflow that simplified things. By the final set of takes, I was able to power through half-hour of dialogue in right about an hour. If I had figured out my process earlier in the weekend I would have saved SO much time, but I got there. If we do something this absurd again in the future, I'll be prepared.
Overall, I'm incredibly happy with how this complex of a project ended up pulling together. Huge shout-out to the entire team - everyone did their part to elevate the quality of what we attempted. Extra huge shout-out to @lowri-bowden for killing it on the art and helping formulate this story. And hugest shoutout to @alexrose for creating such a clear structure for all of us to be able to do our parts effectively and then tying it all together into a cohesive project at the end.
Check out our Game
Check out the Soundtrack
Hey, just wanted to share something I've been thinking about lately. It's easy to take results from a single Ludum Dare (or ANY point-in-time measurement of your skill) and view that as something that reflects your value. But growth is hard to see and even harder to measure, it's slow, and it's not linear. My team has just had our most successful LD entry ever with our game Seance. But, while I'm proud of our results, I'm more proud of how this reflects my long-term growth.
I've been doing Ludum Dare since 2013 and have participated in 34 entries (I've doubled-up a handful of times, doing both Compo and Jam). I had some early success, getting an audio medal in my second-ever game, but quickly realizing that it was a right-place-right-time scenario. I would get frustrated each jam at how WILDLY my audio ratings would fluctuate. It was really hard to accept for a while that, while my best was excellent, my average wasn't as good as I convinced myself it was. It took 5 years for me to get another Gold (which I had originally convinced myself would come easily).
It's easy to view circumstantial victories as indicative of your quality. But the truth is that ALL of us spend more time at our average than at our best. So I've made it my goal over the last decade or so to raise the floor of my work, not necessarily try to boost the wild peaks. And, if the floor gets higher, your capacity for those bigger jumps increases as well.
On the flip-side, some days even your average skill will feel out of reach. I'm coming off a pretty long stretch of this. It's really easy to feel like current lows won't let up and it's really easy to let a less-than-successful endeavor ruin something that you otherwise enjoy. Take the lessons you can from the lows and work your way back up to normal.
It's REALLY easy to view an individual victories as success, but the point for LD (and life in general) should be about the process, not just one-off validations of your skill. Consistent effort in a targeted direction gives you momentum and gives you experience. Not every time out is going to be your best, but if you can learn something from it, it can be valuable.
Surround yourself with people that make you better. I've been collaborating with @alexrose for most of my LD career, and he's never one to mince words. If something isn't good he'll let me know. If something IS good, he'll also let me know. I have a handful of other trusted collaborators that I know will point out the things I tend to gloss over. Get some of those people in your world as well.
I'm including a graph below of my year-over-year rating improvements. I have some peaks in there. I have some valleys in there. But the progress is clear. Find a way to measure your own progress and give yourself enough time for the fluctuations to even themselves out before viewing the peaks OR valleys as a complete reflection of your skill.


Well, I lost my Ludum Dare weekend to processing voice acting lines yet again. We had 20 characters voiced by 12 voice actors (13 if you include @alexrose’s stream of consciousness vocals in the soundtrack). I auditioned, processed, and exported ~875 separate voice files. Not all of that made it into the game, but all of it got processed. All for a little game called #RIZZFEST2K25.
Compared to Seance (which was a massive undertaking in its own right), we basically doubled the complexity and raw output (Seance included 400 lines from 7 voice actors playing 7 characters).
A lot of effort for an incredibly dumb game about being really bad at pickup lines and failing to hit on chicks. You know. Art. Speaking of art, huge props to @klaiis for absolutely killing it. There were so many different assets that went into this game, and his art ties the whole thing together.
With complex processes like this, prep work goes a long way. Alex wrote a script fairly early on, with voice lines identified for each character (or space carved out for people to ad-lib). We went to work defining how to properly tag and identify lines of dialogue in a way that would allow us to ensure everyone’s takes could be properly referenced. The core gameplay gimmick relies on the main character hearing lines from multiple other characters and turning them into his own. Ensuring that all the dialogue felt natural in a plug-and-play kinda way was a bit of a logistics leap.
Additionally, we had to track down voice actors, get them to record all their parts, and make sure we didn’t miss any necessary lines. Which is inevitable when you’re dealing with this many variables. We only had a handful of times where we needed to go back and fill in some gaps.
Super huge props to @coleslaughter for voicing our main character (Chad the Collector). He gave such a great unhinged performance. We told him he needed to act like a guy at a party trying to talk over loud music and he just ran with it. His voice acting stream is one of the best things to happen to the internet. He was a champ through some of the most unhinged lines. Here’s a Safe For Work, non-blackmail material clip below.
For the Rizzers, we had all 5 of the actors deliver all the lines and then handled casting/divvying up the actual takes after the fact based on whose deliveries we liked the most. Everyone had a different take on every line, and it was a bit of a jigsaw puzzle. But, in the end, it felt like 5 distinct characters being differently creepy. I call it a success. And any time we have a chance to sneak @sheepolution into one of our games, I call it a win.
For the girls at the party, they had a lot more freedom to ad-lib and react in appropriately disgusted ways. Huge props to all the actresses, but especially @chrissiecodes and @rincs for sending a TON of character options our way. And big apology to @pomo for not using his takes as one of the party girls. I laughed a ton at his takes, but logistics won out and we weren’t able to include them in the game (but he at least made it in as one of the Rizzers).
When dealing with turning a couple of hours’ worth of audio into discrete audio clips that are linkable via game logic over the course of a weekend, efficiency is your best friend. I set up a basic signal chain in Audacity to clean the signal, gate, EQ, and compress any audio I’d export. I was able to get audio from different sources to sound APPROXIMATELY equal. Although by the end of the weekend, I was far more concerned with getting things exported than getting things completely matched.

From there I was able to go file by file and flag the “keeper” takes from everyone’s VA. Audacity has a convenient “Label” feature that lets you define and name regions. After labeling the whole file, you can export all labels in one pass, automatically running it through the signal chain and naming the files to match the labels. Outside of a handful of items where I let some typos through, I could pass through the resultant files to Alex to match our Script schema.
I made one of the dumbest songs I’ve made for an LD in a while. And it took a while for us to figure out the right level of stupidity that the game required, but eventually everything meshed. I came up with the core vibe and elements (including throwing in a few different musical easter eggs) and then Alex came in with a very meaningful rap verse about the nuance of the dating world. Or something like that, I just tune him out. See for yourself.
Alex added some dynamic processing (low-pass when you’re outside, reverb inside) to make things feel more engaging. And then also slowed the track during the dialog sections, which just makes it sound more unhinged. Embrace the chaos.
So, there it is. Overcommitting to dumb ideas is one of my favorite things. And we DEFINITELY did that for LD58. Give it a play. Go get arrested. Party hard.
I made two games this time around, We Trust You Are Well We Trust You Are Well as a solo entry and Chomp Radio with @alexrose and @sinclairstrange. I almost always START a solo project, but it's been 6 years since the last time I actually finished one. My goal is to prioritize the team game and only finish a solo entry if there's time.
I built my solo entry in React, using Zustand for state management. I've wanted to figure out a text-centric puzzle mechanic for a while, and figured doing a glorified webpage would be the way to go. It's all text and sliders. Text can blur. Text can turn into links. End of feature list. But you can build a lot with those concepts, and I feel like I only scratched the surface. The basic theme of distrust and manipulating others' words felt like an effective way of making those simple mechanics feel more impactful.
The core mechanic of the game is that fragments of text can be revealed to provide clues or story hints that you can uncover as you go. Sometimes completing a task or collecting an item unlocks text. Sometimes putting sliders into certain positions unblurs important info. It took quite a bit of sorting out to write a custom markdown parser that would allow me to define visibility states based on all three slider positions as well as provide triggers for collecting items or completing checkpoints. I had a 3-axis coordinate system that would blur and unblur text based on how close the sliders were to target values. Each piece of text could be set to require specific values from any combination of the 3 axes, which allowed text to be connected together and make it feel like you were calibrating with three different sliders. It was a mess to get working correctly, but eventually I got there.
Poorly compressed gif

I'm glad I finished this enough to put out, but it definitely missed the mark in a bunch of areas. At one point I built a full 2D maze at one point, but scrapped it because it didn't QUITE work. But it would be cool to figure out some more "traditional" gameplay to go along with the rest. I wish I had figured out a bit more of the playspace with these mechanics and didn't rush the entire narrative into the last 90 minutes of the jam. I got to some sort of narrative conclusion, but it definitely ends just as things start to make sense and I threw a bunch of random nonsense in at the end to try to show conditional text display and whatnot. All told, I feel like I got ENOUGH of the idea out to let it stand on its own. I may or may not try expanding on things in the future.
This is our Snake/Bullet-hell/Tower-offense game. You can upgrade individual segments of your snake, slide around procedurally generated levels, and face off against an ambitious number of enemy types with an ambitious number of weapon options.
I was on audio for the team game (as per usual). It took some time to figure out the musical vibe, and landed somewhere in the ballpark of metal meets Invader Zim. I broke my wrist in September and I'm still kinda struggling with my fretting hand, so this took a lot more practice time to get to a recordable state than a lot of my previous soundtracks. All told, I'm happy with the results. Action games are tough to write for because you need things to be present, energetic, and have some melodic hooks. But they also feel like they can fade into the background a bit so they're not fighting for attention the whole time. I feel like I was able to get the vibe and add a few melodic hooks while also staying out of the way.
Alex also did a chunk of voice acting for this to kind of riff on a Metal Gear parody (our character is a snake, after all). So on top of music and sound effects I had to do the old VA slice-and-dice. It was a lot smaller scope compared to some of our previous games, but we still ended up with over 150 lines of dialogue that I processed. We only ended up with a portion of those in the game, but being able to process things so that we had options in the final build was important. For bulk editing, Audacity's tagging system is incredibly intuitive. I could tag and name all the takes we needed and then have real-time eq, compression, and such applied while exporting to .ogg. Cleaned, processed, small files with (relatively) minimal effort.
Go give either of the games a play and let us know what you think.