Live demo0:00
Hello. Hi everyone, thank you for being here. Um, let's start the presentation. I really appreciate you having interest in, in learning more about game development. So today I'm going to talk about how I think the next game engine won't have a manual, and at the end you'll see what I mean by, by this.
My name is Arturo. I'm, uh, working on this tool called Nereu, and first I want to show you kind of like how it works today, so you get a glimpse of what I mean by all this. Um, so we, we, we can start asking for what we want and describing something like, okay, I want to add a robot.
Um, okay, so I ask my assistant to help me add a robot. It found some assets that are robots or have been tagged as robots, or the description are, uh, a robot. In this case I want to have a character.
It's going to be the character that I will be controlling. Um, if I try to playright now it won't do anything. I still need to tell what I want. I need to describe, oh, okay, I, I want this to be, uh, to move with WASD and I want it to be animated, have some sort of animation.
So I will describe that to my, um, assistant, which is called Bibi, by the way. And I'm saying, make this robot move with WASD and animate it as I, as I mentioned. These descriptions are pretty common if you know, if you've played games.
You just describe what you want the, the thing to, to do. And it's language that, uh, people who play games kind of understand. You don't need to, to code or you don't need to, uh, learn about importing models or anything like that.
The focus is on making the game. So now we have our character moving. I want to continue, uh, describing my game, building my game. So I want to add some buildings. In this case we have like a library of, of assets that might match the description of a building.
We could have like futuristic buildings, something like this, uh, warehouse or, or store. Uh, maybe we can use a, a castle. The idea here is that we can let our imagination go wild. It doesn't need to be, uh, you know, like a, the, the, the, the perfect game or anything.
Why games are hard2:45
It's kind of like playing a game, playing with toys, playing with, with Legos or, or something like that. I'm saying I want it to, to, to, to have some rain. So I just describe the rain and it will spawn a particle system that's set up or configured as, as, as rain.
Uh, the last thing is I want a camera to follow my character because if I move around it will go out of the, of the, of the view and I won't be able to, to see it. So it added a camera, it configured it, it's looking at my main character and I have a game without knowing how to code or import assets or anything besides just knowing, uh, what I want because I, I know the, the language of, of building, building games.
That's the idea. Uh, so making games or getting to this point with a, a, a regular tool it's very difficult. Um, I, I recorded this demo but you could do this in just a couple of minutes without knowing anything, just describing.
All the assets are there for you. Uh, but if you were to follow the traditional workflow you will need to know, uh, other things. Sorry. I, before jumping, continuing, I, I want to mention, uh, why am I speaking here and you can decide if, uh, you, you want to, to pay more attention or less attention to, to myself.
I worked at Unity, uh, a game engine company for almost 10 years. So I saw a lot of people building games and struggling with the same things over and over. At first it was fun, the challenges were fun, but after seeing them thousands of times it was like, okay, this is not fun.
I don't think people should spend their energy and, and, and time, uh, reinventing the same world. So then I, I, I was part of MongoDB. There I was learning about, uh, more AI topics and how to, uh, you know, manage data and all that stuff.
Unity years4:27
And I was helping a startup to manage, uh, and handle a version control of assets of, of games. So as I said, I've been, I've seen people make games, I've made games, and, uh, I think I want to, to, to, to, to let more people have fun and, and, and experience the joy of making games without getting frustrated and without, uh, you know, spending two, three years releasing something, realizing that it's difficult to, to, to, to sell a game.
There's a lot of competition. And of course if you want to do that, I'm not preventing you from doing that, but a lot of people, I think it's, it's just a, a creative outlet making games and, uh, the game itself should be the, the, the, the thing,right?
Like, um, enjoying the process rather than the end product. Okay. So as I was, I was saying before, making a game, uh, requires a lot of skills, a lot of knowledge. It's very, it's very difficult. You need to know programming, 3D modeling, rendering, music, animation, and so many other things.
You either have a huge team that, uh, complements each other or if it's just you or you have a small team, uh, people need to wear multiple hats. And honestly it's very difficult to find someone that's great at game design and also great at, uh, rendering and great at composition of cameras in real time.
So, um, on top of that, the game has to be fun,right? If, if it works and technically works, if it's not fun, uh, honestly people won't play it. And I, I think fun should be for the player but also for the developers.
In recent years I think, uh, it's become more about producing more and trying to sell more, uh, rather than, than, than the, the craft of making games. And I don't think you need to be a, a, a professional game developer to be able to, to make games.
The same as with, with, um, uh, AI assistants to write code. Now you don't need to be a programmer to, to build whatever you want. The same for, for games. There are other challenges, but, um, that's my, my thought.
Now there are powerful engines, Unreal, Unity, and there are powerful LLMs and agents, but I think still it's hard. It's hard because I think we're just, uh, building a bridge between two worlds and it's not optimal. And you still need to know kind of like what to ask in the vocabulary of an engine, in the vocabulary of, of code.
Engines & LLMs6:59
Otherwise, uh, the, the, the, the, the LLM goes, uh, rogue and does stuff and reinvents the wheel over and, and over. Uh, this is the, the point,right? Like if I say I want a camera that follows this character, I've seen the, the demos and the LLM reinvents the wheel every single time when, when the result is going to be essentially the, the same.
Uh, by default the context is on the game engine, uh, rather than on the game design part. And I think we should flip that idea. So in a current engine, if you want to control a character, you need to have a mesh, uh, uh, import a mesh and think about, uh, so many things.
Boilerplate7:49
A renderer, an animator, a rigid body, and collider for physics, an audio source, and then you add your movement logic and your game rules. Uh, most of that is just boilerplate that every single game out there has or every character in every single game out there has, but somehow developers need to understand and read the descriptions of those components and what the hundreds of, of, of, of sliders do, uh, in, in, in a game.
So I think the, the, the, the goal should be just to think, okay, everything is just an asset. Everything has to be rendered on screen. Everything has physics most of the time. Uh, and you just add tags to describe the intent of those, those assets in your game.
Assets & tags8:45
So I want this to be a character, to be animated, to double jump. And this is the language of that we use when we play games,right? Like, uh, the tutorial tells you, oh, press A to jump and press A again while you're on the air to do a double jump.
That's, that's the language that we should be using. And, uh, also defining what happens when, when an event occurs. Like in this case, oh, when you collect a coin, I want you to increase the score. And, uh, of course the physics and the rendering still happen, but, uh, we're, we're, we're building, uh, on a layer on top to make it more accessible for more people to, to build, uh, games.
Um, and the engine knows what to do with these tags because these, these systems. And this system comes from something that we're calling the ATS or asset tag system. Comes from the idea from game development called Entity Component System, uh, data oriented design, which means we just describe objects, uh, with, with, uh, components or in this case with tags.
Tag system9:37
And then there are systems that query for all the assets in the, in the world and say, okay, this, uh, I'm, I'm going to move all the objects that have the vehicle, the player, and the drivable tag. So that's how, how it works and all the games can recycle this.
In the, on the, on theright you see that there's a building. It doesn't have tags so it's not going to move. But nothing prevents you from adding the, the vehicle and drivable tag to your building and then you have a, a building that you can put in a Mario Kart style of game.
Uh, nothing prevents you from, from doing that. And as I said, like letting your imagination go, go wild. Uh, the assistant, the AI assistant essentially helps you get on stock. Like if I don't know how to make the car move, uh, I just ask it and it knows, understands like what are the tools available, what are the tags available, and then it, uh, applies them to, to the, to the, to the asset that I'm talking about.
Uh, how it is driven. And this is, this is pretty common, uh, concept from, from, um, agents. You just type your query. You, uh, well, we build the, the, the prompt using context from the scene, uh, but also some extra context, uh, based on, for example, what type of assets are on your game.
If you're using robots, if you're using something like medieval, etc., we, um, we, we append that to the, to the, to the context. We also, uh, allow the, the user to describe the type of game that they want to, to make.
Prompt context11:21
So that's also part of what, um, uh, is, is appended into the, into the, the context. And then the agent just performs calls and appends or removes the, the tags. All these, uh, tags and all these systems are built into the, the, the, the engine.
Um, we don't have a scripting, uh, system in there. That's on purpose. But it's just JavaScript and runs on the, on the browser. So whoever wants to extend, they can. Nothing prevents them from, from doing that. But for most users, uh, that shouldn't be the, the case.
And, uh, yeah, all the updates to the scene happen and that's how, how it works. Honestly it's the, the, the challenging part is the composing games, uh, into these tags and into these systems because, uh, there are a lot of genres, there are a lot of, uh, ways to describe the same game.
There are things like the mood of the game. Like I want to make a, a platformer but that feels, uh, like scary. Well, that also touches on things like, um, like, uh, the post-processing effects and things like the, uh, lighting, etc.
So those, those things are the things that we're then composing to, to, to, um, drive the, the engine. How I'm building this. Well, it's, it's the first time that I built something of this scale at this speed and using, uh, you know, mostly working with, with an AI, um, daily.
Building with AI12:39
And I'm sure everyone uses Claude Code or something similar. Uh, the way it, it works is I bring all this stuff that is on my mind and I talk to the, to, to Claude and we discuss that part.
Then I go to, let's say if I'm focusing on something related to, to, to, um, lighting, I talk to some friend on the industry who focuses on that and I ask questions and then I bring that in and then we build those tools.
And I kind of like say, I don't think we need this setting. I don't think we need this feature. I haven't seen a lot of users using those things. So let's get rid of them in order to simplify the, the, the engine.
Uh, we build it. Then as we build, we give, uh, the definition of the tools to the, to the assistant. So every time, uh, we add new tools, the assistant knows the, the tools that we're, we're adding. And, um, yeah,right now it's, it's kind of like still in closed alpha.
I don't even know how to call it at this point, but some people are using it, giving feedback, and, uh, then we go back to square one. Um, one thing that I, I think it's worth sharing also in, in, in, in this presentation is the, the way of assembling this context because, yeah, we're using an LLM mostly.
Uh, I've used, uh, also vision models mostly to tag the, the assets that we have because it's like 6 or 7,000 assets. I could not manually tag them all and explain like, oh, this is a, a, a, an astronaut and this is a, a knight and this is a castle and this is whatever.
I just have the names and the, and the, and the 3D file. So I took a screenshot and ran, uh, a vision model to describe those. But it's mostly an, an LLM what's, uh, what we're using. And if we feed the entire scene to the LLM, the context grows a lot.
Level of detail14:52
Let's say in this, in this scene I think I had like 100 assets, 100 things, uh, being there, but most of them are like grass that we could ignore. It doesn't really make sense. But, uh, this is simple like, like scene.
But what we're, we're using here to, to assemble the context is something that's very well known in, in the, in the game dev world, which is called level of details. Uh, which means if I'm close to an object, uh, or, or it's close in, inside to, to myself, I'm going to render it with a higher quality texture, with a higher quality material, um, with a higher quality model in many cases.
Something that's too far away from the camera, I'm just going to maybe just put a, a, a cube and the user won't be able to, to tell because it's so far away. So we're using something similar to assemble the context.
In this case, if the user is editing the, the, the game, you can see that maybe, uh, well, uh, it's, it's, it's clicking on the, on the knight,right? So the things that are around it might have a higher priority.
So we feed them, uh, information about the tags that they, they have and the, the values of the, of the settings on, on those tags. Things that are nearby, we just say, okay, there's a something, uh, that's a player, uh, here at this position, uh, but I'm not going to send you the entire, entire, uh, context in there.
Okay? And as a, as a user keeps moving around and modifies things, then we update that, uh, and feed the, the, the, the assistant with more relevant, um, information about, about the game. Okay. So just to start wrapping up, I, I, I, I think this assistant called Bibi should be kind of like the, the something that on gets people on stock from making the game.
Uh, I don't want us to one-shot games that nobody is going to play and, uh, I don't see the point in, in that. There's in the industry, of course, uh, the need for, for games that are one-shotted, but here the idea is that we allow people to make games and experience that and have fun and share that those games with their families and friends and, and, and that.
And of course that they learn along the way the language of making games, the language of game design, not necessarily the coding or programming. Although, uh, people have used it this and say like, oh yeah, I can understand now concept that I didn't understand before of programming, but, uh, that was not the, the, the initial goal.
World models17:32
Um, there's another kind of like branch of, of engines or tools that are, are being used called, uh, world models, which are being generated on the, on the fly. And, and some people, I think there's another session later talking about this and how games can be achieved with, uh, world models.
I think that's going to be a different medium. Even if we call them video games, uh, there are many challenges. Uh, games, for instance, in these days, they have to render 60 frames per second and doing that at 4K resolutions in real time, uh, with a, with a world model, I think it's still far away.
And on top of that, rendering physics and, and, and, well, sorry, simulating physics and stuff, it's very difficult, but I think it's exciting what's going on. Um, so that's it. If you want to play around, if you want to share this with your kids or friends or, or whoever, uh, I, I can add you to the, to the waitlist.
Closing18:33
Um, it's honestly, it's been very fun to make, but also whenever I want to test something and I just play around and, and, and bring in, uh, an astronaut and bring in a dinosaur and make them just walk around, it's, it's so much fun.
It's, uh, it's, it's kind of like what got me into game development, I think like 20 years ago. And I progressed throughout my career. I started getting like kind of disappointed like, oh, I don't, this is not fun anymore.
So I'm having fun again and I want to share that with, uh, more people. So thank you so much. And I'll be outside if you have questions, want to chat more about games or whatever. Thank you so much for your time.





