
Deep Sea Phishing is a game about hacking into the CIA from a submarine to prove that aliens exist. It's my 11th (!) Ludum Dare entry and 7th time entering with a group of my friends.
I like to write a post-mortem of the weekend after each event. This is mainly for myself to look back on in the future, but I also enjoy writing other peoples, and I hope that more in-depth, long form content on this feed will encourage others to do the same and possibly avoid more low-effort self promotion.
So how did our 7th LD go? What were the highlights and lowlights? Where did we go right, and where did we go wrong?
A good theme
Staying up until the theme is announced is something we always do. Being based in the UK, this was 2am for us. In the past, this has worked out quite well, but after a long week of work, having to stay up until 2am wasn't the easiest or most fun thing to do. Nevertheless, our team assembled. Our second programmer had just come back from the pub :beers:, so we were mostly in high spirits.
The theme was announced: "Deeper and deeper". For once, I didn't think it was a completely awful theme! The sentiment was shared by some of the team. We began with our usual brainstorming (or more accurately, writing down all our shit ideas until we find one we don't hate).

In the past, it's taken us a while to come up with a good idea. For LD46, we didn't even manage it until the next morning. This time, however, we struck gold early. One of us wrote down "Deep Sea Fishing", and, in a stroke of genius, our inebriated friend joked "What about Fishing with a PH?". And "Deep Sea Phishing" was born.
I think this is the first time ever in a LD that we've came up with a title at an earlier point than the last half of the last day. It's certainly the first time we've produced an idea solely from a good title. But from there, everything seemed to slot into place. You would hack "deeper and deeper" into some organisation. It would be set in a submarine. The hacking would just be stupid minigames. And there would be some silly story to drive it forwards and to tie it all together. We went to bed after half an hour of brainstorming, satisfied with our idea.
Tired
I woke up tired. In my excitement about our idea, I had set my alarm early to get up and get started on the project. After staying up until 2am, that potentially wasn't the best idea. Still, I got myself to the computer with a large cup of tea. The rest of Saturday was painful though. I ended up taking more time off than working on the game, as I was tired and slow and my brain was foggy. If I had been better rested before the weekend, perhaps staying up until 2am for the theme would have been fine, but I was tired from work and general life and it was not a good idea.

Still, I knew when I was beat and ended up going to bed at a reasonable time on Saturday evening to ensure Sunday would be productive.
Picking a resolution
One of the first things we did as a team was decide on a resolution for the game. This may seem like a bit of an odd thing to decide on so early on, but I've found in the past that trying to make Unity's UI system work at different resolutions and aspect ratios is just not worth it for LD. Especially with the game shaping up to be fairly UI heavy, it let me lay things out on the screen as I wanted them, and not worry about having to deal with scaling or relative positions. It also let our artist decide exactly how things should look.

Knowing your tools
This was our third LD with Unity. The more I use it, the more I enjoy it and understand how to get things done. I leaned hard on prefabs for the minigames. Each minigame is just its own prefab that we can initialise and destroy as necessary. Co-routines and callbacks were also extremely helpful to easily set up sequences of events (minigame ending -> robot comment -> new minigame). I also learnt some new cool things - sprite masking was very easy to get set up and really sells the windows that contain the minigames.

A good plan
We had a fairly solid plan from the get go, and it really helped us focus. We had a good split of work, a lot of things that could be worked on asynchronously, and good communication when one of us finished a task. We stayed on Discord for almost the entire weekend, and screen shared most of the time as well, which allowed an easy way to show and get feedback on progress.

One thing we only started doing on the last day was an actual Google Doc of the tasks we had left. We'd just been typing them in discord, which worked to an extent, but the tasks kept getting lost. A little bit more organisation could have been better.
Scope
On the first day, our other programmer planned out some of the minigames we could make. Around 10 were planned, but we ended up with only 6 in the final game. On the final day, I was itching to add another minigame to the mix to ensure there was enough content and that things wouldn't get stale, but our artist talked me out of it. He was definitely right - the time we didn't spend on another minigame we ended up using to ensure the game was tight, had a good flow, and was really polished. In the end, 6 well polished minigames in a solid base is better than 7 or 8 less good minigames with some bugs.

This also applied to the minigames themselves - I spent a bit of time on the firewall minigame trying to include notes you had to hold for the right amount of time, not just press at the right time. At the end of the first day, I realised that it was more complicated than I had time or energy for, so I simplified. In the grand scheme of things, not a huge loss!
Playtesting
Getting people to play our games on the last day was a good idea. We realised some controls were janky, or that there were some bugs that we just hadn't found. One thing that changed a fair amount due to feedback was the robot's directions before the minigames. They are very explicit and repeat instructions a few times, which was not how they were written to start with, and still makes me feel like they're a bit verbose. However, no-one seems to be confused about how to play the game, what they need to do, or why they should do it. I'd rather the instructions are a little bit wordy than someone being frustrated with the game or confused what they need to do.

Polish
I really enjoy making LD games feel really polished. It takes a fair amount of work, but making sure transitions are smooth, that things look clean, and that everything feels reactive and fun to touch is so worth it. Things like the bubbles and fish through the submarine window, the robot's words of encouragements after each minigame, the sound effects, the multiple music tracks and how they switch - all of this took up valuable time, but helps sell the world, pace the game properly, and set the tone more than the whole rest of the game. Hell, the whole submarine console is completely unnecessary, but the game would so different and (IMO) much worse without it.
Difficulty
The game is easy. There is a small increase in difficulty in the penultimate mission, but almost no-one I've watched play has actually failed due to time constraints. This is something we've learnt from previous jams - we'd much rather have people experience everything we've made, and have a fun time doing it, then really challenge or frustrate the player. The story and the stupid minigames are the driving forces, not the difficult or technical gameplay. And that's fine! Sometimes games should be challenging, sometimes not.
My favourite point about this is that in the last level, when fighting the alien, there is no alien health bar. We don't track how many bullets you shoot. We trust that players will assume that's what they need to do. You win the fight when you hit the spaceship with 20% or less of the time remaining. This was our artist's idea, and I think it's genius. We want a thrilling, close finale. People aren't going to play the game and look for deep strategies - so why bother even trying to balance it? Fake it! Make sure it seems close, and people will enjoy it, and not think too much about it. Some people might say it's cheap - I think that's the point. It was quick and easy to do, and it nails what we wanted. Why would we do more?

Conclusion
I woke up the morning before LD really excited. I feel really strongly that the games we make during LD become part of us and our past, and I love the experience of having no clue what I'll make over the weekend, but knowing that I'll have made a game, and that it will have taught me something and be something I can look back on fondly.
For all my complaints about LD to my team over the past few weeks (I still think the rating system and blog needs to change), it's a great experience. Deep Sea Phishing is definitely one of the best games we've made. There's almost no better feeling that watching someone play and enjoy something you've made, and I got that so much over the last few weeks. I'll see you all next time :smile:
If you'd like to play the game, you can do so here. There is also my timelapse of development:
https://www.youtube.com/watch?v=Vy1jU14i9sY