Devlog 03: Start of Production


Hello again! This week we officially started the development phase of Fish Fiasco, ready to give it our all for what we genuinely believe will become a fun game for all of you.

Since last week's prototype build was developed with very little time to worry about finer detail, this week we started the project fresh - getting rid of all the code and assets we did previously. This time around, we programmers focused on developing the chore mechanics of player interactions and movement, aided by the acquired knowledge from last week's experiments, and our artists started working on the scene's visuals - like the playing field and the sea water.




Programmers:

We realized that the method we used last week to making the movement/collisions of players was not the best one for the needs of Fish Fiasco. We attempted to use Unity's physics engine to simulate the forces applied on/by the players, but as the prototype started taking shape we soon realized relying on this external framework was causing more issues than aiding us. Depending on Unity's hard-coded physics logic was limiting us a lot when it came to value tweaking, making it hard to achieve any results that didn't feel unpredictable and jarring. As such, this week we agreed to change our approach and instead simulate these forces ourselves though vector math logic.

With that in mind, Daphné kicked off the week by setting up the new project and making the base character movement (without any slide, tilt influence, etc). With that done, she spent most of the remaining days developing the playing field's tilt - for now, only according to the weight/position of players, not the sea waves. This was not an easy process, and it took a full redesign of an original functioning implementation to properly achieve a smooth and natural movement.




Aside from that, she also coded the killing zone at the bottom of the map and a temporary respawn mechanism (which will be changed in the future, when implementing the rounds system).




While Daphné mostly focused on the tilting mechanic, I was responsible for turning the base movement into the velocity-based sliding that is so crucial to the gameplay-loop, as well as coding the player abilities.

The first task sounded easy in concept, but it took way more reiteration and tweaking than I expected. Limiting the maximum speed a player should reach (as to not make the game feel unfair), while still letting the player accelerate from a total idle state without taking too long - all the while keeping in mind the abilities effects, as to avoid jarring behavior - was a bit of a challenge. The decision that truly pulled the movement together was disabling normal small collisions between players on contact, since it not only made controlling the characters much more unmanageable, but it also felt redundant with the existence of the Belly Boost (the forward dash).




Speaking of Belly Boost, although that was the only player ability developed for the prototype, we decided to add another one this time around called GroundSlam. This new action consist of the player jumping into the air for a second and then slamming onto the ice bellow them, making the map tilt suddenly. GroundSlamming  will be a more over-powered ability, since it can also be used to nullify attained velocity, so it takes 3X more time than the BellyBoost to get off cooldown - and both abilities share the same cooldown counter, so they can't be used in a row. Right now, the character does their animation and the cube tilts as it should, but no forces are applied to other players (from the sudden tilt change) - that will be work for next week.

Aside from the logic of the abilities themselves, I also added temporary visual cues for the cooldown, the BellyBoost hitbox and the player state (so each ability turns the player into a different color while in effect).





Artists:

While we set up the base logic of the game, the artists started producing finer models and other visual elements to compose the main scene.

Beau spent the week producing various objects and debris to decorate the ice cube with, as to make the playing field as visually appealing as possible - like this shark over here:



Alex started off by painting a small concept art piece to plan out the scene's composition, as well as guide Beau on what type of objects to model. Once that was done, they then took care of modeling and texturing the actual cube, with all it's minor details, composing the new meshes inside it in a way that looks captivating, without visually cluttering the field's surface. Not only that, but they also put together a temporary blockout for the background's fishing village, which will be incrementally replaced by finer meshes in the following weeks.




Lastly, Stijn started developing the sea water shader that will take up most of the screen's composition during matches. This is a lengthy task, and it took Stjin quite a bit of research this week to properly learn the ins and outs of Unity's ShaderGraph, but a first version of the water effect's vertex displacement has already been achieved.




And that's the last of this week's updates. Next week we'll hopefully have many more to share, so come back on the 21st for more!

-Miguel

Get FishFiasco

Leave a comment

Log in with itch.io to leave a comment.