Fishing For Compliments - FishFest Postmortem
I finished my second game jam! This was longer than the first one (7 days vs 2 days, 4 of which I spent working on my
game), and that time span and the theme helped me make something that I'm proud of. This feels like a full (if
short) game, as opposed to my previous game jam entry, Infinite
Loop, which only explored one mechanic.
The theme for this game jam was simply...FISH. I really liked that there weren't many (any?) restrictions on this game jam, and I was able to run free with my creativity. I tried to participate in another game jam recently (Dungeon Crawler Jam), but I didn't get too far in it. I think I felt a bit constricted by all the rules, and I'm also not as comfortable in Unity 3D since I've been focused on 2D lately.
Game Concept
I didn't have a strong idea for FishFest, but my general goal was to make a fishing game with something extra. Initially I was leaning towards a fishing "collection" game, where the fish you caught would end up in an inventory or journal system. This idea wasn't fully catching my interest though so I thought about it some more, and suddenly TYPING occurred to me. Typing + fishing! Perfect.
For the first few days as I worked on my game, the backstory was that you were an incredible speller who lived in isolation on an empty pond, and then a bunch of fish show up because they want to learn how to spell for the upcoming Annual Spelling Bee. You would then have to get them out of your pond by spelling words for them. This was the plan for a while, until I started trying to think of a good title, and my husband suggested "Fishing for Compliments."
I loved the name, so I changed direction with the backstory. Doing so helped me nail down the vibe of the game more, which made it easier to create UI elements and decide on audio. I also updated my word bank to only be complimentary words (relatively, on my to-do list is to refine the word list), and I think it ended up being a nice, cozy feeling game instead of the more chaotic feel I was initially thinking of.
Development
It was a cold and rainy weekend that I started this game jam, so I was able to spend a lot of time working on it. I felt like I was able to develop really quickly this jam, since the game was made up of several relatively simple mechanics:
- Fish movement
- Fish spawning
- Typing mechanic
The basic mechanics came together really quickly, with a lot of the code pulled from other projects that I'd made. For the typing mechanic, I followed Brackeys How to make a Typing Game in Unity tutorial, which was super helpful.
I spent the most time on my FishSpawner and WordDisplay scripts. The FishSpawner (obviously) spawns the fish, but I had quite a bit of added logic to keep track of what difficulty fish should spawn, and what fish were available to spawn. I actually really enjoyed working on this logic. Some of the interesting problems I got to solve were:
- Tracking what fish are available to spawn:
- I did this using two lists:
- List<GameObject> spawnableFish
- List<GameObject> upcomingFish
- I didn't want the game to be too difficult, so I implemented a system where if you miss a word, the currentDifficultyLevel goes down. If it passes the currentDifficultyThreshold, then the last difficult of fish is removed from the spawnableFish list and added back to upcomingFish. Alternatively if you catch enough fish to reach the nextDifficultyThreshold, the next difficulty of fish is added to spawnableFish and removed from upcomingFish.
- I did this using two lists:
- Spawning the more difficult fish more regularly
- As you progress in the difficulty levels, I didn't want the lower difficulty fish to appear as often,
but still wanted them to occasionally appear. I haven't worked with weighted values much in programming
yet, so I went with a very basic solution of using a List<int> fishDifficulties,
which I added each difficulty level to x amount of times.
- For example, if the currentDifficultyLevel = 4, the fishDifficulties list would be [1, 2, 2, 3, 3, 3, 4, 4, 4, 4]
- Then, a value is randomly be selected from this list, and a fish of that difficulty is selected from spawnableFish
- As you progress in the difficulty levels, I didn't want the lower difficulty fish to appear as often,
but still wanted them to occasionally appear. I haven't worked with weighted values much in programming
yet, so I went with a very basic solution of using a List<int> fishDifficulties,
which I added each difficulty level to x amount of times.
Towards the end of the game jam, my code quality and Unity development quality really dropped. I generally try to stay pretty organized and follow general best practices while developing, but that went out the window as the submission timer got closer to 0 😅 Oddly though, I'm actually proud of myself for this, as I sometimes struggle with trying to achieve perfection rather than actually getting something done, and in the context of the game jam that's perfectly fine!
Things to Improve
Towards the end of the game jam, I realized that my game was too difficult. It was almost impossible to get the fish counter down to 0, which was the win state for the game. I tweaked the fish spawn timer, the fish swim speed, and the location where new fish spawn, and thought that would be enough. However, as feedback started to come in, several people mentioned that it was difficult to finish the game, so that's something I want to tweak more. Some ideas I have for this are:
- Increasing the spawn timer even more on the more difficult fish
- Putting a cap on the amount of fish that can be in the pond
- Implementing a level system with a set amount of fish in each level
Other things I'd like to improve/add:
- Word bank: I didn't have time to really refine my list of words, so there are definitely some odd "compliments" in there, and there's also a lack of words in some of the difficulties. Before I switched to a compliment based theme, my random word banks had 50 words per difficulty. Ideally it would be nice to get up to around 30 words per difficulty level so you aren't getting repeats as often.
- Fishing mechanic:
- Make it more obvious how to hook a fish
- Add a raise/lower line mechanic to make it feel more like fishing
Final thoughts
This game jam showed me that I'm feeling a lot more comfortable working in Unity! I was able to remember how to do things more readily, and it was nice being able to pull different elements from old projects and tutorials together into one cohesive game. I'm feeling more confident with what I can accomplish, and also what kind of time frame it takes to implement features, which is hugely helpful when working within the time constraints of a game jam.
I was also a lot more social this game jam, and spent a lot of time in the FishFest discord and participated in their Streak Club. It was inspiring to see other people's projects come together, but also showed me I ! I would love to release a game with custom art eventually, since I've only been using free assets so far.
I'm looking forward to continuing my game development journey, and am in fact working on another game jam this weekend (Mini Jam: 156: Mushroom), so keep an eye out for that project!
Files
Fishing For Compliments
A fishy typing game about giving fish sweet, sweet compliments.
Status | Released |
Author | smallfroggames |
Tags | Cozy, Cute, fish, fish-game, Fishing, fishing-game, Game Jam, Relaxing, Typing, typing-game |
Leave a comment
Log in with itch.io to leave a comment.