All articles

KajoData / Career & business

Animation engineering: a conversation with Adrianna Bielak

How does code make movement respond to a player? I revisit my conversation with Adrianna Bielak and explain the technical ideas through simple examples.

Kajo RudzińskiPublished Updated 9 min read

A pixel art ball in successive positions above a platform, beside a mechanical linkage and animation timeline.

A few seconds of game animation can conceal a considerable amount of programming. A character needs to respond to a change in direction, stop near an obstacle and move into another action without appearing to have its movement abruptly replaced. I discussed this technical work with Adrianna Bielak, known as geeky unicorn dev. In the published interview, she combines an animation engineer’s perspective with her experience in choreography.

What interests me most is the meeting of knowledge about motion and the ability to build systems. Knowing a tool helps you make a change, but first you need to recognize what looks unconvincing and why. An analyst faces a familiar distinction here: performing an operation correctly is one step, and understanding its meaning is another.

Below, I select excerpts from the previously published interview text. Adrianna’s words appear as quotations, while my new explanations are labeled separately. This is an abridged edition of the interview, without a claim that it matches a verified transcript of the recording. I do not add new experiences or answers on the guest’s behalf. The accompanying recording is in Polish and is available on the Polish version of this article.

How movement becomes behavior in a game engine

Kajo, a question from the published interview: When you say you are an animation engineer, what does that actually mean in your daily practice?

Adrianna, excerpt from her answer:

An animator creates beautiful, expressive sequences in programs like Maya or Blender. My job is to take that data and build a system that “knows” when a character should start running, how to blend smoothly from a walk to a sprint, and what to do when the character suddenly has to stop on uneven terrain.

My commentary: This example separates preparing a sequence from controlling it in an interactive situation. A player can change their decision while movement is underway. The system therefore needs transition rules, information about the character’s state and a way to reconcile animation with the environment. A finished clip becomes material for behavior that responds to input.

The interview mentions state machines and animation graphs. State machines describe states and the conditions for changing them, such as moving from standing still to locomotion. A graph organizes the data flow and operations that produce the final pose. Responsibilities do not have to be identical across studios. Ask about actual duties instead of inferring an entire role from its title.

Why motion capture still needs further work

Kajo, a question from the published interview: Does that make your job easier?

The question referred to motion capture, or recording movement. Before it, we discussed model preparation, rigging and the animator’s work.

Adrianna, excerpt from her answer:

Raw motion capture data is often “dirty” and requires cleaning and adaptation. My task within the game engine (like Unreal Engine or Unity) is to make sure those recordings work with the game’s mechanics.

My commentary: The published answer continues with an example of sitting on a chair. A recording made in one arrangement needs to fit a situation inside the game. This explains why acquiring movement data does not resolve every problem. Object position, proportions, contact with the environment and gameplay rules all affect the result.

A rig provides a structure for controlling a model, with bones, controls and constraints appropriate to the task. Inverse kinematics, or IK, determines a chain’s configuration in relation to a target. The Blender documentation describes rotating multiple bones so the end of the chain follows a target. This needs suitable configuration; the mechanism alone does not guarantee convincing movement in every situation.

What mathematical notation of emotion means here

Kajo, a question from the published interview: What do you mean by that?

I was asking about the expression “mathematical notation of emotions.” Adrianna explained it through a character whose walking changes after an injury.

Adrianna, excerpt from her answer:

Instead, we create systems that “mix” the healthy walk with a limp using weights. If a character has 50% health, we take 0.5 of one animation and 0.5 of another.

My commentary: I read this as an illustration of animation blending. The mapping between health and a weight is a design decision. It need not be linear and is not a universal recipe for games. Combining poses or rotations also requires operations appropriate to their representation. Simply averaging every number describing a character is not a reliable general method.

Epic Games describes blending as combining animations, with different ways of applying the result to poses and parts of a skeleton. Blend Spaces can use parameters such as direction and speed. These mechanisms help translate game state into motion. Whether a viewer perceives exhaustion or determination also depends on the quality of the material and artistic decisions.

How choreography helps identify a problem

Kajo, a question from the published interview: How do these two passions influence each other?

We were discussing programming and choreography. I retain that context because otherwise the answer could look like a general promise about any career change.

Adrianna, excerpt from her answer:

I “feel” where a character’s center of gravity is. I know that if a character takes a step forward, the hips must react in a specific way.

