The Keep! It's Alive! Post Mortem
I've had a couple days to relax, play some amazing games released for this Ludum Dare and reflect a little on the ride that was this weekend. I wanted to get my thoughts down before I forgot too much because I like to go back and read my old post mortems before each Ludum Dare to get myself into the right headspace.
I worked with @JamesOliverMusic for this entry. We've been making silly games for a couple of years now (since Ludum Dare 42). I've been making games pretty consistently since Ludum Dare 31.
Our Game:
The Keep! It's Alive! Is a casual murder simulator where you play as a living keep that eats little guys. At the beginning of the level they are gathered around you none the wiser, then you roar, smash them with your hands, pick them up and throw them and, when you are finished toying with them, consume them. It is extremely dark and disturbing, but I wrapped it up in fluff and it has a jamming soundtrack so you don't notice (like a kitten. Pure murder contained in a little fluffy ball)
You can play it here: https://ldjam.com/events/ludum-dare/46/the-keep-its-alive
The Theme:
Keep it alive. I voted for the theme but didn't have any ideas for it. I have this habit of interpreting the theme extremely loosely (as indicated by my theme scores over time) and this was no exception. The original title for the game was "Keep! It alive!" which is horrible grammar so I added some words.

What went right:
- Scope - We scoped correctly this time. The core game with three levels was finished the first day. The second day I could focus on polish and content. The third day was just bonus time. This was the most relaxed Ludum Dare I've done yet.

- Polish - I think this is our most polished game so far. Everything has sounds (except for the menu select screen which actually loads but I forgot to play it! Gah!). Trees sway when you roar. Guys throw their weapons and flee in terror. There are little details like hints scrolling across the bottom of the menu and before the level starts the guys all make stupid comments. I spent about 25 hours across 3 days and the core game was done in 12 which left plenty of time for the other stuff.
For instance, I had time to put in a guy you could chomp into his boxers, like in Super Ghouls and Ghosts
- Focusing on the right things - I wrote some ugly code. But it was ugly where it needed to be. I knew things like I was going to need to create levels quickly, so it was worth investing the time to make that process as painless as possible. This is all the levels in the game. To create a new one I just stick another GameDef at the end of an array. Ugly, but fast.

What I learned:
- Cut the scope! I had 13 items on my todo list for a minimum viable product. They ranged in time to implement from 30 minutes to a couple hours. I was shooting for about 10 hours on the MVP and it ended up taking about 12, which was more than enough time.
- Make two lists and prioritize both - As I developed and JamesOliverMusic and I played the game we kept adding to the list, but it went on a second "If I have time" list. Once the MVP was done we prioritized the second list based on impact and I worked through that. Don't work on second list items until first list items are done!

Birds flying out of the trees when you roar would have been cool but all the guys throwing everthing they were carrying was cooler, so I went with that. Sorry birds.
- Physics engines can save you time, except when they don't - I started out using a physics engine to manage all the throwing and interactions in the game. I realized very quickly that my physics simulation was extremely basic Dealing with things like tunneling and tweaking to get everything to feel right was going to take longer than just rolling my own. I know tunneling won't be a problem because I brute force reposition the guy when he goes under the ground even if he is moving a million miles an hour.
This was a great Ludum Dare everyone! I'm looking forward to playing some great entries!
Source: ldjam.com archive