How to multiply vectors
Interviewee: Freya Holmér, Game Developer
Your work suggests that Geometric Algebra provides a unified framework for concepts such as curvature and spline manipulation. Beyond these examples, are there other findings you made along the way?
Much of the value of Geometric Algebra lies in how it reframes existing mathematical concepts. Rather than introducing entirely new tools, it reveals deeper connections between familiar ones, such as the dot and cross product.
For example angular velocity is treated as a vector in classical formulations, yet it does not behave like one under certain transformations such as mirroring. This inconsistency is typically addressed by labelling it a pseudo-vector. In GA, however, angular velocity is represented as a bivector, which defines it as a plane with orientation and magnitude.
Similarly, another reinterpretation applies to modeling. Although commonly treated as vectors, they are more accurately described as bivectors. This perspective aligns their behaviour with the underlying geometry and transformation properties.
Another insight is about curvature: in two dimensions, curvature is expressed as a scalar, whereas in three dimensions it appears as a vector. GA once again unifies these representations as bivectors, with the only difference being the number of components in each space.
What field of game development do you expect to adopt Geometric Algebra the quickest?
Engine developers and technical artists are the most likely to benefit from its abstractions, whereas gameplay programmers don’t have much use for it.
The primary barrier is not technical but institutional. Existing systems are deeply embedded in current workflows, and replacing fundamental representations would require significant restructuring. Adoption will likely emerge in new engines designed with Geometric Algebra from the ground up.
Are there hardware limitations associated with using Geometric Algebra?
I don’t think there are significant hardware limitations. Most operations in GA boil down to computations like the traditional approaches. The distinction lies mainly in interpretation rather than implementation.
Performance considerations remain tied to representation choices. Quaternions are fast at interpolating rotations, matrices are fast at transforming positions since most of the axis information is already baked in the structure, Euler angles are easy for the user to play around with… Each representation serves a different purpose and trade-offs. These trade-offs will persist regardless of the mathematical framework used.
Should aspiring developers prioritise learning Geometric Algebra?
In my experience, I found Geometric Algebra to be best used as a framework to gain perspective. While it offers valuable insights and should be prioritised to a certain extent, it should not take over the core topics essential to game development.

Do you see deeper exploration of Geometric Algebra contributing to future developments?
It is possible that further exploration could lead to useful discoveries, although this is not guaranteed. The field still contains mysteries, and deeper investigation may reveal new use cases.
In practice, my engagement with GA is often guided by a balance between curiosity and practicality. While I find research valuable, it must begin from actual necessity from my projects.

Have you considered implementing a custom renderer using Geometric Algebra?
I think this is a question of practicality. While the idea of creating a brand-new engine is interesting and could lead to interesting results, it is a big commitment.
Using an existing system is a more efficient approach. Custom rendering pipelines can still be implemented in such frameworks, without the constraint of maintaining a full engine.
Your tool targets a more specialised audience compared to large–scale software. How does this influence development?
Focusing on a narrower audience enables faster iteration and greater flexibility. Large software systems often experience slow development cycles due to their scale and bureaucratic complexity.
In contrast, I find that smaller projects like mine can implement and deploy features more rapidly at times. I decide what to experiment and how responsive I can be to user requests.
Thank you for having travelled to Howest, for delivering your lecture and granting this interview!
Interview conducted by Bas Feitsma