logo80lv
Articlesclick_arrow
Research
Talentsclick_arrow
Events
Workshops
Aboutclick_arrow
profile_loginLogIn

Rana: Filipino-Inspired Stylized Adventure Game About Frogs

Arthur Lenoir talked about Rana, a frog-themed game about a young girl returning a tadpole to his village, developed as a student group project, discussing the production pipeline and showcasing the lotus texturing technique.

Introduction

Hi! My name is Arthur, I'm in New3dge in Game Art specialization. When I finished high school, I knew I wanted to go into an artistic field, but I didn't really know which one. I stayed 2 years in a school that I didn't like, in Object Design, before seeing the work of a friend who was in New3dge. From then on, I reoriented myself to Game Art. I spent 3 years in my school (I skipped the prep course) and I will finish my course next year.

At the end of December and as part of the course, we were divided into 4 groups in order to create 4 projects on which we will work until the end of the school year (from the end of December to the end of May). And that's how the Rana project was born. Initially, we were going for a crazy cabin in tall trees, a bit like Avatar, in which we would ride frogs to jump from tree to tree. After much discussion within the group and research, we agreed on a pitch.

Inspiration

Mong, a young runaway girl, found a lost tadpole while wandering in the forest. She decided to bring him back to his family. Here starts her journey through the frog village, where she will discover the unique culture of its people during their coming-of-age festival.

Our universe is inspired by Filipino culture, whether through architecture, NPC frogs, all combined with local materials like lotus, wood, no industrial materials like metal, for example. Here are the guard and cook by Baptiste Vial, villagers and shaman by Mariam Edah-Tally, and the nanny by Clara Bouis:

For our main character, inspiration came from elsewhere. Since she is human (a 13-year-old girl), we found it relevant that she has a different origin. So the inspiration came from the Hmong culture (an ethnic group from southern China) with a touch of Arrietty (from Studio Ghibli). That's why her clothes are different, the fact that she wears metal jewelry and a glass bottle as a backpack, materials that don't exist in our amphibian village. Mong was created by Clara Bouis:

The game has a The Legend of Zelda: Breath of the Wild vibe for the exploration side, discovery of other cultures, and a little cozy at times. We also have an inspiration from the Spirited Away side on the child who discovers a universe of anthropomorphic creatures. For the artistic direction, we drew a little here and there, but we were mainly inspired by the Dragon project from Airborn Studios (which was canceled). We were also inspired by projects seen on ArtStation for the environment, such as Swamp Haven by Raghav Verma and Golden Carp | Untamed: When Animals Ruled the World by Viktoriia Zavhorodnia. Actually, we wanted something beautiful, comforting, something sunny that makes us smile.

Getting Started

Once we had found the pitch and our references, we started the concepts, which allowed us to save a lot of time and consistency on our project, as we consulted fairly regularly on the progress of the project. This allowed us to arrive at keyframes (our 4 main stages through which our character would go), then the map of the village, which considerably facilitated the task for the blockout, composition, and level design. We were looking to have fairly round, fairly reassuring, and cute shapes. That's how our pontoons, our platforms, etc., were born.

Concepts by me, Kaya Jacquemin, and Lucie Pacouret:

Workflow

The blockout part took a little time, especially respecting the proportions and how the character wandered in the village, having a wide enough pontoon.

What took a lot of my time was placing the plants, the Foliage tool of Unreal Engine helped me a lot, but I had to reorient and move each asset to avoid collisions, they had to be oriented correctly to avoid the noisy side that the quantity could generate in order to have a harmonious rendering.

For the majority of our assets, the workflow was as follows: Blocking in 3ds Max, sculpting in ZBrush, retopology in Maya (sometimes starting from the low-poly of the blocking if it had not moved too much and sometimes a decimate was enough, for the rocks for insance) then the unwraping of UVs in RizomUV, which is a fairly practical software as it has a bridge with 3ds Max. It's a time saver because it's a software that has many useful features, in particular managing the texel density, orienting, straightening the UVs, managing UDIMs, optimization, etc. Then there was the baking in Marmoset Toolbag and textures in Substance 3D Painter before integrating it into Unreal Engine 5.

For some plants like lotuses, I used this workflow. I just had to paint a map for the subsurface scattering opacity and create several iterations so that the assets wouldn't repeat themselves too much in the scene. So I made 3 small, 3 medium, and 2 large lotuses, trying to optimize the UVs as much as I could. For other plants like water lilies, I simply baked my sculpt (high-poly) on a plane and generated an alpha mask to get the outline. For the flowers, I had to make them as I had made kits with the stems, flowers, and leaves separated; I had to rebuild them in 3ds Max, which allowed me to make several iterations for each flower asset.

One area we saved a lot of time on was the bridge. We used a Blueprints feature that allowed us to build a curve that our boards and pontoon followed perfectly, allowing us to procedurally vary the board spacing, placement, and pontoon height. That's how we end up with a pretty cool rendering after texturing and adding some vertex paint for the moss on Unreal! We used a very similar feature to generate our garlands procedurally with a curve.