The next part of the published answer explains that this helps Adrianna identify what is wrong with an animation in mechanical as well as intuitive terms.

My commentary: The ability to name the problem is particularly interesting to me. Instead of simply saying “it looks strange,” someone can identify a moment, movement direction or missing response elsewhere in the system. That makes the discussion between the person evaluating the result and the person changing the system more precise. Domain knowledge supplies criteria for checking a proposed fix.

I do not treat this as a promise that every previous interest automatically leads to a job in technology. It illustrates a specific way of using experience. You need to identify the task it helps with and the skills you still need. I ask a similar question when discussing moving from the humanities into data analysis: what do I already understand, and which tools do I still need to learn?

Pixel art cubes on two tracks illustrating evenly spaced movement and a gradual start and stop.

AI and the time available for a frame

Kajo, questions from the published interview: What about writing code with AI? Do you use Copilot or similar tools?

Adrianna, excerpt from her answer:

Yes, but with great caution. AI is great at boilerplate code.

Later in that answer, Adrianna describes the risk of suggestions that appear reasonable but could perform poorly inside a game engine. I present this as her assessment in the conversation, without adding benchmark results or a current verdict on all AI tools. Earlier, she also discusses using AI to prototype movement variations.

My commentary: The reference to roughly 16 milliseconds in the original text needs clarification. At a target of 60 frames per second, the interval between frames is approximately 16.67 ms: 1000 divided by 60. This is a reference for the whole frame, rather than a budget available exclusively for animation. At a target of 30 frames per second, it is approximately 33.33 ms. How work is divided and operations overlap depends on the system.

Evaluating a proposed implementation therefore requires measurements in an appropriate environment. Correct syntax alone does not establish the cost when many objects are involved. I also do not turn the interview into a guarantee that a particular role is immune to every labor-market change. The value of fundamentals has a concrete explanation: they help you understand the result, locate a constraint and check whether a change actually helps.

My example: the same distance, a different sense of movement

This is an additional teaching exercise, separate from Adrianna’s statements. Imagine moving a cube from position 0 to position 10 within one arbitrary unit of time. The parameter t represents progress from 0 to 1. For linear movement, I calculate position as 10t. Halfway through the time interval, the cube is at position 5, and equal time intervals produce equal displacements.

For the second version, position is 10(3t²−2t³). At the beginning and end of the interval, the rate of position change is zero. The cube starts gradually and slows down before stopping. At t = 0.25, the first version gives 2.5 and the second gives 1.5625. At t = 0.75, the positions are 7.5 and 8.4375 respectively. The start, midpoint and endpoint agree, while movement is distributed differently over time.

This is a simple scalar interpolation example. It is neither a physics simulation nor a complete character-animation method. It does, however, let you examine why the values between keyframes matter. Calculate a few points in a spreadsheet or Python and plot position over time. Then describe what you observe: when the cube starts more slowly, when it accelerates and how it approaches its destination.

Where to begin exploring the topic

In the final part of the published conversation, Adrianna recommends game jams, working with other people, specialization and observing games analytically. I preserve that direction as the guest’s advice. I do not define every game jam by a single duration or present participation as a guarantee of employment. Check the rules of a particular event and choose a scope the team can handle.

My practical addition is modest: choose one motion problem and show the route to a correction. It might be a transition between two states, stopping a simple object or adapting a mechanism to a target. Record the conditions, expected behavior, observed problem and effect of the change. This gives people something concrete to discuss about your reasoning, even before a project resembles a polished commercial game.

You can find Adrianna as geekyunicorndev and on LinkedIn. What I take from the conversation is an interest in the work between data and a perceptible result. Mathematics and code become useful when they help build behavior that can be deliberately evaluated and improved.

Key takeaways

What does an animation engineer do?

They connect animation data with game-engine logic and constraints, managing transitions, responses to player actions and motion adaptation. Responsibilities shared by animators, riggers and programmers vary between teams.

Can dance experience replace programming and mathematics?

No. Adrianna explains how understanding movement helps her recognize and describe animation problems. Implementing a solution still requires the relevant technical skills.

Is this a complete transcript of the recording?

No. It combines selected excerpts from the previously published interview text with separately labeled commentary by Kajo. The quotations were not checked against a video transcript.

Kajo Rudziński

Newsletter KajoData

Let’s keep in touch.

I write about data analysis, learning and changing careers. My newsletter and the sign-up form are in Polish. If that works for you, I’d be glad to see you there.