CONTROLS

  1. WASD move.
  2. . (PERIOD) is the action button

SYNOPSYS
    A psychic shark is after you! The more sea-life you disturb, the stronger the sea becomes, and therefore the more dangerous Jaws grows. Become strong enough to kill Jaws before he's too strong to stop!
    Sail around the bay looking for a strategic spot to fight Jaws or find a safe place to hunt sea-life. Collect pearls to sell at the local dock to upgrade your equipment.  Become strong enough to take down Jaws. 

ABOUT
    This is the first game I've made using Godot.  It's also the first game I've finished as a solo developer, and I consider it 30% baked. It was primarily a learning project to teach me parts of the engine, as well as provide perspective for reasonable scope as a solo with my skill level, so I didn't spend too much time polishing any particular aspect of the game.  It has a solid loop with progression and goals, an intro, a win-state, and a lose-state -- that was good enough for me.
    I made all the art assets, such as the sprites, sound effects, music, and little cut-scene drawings. However, I modified an over-world sprite pack for the map. I put just enough effort into everything to offer the idea of the concept, but not enough to spend hours polishing, because the main focus was to learn the engine and grant production insight. 
    The game loop is directly inspired from the original game of Jaws for the NES.  It's rather elegant -- the player explores the bay from a top-down view, looking for upgrades and tracking Jaws, and then the perspective changes to a side-view 'floating platformer' when swimming.
    These are the assets for the over-world map. 

  •     Jaw's Fin
  •     Upgrade Marker
  •     Dock
  •     Water Disturbance
  •     Your Boat

    While sailing around the bay, the original game had random encounters. Random encounters took away from player agency, so I decided to change the design and added a roaming 'disturbance' in the water, which acts as the transition point into the swimming stage. I think this change was successful. 
    Jaws still acts very much the same -- he roams around the map, loosely following the player using Godot's AStar, and reveals himself by showing his fin every so often.  The sonar blip sound is still present, and the closer Jaws is, the more frequent the sound effect pings. I really like this mechanic -- it can evoke a sense of panicky stress while providing clear feedback to the player.    
    After a few playtests the feedback I received was that it was unclear where and how to upgrade. The game loop is -- boat around and choose where you want to swim, swim and collect shells by killing sea creatures, then spend the shells in the port on swimming upgrades; repeat until strong enough to kill Jaws. So, if players were having a difficult time understanding how to upgrade, then a major component of the core loop was missing.  To remedy this, I simply added a check to see if the player had enough shells to actually upgrade a skill, and if so, then I added a large, bouncing upgrade marker over the docks, where you go to upgrade. I think this solution worked well and was easy to implement. 
    I had a similar problem in the swimming stage when players tried to return to the boat. In the original NES game, each swimming stage had an undisclosed amount of time allotted to each swimming session, and then would abruptly end. I wanted to offer the player a bit more choice, so I kept the boat floating on the water during the swimming map and added a 'breath' timer.  The player would have to then return to the boat and climb the ladder before their breath ran out. Once again this was meant to give the player more agency over their gameplay. They could choose to hop on the boat right away or stay in the water as long as possible to collect as many shells as they could before running out of breath.  The tradeoff was though, each time the player submerged into the water, the Danger Level increased, causing more enemies to spawn, increasing the risk of death-by-sea-life. This seemed great to me. It gave the player strategic choice while providing a realistic restraint. However, during playtesting people told me they had a tough time returning to the boat, so taking a note from the upgrade problem, when the breath timer dropped below 33%, I added a bouncing arrow and some text explaining what to do. This wasn't the most elegant solution, but it was at least consistent with the over-world, and quite clear.


    The swimming map is where most of the gameplay occurs. I used a light procedural spawning, hinted at earlier, to control how much sea-life spawns. Each time the player submerges into the water, a point is added to the Danger Score. There are two main enemies -- Jelly Fish and Sting Rays 

TAKE AWAYS
    I've always liked the aesthetic of little pixels expressing a grand idea -- it askes something of your imagination, and in doing so can sometimes offer a more immersive experience.  Do I think this game achieves that goal? No, not really, but I do think Godot is an engine that will allow me to get there one day. That being said, I will continue to explore the Godot engine and make several small games.
     From start to finish I spent about 4 months of after-work weekdays playing around in Godot and developing this game. The next game I expect will be finished in a much shorter time.  


Comments

Log in with itch.io to leave a comment.

screen is too big for me, there is a way to toggle full screen?

hmm I never thought about that.  let me see if I can figure something out

I think the best thing to do is to zoom out on your browser. for me it's ctrl+mousewheel

(1 edit)

So far the two most confusing things are getting back on the boat, and buying from the docks.

1/7/2024

I Updated the game so the boat tells you how to enter it after 40 seconds, for the first 3 times.

And also if you're able to buy from the docks, a little arrow appears