About the Episode
Recorded live at GDC 2026, Jase sat down with Tom Guillermin, Co‑Founder and CTO of Sandfall Interactive, to unpack how Clair Obscur: Expedition 33 grew from a bedroom prototype into an award‑winning global hit. Tom shares the technical and creative decisions that helped a 30‑person team move fast without breaking things.
Here's what you'll learn:
- Why Sandfall Interactive chose Perforce P4 + Unreal over DIY versioning
- How lightweight bots gave real‑time visibility and protected release branches
- What enabling nightly builds across PC, Xbox, and PlayStation really looks like at a small studio
- Tom’s advice for founders: technology should serve designers, not slow them down
FEATURING
Jase Lindgren
Senior P4 User Advocate
linkedin.com/in/jaselindgren
Tom Guillermin
CTO & Founder, Sandfall Interactive
linkedin.com/in/tomguillermin
Check Out More Episodes...
Ready or Not, Here Comes CI/CD: Build Systems for an Indie Sensation
Stephen Post, Technical Director
VOID Interactive
From Maya to Unreal: The Story Behind Nickelodeon's Max and the Midknights
Sica von Medicus, CG Supervisor
Nickelodeon Animation Studios
Fail Fast, Fix Faster: Pipeline Wisdom from Halo Infinite to Virtual Production
Luis Placid, Engineering Director
ICVR & Shiftstorm Entertainment
Full Transcription
Welcome to In Development, the podcast where we dig into the real technical work behind building games and interactive worlds. I'm your host, Jace Lindgren. And this episode is something a little bit different. We recorded this one live at the GDC Festival of Gaming in San Francisco, where I got to sit down with Tom Guierman, the co founder and CTO of Sandfall Interactive, the studio behind Claire Obscure, Expedition thirty three, winner of the game of the year, as well as a host of other awards.
Tom talks openly about what it took to go from a one person passion project to a small three person team to eventually a thirty person studio plus contractors as they pushed toward launch. He gets into the real growing pains, how their production pipeline had to evolve as the team scaled, as publisher expectations began to kick in, and as the pressure mounted to actually ship the game. What I love about this conversation is the honesty. This is a team that got it done with a mix of professional tools that are industry tested, as well as their own scrappy self written scripts and automations.
And the result was a game that became a global sensation. So with that, let's dive into the interview.
So thank you so much for joining me today, Tom.
Yeah. Super happy to be here. I'm really happy to be doing this. Yeah.
I'm sure I don't have to introduce to anyone here what Claire Obscure Expedition thirty three is, but just in case you haven't seen it, we'll play a little trailer of that game, which is up for basically every award there is in gaming right now.
Mermaid. The conversations we'll never have, the time we'll never spend.
We exist for as long as she wants.
The painters and Noah, they will pay.
The lake bearer cycle. It will only destroy the last time you have to each other.
There's so many questions left to answer.
Look around. He just wants you to fly. Time for the greatest expedition in history.
Let's celebrate. Let's celebrate.
Yeah. So many compliments in that trailer because it's overwhelming.
Yeah.
So for for many of you out there, you probably know this already, but Expedition thirty three, this team that you put together for Sam Fall was just three of you at first. Right?
I mean, at the very beginning, it was, like, only Guillaume, you know, the creative director. So he, yeah, started that project in his in his bedroom literally.
Yeah, I think that's something I said before, but it's literally, you know, the same project files that just, you know, kept growing and growing until we created the studio and we had the vertical size. And what we actually shipped is really the same project file as what, you know, Guillaume started in his bedroom in twenty nineteen Okay. When we were both in Sweden working at Massive on the division two.
So we were colleagues and friends Right.
At the time. So, yeah, it's a bit crazy to see, you know, how far this project went in the end.
Yeah. And and what I love about this is that whenever I'm talking to people who are starting a new indie studio, right, like they have some idea, they're working with a couple friends or something and they wanna do something, there can be this feeling of like, yeah, but we just don't know enough. We don't know how to do this. And you all had backgrounds at bigger, you know, triple a game studios.
But then when you and I were talking about this, you're like, yeah. But when you're in those big studios, you have your specialty. You have your area, but you don't know all the stuff necessarily. And you're like, I know that there should be something here.
Like, I know someone should be doing this. Yeah. And so in one of those for you was Perforce, was getting that set up right at the beginning. Yeah.
That's so coming from Ubisoft, they were using Perforce, of course.
But, yeah, when you start, you know, the project and you have, you know so it was you and myself at first, and then we had Nicolas, you know, the other director. He started working on the project as well, contributing a little bit on new levels, that kind of things.
And we started to see that we couldn't just, you know with Neom, before that, we would be exchanging files back and forth through, you know, Facebook Messenger or or by email or USB drives. So so, yeah, we had to, you know, step up a little bit.
We couldn't use, yeah, ******* Dropbox or Google Drive to Right.
Exchange files.
So that's when we started looking into which, you know, technical solutions we could use to have this first scale up phase even though it wasn't much Like scaling up from two to So two to three.
Three. Okay.
Two to three was already like a a first yeah. Something that we had to think about a little bit.
And, yeah, basically so at the time, we turned to Perforce because, like, it was, you know, well integrated with Unreal, which was like a a key point for us because we didn't want to spend time, you know, developing versioning tools or all that kind of things. And with Unreal, you have Unreal Game Sync, which allows you to, you know, synchronize the latest files of the project and the latest binary of the editor.
So you used that right from the beginning?
You had Unreal Game Sync set up. Like, we set up Perforce at first just to exchange files. And then when we actually created the studios, so like nine months after that Okay. And some people in the team were coming in, yeah, we needed to have a way to share the editor binary files with everybody because we couldn't have everybody, you know, set up Visual Studio to compile the editor themselves because you would have, you know, yeah, issue a lot of issues doing that.
Yeah. Building Unreal from source is not for the faint of heart.
Yeah. Exactly. Like, you have different compiler versions and yeah. So we wanted something really, like, easy to use and and bulletproof, and we were happy to discover that, you know, it was part of the Unreal ecosystem. It's not really, you know at the time, wasn't marketed much. All those external external tools that you do have to compile them yourself in the first place, but in the end, it's really like helping out, you know, the team to have like a on a day to day basis, it's much easier for them to to work if they don't have weird compilation errors when they are not programmers.
Yeah. Yeah. For sure. And that's actually a lot easier now. I feel like when you were doing that, Unreal game sync still took a lot more manual compiling, and now actually, Epix made that a lot easier with Horde. You can just install that and then download UGS, and it's all there. Right?
Yeah. I mean, this is something we are looking, you know, for the next project, how we can upgrade that because a lot of the tools that we had, of course, they were set up in twenty twenty, twenty twenty one.
And And you've just kept them like that.
And so and you know when it works. Sometimes, you don't have to touch it.
So but, yeah, there are many tools that are available and when it comes to versioning, when it comes to DevOps, which is also like a big topic that you have to to deal with, you know, when the team is like growing and the scope of the project is growing and you start to have, you know, milestones and you have to have a reliable build system to put out the builds for either, I don't know, the vertical slice or when you sign a publisher, you have publisher milestones that you have to, yeah, be consistently delivering.
Right. Right.
So yeah. And even just for, you know, day to day QA, having a nightly build that you don't have to, you know, manually trigger on your own machine or it's like coming yeah. It's going a long way to professionalizing the the environment in which the team is working and, yeah, QA team has, yeah, new fresh builds every day. Or if there is an issue, you see it like, yeah, on a day to day basis, which is much better than month to month basis which we're Yeah. We're doing before.
Yeah. Yeah. For sure. And so so to kind of frame what we're gonna be talking about today.
So the the title of this talk that we submitted was this scaling up a project with the creators of Claire Obscure Expedition thirty three. What I wanted to call it was A Tale of Three Bots, A Brief History of Sandfall Interactive and Audio Visual Play in Three Acts. But that one didn't get accepted for some reason. I don't know what the deal is with But kinda when we were talking about this, we talked about how, you know, you were this very small team, very scrappy, trying to put this together.
You didn't have like a whole team to manage your build pipeline for you. You all had to do this yourselves.
And in doing that, you you talked about there were these three bots that you've kind of built along the way or three like automations that you built for yourselves along the way. And so I think that might be a fun way to kind of line up where we are in the story with Yeah. How many bots we have. So at what point did you make that first one that was about getting awareness?
So like, tell us about that. Here we go. Act one. Act one.
Very dramatic. So yeah. First of all, like when we create a bot, know, like it's of course developer time and developer time is super precious at Sunfall. And for a while, I was the only developer the only programmer in the team.
So you were doing all this automation stuff yourself?
At the very beginning, yeah, I I would. So and the time I would spend doing that would be time not spent on, you know, developing the battle system, fixing bugs, helping people with, you know, crashes in the editor, those kind of things. So when we decide to develop a tool like that, we really consider how important it is that we actually have this. It sounds like, oh, let's just try and see how it goes. Like, we yeah. It's a natural decision that we have to to make.
So the very first tool came in as we opened up the studio in Montpellier. So we had So how many people? So at the time, it was like six people on-site and one person remote.
Okay.
Got it.
So, yeah, we just had, you know, fundraising money to open up an actual studio and hire people. Okay. So the team started to to grow a little bit at this point. And that means more content was, you know, being pushed on Perforce.
And we had Francois, another cofounder of Saint Paul who was doing the producing of the project. And he needed, you know, to have visibility over what people were doing in the project because it was all very organic. It's a small team, so, you know, the game director can go and discuss with everybody. Everybody is talking to each other directly over the desk.
And Francois was also working part time remote from Paris. So we were based in Montpellier, Southern France, but he was based with his family in Paris. So would come very often to Montpellier, but still like a lot was happening, you know, in the room when it comes to what is being developed by the team.
So, yeah, he needed better visibility of what was going on. So the first bot that we developed was an integration with Discord, actually. So every new submit that would be pushed on Perforce would trigger, like, a quick message with changes number, description, who pushed it, which branch on a dedicated channel in Discord.
And this way, even when you don't have, you know, p four v installed or from Paris, you wouldn't have access to the, you know, Intel Like, on your phone.
Even server, like, from your phone as well. It can be useful sometimes as well when Guillaume was doing, you know, some late nights. Right. Which would, you know, keep an eye on it.
Yeah. Yeah. So so it was really helpful to, yeah, to share this visibility of what's going on in the project. And quickly later, we had producer intern coming in as well.
So he was based in Montpellier, but still the tool for him was super convenient for him to check what was happening on the project. And when he saw something happening, could you know, go talk to the person. It would you know, be a conversation starter basically.
Right. Yeah. See that like you knew you knew that you needed to be more aware of what was going on.
Yeah. As you grew up, like, it's not always possible, you know, to, yeah, keep an eye on everything. So having a simple way to check that, it's really and you have, you know it's maybe a bit stupid, but you know the new message notification.
So you know when you're up to date or when there's been new stuff on that see.
You can kinda see how many new messages there are. Yeah. Okay. Got it. Got it. Nice.
You can see you see it's been a busy night for you all night.
Correct. And so you still you use Discord through the whole process. Right? Just with your little Yeah. Bots and automations and things like that?
Yeah. Discord, like, it's really like our central tool for communication.
And then as we went we moved further on the project, like, we have, you know, external partners on specific channels as well. So when it comes to QA, for example, we have dedicated channels to communicate with them.
So it's really like very central to to the way we work. We did some efforts, you know, to even when some people are in the same room to still put a message in there so people that are not on-site can still, you know, see what's going on or catch up commentary and catch up on Okay.
Yeah. So what I like about that, and I feel like the thing I really took away was this idea that you don't need to pay for every single tool or like everything to do it for you. You're just like, I'll take an afternoon, and I'll like I'll make a little automation here.
Yeah. Yeah.
As long as the things you're using let you do that. Right? Like they have an API. They have some way that you can you can get in there and make your own things.
So you sent over a few videos of Yep. Some earlier versions of the game. And some of you out there have maybe seen some of these before.
I wanna show this this first one that you sent and then tell us a little bit about like where this was in the timeline Yeah. Of everything.
How did it turn to this?
Did you kill them all?
To this question, I have no answer.
As I clean my blade from the blood of the innocent, I wonder, is there no one left to save?
Now it all ends, turning our back to humanity as we condemn it. This was our story.
The story of how we fought and the story of how we lost.
End of the line.
I know we can bring everyone back.
I just know it.
How could you abandon us? We ever heard of the savior's technology? Let's go everyone. There must be a way.
Salvation requires sacrifice. Get out of my way. This play is already over.
Tell me, Frey. Do you know how this story ends?
Well Coming out soon for PlayStation three Yeah. I think.
Please pre order.
So so how big was the team at the point that you made this?
So at this point, it was really like, I would say one point five.
It was mostly Guillaume So this was super early, okay.
Some, you know, technical support Right. For me.
So it's like, I think late twenty nineteen, maybe early twenty twenty at most.
Wow.
But, yeah, there is quite a lot to to unpack to unpack in here. But the funny thing is that most of the characters you see here are actually you know, you already have Verso. You already have Male, the the faceless girl. You have Lunen. You have Siel who was called Sith at the time. So Okay. Like, it's funny to see, you know, some parts that stay the same over the course of production.
But yet, yeah, it's so different. And when it comes to the outside, it's, you know, all over the place because it was just Guillaume going on the unreal marketplace and finding, you know, the free assets of the month and then Right.
Yeah. Yeah.
So that's why you have, you know, sci fi where you have dragons and I wondered about that.
Yeah. Where did that sci fi went? It kinda disappeared at some point.
Yeah. Yeah. It's I mean, for the best Yeah. Maybe when it comes to to our game. So but the interesting thing also is that you can see the foundation of the battle system which was already there.
And when it comes to The kind of the timing based battling. I kinda saw that with the meter filling up.
QT, like the the dodging was QT based at the time with that UI that that you can see. Right. But, yeah, yet you only have that foundation of what is Expedition two zero three Right. In the end, but just at a much different, you know, scale in terms of both scope and, yeah, and art style as well.
But I think this video is a good testament of the, you know, development philosophy at Saint Paul because this is almost the work of one person using all the tools at their disposal. You can see that there are, you know, some facial animation. There are some cinematics like Right. In a way with some text to speech.
So it's really like made with everything that was available to you. And the free assets are are big part of And we kinda kept this idea of, you know, punching above our weight. Even when the team grew, when we had, you know, artists joining in, the team like having a game that would look as if it was made by more people than it actually is. I mean, it's not the end the end goal, of course, but it's just like we love to, you know, push the tools to to their limit, and and we just kept doing that even and it's still the case now that the team is around thirty people being so yeah.
So thirty, you said?
Yeah. Right now, it's like a twenty eight for it to be to be accurate.
Yeah. And I think that that to me is mind blowing with, like, what a big deal Expedition thirty three has been and, like, how many accolades that it's still, like, this quite small team that you have.
It's, like, this very At the core of development team, it's, yeah, quite quite small.
I think at peak of production, if you include the Korean animators that are technically, you know, freelance, but it's like animation is such important part of the creative work that, yeah, they are in in our hearts, they are part of the team. Right. So, yeah, the creative team and the programming team, yeah, at peak, it would be like forty people. And then you have, of course, you know, QA, porting, localization.
So it adds up a lot in particular localization. We have so many languages, you know, supported and and more coming that it's like it's a lot of, yeah, extra people that join later in the in the project. But, yeah, the core team was yeah. This size at the peak rate was really like a journey, you know, of scaling up from, you know, just and me a little bit at the beginning and six, then we did the vertical slice with twelve people.
Okay.
So we worked on that for a bit a bit less than a year. And we came to GDC twenty twenty two with that demo on a super busy laptop to show to showcase it in you know, like, we were on the show floor, actually. Like, there was, like, a business friends Okay. Booth present there, and we also did tons of meetings in hotel lobbies. So we would bring the laptop, showcase the demo. It was supposed to be, you know, only twenty minutes long because that's the most attention you will get, you know, from from publisher at this stage of the of the project.
But our demo, I think, overall, was maybe two hours long if you wanted to see everything. Wow. So we were basically speedrunning the the demo for publishers so they could have an idea of what the game what the game was.
And that's when we actually signed with Kepler, Kepler Interactive.
Okay.
I mean, we met with them first, and then we had more meetings to to make sure that we liked each other.
Right. Right.
And and then the team grew much bigger after we signed with them because it meant we had, you know, more funding to keep working on the project with a bigger team for longer as well because when you start out you have, you know, limited money, so limited team size and development time as well. Yeah.
So yeah. Yeah. So so during this time, you you said you went up to like, people?
Yeah. For the vertical slice. Okay.
And then that's when we started to scale up after I see.
Yeah. After the publisher achievement.
Right.
It was like, yeah, around twenty two people, like Okay. In the year that for twenty four.
And that's when the programming team also started to expand a little bit, which was weird for me because Right. It was a bit hard to, you know, keep track of everything that was going on on a team of twelve as a single programmer because you have, you know, more people in the team. That means more more crashes of the editor to investigate, more just issues, more features feature requests as well.
So you kinda have to, you know, keep an eye on all that and still be developing features because we still needed, you know, the battle system to improve because as you can see, there was quite a lot to improve from the That's right.
The first the first versions.
Yeah. I mean, I feel like I feel like it'd be interesting to do a whole talk just like going through that video and looking at what things stayed around. Because like there's some effects I see in there where I'm like, oh, yeah. That kinda like ink drop effect. I'm like, that's still in the game. Or like that kind of like like the warping of the environment around hits and things.
I'm like, okay.
That's still in the game.
Right?
All direction or something.
Yeah. Like the art decisions that were made early kinda stuck and then which ones completely didn't. Like the, you know, sci fi tablet for doing magic or whatever. Dragons.
Yeah. Dragons, that too. So so we're talking about kind of growing a little bit. So we're in act two now, the rising action.
And this is where you're now starting to to ramp up. And so you were doing these demos or you you know, did these demos at GDC and ended up, you know, finding someone to work with with Kepler Interactive.
Did you find that in that process before we get into the next bot, before we meet our next hero, is when you're doing that process, did you find that things went wrong a lot in those demos? Or was it like you spent so much time getting it rock solid before you showed it to anybody? I'm always curious, like, when you say it's good enough because you could do it forever. Right? Like, where do you draw the line?
I mean, GDC was basically our deadline for the vertical slice because, of course, you can always, you know, improve and refine refine. But for us, the goal was to really showcase the different aspects of the project. So the vertical slice will start off with a cinematic because, of course, as you know, it's super important in the in the final game and to see, you know, the dynamic between the characters. Then we would have tutorial fights because It's an RPG with, you know, a lot of moving parts for the players. So when we would be sending, you know, the build out for publishers to to try out, you still need to tutorialize a little bit because you just like I mean, you still can, you know, give the build with a PDF file sitting next to it. But, yeah, having proper tutorials, I think it really helps, you know, staying in the immersion and in the mood of the game.
That's that's really interesting to me because I feel like we see a lot of games now that will like be released widely in early access and still don't have tutorials in it. Yeah. You just kinda have to figure it out. So that that makes a lot of sense to prioritize the player experience because that's also your investors' experience of of looking at this. So that's that's really interesting.
Yeah. I I mean, like, the the Pictos system and the Lumina system, even today in the final game with the tutorials and and we did our best for the UX, still so sorry about that. We still see people finishing the game, you know, without activating Luminous on Reddit. Really? Wow. We we see those kind of offense.
So so, yeah, it's it was important for us to, yeah, provide as much as possible so people could genuinely enjoy enjoy the game if they decided to, you know, spend more time playing it.
So yeah. But it was mostly a matter of the deadline. We knew we were going to San Francisco Okay. To GC.
You set that for yourselves.
Oh, yeah. We had, like, so many meetings, you know, planned in advance. So there was, like, no going back, you know.
Nice. Nice.
So so yeah.
So so introduce us to the second bot that you ended up creating here.
So so, yeah, after we signed with Kepler, so there was much more happening in the project as the team grew bigger, and we started having publisher milestones. So at those moments, you need to ensure stability much more when you are closing into the mind to that milestone.
And we started working also more with, you know, different branches where you have part of the team stabilizing what will be, you know, shipped for the milestone and the more creative part of the team can, you know, start working on the on the next content for the for the rest of the game. And you don't want, you know, those two different type of work to interfere with with each other. So so we had separate branches. And on the release branch, we would have a new bot that would basically be submit change list validation.
Okay. What kind of validation?
So it it would be like approval. Approval based. So like if I want to push a change in that branch, I would do it. Like I would right click submit. It would fail with an error message telling me, okay, you need to get approval for that change list because we are at this, you know, sensitive part of stage of the project.
It would automatically push a Discord message to another channel which was dedicated to that, and then we would have so this is a Perforce bot sorry, a Discord bot Right.
Right. Yeah.
Running in the background. So we would have a message with, you know, the change in the description and approval approve or refuse decline button.
Just like the buttons would show up right in Discord Oh, they're directly in Discord.
Okay. So the idea was, yeah, to have that as convenient as possible because when you are adding, you know, friction to submitting new changes to the code base, you want young people to not wait one day, two days before they can actually submit their changes because we are working mostly with blueprints or just assets files that are binary. So you have exclusive locks, so you can have you cannot have two people working on the same file at the same time. So it's very important to not lock files for too long when we are in this in this phase.
And so that's why you were trying to get those approvals through quickly?
Yeah. In between.
Like alert someone on Discord so they can just respond right away and Yeah.
Make it easy. Okay.
Got it. Know, the notification. Also, okay. There is a new request pending. You have to look into it.
So and also with Discord, you can easily, you know, manage permission groups as well. So we would have, basically, this tool really well integrated with our Discord roles. Oh, okay. Yeah.
So it's certain people get to self approve. Yeah. Yeah. This is this is good too.
Yeah.
My changes are perfect.
Nothing great.
Yeah. Nice. So, I have, I think, here one more video from a little bit later in the process, I believe.
This was Yeah.
Still a bit Still bit earlier.
Okay.
I have yet to see Okay. So this is still an early demo. Okay. We made that yeah. After the one we we saw earlier, which was yeah. During the fundraising, the initial fundraising process.
We, yeah, we we basically made three demos for that. So the big one that you showed earlier, this one where we had like a more maybe specific art style with this team punk.
Right. Because this looks more like the game to me.
Yeah. Exactly. He's close.
Stay focused, my m.
So this is very so.
I'm going ahead.
And CL. Old version.
I will.
And Maya flying around.
Oh, good. She's floating.
But the funny thing is that, like, in that demo, Maya's mechanic ended up being CL's mechanic.
Right. Right. The thing that also struck me about these videos is how Verso sounds so American.
Oh, yeah. Like it's yeah.
Is that that's what it is?
Oh, yeah. Like, you you go online and it's just like the basic the basic ones.
That's funny. Yeah.
But the music was already from our current composer, Lorien.
Well, had he said Okay.
He actually Yeah.
He he joined super early in the project and I think that's how he managed, you know, to put out so much music Yeah.
In the original soundtrack.
Wow.
That so that's that's really interesting. I wanna I wanna talk about that a little bit. So with your team in terms of the makeup of it, I feel like a lot of teams will kinda start with some basic prototype and then they'll keep developing their game and kinda go, yeah. Later, I'll get some artists in and, like, later, I'll get sound design and voices and all of that.
But for you, like saying that the composer was actually a really early part of that process Yeah. I don't hear that very often unless it's like a game that is a musical or something like that. Right? Makes sense.
And I think that that really comes through in the finished project that there is this like the music is not an afterthought. Yeah. I mean, that's the reason why everyone's, you know, jamming out to the songs from Yeah. Claire obscured all over the place, like live shows, you know, all of that.
Because that, I guess, like, had a lot of time to develop and to get refined and Yeah.
Because, like, this particular demo is twenty twenty. So by that time, we had already the art director and the composer on board Okay.
Yeah.
Which is, like, so important for, you know, defining, yeah, what the game will be in terms of, yeah, the the art part parts we we kinda had, you know, the battle system figured out. Guillaume was very clear in what he wanted to do in terms of game design also. But, yeah, this is twenty twenty.
So, yeah, it's we gave the time to, you know, develop the idea and then go back to something different. So it was Right. At that time, we didn't have the concept of the expeditions and the monolith. It wasn't present then.
It came in later with the art style also with, you know, the expeditioner outfits. Right. Right. For a while, they had red capes. So Okay.
In the end, we went with, you know, this black and gold style, which is very distinct Right.
Yeah. I think. And yeah.
And and the music you hear in this demo is actually pretty close to the intro music in Lumiere at the very beginning of I was gonna say, like, sounds very familiar.
Yeah.
And that's wild that that was five years earlier that that music was already part of the game.
We did, like, another demo after that, and it also had original music in it.
And it's also like a a song that got, of course, rerecorded Right.
Over time, but it was like, yeah, you can hear it in the final game. Nice. So, yeah, five, almost six years later, it's yeah. It's Yeah. Pretty crazy.
I think that's what makes it so good to not have you know, sometimes in game development, you have gray boxes for super long Right.
In the in the process. And the way we work with the environment at some fold, sometimes it's quite different. Sometimes we start from actual level design, so gray boxes. But sometimes we do it the other way around where we have the art director going into the scene and actually putting, you know, thing stuff that he thinks is cool, you know.
And and from there Like, is the look that I want.
This is the feeling I want.
Look or it could be so cool to have, you know, like a crashed tree like this. And and from there, you have level design opportunities that you can build on top on top of that. Right. So I think the core idea that we really went was the flow Correct. During the during this this whole this whole project and that's what gives it its authenticity, I believe. Yeah.
Yeah. Okay. So now tell us about the third the final boss here. The third the third bot that you had to make kinda as you're actually approaching deadlines of not just we need this for investors, but, like, we have a release date. We'd have to ship this thing.
Yeah. So, yeah, you spent many years working on the project. You have, like, thousands and thousands of of file, and you need to actually ship it. Right?
So when this stage comes in, it's like much how do you say that? It's the stakes are are much higher than publisher milestones because we got along super well with our publishers. So if we needed sometimes an extra couple weeks to finish the milestone, it would be fine to to postpone. When you have settled a release date and you have trailers announcing that to players, it's yeah.
You can't really, yeah Right. Shift that without, yeah, having the marketing team be like, oh, no.
Yeah. Yeah.
So as you move closer to release, stability becomes more and more important.
And you are also starting to work with many more branches than what we were doing earlier because you have the game that will ship to the players. So with the famous day one patch.
But before that, you also have press demos that are like, we did that with the first two levels of the game. So we had Lumiere and Spring Meadows being playable to, like, some some streamers or some influencers as well.
Beforehand. Right.
Correct. So it's a specific version of the game that was specifically made just for that. And it's like a couple months before release. So you are both busy stabilizing this very specific part of the game that people will experience earlier, but you are also working on your day one patch because you still have, you know, approval processes on the major platforms. So it's not like, yeah, two hours before launch, you oh, yeah.
Just let's just do one more update Right.
To to the game. So we are starting to work with, yeah, different branches. So the short demo, then you have a full demo going live a few weeks after that. And this is what is used by journalists for the meta score, which is super I see.
And so that's decided like before it's even out. Yeah. Exactly. That makes sense.
In particular as a small studio, people don't know the name of Sandfall. They don't know the IP Right. Beforehand, which makes sense.
Yeah.
So the meta score is, like, so important for us because it's the first impression of the game are the trailers, of course. Maybe the second impression people get from the game are, yeah, the meta score. And a lot of gamers, you know, they choose which games they're gonna play or not based on on that. So so it was important for us to have, like, a first version of the game that was as good as possible and as stable as possible as well.
Yeah.
So it's yeah. Many, branches that are, yeah, happening in parallel. And when you you are doing a fix for the day one patch, some of those fixes you want them for the short press demo or maybe just for the longer press demo that you still have more time to stabilize. So you're starting to you know, merge things back and forth and it can get a little bit trippy like you can it's easy to trip during that process because sometimes you are, you know, modifying several files in one change list and then it puts another change everything else. Yeah. And you can break everything else if you are not integrating everything, all the dependencies that have been added before.
So to help with with that process, what we created was basically an integration bot Okay.
In a way that would help with, you know, all those branches that we had in parallel.
It would help automate the process of, okay, from this development branch, we will integrate to the day one patch and also to the press demo patch. But this particular change requires like a texture from a previous change that was not yet integrated in those branches. So you have this whole game of tracking what has changed and has not yet been integrated in the final branches of the game and and it can get like quite long. Sometimes we had chains of you know, ten modifications, ten different changes from different people that had to be in the final release branch.
I feel like was one person who worked on something that referenced another file that referenced another that a third person had worked on and then like that.
Okay. Yeah. If you add, you know, the animation of a character in one change list and the character itself in another, if you only have the animation without the character, it cannot it cannot work.
Right. Right.
So you need to pull that back back in.
So this is the last bot that we that we created that would basically help automate this this process. And I mean, it's much more the two first bots were closer to, you know, producing and project management. This one was more for, you know, technical dependencies to make sure the game would be as stable as possible on all the branches all at once. And it's still a challenge when you have, you know, still a small team trying to have several branches being stable in parallel. So, yeah, this bot would, yeah, basically explore all the changes, see what was required and not integrated, and it would automatically create intermediate change lists doing those integrations for us. So like it was actually hooking into Unreal's, like, dependency graph to like look at what other files were affected and then see if those had been changed? It was more based on the files present in the changelist.
I see.
So it just kinda tracks like Yeah.
Have several files, and you make sure that the full history of those files are integrated, and the history of the file is not is not just the file itself, it's the change list, the full change list in which it was modified. So it's a bit difficult copy. I should have done the graph to to explain that visually. But, yeah, you get the idea of, yeah, one file can be changed by several change lists and and you need a way to track that basically.
Right.
And so what what's the sense of like how long did each of these bots take to make? Just to give people a sense of like if they're working on a project and they go, yeah, actually, that'd be helpful for me.
Overall, think it was like pretty quick by our standard.
I will say maybe three or four days we had like the thing fully running, and we knew it would save integration bot.
Yeah. Yeah. Yeah. Most advanced of them was still just like three or four days.
Yeah. Yeah. Yeah. Yeah. Exactly. And I mean, like, we were, you know, under time constraint. So like, it was really an active decision of, okay, we're gonna shift away from bug fixing, from polishing the game, we're gonna make that bot to make sure that the game is as stable as possible.
Because also an interesting thing maybe to mention is that we have nightly build because building the game, like the full package game from the project file into what we distribute, it's a long process. On the best server we have, it's like a bit less than an hour. But on more regular machines that we also use to package the game, it can be up to three hours. So and we have, you know, so many platforms, Xbox, PC, PlayStation. And on PC, you have Steam. You have the Epic Games Store. All those are different versions of the game.
So at night, you have this small army of Correct.
Machines that do all the different builds.
Building building stuff. So if you happen to have and all the branches, of course Also, so it's really like exponential.
And if you happen to, you know, have missed an integration because you are doing it manually This whole nightly process, it's wasted for nothing because sometimes you can just have the game, you know, crash on boots because you are missing an important file that was not integrated. And then you're like, yeah, well, let's wait tomorrow before QA can actually start checking the changes that was that were made. So yeah, it's really easy to have a bottleneck coming from a broken build. So in those kind of situation, the QA team would stay, you know, on the last valid build that was the post put out.
But, we had So you at least have something that you can keep QA has something.
But, yeah, in in the closing days of a project like this, it's every day, like, we are fixing so much so much bugs that it's really like yeah.
A build from one day ago feels like It's it's still current We've still got yeah.
Wow.
Wow. Okay. So so I wanna bring us into the what I'm calling the epilogue here, which is I have a few kind of random little questions for you. And then the first one, I actually decided to make a video for you about something I experienced in Expedition thirty three.
Harry it.
Ready to parry. Nursing. Harry it. Harry it. I love I love, like, hearing her frustration. Harry it.
I heard that a lot.
Harry it.
So tell us about what Puff is here.
So so, yeah, this one is on me because, basically, very late in the in the development process.
We knew very early that we wanted, you know, the characters to, you know, not chat, but react to what was going on in the battle because it gives, you know, so much life into it.
So very late in the project, this was, I think, the last big, you know, work that I done on the battle system.
There will be this system of, you know, there are events of everything that is happening in the battle, and the character can process that information and choose what we call a battle line.
So Right. And I I noticed it would change based on who was in the battle with them.
Yeah.
Who is Like, they would shout to someone else of like, watch out.
Yeah. You be careful, Or whatever.
Or things with a boost or Right.
Lines. But there's this random list.
Yeah. It's a like, it's a random list, but there is also this selection algorithm, which is, like, pretty straightforward, but but still it's important to pick only one line at once and not have all the characters react at the same time on the same action.
And, yeah, it's one of the risk when you, you know, you do a feature pretty late in the in the project is that you have, you know, less time to, you know, perfectly tune it. And for that particular example, the parrot line had like a basically, have a wait for each line to control how often it will it will trigger. And we are also supposed to have a cool down for some of those line which are, you know, much more recognizable. Some of them are just like barks or grunts. So we you can have that much more often. But the parrot the parrot line was like very distinctive and it was sugary so so often. And and at some point, we kinda, you know, discussed about should we fix that or keep it in the game?
And we've seen, you know, so many memes around around it that it it's part of the lore around the game now, so we are just like, rolling rolling obsessed with Perry.
That's all she can talk about.
Yeah. It's part of the game now. We have to Yeah. We have to accept it.
It's part of the world. If there's a sequel, you gotta put that back in there.
Yeah. But I mean, it's interesting also everything that happens after you, you know, you release the game because some of the fixes you have to to make because some of the balancing, sometimes we just, you know, make a mistake in some value somewhere and we have to tune that down a little bit. So for example, Stand All was, like, a good example of that. It was very broken at release. Still broken but a little bit less. And then you also start to see, you know, like, the speedrunners. They get interested into the game.
So They're really trying to find all the stuff he missed. Yeah. Yeah. Exactly.
Like, all those bugs, they can use it, you know, to to have shorter run times. Right. So at this point, you're, like, pondering whether or not fixing a bug would negatively affect the speedrunning community.
Right. Versus could, like, a regular player run into this very game breaking issue naturally without trying to to to break the game? So it's, yeah, very interesting, you know, topics and discussions that we have around. It's a bit meta in the end because, of course, it's not the intended design to be able to to break the game and take shortcuts or skip to the final cinematic.
Right. Now it's bigger than just you.
It's Yeah. Exactly. Once you release it, it's not in your end Nice. Anymore, literally. Nice.
A couple questions I wanna ask you real quick that will hopefully be helpful for other people. So the first one is if you could travel back in time to yourself at the beginning of this process in twenty nineteen Yeah. Is there any advice you would give to yourself then?
Yeah. I think when you when you begin a project like this and you are building up the studio and and there aren't that many people, you know, in the team, and and I mean, I was coming from Ubisoft where you have, you know, so many expert and senior people around you. So you know that whenever you are stuck, you are never really stuck because there are people around you to to to help you. When you start on a project like this, sometimes you can feel a little bit, you know, alone against a mountain of of problems.
But I think it's important to, you know, not lose hope that you will always, you know, find a way to work out the issue either by, you know, finding a technical solution to it or also sometimes just, you know, adjusting the scope of the game. But you keep that in mind and then you realize that there are very few issues that are actually unsolvable, and when you work with Unreal, you have access, you know, to the the forums, with some experts from Epic that can that can help you quite a lot. So I didn't know it existed before we, you know, we got into actually creating the the studio. But I think it was like our, you know, lifeline quite a quite a few times.
And I mean, even when we were, you know, a nobody's a nobody's studio, like, we hadn't released anything yet. But, yes, you could, you know, create a topic on that private forum with and you would have the people that actually implemented that engine feature, you know, discuss with you on how to investigate. Or, oh, yes, this is something we have fixed internally. You can try this change.
Know?
Grab this patch from our Yeah.
Okay. Exactly.
So in the end, it's, yeah, it's much less worse and daunting that it looks at first glance. So, yeah, I would just give myself my old self, my former self the advice of, yeah, not panicking too much, and it's gonna be all fine.
Nice. And then related to that is if you have a piece of advice for people that are just starting the journey that you've been on. So they're just starting their own studio with just a few people or maybe they're just looking into getting funding or putting together their vertical slice or that demo. What kind of recommendations or tips would you give to them?
I mean, there are many, you know, different, you know, topics involving of, you know, getting like a project to take off.
And if they're in your role, if like they're kinda more the developer type, a little more technical, a team?
I would say listen to the designers because, like, ultimately, technology is at, you know, the service of delivering delivering, you know, the best game possible. And the best game is, you know, it's narrative, it's music, it's cinematic, it's art. The gameplay, of course, is really important, but it's more up to the designers to, you know, to create all the amazing content that that we have in Expedition Series three. And the programming team, we are here to allow that to to exist and allow the designers to, yeah, be creative with tools that are, you know, not too much of a pain to use.
And it's really been our our mindset, like, throughout the the full production. And I mean, it was true when we started at the very beginning when it was just like Guillaume, and he was, like, pinging me from time to time to to help with a like, a a new feature in the project. Up until now, we are we have, like, a full team of programmers. We have a full team of designers.
So but still, it's important to consider, you know, not only the the UX of the game for the players, but the UX of, as programmers, the tools you provide to the development team because, yeah, they are the one creating all the all the content for the game. I mean, that's the way we have, you know, structured it.
I love that that even for a fairly small studio, having some internal tooling is important of, like Yeah. Putting stuff into the engine yourself to make it easier for your level designers or your artists, things like that. Do you have any, like, quick examples of something in that realm that was like a big oh, this this made all the designers so happy?
I think the maybe the best technical decision we made, like, on Expedition Series three was to use the sequencer for the for the skills. So all the skills basically in Expedition Series three, they are like small cinematics because it's people with turn based. It's very linear content.
So it's, yeah, a linear editing tool which is native in Unreal, so we didn't have even have to develop it. Right.
You didn't have to write too much.
Yeah. Exactly. But, yeah, just integrating that, you know, neatly with the button system to have, you know, just the camera blending smoothly from a gameplay control camera to that linear those linear sequences, that allowed the designers and the the the game director to be super expressive because you can literally synchronize anything in that. You have VFX.
You have animation. You have sound. You can have slow motion. You can control all of that with a super convenient tool.
And we could have, you know, done similar things with much more, you know, scripting or, okay, you have to trigger all the animations More programmatically or programmatically because, like, people in the team that are quite, you know, technical.
Like, the designers, they can really do, you know, a lot of blueprints graph. Like, they are almost programmers in a way. But having this super expressive tool in the middle for, yeah, everything that is relate related to the general, you know, direction, like movie direction almost of the game. I think it was, yeah, the best the best choice we made. And it's okay that it's not a tool that we had to develop ourselves.
Right. Smart.
Yeah. Finding the right tool for the right the right program in that case, that's what comes best for us.
Well, that's awesome. Thank you so much. I'm gonna skip ahead to the thank you slide.
Thank you so much, Tom, for joining us today.
Yeah. My pleasure.
And thank you to all of you for joining us.
If you enjoy this kind of in-depth conversation with leaders in the media, gaming, and visualization world, be sure to subscribe so that you get new episodes as soon as they come out. Subscribing and giving a review or rating is the only way that we know you enjoy this content so that we can keep making more of it. Reach out to me via email or LinkedIn with feedback, guest suggestions, or to connect if you'd like to be a guest yourself. I'm always looking for great stories and I love learning about the many ways that game and real time technologies are being used today. Links for that are in the episode description. Be sure to check out perforce dot com for information about our full p four platform based on the industry standard Perforce p four version control.
Special thanks to our production team, Ella Reiswig, Emily Matlak, Kaylee Torres, Luisa Puchala, and Chris Perez. I'm Jace Lindgren and I will see you next time on In Development.
