Streak Club is a place for hosting and participating in creative streaks.
Godot note: I had to reimport each image with "Generate Mipmaps", which creates lots of different copies of smaller size. Then I had to set the Sprite2D showing the image to filter using the nearest mipmap. This has them looking good at small screen sizes as well as my 4k monitor.
It's finished and submitted, 4 hours before the deadline.
Play it here:
https://pix-256.itch.io/whale-fall
It's now 5 AM.
Of everything I did today, the single hardest thing was making the parrotfish face right. It is unreasonably difficult in Godot to horizontally flip a Node2D and children. The fish sprite has flip_h
which works, but doesn't flip the collision object. In the editor you can set scale.x = -1
, but this doesn't work in game due to how transforms are done under the hood. Best references I found was https://forum.godotengine.org/t/why-my-character-scale-keep-changing/13909/5, and nothing worked as a single easy solution. Ended up creating a flip function that applied the specific changes to the sprite and collision to have everything still line up.
Attached is a video of the squids. After hitting you they reverse course to escape. The hoods are messed up as I was trying to use the same flipping as the parrotfish, which was madness. Ended up using global_rotation_degrees += 180
for the squids.
Added vertical movement, and made the whale rectangle tilt when moving left-right, and squish when moving up-down. The movement is not very smooth and will need to be cleaned up to feel nice.
Added health and taking damage when colliding with obstacles. After taking damage you can't take damage again for 1 second. I added whale emojis to represent health, which don't load properly in the HTML version.
Added a menu that opens when you press Escape that pauses the game. Escape doesn't play well with the itch.io fullscreen button, exiting fullscreen instead of opening the menu, so this will need to be changed.
Added a reset shortcut key to start a new game from the menu without reloading the page.
Added a quick score, which is completely broken. It's based on time since the game started, and doesn't take PAUSING THE GAME into account.
Added a scrolling background, based on points, so has the same issues as the score when pausing.
The gradient background is temporary and has significant colour banding. This can always be fixed with dithering (possibly using a shader) if necessary.
Included is some lovely concept art from our artist Smeems.
Started a simple endless runner in Godot, targeting compatibility mode for HTML support.
Got initial HTML version uploaded to itch.io and shared with team.
Found out Android Firefox does not have SharedArrayBuffer
so Godot won't work. Chrome still seems to work.
My constant velocity obstacles kept slowing down and I learnt that damping = 0
defers to the project default of damping = 0.1
.
Our artist did some awesome whale art, but it hasn't been incorporated into the game yet.
So that's what the rectangle tilt / squish was for. I was not able to visualize it from your previous post, but seeing the whale now, it's a very cute effect.