1. Gameplay Comes First
This probably seems obvious, they're called videogames for a reason. Yet I really didn't have a core game loop until two days before the submission date. I thought that the submarine movement would carry the game. In hindsight it was stupid of me to think that something incredibly slow and boring would keep players hooked.
My original concept for the game would involve the player going to their work, picking up a package, and then dropping it off at a home. This would then repeat over and over until the player ran out of time. In my mind I imagined it as a fun cycle where you'd have to navigate a complex map in order to get to find the house. But in practice it was anything but enjoyable.
It was only when I implemented the game loop fully did I realise I created what is effectively the child of watching paint dry and Death Stranding. While I did enjoy being a Kojima like visionary for a bit, I eventually faced the music and hacked together a slightly different game loop where the box spawns would randomize and you'd need to do multiple different deliveries. Still similar but a little less boring.
2. Focus on what's needed
In a similar vein to the last lesson, I spent too much time on the wrong things. Instead of fleshing out the gameplay I put too much focus on the UI, map and even the customisation system. While I'm somewhat happy with the visuals of the game, this took too much time away from things that desperately needed it. While visuals are still important, they should've been done towards the end of the jam.
While switching up what I'm working on is usually the strategy I use to keep myself motivated, it ultimately led to the quality of the game being brought down. A great example of this is the customisation system. I spent a while developing some neat ways for the player to customise their submarine yet only their colour made it into the final game. Not only is it underwhelming but it really serves no purpose.
Originally I had planed for there to be hats around the map you could find and unlock, but when I realised I would have no time to actually make them this idea was never fully implemented. This system was going to exist to add an extra layer to the gameplay (finding all the hats while also delivering), yet it would've been smarter to maybe work on the actual gameplay instead.
3. Code Cleanly
This is important if you don't want to go insane like I did. While working on a game with this short of a deadline, messy spaghetti code is unavoidable. If it works it works. But there is a special level of hell the Free Delivery code comes from. It's an unorganised confusing mess. Changing little parts of the game like grabbing objects had me going to several different components to change little values here and there. Save yourself the pain and make sure everything is at the very least readable.
I'll be spending several days cleaning up the code and I'll be enjoying every second of it.
4. Take breaks
The past month has probably been the hardest time I've ever had in life. As such it was really tough to be able to sit down for several hours and do even more work. One of the most important things I could do to help myself was just to take a break. Be it for an hour or even a whole day, just not working for a bit did wonders both to myself and my motivation.
I have about fifty million different scrapped projects, some more complete than others. I just tend to run out of motivation to complete most things. This jam was almost going to be the same until I pivoted to this game. This is mostly due to good old burn out. So being able to just stop for a bit and rest with full intention of working on the game again whenever I could was the best thing I did during this jam. Take that crunch culture.
5. Just Make A Damn Game
Remember when I spoke about this being my first real original game? And all those cancelled projects? As much as I love game development with all my heart, I do struggle a lot with it. Be it finishing projects, coming up with new ideas, or just making something fun. Already I've developed a serious case of imposter syndrome. Developing in S&box doesn't help either with all the incredibly talented developers present. It's incredibly scary to start working on something with those ever present negative thoughts going ham in the back of your mind. This jam being no exception. Even with ten thousand pounds on the line I was still extremely hesitant to enter, being so close to scrapping my entry.
A while back though I was reading through Garry's blog and came across his post around Portfolios. In it there was a line that really stuck out to me.
"If you’re applying for a job as a modeller I’d expect your portfolio to be full of models.
It’s your job – you’re going to have done it a lot.
If you’re only showing two models I’m going to wonder how much you like doing this."
It really hit hard for me specifically because I say I'm passionate about game dev but that only really gets you so far in life. So I had to push through all that fun imposter syndrome stuff and just make something. Be it shit or alright, I just had to create and learn from it. So I did, and I really enjoyed it.