Characters
[p]We started making this game back in the days when every extra polygon could snap a GPU’s spine or turn a CPU into an electric fireplace. We had to keep a tight leash on total polycount, texture sizes, and effect juiciness.[/p][p]But technology has come a long way. Today’s hardware can handle much more, so we decided it was time to update our characters: “It’s not right for our players to be distracted by sharp edges and outdated models — especially in the inventory screen!” And so, our lone 3D artist heroically stepped up and gave all the characters a well-deserved smoothing pass, more curves, more polish. and to everything they can wear, including clothes and gear.[/p][p]In addition to increasing the polygon count, we replaced the characters' skeletons with the newer UE5 version. This allowed us to fix various issues with character poses and achieve more natural-looking animations.[/p][p][/p]Animations
[p]More detail and smoother lines aren’t just for eye candy. Characters move. They do stuff. They strike extravagant poses. And when there aren’t enough polygons around the joints... things get ugly. Real ugly.[/p][p]So we made another bold decision: Replace ALL the animations with new ones.[/p][p]A bit of backstory:[/p][p]For years, we didn’t have a dedicated animator. All character animations were stitched together from marketplace packs and Frankensteined by our programmers. While we did our best, the results didn’t fully meet our expectations. Natural, believable animations bring characters to life.[/p][p]So we hunted down an animator, set the goals, cranked the tempo and… All old animations were remade. Tons of new ones added. And we’re not done yet. There's no such thing as too many animations!.[/p][p][/p]Logic
[p]Now we come to the core system:[/p][p]AnimBP (short for Animation Blueprint) is the system that controls animations in Unreal Engine. But that’s not all. It also handles logic, gathers character state data, defines transitions between animations, and much more. (Feel free to dive into the docs if you’re curious.)[/p][p]Basically, AnimBP is the puppet master behind all the fancy moves your characters make. It’s a complex web of subsystems, and if you don’t keep an eye on it, it turns into a tangled, sluggish monstrosity — like a copper-wire cube of chaos.[/p][p]Which is... exactly what happened to ours after years of development. So we made yet another tough call — the third heroic decision: Untangle the mess. Slim it down. Break it apart and make it clean again. Why now? Because there are a lot of characters on screen at once, doing complex stuff. AnimBP has to work overtime to keep up, and performance takes a hit — even modern hardware starts to remember how its ancestors felt back in the Stone Age.[/p][p]Unlike the visual updates to characters and animations, refactoring and optimizing the AnimBP system was a beast. It needed the attention of every engineer on my team. But good news — we pulled it off faster than expected! A huge chunk of logic was also rewritten in C++, which gave the game a noticeable performance boost.[/p][p][/p]In Summary
[p]All of the above might sound routine, and it’s true — most of these changes are behind the scenes and not immediately obvious to players. But they were essential. Without this groundwork, it’d be hard to move forward with the next big step:[/p][p]The Mission and Event System — dialogues, quests, events, trading and more. Everything that’s needed to finally give the game its long-promised story-driven RPG identity.[/p][p]But that’s a tale for the next dev blog. Stay tuned and thank you for being here with us, people![/p][p][/p]