Icarus Swallows His Pride
Requires mouse
If it runs poorly in browser, ie: stuttering, slow loading time, download the executable.
Tips:
Stay as close as you can to the water without touching it. Icarus will follow the mouse while gliding.
Flap in the shadow of the clouds, or right near the water.
Pray that you don't get hit by a bird.
Updated | 2 days ago |
Published | 3 days ago |
Status | Released |
Platforms | HTML5, Windows, Linux |
Author | JaimeKurz |
Genre | Adventure |
Made with | Godot |
Tags | Endless Runner, Flappy Bird, Flying |
Comments
Log in with itch.io to leave a comment.
Self analysis:
This might be the most fun game I have made. It's close to the final vision I had for it, but I would like to add boosters you can fly through to get speed, and some way to regain wax.
I estimate that I spent 6 hours just to code the character controller, probably 8 on the art, 1.5 on sounds, and 4 or 5 putting all the pieces together.
This is the most time I have sent on art in any jam, and it really shows. However, I made quite a few mistakes, and I would like to add more to make it feel cohesive. Icarus is way too large. This led to the problem that people couldn't see far enough ahead to dodge enemies, and there was only so much room from top to bottom. Also the background feels empty. I would have preferred some sort of parallax, like waves and more clouds, to make it feel like it actually occupies space. I'm also not sure that the pixel sizes are all the same. The water used to have twice as large pixels as the rest of the scene, and it made the art feel incredibly incohesive.
I also spent way too long making the water look like water. I was so set on everything being in the same shade of brown, but I should have changed the color sooner. I would love to make a shader that can make any color waves look like water, but I don't know how I would do that. In the end, I made it a purply color, which doesn't fit the color scheme perfectly, but it is pretty close.
I would have also liked to make a better menu, but I had no time left.
The character controller took me three attempts. I looked up the math for airplane physics, and even asked chat gpt for help, but nothing seemed to work. I made my own physics using a staticnode2d, instead of a rigid body, to give me more control. I had the velocity variable, but in the end I realized I needed to create an acceleration variable as well to store forces.
However I should have attached a camera to Icarus, and have him move in the x direction. Instead, I kept his x direction locked, and referenced it from the other sprites. This forced me to put all movement of the clouds, birds and waves in the physics frame, to avoid drifting. (I guess it wouldn't have been awful to put it in the processing frame, because they are only on screen for a little bit.) still, it would have been better to just move their spawning location. On the web version at 60 frames a second, it was really stuttery, so I decreased the physics frame to 30 fps. Not ideal, but it fixed the stutter.
My main gripe with the gameplay, is that avoiding birds is more of an act of luck than skill. I lowered their speed once, but clearly not enough. Same with the clouds. They should move at the same speed as the waves.
For some reason on the web version, there is a gun shot sound. I believe this is the wave sound rapidly decreasing. Even though I set the initial volume to -60, so I'm not sure why it's happening. I use a custom, dynamic volume adjuster to change the sound of the waves based on distance. The built in audioplayer2d by Godot didn't give me what I wanted.
The wind does sound really good though. It changes the pitch and volume based on speed. This is really the only game juice I added.
The volumes of everything need to be tweaked and clamped so you can't accidentally blow your ears out.
I probably learned more in this jam than any other. I spent the day before the jam learning how to create a leaderboard. I used Silent Wolf, which in Godot is really easy to use. It took me 30 mins to set it up initially, but then it took me a couple hours to create a custom leaderboard without getting so many errors.