Fortune Fishing: A Pike-Moray-tem
Due to the fact that I kept an intensive record while working on my latest game, "Fortune Fishing", I've decided to create this post-mortem. I am not proud of "Fortune Fishing", at least not especially so. I am only posting this so that perhaps we can all gain some knowledge from my experience working on "Fortune Fishing".
And maybe we all can learn a little bit more about this river that is game-dev.
Waist Deep In Grill-Boy
When I came to the realization that I wanted to make "Fortune Fishing" for the 2022 AGBIC jam. I was still Waist Deep In "Grill-Boy", the project I was working on at the time. I was in the stage of game development I like to call "The Slodge". Where it feels like you're wading through toxic sludge in order to drag this game through the finish line. I was desperate for an escape.
"Fortune Fishing" offered a very convenient one of these, like a river that had washed away the sludge. I planned to work only on Thursdays on "Fortune Fishing", and I announced this in the A Game By It's Cover discord. This was so that I wouldn't get too tired of "Grill-Boy".
The next day my plan turned into everyday, but only after I finished that day's tasks for "Grill Boy". I shared this system I had to a game dev community ran by a game design professor, who I am honored to call my Senpai.
What I didn't expect was for Senpai to part the heavens, to tell me, "Don't be working on two games simultaniously. Classic mistake that will always go wrong." I instantly put "Fortune Fishing" back onto the shelf, continuing work on "Grill-Boy".
What I didn't realize at the time was that, while Fortune Fishing was indeed washing away the sludge, it in fact was doing that job too well. Looking back now I realize that if I had spent even one more day on that track then I would have quit work on "Grill-Boy". And yes I did hate it at the time, but now it is my favorite of the games I've created.
(Senpai later explained; "Making games is hard and requires continuous attention to maintain the creative momentum. You spend some time away from it and it will grow stale. Going back to it will be harder. So when you jump between two games not only do you have to make two games instead of just one, you will also have a harder time than just making two games in a row.")
Misconceptions and What I Had To Cut Loose
Half a week later, on October 26th I finished "Grill-Boy", and had to force myself to take a two day break. My wall-paper was "Fortune Fishing", I was constantly thinking about "Fortune Fishing", and I studied slot machines during my break to make "Fortune Fishing" all it could be. And finally the time to start work had come.
I really like the idea of slot machines. The fact they're like machines which people develop relationships with. With little easter-eggs which frequent players know well. It reminded me of an ancient legend, of an Ar-cad. Ancient temples where people of old would put coins into large game-boys and play them. The only difference between the ancient temples and these modern slot machine houses is... The abuse of the consumer. Slot machines abuse the magical player/machine relationship and sometimes cause real world consequences to those who play them, so one of my early goals for '"Fortune Fishing" was to put the power back into the hands of the player.
Besides hopes and dreams, I had one other thing. A demo I had made during the development on "Grill-Boy" (I'll stop talking about it soon) It featured a 16bit sailing cat with a fully animated boat:
I was really happy this demo I'd made, and everyone else was too when I showed them gifs. BUT when I started planning for realsies, I realized that: If the player was 16pixels big. Then the player was only 1/8 the size of the screen. Which meant my idea of jumping fish wouldn't and couldn't pan out, so I came to terms with the fact that I had to scale down some.
It is to be noted that most slot machines wouldn't be fun if money and gambling were not involved. Slot machines sometimes have real world effects on players, a real life jumanji if you would. Thus is why my infatuation with slot machines ended at that key person/machine relationship.
The Initial Rush
The start of every project is like a sprint of joy. You have all of these ideas, and are able to implement them easily. Work comes easy and fast. You want to talk about your project at any time you can. It feels like driving a race car, except you're driving a Koenigsegg Jesko Absolut (a speed car powered by a 1280 bhp (1600 bhp on E85), twin turbo charged V8 engine, featuring the world’s lightest V8 crankshaft that weighs just 12.5 kg) and everyone else is riding bikes.
During this time I was adding in enemies quickly, finding and solving code and design problems with extreme efficiency. On October 27th I wrote: "I felt a real shot of adrenaline when the Grouper was mixed in with the Karps. I know that it is fun to avoid fish." I was still coming up with unique ideas dynamically, like power ups and UI decisions.
After a few days of steady development I was ready to play-test. On the 29th I wrote, "After the playtest tonight I'd like to experiment with some ideas like rival moles, harpoons, or mole shops. Of course I mean after I finish fixing things from the knowledge I gain from the playtest. I've been thinking today, about how maybe this game should be shaped more like a rogue-like in progression. Where you have to be clever, on the go, as each wave is random. I really think the idea of rival moles could go somewhere, AND the original cart artist intended for the "moles" to be vampires who you'd have to compete against. I originally disposed of the idea bc it didn't seem to fit in with my vision, and I didn't like the idea of mystical creatures.
But maybe, I'll let the moles be vampires, I don't know."
In actuality none of those features would ever be added, but the fact I was thinking of them so rapidly shows how The Initial Rush effects us. I'd say that before the playtest 50% of this game was done. After only a few days I was half-way done and didn't even realize it, but little did I know the river would soon dry.
I say again, every project has an initial rush. One thing I've thought about during the development of "Fortune Fishing" is, should you try to stuff that rush as much as possible or try to slowly cultivate your motivation. I'm too scared of wasting time to experiment, but maybe you won't be.
The Decline and Reflections
The playtest went well, with several accounts I got some really good feedback, while fixing some bugs encountered during the playtests I wrote down: "What makes games fun: changes in speed, Risk / Reward" I don't think there is a simple formula to fun, but the fact I was trying to define what makes a game fun is a nod to the fact I was beginning to worry about "Fortune Fishing" not being so.
I compiled all of the feedback, and wrote down all of the possible solutions. On November 3rd I wrote, "I hate that I cannot quit, and I hate that I can't push forward." I find myself constantly in these battles with rapids where I occasionally fall out. The secret is to get back in your boat and keep going.
(original tweet cart by https://twitter.com/lucatron_)
I had quit game dev for all of two days prior to November 3rd. Of course the next day I wrote: "Progress is steady once again. Working on the power up "shops" Which I've decided will be water spouts."
Pushing forward seems like a small token act, but if you don't push forward then you will sink. And in my experience you can never really drown. Even though you can let the rapids take you and wash you ashore, and even if you may stay ashore for several years. Still eventually it seems, you will eventually paddle back out onto this river again.
Grill Boy's Ghost
On November 9th I opened up to myself about something that had bothered me for a long time: "I feel desperate to add in these power ups. I've never mentioned it until now, but the fact I didn't add in power ups to "Grill Boy" haunts me. The only problem I find is that the power ups don't really change the gameplay all that much."
The power ups still don't change the gameplay in "Fortune Fishing" very much, but I had to do what I had to do in order to finish it. Similarly I had to do this with "Grill-Boy", but I left these power-ups out as I couldn't think of a way to incorporate them in a meaningful way. I used to feel great shame over "Grill-Boy". In fact when I started work on it I was under the somewhat mystical belief that ideas choose the people they believe can finish them best. By the time I finished, I was far from that belief.
Sometimes I wonder why I'm doing this. Why I'm putting myself through game development. It's not for fame or riches like it was when I was a younger teenager. I distinctly remember at age ten wanting to be the next Shigeru Miyamoto, and being willing to do anything the achieve my goal, but now why? It makes my life much harder and brings me little joy besides endings and beginnings. Why do I keep going? As I stated earlier, even if I got off the river. I would one day become fascinated with it again. So what would be the point of stopping?
I now know that we choose ideas, and we have to develop those ideas as we push forward. We have to choose which fork in the river to go down so that our games end up the best they can possibly be. Sometimes we do have to hack parts of our games off, in order to be able to paddle them to the finish line, but it's made worth it by the beauty of the ocean.
The Current and Procedural Generation
Pushing forward was working. And now I was at the point where I would add in procedural generation. The way "Fortune Fishing" handles procedural generation is cheating, similarly to how Spelunky dev Derek Yu "cheated" his way out of true procedural generation by designing rooms that would be placed on a 4x4 grid.
(Derek Yu of Spelunky)
This system would work even better for me,so I similarly designed a couple dozen levels which would be randomly generated, with a few exceptions: Level one would always only contain a single Koi. Levels 4,8,and 12 would have bonus waves. And the levels would increase in difficulty as they continue on. These hidden difficulty knobs turn up every round.
This system isn't much on the back end, but it works well up front. Which is all that matters.
The designing of any procedural process should always start with "what do I want this to do?" I wanted:
-Player experiences one on one with every enemy before advanced levels with them.
-Levels are picked based on difficulty:
1- a 1-3 fish of the same type
2- two types of fish, but no more than two each.
3- three types of fish, but no more than two each.
Now, the real question is: what do I do about the level generation? Should I use premade waves, or randomly generate them?"
I eventually choose to use premade waves, as it would be more code efficient, and I had already created what seemed to be every possible fish combination myself in each difficulty.
If you couldn't tell my brain was willing to work once again. Not as fast as during initial rush, but still it was willing. I attribute this partially to me wanting to be done, but I also genuinely enjoyed playing "Fortune Fishing" at this time. I really liked the arcade aspects of it, and how a few of the playtesters really did seem to have fun with it. The Current was picking up.
"Cheating" in game design should be praised and expected at this point, anything that can be simplified without the project suffering should be done if needed. The truth is there is no such thing as cheating in game development.
The Last 10%
"I feel like this project will be done soon. It's been 22 days since I started. Compared to 14 days each on "Grill-Boy" and "Shoot Em' Doot Em" respectively. I've never really realized I was in the home stretch while developing a game. I always just run out of my to-do list after battling all of the demons which plague game-dev. But now, I know that this is The Last 10%." -Nov 11
The final days of Fortune Fishing were bathed in ideas for the game and other things, similar to the beginning. I had ideas for everything you could imagine to put into an arcade game, I hardly got any of these ideas in, but I was making tangible progress. Eventually during an all-nighter I came across a problem...
"The power up which makes the hook go farther causes the big fish to sometimes have physics errors. It's causing me actual mental anguish. I am going to remove the power up, as I've taken steps to do everything else."
"Another problem with this weight power up, is only people who use modern western fishing techniques will understand what they could even be. And on top of that the resolution is so low even they can't tell. This may be a blessing in disguise." -Nov 12
I hate removing things from my games, but this was one I didn't mind because of all the trouble it brought me. After this I pulled one more all-nighter. It was during a snack break, that I realized I was finished. I had a lot of ideas left out, but I knew they didn't fit neatly into the game. No matter where I stuffed them at, but in exchange for that, I was finished.
And finally here's the playable game:
The biggest problem I found in "Fortune Fishing" was the difficulty. I think it's important to always learn from every project. So for my next project, I will be sure to play-test for difficulty.
Why Fortune Fishing Post-Mortem?
Why did I write this article... Thing? Partially to document my work on "Fortune Fishing", but also to share the insights of which "Fortune Fishing" gave me.
"Fortune Fishing" taught me about all the parts of the river. The currents, the rapids, and even the mudflats, and more importantly how to get through all of them. Keep going forward. But, why go forward? Because, if you keep going forward on the river eventually you will see a great blue mass of water which flows to every country, edge, and corner of the earth. This ocean is the feeling of finishing a game, and having another piece in your gamedev catologue.
All of this brings us to right now. Currently I'm entangled in a few projects like:
-Project Pico-View (I interview pico8ers):
-Printo and other simple functions for pico8ers:
-Testing out ideas for a new game. I have a deep seated superstition that sharing a game idea to early will sabotage production, so you'll all just have to wait.
Thanks for reading! -Marina XOXO
[Please log in to post a comment]