Postmortem!


Slightly more on time than the Senbazuru postmortem, here's the postmortem for the #GM20 gamejam. The theme this time was "20" which is a pretty open-ended theme! Lucinius and I worked on this one together, but... what exactly did we end up doing and learning?

Gameplay Summary:

You are throwing a birthday party for your 19 best friends and yourself. You bought 20 gifts online, but didn't really think about who to give what to. So, on the day of the party, your goal is to talk to each of your guests (and you can also display your own thoughts pulled from a random selection) in order to figure out who would like what present the most. Each gift-guest combination has a rating from 0 to 1, and your goal is to give all the gifts away while scoring as high as possible!


What went right:

Tutorial: Learning a very harsh lesson from the last game, this time we endeavoured to have a proper tutorial that explains each action in turn and was planned from the beginning of the game. You can't progress the tutorial until you do each action in order, which is helpful as the thoughts button and giving gifts to yourself would not be very intuitive otherwise. Not having done a tutorial in this fashion before, I found relatively nice ways to advance the tutorial and to limit user actions as well. As tutorial states were cumulative, actions were only ever added and it was easy enough to add a series of if tutestate > whatever to the controls which Lucinius had neatly set up.

Scope: Yes it's a new record for us, we finished and submitted the game a whopping 4 hours before the deadline! This was in contrast to the last two gamejams were we were submitting in a rush and the quality of the last features were were adding had suffered. I can't really say if we're getting better at estimating our workload or we're getting more efficient at working, or it's just been luck, but honestly like most complicated aspects it's most likely a combination of a variety of factors. I thought I bit off more than I could chew regarding the 20 character and present designs, PLUS the animations - and admittedly, those animations were the last thing that got done - but we did get there in the end, which is the most important thing.

Art: After a day or two of experimenting with a 32 colour pallette (obtained from the always-useful Lospec, I realised that for what I was trying to achieve, 32 colours wasn't cutting it for me and so I swapped over to a 64 colour pallette. Now, while I did notice more and more things that annoyed me about it over the course of the week, I've been taking notes of, and I'll be producing a modified palette for next time around. Nevertheless, I was able to stick with it and produce a mostly unified set of asset - with the caveat that I did have to resort to outlines on characters and presents because the skin and floorboard colours were very similar.

Reusable code: I think we made a lot of progress here - not only did we use some modular code from past projects here, we got a lot of useful code out of this project. Of note is the work Lucinius did converting bbTextbox (highly recommended, by the way) into a box that can have multiple "boxes" worth of text, with controls for fast forwarding, skipping, and even a yes/no choice system for future projects. This was also our first time working with GMS2's new camera system, and we also got some nice code and functions out of that. Well, Lucinius did, I didn't have much to do with it...

Pair (🍐) programming: I think we both found that when we were able to work together and discuss/bounce ideas of each other, we were at our most efficient. There was a lot of stuff I wasn't familiar with that I could quickly ask Luc, and likewise some code I was more familiar with - like bbTextbox and database management, he could ask me about. I'm pretty sure most of the hard problems were solved working together which means we complimented each other well!


What went wrong:

  Dialog: Yes, there was a lot, and no, that isn't the issue as such! The main issue here was that the majority of dialog and characterisation was hidden behind presents, and it was unrealistic to assume that players would be doing multiple playthroughs to see each character's reaction to different presents - there were about 6 lines per character that could be read just from talking normally to them, and then another 20 lines per character for the gift giving portion. I also tried hard to give the characters relationships to each other outside of the party, but namedropping characters without some sort of reference (either a visual aid or maybe a colour coded system) probably didn't work that well. Also, there were about 80 different thoughts you could pull up but I had forgot to randomise the seed at the beginning of each game so you'd see the same thoughts in the same order! Ugh!

Score system: Tying in to this, the score system was designed as such that characters would score your gift from 0 to 1 in order to provide a max score of 20. However, I think there might have been too much emphasis on scoring, because during playtesting, my guinea pigs were worrying too much about who got what present, without really understanding that the score isn't that important and it was more about the experience (seeing what each character had to say). Compounding this, the dialog was not completely explicit on who wanted what gift - and this was by design, because I wanted to lessen the focus on giving THE PERFECT gift to each character, but the ambiguity only served to highlight my players' anxieties! 

Workloads: Content is seriously hard work - it took me a good 2 days to write up all the text for the game and 3 days to do the tilesets, designs, and animations. That meant that Lucinius was left to do most of the heavy lifting on the programming side, and given that we work well programming together, I think that portion of it could have been much more efficient! Of course, I helped out where I could but in the end I was mainly contributing in terms of dialog and art, not programming.

Timings: Furthermore, due to our schedules, we were mostly programming separately except on the weekend and the final night! We of course, had a chatroom where we were able to leave each other messages and had a project management system backing us up in terms of tasks etc, but the main body of work was done asynchronously, which was not bad, as we got it done, but we could have been a bit more coordinated and efficient had we been able to work simultaneously.


Final thoughts:

Overall, we were both really really really happy with what we were able to achieve. It was honestly pretty smooth sailing from start to finish with quite a bit of time spent on the dialog system (with good reason, mind), and we produced something that was pretty well received by the people who played it!

Get The Best Birthday

Leave a comment

Log in with itch.io to leave a comment.