Old pond, frog leaps in, water's sound

2025-03-17 : previous : next : index


"Old pond, frog leaps in, water's sound" is a short game for the Playdate console, made for PlayJam 7.


https://uguu-org.itch.io/old-pond

Idea

When the jam theme of "moon" was decided, I figured most people would go for something space related, so I went for something more terrestrial. In particular, instead of a moon shot to the skies, I thought about a less ambitious game of a small frog reaching for the reflection of the moon in the water. The imagery of frog jumping in water reminds me of Matsuo Bashou's haiku, which became the title for this game.

I thought a frog jumping in a pond wasn't enough of a game, but a singing frog might do it. My second inspiration came from Hoshi Meguri no Uta by Miyazawa Kenji. I have read his "Night on the Galactic Railroad", although the song choice here was mostly due to Planetarian. The plan would be to have a frog hop from leaf to leaf while croaking notes that matches the original song's notes.

Day 1

Having decided on what to do, I went out to start collecting assets. Unlike the previous jam which was relatively unambitious, I didn't think I would be able to make everything on my own this time. For a start, it's impossible to get a good recording of frog sounds where I live -- I have actually found a place with croaking frogs, but the sound is very faint, and gets completely drowned out by the noise of airplanes flying overhead (which happens regularly at a rate of one per minute). Having given up on recording sounds, I spent a few hours finding and editing the three sounds I needed from Freesound and was happy with that.

The frog itself was a different challenge. My main method of drawing unfamiliar stuff is to find some pictures of what I wanted and trace them in Inkscape. Well, there really wasn't good picture or video of frogs that covers all angles. Next thing I tried was finding 3D models, and there was one jumping frog on Sketchfab that was very much exactly what I wanted. Lacking sufficient 3D skills to work with the model directly, I ended up writing some JavaScript wrapper to get Sketchfab to render the animation frames in all the angles that I needed, and traced those in Inkscape. The end result is something of a smudge after resizing and dithering, but it's recognizable as a frog, which was good enough for me.

So by the end of day 1, I had all the sounds and all the frog animation frames. I wrote almost no code so far except some tweaks to make a proper looping cricket sound.

Day 2

The second day was another day of building assets, except this time it's all my own. I drew all the trees and all the leaves, and wrote almost no code on the second day either (other than a script to animate the leaves). I can't say anything about my (lack of) other skills but writing code is something I have done professionally, so I allocated the least time to do what should be the easiest part of the whole project. See the obvious foreshadowing here?

Day 3

So the final day is when I encountered all the software bugs.

All the animation code and state management actually went exactly as planned, and I added a jump trajectory hint because I figured that would come in handy. I am glad people did appreciate the accessibility feature. Everything went fine except the placement of jump targets.

Recall that the one plan I had to have the frog jumps be synchronized with the song, which has two aspects:

The group-targets-by-line bit was a mess. I structured the target data to encode gaps in the song, and that required a lot of special case handling everywhere. It was much easier to flatten the song data to remove all gaps first, which is a conclusion I reached with about ~1 hour remaining in the jam. I wasn't going to refactor everything in that little time, so I just went with the clunky structure I got. The consecutive note feature was off-by-one and it was too risky to fix with the current structure, so I cleaned up whatever else is left to make the game minimally playable, and submitted that. It was disappointing that the targets weren't really synchronized to the song.

I managed to get 4th place with all these bugs. I am really thankful for the generous crowd.

Overtime

Having passed the 3 day deadline for the jam, my next deadline was to fix everything during the 7 days of voting so that an acceptable version would be available immediately after the jam is over. And there were many fixes:

Re-release

I am fairly happy with how the fixed version turned out, and announced it in the usual places:

It had been a rewarding experience to participate in another jam. I just hope someone would recognize the song...


Previous (2025-02-12): Morning moon
Next (2025-03-28): Glue required

Index

uguu...