Pilfered Liberty Postmortem
Overview
This is quite unlike any other postmortem I’ve ever done. The longest other project I worked on was only a handful of months, whereas by the time I completed Pilfered Liberty, it had taken over a year and several hundred hours. What started off as a project to experiment with basic ideas became a test to see if I could complete the entire pipeline of game development. Once I received word that I would be taking on a job (and therefore signing a non-compete), I had to make sure I got it finished before I began a professional career in game development.
The game itself may not be a rock star, but what I learned, and how I improved throughout the process was worth every second. For what it was, I’m very proud of how much it has grown, and I’m excited for whatever feedback I can get from the community.
Roles
Obviously as the sole developer my role was to do everything, but I still want to give credit where credit is due. I got a lot of great art help from Brittnee Owens, who handled the crew with their wide variety of faces, the player and all of their animations, the UI Health bar, health items, and the level exits. These pieces fit seamlessly in the game, and I would be much further behind if I had to struggle through them myself.
I also want to give a massive shoutout to all the content creators on Youtube and even in the Unity forums. The amount of quality help there is out there to solve almost every problem is astounding, and I rarely had to troubleshoot for longer than necessary. These people are absolute lifesavers who I cannot thank enough.
Lastly the audio was done by a wide variety of talented artists on websites like Freesound and Dreamstime. While I did do the music and some of the voices, the majority of sound effects came from these wonderful people. Each of them have been credited and hopefully it gets more people to check them out.
What Went Right
Consistency
A rule I held onto pretty consistently was to not deviate no matter how much I improved. For example, very last minute I wanted to change the health pack from a standard video game medkit to more of an energy capsule that matched both the aesthetic and the sound effects better, but once it was implemented into the game it just looked too detailed compared to the rest of the world. It might have been fun to add, but I wanted everything to feel similar.
Likewise, the final boss was one of the last things I worked on, so I had a million ideas of what I could do to make them more interesting. Anything from rockets to using the platform to crush the player was considered, but at the end of the day I realized I had only taught the player how to duck and jump. Anything more than that would feel weirdly out of left field after an entire game of ducking and jumping.
I also picked up the idea that less really had to be more. I kept considering adding more props or more sound effects, but I noticed the phenomenon that the more you add, the more you can notice what’s missing. If there was only 2 extra random props throughout otherwise empty levels, the player would start to assume those props are incredibly important. If I added sound effects to the player every time they jumped, you’d recognize more and more how quiet everything else is. I think the game feels very complete because it sticks to what it is. Simple, but fun.
Intuitive Gameplay
One fun thing to watch for my playtesters was to see them progressively get better at the game. I think a quality game doesn’t necessarily require the player’s character to become stronger, but instead make the player themselves get more comfortable playing. The first few enemies would give them a hard time, and just when they finally learned how to never get hit, the combination of where and how many enemies were in the next section would keep them on edge.
If they ever died and had to start over, players were so acclimated to the game that they were able to race back to their original position, which was very exciting. The game really only has two enemies, so placing them in areas that played to their strengths and weaknesses was the best way to keep the player learning without changing the rules of play.
What Went Wrong
Inexperience
Given that this was a learning project, the overall product is obviously lacking a certain amount of depth. Doing it solo, I wasn’t able to implement clean looking animations or have grand music to make it feel more alive, and the game still has a decent chunk of bugs in it. For the most part, I was able to get rid of any bug that actually hurt the experience of the game, but I still look back on it hoping I had had more time.
From the beginning I had intended on making a very basic game to compensate for my lack of programming skills, so the original design was incredibly simple. You can stand, you can crouch, you can jump, and you can shoot. That’s it. Two enemies, one that requires ducking, one that doesn’t. As I got better at programming, the design philosophies were already fairly cemented, so I wanted to just finish up strong without changing the core purpose of the game, but that did leave it a little rudimentary.
Aimlessness
Because it was meant to just be random ideas thrown into a game for practice, nothing was really finalized until far too late. Random values I added like how tall the player was and how high they jumped were placeholders from years ago that I had played with for so long that by the time the levels were being created, it was hard to design around someone who was taller than they could jump. Might be realistic, but it made level design incredibly difficult, because movement options were incredibly limited.
Likewise, had I not been rushed to finish once a deadline was put before me, the game may never have come out. Every day was just another new feature and another random experiment. That isn’t the end of the world, but it shows in the final product that the quality took a random jump halfway through because it stopped being a tinker project and became a sold product.
Lessons Learned
Scope
The scope itself was fine, after all it’s only 5 levels long, but it really takes you by surprise just how much goes into game development if you haven’t actually done it. Levels 1-4 and almost everything about the game was done maybe 6 months ago, but the polish and playtesting and tiny details and debugging and complete gameplay loop ended up taking another 6 months!
I’ve always heard a phrase that roughly goes “90% of the game is only 10% of the effort, the rest is polish” and I hadn’t realized just how true that was. Every time it felt like I was just about done I’d realize there was one more thing to complete. Definitely moving forward I’m going to allot time for the “random amounts of polish.”
Have a Plan
I don’t think it’s necessary to map out every little detail of a game, but it definitely would have helped if I had an idea in mind from the beginning. In fact, it was code worded “Project Violet” because it was originally going to be a Norse game about a Viking fighting off eldritch horrors in more of a Metroidvania approach. As I went along, I’d say, “that seems too hard” or “oh but this seems more fun!” and eventually changed course so much it wasn’t even close to the same thing. This also was the reason why I ran into some of my issues with the player being too tall and their jump being too short. I didn’t know what I wanted the game to be, so in the end it wasn’t anything specific.
Hopefully I’ve learned not to paint myself into a corner like that again. I would very much like to have a roadmap of where the overall concept should go, and then tweaks can come and go as necessary. I don’t think a game needs to stay the exact same as a design doc, but it definitely need some kind of structure.
Just Try
This may sound a little arrogant, but everything seemed to be a lot easier than I originally expected. I was absolutely terrified to even touch the art because I figured I had an artist and their stuff was way better than anything I could do. Once she became too busy to keep helping, I started scratching together some ideas out of desperation, but they ended up turning out much better than I had anticipated.
This is true for both the music and SFX as well, because while nothing turned out better than someone who dedicates themselves to that craft, they all fit pretty well. The programming was also a challenge, but with each idea that I said “this simply has to be in the game,” I would typically find a way one way or another. I really do think so long as you’re willing to put in the time, you can make something special, and I know now to not get so easily intimidated.
Overall
I really enjoyed working on this project, and as I went, I became a better and better developer. I learned what makes a game good, what doesn’t, and the scale of what it takes to finish even the smallest builds. You can tell from the very first GIFs created on an almost empty twitter platform that I was making a lot of progress, and that has flourished into the LLC Autumn’s Dawn and a shipped professionally through Steam game. I never imagined it would get to this point, and I’m very excited that it did.
I’m not sure how much I can work on Autumn’s Dawn in the future, but I will always be proud that I was able to get this out into the world. It meant a lot to me to see it come to fruition, so the deadline was the kick in the pants I needed to finish it up and send it out there. With how much I’ve learned, even my game jam games almost put this one to shame, but that’s great! Everything I do from here on out will only further how much Pilfered Liberty taught me, and I’m excited to see where it goes.
I just want to say a huge thank you to anyone who played it. I shipped it knowing it would be a net loss economically, but every new person who tries it is another success to me. After all, I make games for people to have fun, and that’s all I wanted this to be.
Comments