Squiggly Squid by Flauschzelle

Explore a calm underwater world in search of curious human artifacts! What wonders does the deep sea hold?
A physics-based game of skill and exploration. Estimated play time: 10-15 minutes.
Fun fact: we built our own in-game level editor + a lot of custom rendering code for this entry! :D
Gameplay trailer
(Contains mild spoilers.)
https://www.youtube.com/watch?v=yKk3CsLEDDQ
Controls
The game can be controlled by keyboard, mouse or gamepad:
Swim forward: ↑ or left mouse button
Turn left/right: ← / → or mouse movement
Grab/release object: Space or right mouse button
Next page: Space or left mouse button
Pause: P (releases the mouse cursor)
Quit: Esc
Mute music: M
(You can also customize the input mappings if you don't like the defaults. See the file path that is shown on the pause screen for that.)
Post-Jam Version

After the jam was over, we continued to improve our game. Now that the voting is closed, we publish this version, which includes these bug fixes and new features:
* physics are now independent of the FPS, so the gameplay and control should now feel the same on every machine
* Press B to eject a cloud of ink (it's not useful, but it's fun!)
* much nicer graphics with depth of field, particles in the water, better lighting, color perspective, fluid dynamics…
* levels with more decoration, style and flair
* small jellyfishes no longer bounce around like popcorn
* Other fish behave more life-like
Misc
The Music is Easy Lemon, Arcadia and Waterlily by Kevin MacLeod.
Special thanks to @larkinia for testing and brainstorming help!
Made with LÖVE. To run the Linux/macOS version, install LÖVE 11.3.
Ratings
| Overall | 1077th | 3.429⭐ | 23🧑⚖️ |
| Fun | 711th | 3.475⭐ | 22🧑⚖️ |
| Innovation | 917th | 3.2⭐ | 22🧑⚖️ |
| Theme | 1307th | 3.325⭐ | 22🧑⚖️ |
| Graphics | 729th | 3.825⭐ | 22🧑⚖️ |
| Humor | 630th | 3.029⭐ | 19🧑⚖️ |
| Mood | 595th | 3.725⭐ | 22🧑⚖️ |
| Given | 14🗳️ | 14🗨️ |
Error
objects/jellyfish.lua:99: attempt to index field 'image' (a nil value)
Traceback
objects/jellyfish.lua:99: in function 'draw'
layer.lua:89: in function 'draw'
level.lua:176: in function 'draw'
scenes/gameplay.lua:67: in function <scenes/gameplay.lua:62>
lib/roomy.lua:83: in function 'emit'
main.lua:159: in function 'draw'
[C]: in function 'xpcall'
Error
objects/jellyfish.lua:99: attempt to index field 'image' (a nil value)
Traceback
objects/jellyfish.lua:99: in function 'draw'
layer.lua:89: in function 'draw'
level.lua:176: in function 'draw'
scenes/gameplay.lua:67: in function <scenes/gameplay.lua:62>
lib/roomy.lua:83: in function 'emit'
main.lua:159: in function 'draw'
[C]: in function 'xpcall'
Good job!
(We believe that this late update is fair, because it makes the game more accessible. Prior to the update, the shaky camera might have caused headaches or motion sickness.)

What a unique submission! I quite enjoyed being a squid dragging a fork through a tunnel. I bet you could wring some fun puzzles out of these geometry problems. The buoyancy on the bottle was clever as well. My hand got pretty tired mashing the up arrow, I'll say. Oh, also: some of the most fun I had was when I thought there might be an easter egg out of bounds to the right of the first level, trying to swim up and fling myself over that little hill. Lots of opportunities for future exploration here.
Great game overall. :)
For me, this has mostly been an experiment to find out how far I can go with a 2d-Engine like Löve2d to achieve a 3d-like look with a lot of depth. The fluid dynamics (which affect the underwater particles) were by far the most challenging task and took more time than a whole game jam :smile_cat: but for me, it was totally worth it!
Also, you can now spray around some ink to annoy the fish around you :squid: :fish:

https://youtu.be/rQyFGYR3HW4