Role: Art Producer, General Technical Artist
Year: 2024
Genre: Puzzle
Platform: PC
Link:
Trailer:
Description:
Sorelle is a puzzle solving game about three young sisters Alessandra, Bella and Capri who gained magical powers from the broken stained glass. A terrible storm striked the island Isola Chiara inspired by Cefalu Sicily, and sisters want to solve environmental puzzles to help villagers get over with the storm and finally recover the broken stain glass. Art direction is towards painterly stylized to recreate the feeling of childhood wonder.
My Roles:
Authored a 40-page art bible elaborating the stylized PBR pipeline to equip the entire team with necessary production knowledge
Oversaw art team of 16 through Notion and Perforce, consistently giving constructive feedback, directing next steps, and communicating clear goals and outcomes
Created level design tools to provide convenience to designers like vertex color paints and variation decals
Adopted modular design to make iterations of completing environment faster
Coded complex shaders in Blueprint and Substance Designer to reach a stylized hand-painted visual in game
Technical Art Breakdown of Sorelle Pipeline
Technical Art Bible of Sorelle:
To make sure our project hit everything both in good quality and in reachable optimization, I set up this workflow guide from very early stage (Jun 2023)
From page 34 onwards, I explained 2D, 3D and UI pipelines to my teammates.
It was a huge shift from my last AGP (Manas) to Sorelle, as Sorelle has a very strong European cartoonic style attached, so I organized many talks with our director Gia and our art director Ina.
Now looking at what we have done and what we shipped, I am so glad I did Techinical Art Bible from a very early stage.
Also many many thanks to Ina for making the wonderful concepts and managing the style guide (page 1-33).
Cel Shading - First Step to our "Painterly Style"
In order to make "Painterly" style, at the very beginning I structed a strict pipeline for the characters. This is my Art Producer side and I made sure people understand the way our shaders work, the way the characters need to be made and the way they behave in game.
I monitored characters to be created from Silhouettes, to Concepts, to Turnarounds, to A-poses, to Models, to Textures, to Rigs and finally to a full playable animated character in game.
Cel shading in Sorelle is a multi-cel cel shading with custom character shaders. Detailed AOs and hatches are directly applied onto base color.
I used the first cel for dark tints, the second for transitioning, and third for full length in the final version of cel shader.
Example of Fisherman model, 1st cel disabled, 2nd cel 0~0.3, 3rd cel 0.3~0.5 and full albedo at 0.5-1.0
(Shader on vs off)
(Cel shading structure overview)
Painterly stroke - Material pipeline for surfaces
Art direction wants painterly stroke to be applied on surfaces. And this required some tools to make sure it functions.
The tool I made for applying strokes onto surface was by layering the strokes like making a cake to "build up" the final texture.
Vertex color paint is also enabled in this shader, so that we can paint imperfections on corners to match up things better
Fun story here, I was debating with Gia a lot about if we should make the stroke "obvious" more (Valorant style) or "faint" more (Ghibli style), we finally kinda agreed on the latter so this shader serves more on the details of a building
(example of strokes applied onto bricks)
(initial prototype of painterly strokes on buildings)
(White walls with yellow-grey strokes)
(Shops with yellow and pink walls carry heavier strokes)
(Shader code sample)
Skybox and the time change in Sorelle:
Our game plot happens in one full day, from dawn to dusk to mid-night
I made a light-manager to manage different light settings accross the game
In certain parts of the game, after you hit a certain save point, time change function is triggered and there will be a smooth transition from a light setting to another
In order to make lives easier for designers, I implemented 4 "demo" light settings that they can drag and drop in editor without breaking the game.
Thanks to our 2D key artist Dom who handpainted every skybox, we worked very closely to make the "hand-paint sky" into our game. They look amazing!!!
(Demo all-in-one light managers for designers)
(Gradual light transition from morning to noon)
Water:
The water uses unreal 5's unique water material system, deflecting red and green lights while remaining the blue lights to show a translucent ocean
I added foam as panning normal and simulated the wave pushing to shore
I did three versions of water (UE4 method, opaque ocean and the refractive ocean) until I got to this one
The unreal version we use for the game is the version without tessellation, so I had to give up on the tide system I used in the "Dam of Oasis" project
(Ocean touches beach nicely in transition)
(The water is pretty translucent so you can see the rock beneath)
Adding taste of life:
To make our Isola Chiara more believable as a place to live in, we constructed the entire island in Gaea and carried it to our game.
Although minimal to see in game, grasses are auto-generated
I adjusted the grass culling to be a nice background without losing too much frames rendering them.
I also brought in a lot of decals to differentiate areas from areas based on our 2d concepts from Nina. Signs and restaurant labels are scattered across the town.
Fun fact: The decal idea is inspired by Valorant, during a game I played as Defense in Sunset, I found the walls with big graffitis and signs.
(The top-down map of Isola Chiara)
(Auto-generated grass occupies the outer area of town)
(Decals are used to differentiate some buildings against others)
Difficulties and my own thoughts:
Difficulties:
So many...the most memorable one being the cathedral not exactly aligning what we imagined it to be. We freaked out for a day, but returned with confidence to fix it.
Communication with teammates. Making tools is only the first step; teaching teammates on how to use the tools often matters much more and takes even longer time. This is what I learned during my time developing my shaders and lightings.
Conclusion:
Stepping out of my comfort zone of making realistic graphics is hard, but I loved the learning process and I am also shocked to see what we brought together in the end.
If there is a second time making Sorelle, we might make it better, but the time together is too unforgettable that this experience together is unique to us all. Inside workspace , we are teammates collaborating intensely; outside workspace, we are good friends who hangout often to eat pastas across the entire LA. So I am glad enough to be part of the team and have made this game since concept.
Cheers to Team Sorelle!
(Photo of gold party)
(Leads of Team Sorelle)