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.

  • Added squid, with new shader
  • Extended levels and playtested
  • Fiddled with everything
  • Added animated end scene, credits, and dedication
  • Added level warp for debugging
  • Added difficulty settings
  • Added main menu
  • Added dummy sprites to main menu to avoid shader compilation lag when new enemies appear
  • Lots of work with the Godot animation editor, for example the "hood" of the squid moves in and out

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.

(3mb)

More submissions by Pix-256 for Daily Fishposting

  • replaced moving background gradient with discrete level backgrounds
  • fade between backgrounds over 3 seconds when reaching new level
  • added parrotfish
  • improved background code for level construction
  • Added music
  • Resized obstacles
  • Added ocean zone to HUD (zones are sunlight, twilight, midnight, abyss)
  • Increase difficulty each zone (increase spawn rate and velocity)
  • Make mines disappear on contact, with explosion sound effect
  • Added font Spinstee for the game title
  • Added Jellyfish, with a shader to make it wiggle
  • Added shader for better whale iframe animation
  • Added acceleration and deceleration to player movement
(5mb)
(1mb)
  • Added art for our whale and a mine obstacle (art created for this by Smeems)
  • Fixed bugs
  • Added shader to turn the whale red while iframes are in effect

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.

(2mb)

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.

(902kb)

Daily Fishposting

Share your progress on your FishFest game daily

daily from 2024-04-01 to 2024-04-09