Driven by her love for storytelling and technology, Romi Geleijn’s pursuit of AI programming took her to study in different places until she came back to Amsterdam to work at Guerrilla.
Romi dives into the details of growing up in Aalsmeer, studying in Amsterdam and Copenhagen, and what AI programming is all about.
Hi Romi! We’re so excited to chat with you today. Can you tell us a bit about yourself and your background?
Hi! I’m Romi and I’ve been with Guerrilla for almost two years now as an AI Programmer. I grew up in a small town not too far from Amsterdam called Aalsmeer (a place known for handbal or flower auctions)!
Growing up in Aalsmeer was great. One of my favorite things to do there is cuddling with my parents’ cats and going for a walk past the sheep and horses nearby and feeding them. This probably makes Aalsmeer sound more idyllic and remote than it actually is – Amsterdam is really only 20 minutes by car.
Because Amsterdam was so close, I decided to study at the University of Amsterdam after I finished high school. I picked AI as my major because I liked how the program offered both technological courses like programming and math, but also subjects like psychology and ethics. Afterwards, I moved to Copenhagen to study Game Technology and that was my home for two and a half years.
Was it difficult moving to a new city to continue your studies? What was life in Copenhagen like?
The similarities between Denmark and the Netherlands were pretty jarring. I remember the university’s welcome speech to the international students: “Welcome to the country of cycling, liquorice and flat landscapes”, which sounded a bit too familiar! Luckily, it was also different in a lot of ways and I had a great time living there.
Something I really like about Denmark is that they celebrate Christmas a lot longer than we do. I remember going to Christmas celebrations as early as November and still getting invitations well into February. They also have tons of Christmas traditions, like dancing around the Christmas tree, a countdown candle that they burn a bit everyday until Christmas, Pakkeleg (a Danish gift exchange game) and Jule Frokost (which translates to Christmas lunch – but weirdly, it was held in the evening and seemed to mostly serve as an excuse to drink lots of Snaps).
In Copenhagen, I really liked going to a board game café in the central area and I also miss this cheesecake café called Bertels Salon. I always try to visit them whenever I visit Copenhagen.
You mentioned you were there for two and a half years. After you finished your studies, what made you decide to move back to Amsterdam?
I loved visiting Amsterdam when I used to study there. I wanted to be closer to my family and Dutch friends again, so I decided to move back.
There are a lot of great things about living in Amsterdam, but one of the things I appreciate the most is cycling to work. It’s a really nice way to start the day. I’d argue that even on a rainy day it’s still nicer than taking the tram (but that could be my Dutch genes talking).
So you studied AI programming and game technology, then moved back to Amsterdam – when did you decide to pursue AI programming as a career?
I’ve always loved storytelling – in books, movies and video games, and it was always my dream to find a job related to this. The Last Of Us swayed me towards the games industry. The story had such a big impact on me, since I had to perform all the actions myself.
I loved programming and technology while I was studying, so this made games the best match. When I found out about game AI programming, it meant I could keep learning about AI – so it wasn’t hard to decide what I wanted to do next.
And what was it like getting started at Guerrilla?
I was always impressed by Guerrilla and heard a lot about the studio while I was studying in Amsterdam, but thought I’d need several years of experience to be an interesting candidate.
I tried anyway and this ended up not being the case! I joined Guerrilla right after finishing my studies and I’m so grateful for the opportunity to learn so much here. The AI team has several senior programmers, so it feels like I’m surrounded by a lot of knowledge and experience, which is a great privilege.
It’s great that you found your start at Guerrilla following your passion! To others, AI programming might sound really intimidating. Can you explain what it is to those who may be new to it?
AI programming refers to creating programs that have some type of artificial intelligence, meaning that they can “think” for themselves. When we talk about game AI, this usually refers to the characters in a game that are not controlled by the player (non-playable characters or NPCs).
Before I knew how to program, I felt a bit intimidated by it. If you look over the shoulder of a programmer and don’t know anything about code, it can look very complex. I’m very glad I learned how to do it anyway, because I find programming really fun: it feels like a completely different way of thinking and problem solving!
There are many other use cases for AI in games like procedural generation, player modeling or testing, but the AI team at Guerrilla mostly focuses on NPC behavior: the machines, human enemies, and the friendly characters that help Aloy.
What teams do you have to work with the most?
AI programmers collaborate with technical designers, animators and other programmers. The AI of an NPC influences the gameplay heavily, so this is something a designer and an AI programmer will look at together. If an enemy NPC is too smart, it won’t be fun to fight. I also talk to animators often, as the NPCs in our games are very animation-driven.
It sounds like your role affects a lot of disciplines, but are there any unique challenges you have to think about when working with AI?
The most challenging part is making the time the player spends with the AI enjoyable. It’s one thing to make the AI seem intelligent and have it navigate properly and attack the player correctly, but it can very quickly become too hard to fight. If the AI is extremely intelligent and impossible to beat, it won’t be a fun experience.
Another important thing is communicating to the player what the AI is thinking and planning to do. If the player can’t see that the enemy is about to attack, then the player can’t come up with a counter strategy.
Even with the challenges, what do you find most enjoyable about the process?
Making the experience fun for players involves a lot of tweaking, iterating and feedback from other departments and playtesters, but it’s also a fun process in itself!
It’s great working on a specific character with other teams, watching everyone’s creativity at work and contributing from different departments across design, animation, VFX, audio, and others.
I also like how varied the work within the AI team is. Sometimes you have more gameplay-related tasks, like programming enemy behavior and other times you get more technical tasks, like working on the underlying systems that drive the AI.
It sounds like everything you do is really cool, but if you had to choose – what’s your favourite thing you worked on during your time at Guerrilla so far?
I enjoyed the work I did on Horizon Forbidden West. Guerrilla was already quite far into the development when I joined, so I worked on bug fixes on various machines. One of the things I enjoyed about that period was that it was so varied. It was a nice, gentle introduction to all the machines and the different AI components that drive those machines.
I also worked on the AI of the fish in Horizon Forbidden West that you can hunt as a resource. This was challenging in a different way than working on the machines. For fish and other wildlife, we used steering techniques: the fish don't know where they're actually going, but they swim around in a random direction and will steer away from obstacles when they are right in front of them. It took some extra work to ensure the fish didn't swim into walls or out of the water. It was one of my more peaceful debugging assignments, as it meant I was swimming around in the world of Horizon for a good while, staring at some fish as the soundtrack was playing.
We’re seeing AI programming becoming more and more important in game development. Can you offer any advice to people wanting to pursue AI programming as you did?
The great thing about getting started in AI is that there are a lot of great resources online just by googling.
But there’s only so much you can learn from reading, so I recommend just getting started! You could download a free game engine like Unity or Unreal and start doing tutorials to create AI in there.
Good luck in your AI journey!