Platdaughter - a mini Post Mortem for a weird experience
I know this is pretty long so... TL;DR: Scope creep is a bitch; It's dangerous to get excited while coding; Constantly remind yourself of what your main goals are
I'll have to confess I'm not a big fan of the theme, as to me it seems way too broad to actually be useful. The first thing I thought was "great, that's literally the key objective most games -- to stay alive", but after about 2 hours of brainstorming I started to think a little bit outside the box, and in more metaphorical ways.
One of the cool ideas that I had was the concept for a game where you play as a population rebelling against a tyrannic government, and the goal is to keep the revolution alive, through social discord measures, and by influencing the information flow on both traditional and social media. I quickly realized this would be way too complicated to implement in a jam context (or at least to do it to a degree with which I would feel proud of achieving), so I decided to go for a simpler and more comfortable approach: a platformer where you play as a father who enters your daughter's nightmares to make sure she doesn't wake up scared.
Initially I wasn't a big fan of this idea, but it seemed like the most feasible one, so I stuck with it, and eventually it grew on me. I started to implement the basic mechanics (movement, aiming with mouse, shooting) and I found myself super excited about the code that I was writing. I ended up coding 3 different weapon types, 3 types of enemy behavior and a way too complex system to make your daughter follow you. Suddenly, it was 10 pm and I had spent all day programming, and I didn't even realize it. I went to bed, and decided that I wouldn't write any additional line of code on Sunday, and that I would focus solely on trying to achieve the graphic style I wanted.
My intention for this game was to have a super moody and dark atmosphere, that would instantly pull you into the game world with its aesthetic. Clearly, I failed in that regard. This was mostly due to my over implementation of code, and failure to prioritize my initial goals over the things that were feeling exciting at the time. During Sunday, it dawned on me that I had implemented way too much code, and I would never have time to draw up all the assets needed to keep up with all the crazy functionalities that I had in my head, and I still had to design at least one level that showed off what the intent behind the game was. I'm used to drawing in Photoshop, but I'm a slow drawer, and I like to take my time with making everything look perfect, which in this case wasn't possible at all, so when I realized this, I decided to switch the main idea for the game, and since I knew assets would look completely unpolished, I tried to go with a more comical approach: you were now a CIA agent that had to complete a mandatory training and it just so happens, that it was "bring your daughter to work" day, and you had no choice but to take her along this ridiculously dangerous environment, and make sure she didn't get hurt. I thought this would go along nicely with some quickly drawn pixel art, and would create a more laid back vibe, while still maintaining the core mechanic for the game (protecting a sidekick in a platformer).
Except... I again realized this too would take too long, because even though things could be less polished, they still had to create the impression that you were in some sort of secret facility, and design would still need to be somewhat well planned. This is where I went into panic mode, and had to cut the whole thing down to just it's very core: you're some random platformer character that has a daughter to protect. Now that I was free from actual worldly context, this gave me the freedom to go with even sloppier designs for the environment (hence the stylistic discrepancies i.e: creepy father and daughter models vs. super colorful level design).
This leads me to my biggest takeaway from this jam. My initial intention was to focus on how the game looks and feels. Professionally, I work as a programmer, so it's natural that I lean towards coding complex algorithms to make up for the lack of other things like great graphics or sound, and for this jam I wanted to force myself to go in the opposite direction. I failed miserably at that, and I genuinely think the game looks awful, but this becomes a very clear message to me: constantly remind yourself of what the goal is. My mistake, I think, was to initially think of a goal for the Jam, and then never think about it again. I got so engrossed in the code that everything else faded away, including my own key personal requirements. I guess this just goes to show how easy it is to forget the bigger picture of things when you're in the trenches trying to combat the enemy - which in this case was myself.
Overall, I'm still incredibly happy to have participated, and I had a bunch of fun. I hadn't participated since my first ever LD (in 2015, yikes), so just being here and actually delivering something somewhat finished makes me extremely happy.
If you want to check out the mess that this turned out to be, go here: https://ldjam.com/events/ludum-dare/46/platdaughter
I'm currently doing my best to juggle working my day job and finding little breaks to go try out all of your games, I just know there are some crazy interesting ideas out there, and I can't wait to try them all. I hope you had as much fun as I did!