Ocean Odyssey is a retro-styled, arcade shooter developed using the LรVE (Love2D) framework. Take control of a turtle navigating through hazardous waters, clearing out plastic pollution and debris while gathering a following of baby turtles! ๐ก๏ธโป๏ธ
In this game, you pilot a brave turtle that must defend the ocean by shooting bubbles at various types of trash, such as bottles, chips, and straws. As you increase your score, you unlock baby turtle followers that trail behind you in a "conga line" formation! ๐ฃโจ
Score Milestones: A new baby turtle joins your trail for every 1000 points earned. ๐
Dynamic Scoring: Different types of debris (Heavy, Medium, Light) provide different point values based on their difficulty. ๐
Power-ups: Collect Shields for temporary invincibility or a Nuke to clear all enemies from the screen with a massive white-flash effect. โข๏ธ๐ก๏ธ
High Score System: Your best performance is automatically saved to local storage (highscore.txt), supporting both desktop and web builds. ๐
Retro Aesthetics: Features integer-snapped pixel text for maximum clarity, screen shake, and a custom hit-flash shader. ๐จ
r. ๐จ
Arrow Keys: Rotate and move the turtle โฌ
๏ธโก๏ธโฌ๏ธ
Spacebar: Shoot bubbles ๐ซง
P: Pause the game โธ๏ธ
Enter: Start the game from the menu ๐ฌ
R: Restart the game after a Game Over ๐
Escape: Quit the application โ
ation โ
LรVE 11.x or 12.x: The game engine used for development.
Web Support: Compatible with love.js for browser-based play.
.
The game utilizes a dual-layer rendering system to solve resolution issues:
Scaled Layer: The game world (turtle, enemies, particles) is upscaled by a windowScale factor to maintain a crunchy pixel-art look.
UI Layer: Text and HUD elements are drawn at the native window resolution with integer snapping to prevent blurring and ensure sharp typography.
.
Hit-Flash Shader: A custom GLSL shader is used to flash enemies solid white upon taking damage. โก
Breadcrumb Pathfinding: Follower turtles use a coordinate history buffer to retrace the player's exact path. ๐พ
Web Deployment: When deploying to platforms like itch.io, ensure SharedArrayBuffer support is enabled in the embed settings to avoid initialization errors. ๐
๏ฟฝ๏ฟฝ๏ฟฝ