logo80lv
Articlesclick_arrow
Talentsclick_arrow
Events
Workshops
Aboutclick_arrow
profile_login
Log in
0
Save
Copy Link
Share

Designing and Animating a Cute Robot for a Game Prototype

Paul Thureau and Adiyar Aidarbekov shared the workflow behind the Loot 4 Coconut | Robot, talking about how the project started as a study to then become a game prototype, and detailing how the robot was modeled and how they used the Locomotor plugin to animate it.

Introduction

Adiyar: Hey! I'm Adiyar, a Realtime VFX/Technical Artist from Kazakhstan, based in Helsinki, Finland. My journey began in 2018 with 3D modelling, which accidentally led me to SideFX Houdini and simulations, fire, sand, and water. Discovering Unreal Engine shifted my focus entirely toward real-time VFX, which aligned perfectly with my gamer background.

In 2019, I started as a Junior VFX Artist in mobile games at a studio in Saint Petersburg, and studio after studio, I progressed from there, eventually relocating to Finland and contributing to Overwatch 2 as part of a local co-dev team. That experience introduced me to a lot of talented professionals, including Paul, with whom I still keep in touch.

Paul: Hi! I'm Paul, a French 3D Artist for games and animation based in Finland. I've been working as a Digital Artist for over 10 years, but I jumped into 3D and game art only a few years ago. Before that, I ran a small production team creating music videos and visuals for heavy metal bands.

When the pandemic hit in 2020, the music industry almost stopped overnight: I took it as an opportunity to shift my career and learn 3D. Since then, I've been working across games and animation as both a Concept and 3D Artist. One of the highlights was contributing to Overwatch 2 as a Concept Artist with a co-dev team (and that's where Adiyar and I met).

Inspirations

Paul: It originally just started as a small 3D portfolio piece for me, based on the awesome Gaudi-inspired robot concept by Sasha Tudvaseva.

After a quick chat with Adiyar, a lot of gameplay possibilities appeared, and the need for the robot to walk seemed obvious! The urge to work on this project together snowballed into something bigger: of course, making a full game wasn't an option here, so we decided to use this project as a training ground for how to develop a vertical slice.

We both loved the idea of a modern take on 2000s feel-good platformers (Super Mario Sunshine, Spyro, Ape Escape, etc.). The goofiness of the robot's locomotion, coupled with the vibrant 2000s tropical aesthetics, seemed like a perfect match!

Modeling and Texturing the Robot

Paul: The robot was modeled fully in Blender with Sub-D and with heavy use of floaters. Back when working with the Overwatch team, I was introduced to their workflow, including an extensive use of floaters. I personally loved the approach, and never looked back since!

If you have never heard that term before, "Floaters" are simply geometry elements floating above your main meshes, allowing for a less destructive detailing workflow. All the details get then baked into Normal/Cavity/Curvature/AO, etc. maps. While not ideal for realistic animation models that require much more geometry and fidelity, for game-ready assets, it's a no-brainer.

This approach works great for paneling, screws, techy bits, etc., but can be used in many other ways too! The robot features several hundred of them:

I tend to prioritize non-destructive workflows, and using Blender for hard-surface modeling really supports that, especially with the addition of geo-node–based tools.

For instance, I relied heavily on normalMagic's toolset for normal transfers, as well as Edge Adjust for maintaining clean edges and bevels, and a few tools I made, like Normal Welder.

An example of how normalMagic "Smooth Normals" made my life simpler: half-spheres and domes always cause ugly pinches (yes, even with quads/Sub-D cubes). So now I just go shamelessly with a simple sphere with pole caps, and smooth it out with brute force.

Retopology was done using Blender alongside TopoGun. One of the biggest advantages of working with floaters is that the main high-poly meshes stay clean and relatively simple, which makes them a much better base for building the low-poly. As a result, that part of the process is usually quite fast for me.

The texturing was almost entirely done in Substance 3D Painter.

Besides the texturing itself, Substance 3D was very handy to quickly create RGB alpha masks to drive and control parameters in Unreal's shaders. For instance, to tweak separately fresnel values/colors on the character's materials, or control the character's different states (standard vs. overheat, etc.).

Locomotion and VFX

Adiyar: For the locomotion, we used the "Locomotor" plugin from Unreal Engine to make a robot movement. It has a lot of variables to play with. Here's a small example of the Locomotor plugin and what it's capable of, and in-game setup:

Thanks to the plugin, the whole setup required two main nodes, Locomotor itself and FullBodyIK to make it move:

Since we had 4 legs with identical behaviour, it made sense to group bones into arrays by type and set IK constraints per array, rather than iterating through all of them every time:

As for VFX, the main Niagara System is Smoke Puffs, which has to show the fuel state dynamically. As input, it receives only the Normalized Fuel value from the character. Also, Niagara System can spawn MetaSounds, so it was convenient to just spawn sound inside and sync it with puffs. Example: 

Paul made triggerable states for engine MetaSound, which also receives only the FuelValue as input: 

On top of that, there's a gameplay setup challenge to make the game work, handle inputs, character/camera movement, coconut interaction, fuel logic with UI, etc. The main helpful feature in the project appeared to be the Gameplay Ability System (GAS) driven mechanics.

Basically, with GAS, everything is handled through tags, and if the tag/attribute was assigned/removed or changed, actors can handle different logic. Gameplay-driven health states:

Conclusion

Adiyar: Don't limit yourself to your specialty. Learn everything you can. It unlocks creative solutions you'd never find while staying in your lane. Keep making your own stuff. Hating your craft? It's not the tool, it's the routine. Dig up that stupid idea from your mind's backlog and just start making it. Don't do it alone either. Shared burnout is half the burnout. Team up and you'll come out more motivated and capable than when you started, at least you’ll share experience and learn something new from teammates.

Technical advice: Learn source control, preferably Perforce, if you're working in Unreal Engine. It takes a bit of setup, but the moment it's running, you won't be able to imagine how you ever worked without it.

Paul: Start small and stay curious! Join Discord communities, share your work online, and be open to feedback from more experienced artists. Feedback is good: even veterans need a second pair of eyes. More importantly, be kind to yourself and keep going even when the result isn't what you hoped for: The second pancake always turns out better than the first one.

Project Breakdown:

Adiyar Aidarbekov:

Sasha Tudvaseva:

Paul Thureau and Adiyar Aidarbekov, 3D Game Artists

Interview conducted by Gloria Levine

Ready to grow your game’s revenue?
Talk to us

Comments

0

arrow
Type your comment here
Leave Comment
Ready to grow your game’s revenue?
Talk to us

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