1. Greak: Memories of Azur
  2. News
  3. Dev Log # 2 - Lyriee Rivers in Azur

Dev Log # 2 - Lyriee Rivers in Azur

Hello everyone!

Welcome to our Dev Log #2! This month, we will talk a little bit about the Lyriee Rivers and show you how our team developed the water mechanics in the game.

In the lands of Azur, some of the largest trees and longest rivers are located in the Lyriee forest. This is a very special place for the Courines since it is full of natural resources. Therefore, Lyriee is considered Azur’s main source of life.



Throughout the game we want for characters to feel very agile and versatile while playing around with the different elements of the world. Therefore, we wanted to apply this same principle when it comes to interacting with water areas.

The most complicated part of this type of interaction is making the transition from regular movement to swimming in the water feel very natural since the player controls change quite a bit.
Our solution to this situation was to add two different states to the characters: Surface Swimming and Underwater Swimming.

Surface swimming: When you first dive into the water, the character will snap to the surface (unless you are falling too fast). While in this state, you will be able to move left and right and replenish your oxygen levels.



Underwater Swimming: While on the surface, if you hold your movement stick downwards, the character will dive into the water and switch to underwater movement.
While in this state, you will be able to move around in every direction, but if you run out of oxygen you will start taking damage.
You can go back to surface swimming whenever you approach the top border again.



When moving underwater, the orientation of the character will sometimes end up upside-down. This could become a problem while playing since it would be hard to determine which way the character should keep moving. In order to prevent this situation, we made a transition which will always make characters stay upright while inside the water.



In order to make the water areas fit the game Art-Style, we used a few different components:

1- A looping hand drawn animation of the water surface.
This detail is extremely important and very subtle since it will make the water area blend with the rest of the world. It is important that the left and right borders connect between each other in every frame so it can be used along all the water surface.



2- A dynamic mesh that reacts with physics.
When diving into water it is expected to be deformed somehow since it's a liquid surface. Our solution was to use a subdivided mesh that will have a spring-like effect through all of its top vertex.
The force of the impact depends on the mass and velocity of the object.



3- A distortion effect for objects inside the water.
Another subtle detail that always helps the water areas feel extremely natural it's a adding some sort of distortion effect for objects that are inside.
In our case, we used a post-process refraction shader to add a bit of realism without going too overboard.



4- Character swimming animations.
And lastly, of course, is creating all the character animations that fit this new behaviors.
We made around 30 frames total for every character to cover all the different movements and positions.
As an example, here is an early preview of the two idle animations when Adara and Greak are over the water surface before we clean up their hand-drawn lines.





We had a lot of fun experimenting with ideas on how water can be used in different ways within the game and we have a few surprises to show you in the future, so stay tuned!

Thanks for following us through the development and see you next month! : )