For the water shader, created by Robin Magnin, we used the single-layer water shading model, which is integrated into Unreal for transparency. With this model, we could also tint objects below the water, making them appear slightly blue-green, in our case, to fake depth. We created color variations by panning a greyscale map (just perlin noise with a resolution of 512) in opposite directions, and using the second panner as UV coordinates for the first map.

For very bright reflections, we also used a panner to move the same noise texture in opposite directions. Then we added both panners together and only kept the value above a certain threshold. We plugged that into the emissive color with a very high value, and by setting the Unreal bloom to convolution (in the post-process), we get the shiny effect. The rest of the reflections are free with the model; there are just two normal maps that move with a panner in opposite directions to distort them. Same for the caustics, they're just maps that move with a panner.

There are three types of waterfall splashes: ripples are simply scrolling textures with UVs set up to make them move faster in the center, and splashes are a simple mesh that is deformed with WPO and spawned via Niagara (with a spawn rate of 10).

All the meshes overlap, creating the impression of choppy water seen at the bottom of waterfalls. Raindrops are procedurally animated meshes in Houdini that I brought back to Unreal as vertex animation (with a texture that tells the vertex of a mesh how to move and when). Here are the two main references: Mark Khalil and the rain from Everything CG:

Texturing Lotuses

Our texturing being stylized, it followed a fairly precise artistic direction with vibrant colors, a few color variations, warm highlights, and cold occlusions. This is how I texture a lotus:

The base color with a rather matte roughness:

I paint the veins with the basic hard round brush. I just activated the pressure on the flow and deactivated the pressure on the size:

I tint my ambient occlusion with a cooler color in multiply mode (at first, I added the light dots in this step, but it's better to add them at the very end):

I lighten everything with my round brush, I leave the edges a little darker because I like the result like that:

I add a little warmer color variation to the center to create a bounce and add a little detail:

I add the first color variation, still with the round brush and the flow, which reacts to pressure:

3rd color variation:

With the same color as step 4, I add shapes that blend in to break up the soft side in the middle:

I add a lighter color variation to fake the slightly drier areas and give cooler shapes to the whole thing (and then I add the points normally, but here I had done it at the beginning):

The composition of the scene required a lot of work; the goal was to always have an interesting element to look at, and it's in these places that we added a little more detail.

During our level art class, the composition changed a lot with the addition of a lot of plants in order to hide certain areas, and to discover them a little later. We also varied the height of the pontoon to make the journey less monotonous and manage the flowers in order to have more and more as we progress. When we arrive at the square, it is much more flowery in order to attract the eye and make the place a little more magical with the fountain, the statues, the villagers, and the banners:

Lighting was a particularly important step, as it would greatly contribute to the atmosphere of our game. We therefore opted for warm and comforting lighting, with variations in intensity achieved with a panner to mimic the effect of a cloud passing in front of the sun. We also added green-tinted lights to simulate sunlight passing through the leaves. This was enhanced with fog to mimic the warm atmospheric perspective.

As for the light rays, reinforcing this warm effect, they were created with Niagara (like most of the FX, for that matter), so we were able to make them move slightly, which really added a nice touch to the lighting.

But this atmosphere disappears completely during the ceremony, where the atmosphere changes completely to give way to pouring rain, not unlike the rainy season in the Philippines.

And finally, for the post-processing, we didn't change much directly in the volume post-processing itself (apart from the bloom and exposure values, which are high enough to adapt to the sun and light values, which are also very high).

However, we did create a material post-processing that uses the scene's depth to create atmospheric perspective and fog (for the fog, it's a texture projected from the camera with fixed, semi-spherical UVs in the world to prevent it from moving when the player moves). This is especially noticeable when we switch to lighting overcast; it allows us to separate planes to create a better impression of depth (and the technique is inspired by the game Firewatch).

Conclusion

The entire project, from concepts to renderings, took us a little over five months. The project was extensive and entirely hand-painted, which forced us to simplify and make choices. We had to start the textures early enough to ensure we achieved as much as possible to a satisfactory level, before pushing them a little further with the time allowed. Another challenging element was making the scene impressive through the staging, but especially the FX, which required special attention. We prioritized the keyframe FX, especially the one for the final cutscene.

One final aspect we paid attention to was creating a universe consistent with Filipino culture and the frog theme. The challenge was to achieve consistency in our visual design.

In the project, there were things that worked well and others a little less so. If I had to give one piece of advice, it would be to be really organized in your work with a schedule to avoid falling behind. Communication was also essential in the project, whether with the teachers, but especially between members of the group, giving advice and feedback, not keeping your tips for yourself, sharing them really helped!

Thank you for your interest in our project, and on behalf of the entire team, THANK YOU!

Arthur Lenoir, 3D Environment Artist

Interview conducted by Emma Collins

Join discussion

Comments 0

    You might also like

    We need your consent

    We use cookies on this website to make your browsing experience better. By using the site you agree to our use of cookies.Learn more