Kornelia Błażyńska told us how the visual aspects of the Boti Boi project were created, explained how the animations were made, and shared the workflow with shaders.
Hey everyone, I’m Kornelia Błażyńska, an Environment Artist from Poland. I studied Graphics at the Academy of Fine Arts in Warsaw. Recently I was working at a Polish studio – Tate Multimedia, where I had a great opportunity to work as 3D Art Lead on stylized platformer Kao The Kangaroo. Currently, I work as an Environment Artist at Red Square Games.
The Boti Boi Project
My friends and I participated this year in Epic Mega Jam and made a game called Boti Boi, a stylized 3D platformer where you have to collect as much data as you can and upload it to the server before time runs out.
We had a team of five: Game Designer, Level Designer, Programmer, Sound Designer, and me on Art. After Epic’s announcement of the theme (Running Out of Space), we had a little brainstorm about what we can do in a very short period – 7 days. We had a few ideas but the best one to be completed in a given deadline seemed to be Boti Boi. Which for me, a person who loves platformers, was the best way to use and show my skills.
On my part, I had to prepare everything Art-related: shaders, models, textures, characters, animations, VFX, UI to be used in our Unreal Engine 5 project. I did not want to use any of my previous assets nor asset packs in any form. I wanted to keep the whole graphic part a week-long work.
As soon as game design started to clear out, I began by sketching the main character silhouette and collecting references upon which I could base the game world.
My biggest inspiration was 2 games I had the pleasure to play recently. First of them being the newest Ratchet and Clank, a platforming masterpiece, with a great balance between realism and stylization of the game world and interesting movement options available to players. Secondly, Astrobot, a game with an extremely interactive and responsive game world and captivating style. Because I decided to keep the game visuals “inside a computer”, I used additional references of various motherboards pics and all kinds of other tech used inside a PC.
Modeling the Scene
It is a very hard task to create game graphics with such quality as in the aforementioned titles in only a week of work time, even if the project has a small scope, but I wanted to achieve something as consistent as possible.
I started by preparing varying sizes of platforms that had their dimensions based on powers of 2, which would be a base for the future blockout. All of the asset shapes are based on simple geometry. The modeling part was done in 3ds Max. I decided to skip the high poly part of modeling in order to speed things up and add detail during texturing.
To make the game look more “lively”, I focused on creating the motion that I could achieve through simple animations on shaders, they were based mostly on rotations, displacements, or varying intensity of those in time or after an interaction from the player.
Shader Graph for animated assets:
Because the team had no animator, the main character has only two animations: running and idle. In order to give BotiBoi some more life, they dynamically change (in correspondence to gameplay) face expressions to reflect different states, the lights on the top of the head are reflecting the number of jumps that is available to the character, the vents on the back reflect the number of dashes. Boti also has a bar on its back that fills itself as the character is carrying more and more files. Once filled completely, it leads to overload which is also visualized on the material.
I have prepared a few smart materials in Substance Painter to consolidate and make texturing the non-animated models faster and easier. In Photoshop I made masks that were used in the animated ones. I have also created the textures of the motherboard that were used with Vertex Painting for fast and easy variation of the ground.
Interactive Grass Material
The interactive grass visuals were made with simple textures and a mesh that had vertex paint, the grass shader used SimpleGrassWind and I have also added a “Bend Function” that allowed interaction with Static Meshes colliding with the foliage. Unfortunately because of the short time available I was not able to adjust it so that it would also work with Skeletal Meshes.
The moving elements like platforms, rotating obstacles are gameplay objects, that are moved with Unreal Engine blueprints, are instances of main material that supports all of the animated effects like pulsing emissive, holographic elements, movement on the textures.
To add some additional movement I have added animated binary waterfalls with continuous movement of the numbers and a material for the collectibles effect.
Lighting and Rendering
Because the project was made using Unreal Engine 5, I had an opportunity to use Lumen as a Global Illumination Method, this allowed emissives to have a big impact in lighting the whole scene. The main source of light was Dynamic Directional Light and a few Point Lights in the darkest zones of the map. Due to no static lights, there was no need for baking the Light Maps which tremendously sped up working with lightning the scene, for which there was very little time at the end of the development period.
Additionally, there is a Volumetric Exponential Height Fog, and a few post-processes, mainly delicate color grading, vignette, chromatic aberration near the edges, and I have also consolidated light exposure.
The main challenge I faced during this project was clearly the time available for development. The Game Jam lasted only 7 days, and I could only commit the free time I had after work. Such time constraints greatly limit the content you can implement and there is a lot of choosing what should be prioritized over what. The hardest and most time-consuming part for me was facing the new topic that is character creation and animating said character. My past experience focuses mostly on environmental elements.
Game Jams are a great opportunity to grow your skills and get a better understanding of the game creation process. As advice for such events, I can highly recommend spending some time on the beginning on greatly thinking through the way of conducting the project, researching the stylistic references, and preparing a solid base for future work. It definitely made it easier for me to base most of the effects, material animations, and particles on one main shader – which allowed for a consistent result that emphasized the stylization.
You may find these articles interesting