The three very hectic days that resulted in Keep Sweep.

Cover2.png

Friday, April 17th

* Tomorrow is the day*. Tomorrow is the day when thoughts will become dreams, and those dreams will turn into ideas, and those ideas will be what my world revolves around for the coming three days.

But let's not get ahead of ourselves.

It isn't as simple as that. I will need time to make things happen. And time is a scarce resource in Ludum Dare. :clock:

I am used to going completely solo when it comes to making games, but this time, I manage to convince a friend to make some art. This will hopefully decrease the workload on me a bit, which will allow me to spend more time on other things (like sound, which I skipped last time). :computer: :slightsmile: :computer: :slightsmile:

However, all the time that saves me will not be close to enough to make up for what I will lose, due to a couple of disastrous coincidences. :cry:

The first disaster is my fault. Two months earlier I had replied to a text asking

"can you cover my shift 7-12 on the 18th of April?"

with a confident

"yeah, I'm not doing anything that day anyways!"

completely forgetting about Ludum Dare. This means, that I have to spend 5 hours at work, and then another 2-3 hours sleeping after work, as I can't get enough sleep when I need to wake up at 5:45.

The second disaster is purely coincidental. The three days the Jam is going on happens to be the three days leading up to the hardest Physics exam that I've ever had to study for :pencil: (why does it have to be quarks and relativity?), and I haven't studied nearly enough! It doesn't help that my newly-recruited artist is also studying for this.

Despite these setbacks, spirits are high on Friday evening. Sadly, I can't stay up until the theme is announced (03:00 in my timezone) since I have to get up early, but no matter. I was ready.

Saturday, April 18th

:clock6: 5:45 Wake up

:clock7: 7:00 WÖRK

:clock12: 12:00 Done with work. Heading home. Eating lunch. Probably sandwiches :stuffed_flatbread:.

:clock1: 13:00 Call up my artist, we discuss how we were going to approach the theme. We don't really get anywhere, until I realize the double meaning of the word keep :European_castle:. I bring forth my idea :

"Imagine a guy screaming: KEEP! IT ALIVE! and then there being a living Keep stomping him to death? Let's do that!"

and there is no doubt in our minds; this is the perfect idea. Now we just have to start making it!

.

But instead I go to sleep. :sleeping:

:clock5: 17:00 I am tired, delirious and miserable, but awake. Slowly the gears in my head start to turn. Our first plan is to have a top-down game (i want to capture the feel of "Right Click to Necromance", anyone remember that game?)

RCTN.png

:clock7: 19:00 I scrap the top down idea because I don't feel like implementing collisions and position tracking and projectile aiming. It isn't really that difficult, but my brain is quite mushy at this point. Instead, I decide to go with straight up side-view 2D.

:clock730: 19:30 Fill my mouth with delicious dinner. :forkknifeplate:

:clock8: 20:00 Back at it again. I start implementing movement, a camera that can follow the player. I also make some ground from a square that I colored green and set the width to 100 000. (that should be enough, right?) my friend completes the keep design:

keep.gif

He wants to put banners on the keep, so it is only natural that they are the colors of Sweden :flagse: as we are both Swedish. Naturally, we also put Danish :flagdk: banners on the enemy to fuel the Nordic rivalry! House-export.png

:clock9: 21:00 By this point, I am quite tired so I go to sleep. :sleeping_accommodation:

:clock9: 21:05 :bed: Sleep is for AMATEURS. :muscle: :angry: :muscle: I have too many ideas and I feel like I know how to implement them. I am actually surprisingly productive and implement a shooting system. Now, my plan is to have a system where no mouse input is required, to make the game easy to play on laptops. I am happy with the result, but in hindsight, making the game easy to play on laptop just made the aiming clunky and bad for everyone. But as I am making it, I'm just happy it's working!

:clock12: 24:00 Now I'm REALLY tired so I stop writing code that I will have to rework tomorrow anyway. Instead I open Cubase and play around with some sounds. I find the brass sounds quite fun, and I end up making the intro fanfare.:trumpet:

:clock1: 1:00 I actually go to sleep.

Sunday, April 19th

:clock9: 9:00 I wake up. Today, there is no distractions. Nothing stopping me from sitting the entire day in front of the computer, trying to get my thoughts onto the screen.

:clock7: 19:00 Still need to eat, though. :rice:

:clock12: 24:00 By now, I have mostly completed the core elements of the game. I am far from done though. The ground is still ugly as hell, there are no sound effects, there isn't a menu, I only have two enemies, being the archer :bowandarrow: and the cannon :bomb:, and I have only just started on the soundtrack. Most importantly, I haven't made a cutscene where a guy screams KEEP! IT ALIVE! and gets stomped to death. But progress is good. I make a checklist of everything that still needs to be done.

Monday, April 20th

Which just happens to be the only day this century that can be written as 4-20 in both the American and European way of writing dates! :evergreen_tree: :date:

:clock8: 8:00 I wake up. Normally, i would have to spend time getting to school, but in Sweden, higher education has moved to online classes due to the pandemic. This saved me time (but I'm not sure i did anything productive with said time).

:clock9: 9:00 School. I don't care what I'm supposed to be doing. I need to get comfortable enough with Physics so i can justify spending time on finishing the game later.

:clock4: 16:00 School is done. I have focused on tomorrows exam for the bigger part of the last seven hours. Now it is time to get some stuff done.

:clock5: 18:00 Somehow, I am starting to get through my checklist.

I make a ground sprite and make the ground infinite. :ballotboxwithcheck: Ground i guess-export.png I get sound effects done. :ballotboxwithcheck:

:musical_note:

I haphazardly frankenstein together code from different scripts to make two new enemies, a catapult and a ballista tower. :ballotboxwith_check:

Ballista_tower.png Catapultt.png

And I finish the soundtrack.:ballotboxwith_check:

:trumpet: :drum: :trumpet: :musical_score:

It's time to start working on the opening cutscene.

:clock9: 21:00 I am done with the cutscene. :ballotboxwith_check: I managed to complete every single TODO on my checklist (which usually doesn't happen when I write one). Now begins the agonizing task of checking for issues...

:clock11: 23:00 Thanks to my brand new lightning fast Ryzen 5 3600 CPU :zap: (that I bought literally because compiling for HTML5 took so long), I can fix issues with resolution, presentation and other problems quite quickly. Is this it? Am I finished?

:clock12: 24:00 The sound is clipping. I've never had this happen before. I need to fix it. :mute:

Suddenly, I feel calm. No, I don't need to fix it. No game is perfect on release day, weird glitches can be fixed tomorrow, without breaking the rules (i think?).

I throw together a page on itch.io and one on this website.

I press publish...

And that's it. The game is done. I am happy with the result. Considering I lost pretty much a full day of productivity due to school and work, the end product is way better than i would've thought, and in my opinion, it blows my earlier submissions out of the water completely.

Gameplay_2.png

Try the game here