In mid-April, I covered a press release about the launch of Popul8, a generative AI tool designed to make the life of artists who work in game development studios a lot easier.
Created by a tech company called Didimo, Popul8 boasts the ability to create countless unique characters at scale. How many times did you play an open world game whose supposedly vast and realistic virtual worlds were actually populated by the same dozen character models, substantially taking away from your immersion?
It is an intrinsic problem that no videogame has been able to solve. However, generative AI technology may be the key to finally moving past that limitation. To further discuss Popul8 and its features, I had a great chat with Didimo founder and CEO Veronica Costa Orvalho. You can find the full transcript (edited for clarity) below.
Can you talk a bit about your company?
Absolutely. Didimo was founded in 2016. We are Techstars alumni from London.
We've built it as a result of more than 15 years of R&D on how we can automate the character creation process with the overall goal of providing an easy, fast, nonexpensive way for companies to include digital humans and now to include any type of characters in their virtual worlds.
My whole dream, I guess, what keeps me going every time it's difficult, is the conviction that digital characters are the element that will connect us in a more human way between us and the virtual world. It will create our identity, in whichever shape and form we decide it to be.
How many employees do you have right now?
We're currently 25 at the moment. Most of them are part of the engineering team, and then the rest is business development, marketing, and admin financial support.
But the core is mostly super top engineers coming out from big companies like Electronic Arts, Siemens, and more. I'm really proud of the team that we have, they're super smart people.
Your main focus is the Popul8 product, correct?
Yes. It allows for the automatic generation of NPCs (non-playing characters) with three key value propositions. The first one is that the game companies can upload the game style into our software and all the characters will come out with that style.
The second one is artists can really focus on creating all the assets that go with that character so they can really leverage their skills in designing garments, hats, glasses, and even create the base geometry and textures of the digital characters, how they want them to be.
Artists are fundamental to our process. Usually, it's the key artist from the game company we work with. Then they can upload that into our Popul8 software. What we do is all the characters that are created can reuse all those assets. We have a very strong generative AI system behind it that allows for that retargeting and the creation of infinite variations of digital characters.
The other key value proposition is we have a big data set that feeds into our machine learning algorithms of humans from all over the world, covering every single ethnicity you can think of. Based on that, we can create an infinite number of different and unique characters, so each game will have unique characters. We will not repeat the characters from one game to the other and that leads us to the other value proposition, which is, we can provide the companies with code for optimising the rendering of those characters.
So now, instead of having to have like 20 different characters in a game like Sin City or GTA. You can now have infinite, different characters because of the optimisation code that we have on our engine.
I would think that the easiest way to explain why we created Popul8 is we spent about 2-3 months last year interviewing technical directors, art directors, producers, and game directors. We asked them what was the key problem they had that needed to be solved in a general manner within a production.
Most of them would say that creating a character editor was very painful. Every time you change or you have a new title, of course, you can reuse parts of those character editors that you created before, but it allocates a huge budget that they could allocate to other areas of the game development and focus on gameplay instead of having to focus on fitting assets that the artists have already created.
That's why we created Popul8 on top of our API.
I'm wondering whether you can speak a bit about the generative AI technology that's behind the software. Is it proprietary? Did you file any patents?
Yeah, absolutely. We're very tech-driven, so we own every single line of code that we have at Didimo. Everything was developed by us. Of course, we still use some libraries, like OpenCV and so on. But every single line of code it's owned by us. We also own all our dataset, because we either buy some high-quality scans or because we have created them.
So I had a team of artists that created our data set with the reference of variations of ethnicities all throughout the world. We do have four patents and a fifth one that has been submitted to reflect the importance of the tech that we have. Those patents are carefully crafted in the sense that they represent each pillar of technology that we have been developing.
We have a patent that is for transferring data in a compressed manner. We have another patent that is about the automation of our rig and the retargeting.
We have another patent that is for the animation system and the latest patent is on how we can create synthetic characters from synthetic data, and that's a huge patent that we presented at SIGGRAPH last year.
It's really impactful for what people call generative AI. We have already been doing it for many, many years. We are also in favor of really sharing knowledge as much as we can so we can allow other companies to leverage what we have done to also create great things.
That's why our R&D team presents at events like this. Of course, we have other algorithms that are just not shared anywhere, they are kept inside the company, they are not even in a patent, like trade secrets.
Of course. Is Popul8 already integrated with common game development engines like Unreal and Unity?
Let me just explain one thing before I answer that question, which I think will be meaningful. I would like people to think of Popul8 as a tool that... You first create characters, randomising them on style or ethnicities. So you create one character, and then you can create a team of characters. Imagine a whole swimming team. Once you have that swimming team, you can customise each one of those characters you need, adapt them in shape, form, garments, and then you can have kind of like the whole Olympics team of swimming.
All that can be automatically generated and done at scale by putting thousands of characters on screen. That is also possible because the output of our files is a standard file, and we also have specific sample codes that can go into any engine. We are engine agnostic.
The output files are standard files, and then the game companies can actually integrate them into Unity, Unreal Engine, WebGL, or their proprietary engines, whatever they wanna do with it.
Does this mean Popul8 is already compatible with MetaHuman from Unreal Engine?
That's an excellent question. We actually have been talking to a few customers who are using some of the MetaHuman data, so we can set up in our engine the MetaHuman mesh and then the outputs that we generate can be compatible with the MetaHuman software.
That's because we can input our customers' specifications, so it could be MetaHuman, but it could be... Imagine that a game studio is in the middle of a production and they already have the mesh and the rig and the texture layout. They can give us that, we set that up in Popul8, and then all the characters will come up with those specifications so we can easily feed anywhere in their pipeline at any point in time.
I've been building technology for so many years, and a lot of them was R&D. Then we created Didimo and again a lot of tech. This is the first time I really see an industry really cheering for something that has been wanted for so, so long. It's really exciting.
Popul8 has to be able to scale wildly, right? Some games need extremely detailed characters, while others have far less demanding needs, depending on the genre and design.
Indeed. We support LODs (level of detail), so we can go from a LOD of zero to whichever other LOD, like five. Beyond five it would not look that good, but we can do any LOD.
Again, it really depends on the game studio. They'll tell us, 'Veronica, we have a mesh with 10,000 polygons, like head and body, or we have a mesh with 60,000 or 100,000'. For us, it would be the same. The premise is always to respect what the game studio set up as the specifications because they will know better how it will integrate into their engine.
And then the second thing is the artist owns the creative direction. That's why we created the stylized algorithm, so we can upload their style so you can have an output that looks like manga style or Final Fantasy. Or it could be a new creature that has been designed. Or it could be like an Elf or an Orc.
It's really exciting to see how we manage to extend. We started with the hardest problem ever, which is digital humans. And now, because we solved that, we managed to do all these variations.
Eventually, you could even upload yourself and create your version from a digital human that will look like a digital human. Or it could be an Elf version of you. That's how far we wanna go. We already have a customer that will launch the game in three years, and that's what we're building with them.
So you already have the technology to scan users and replicate them digitally?
Yes, that's how we actually started. What we're doing now and I hope we will have it by the Summer, we will include that feature in Popul8. By the end of the year, we're gonna have an in-game editor and we have a game already that is gonna include that feature into it.
It's a sister product of Popul8. It's an extension of what we're gonna be doing. We can do a facial scan in 30 seconds. We already have that software, that API. There already is a game that allows gamers to be themselves in the game, so they already use our API. In this case, they're using our Unity SDK to do that.
What we want to do is just to bring a unified software, everything under Popul8.
Your generative AI tool may singlehandedly fix one of the longest-standing videogame shortcomings. In every game you can play today, even blockbusters like Grand Theft Auto, you're bound to be distracted by how the same dozen or so NPCs are repeated throughout the game world. How do you feel about that?
Yeah, we really wanted to solve the variation problem that you mentioned. Like, if you play GTA, you will have the same 25 characters with only small variations. You will look from their back and you will detect who they are because they all have the same body shape.
However, there's also likely an optimization concern for game developers. Did you solve that with Popul8?
We did, in terms of memory optimisation. As we own the data set, we have created an optimised code that we give the game companies. It builds up on top of let's say, eight base meshes and then, as we have the machine learning algorithms, we can create infinite microvariations to generate new unique characters. We also have a code that allows you for optimising even that.
It's what we give the game studios that they can include in their engine. Of course, they might need to do some adaptation of that code, depending on how their engine works.
The latest game that will be announced at Gamescom can put tens of thousands of unique characters on screen, and it's insane when you look at it. It's very unfortunate that I cannot share the visuals so far, because it's one of a kind, really, no one has done it.
I can't wait to check it out. Thank you for your time.