Roblox has developed a new extensible avatar movement system that enables fluid, physically-based motion for characters across all shapes, sizes, and proportions. This system combines procedural animation, keyframed animation, and physical simulation through an animation graph editor, allowing developers to create complex motion behaviors without writing code. The new stack includes a character controller library and ability manager that support concurrent abilities like running while aiming or holding objects. This advancement enables more expressive gameplay experiences, including genres like FPS and sports games that previously required custom implementations, while maintaining compatibility with existing Roblox games.
Approfondir
Prérequis
- Pas de données disponibles.
Prochaines étapes
- Pas de données disponibles.
Approfondir
Tech Talks EP 34 | Avatar MovementAjouté :
Welcome. I'm Dave Bazooki, CEO, co-founder of Roblox, and you're listening to Tech Talks. Today, we're going to be talking everything avatar motion. We're going to talk about what is an avatar, how do we make it move, why is it important to make it move naturally and realistically and responsibly. So, we're joined by Orin Jacob. Welcome, Orin. Orin, senior director engineering at Roblox.
>> Thanks, Dave. Glad to be here.
>> Vincent Petrella, manager, I think of all things Avatar Motion, I believe.
Great to have you here.
>> And also a lot a lot of the inventor of a lot of the unique stuff I think we're going to be talking about. Orin, you're also an inventor, I believe, all the way back to Pixar where you were doing a lot of inventing as well on Avatar Motion.
>> I worked on some characters back on Toy Story and Finding Emo and I'm doing it again here. It's fun to think, Orin, the characters you worked at um were never able to be run in real time. And now as you move into the gaming space, it's almost like we're starting to see some of the same magnificence of those characters that were baked and processed and all of that literally coming to life. But we're working on a lot of the extension to performance of the characters and how they behave and how they move in Roblox interactively.
>> Yeah.
>> And extending that to much more expressive gameplay, which is super exciting to do.
>> So, this is a topic that's really near and dear to my heart. The story goes all the way back before we started Roblox.
It was this idea Eric and I had and joined by a few others. And we were not hardcore game creators. We were engineers that had worked on mechanical engineering and simulation and all of that. So when we started building Roblox and we looked at the the whole gaming industry and this is a long time ago because we had come from a simulation background, we just thought every avatar in every video game should have a brain that's controlling muscles running through a full simulator. it would work like a real person, fall over and all of that. And fast forward 20 years later and still like that vision hasn't come true yet, has it? And I I think um we're we're fast approaching it right now with a lot of what we're working on, but a lot of video games still for the last 20 years have been using much more animation data and motion capture type data. I think you're seeing a progression in the level of complexity in motion that we can get in games and in Roblox specifically. A lot of the work done we'll talk about in this podcast today um allows even more complexity in motion and more introduction of physical based simulation to parts of the avatar movement uh experience or even all of it. And I think game creators now can have a broader selection of how much simulation they want to bring into their gameplay. Um more so or less so for different kinds of gameplay experiences.
Well, we want to offer that spectrum to our creators so they have a real flexibility in the kind of games they can build.
>> And I know um Vincent, as we'll talk about today, I'm always asking as we're working on this system ultimately, can all these different types of motions we imagine come together in various levels both um procedural animation, keyframed animation, this physical simulation I was dreaming about, and even AI based type animation. And I think we're going to dive into kind of how they all come together.
>> That's right. Yeah.
>> Okay, cool. So, what is Avatar Motion?
And, you know, you're used to, I think, from the movie industry thinking of it as a performance almost, but for those of people who aren't familiar with Roblox, you know, I'm a user. I'm playing a game on Roblox. I actually have an avatar in front of me, like a 3D object. Can you talk a little about why we sometimes think of that as performance?
>> Well, I think an important part of obvious gameplay is that the the player has offered controls. Is my avatar move or jump or um strafe or roll or tumble or whatever it has to do. The response you're seeing of the avatar running at game frame rate um and how much you feel you are controlling it directly versus not is a important part of gameplay. as much as it is the particular avatar that you've chosen, how tall it is, how short it is, the length of its limbs, how light or heavy it is. Um, and can and does the movement of that specific avatar reflect the proportions of its body and and is it wearing clothes? Is it wearing armor? It's got a hat on, is it long or tall or short or fat? As you change those kind of dimensions, you would expect the movement to represent that. And are you seeing your representation in game both succeed at jumping or walking or running, but also in a sense struggling against its own proportions? Is there a truth to the character itself and the choices you've made about your avatar and how you see it move?
>> You know, in movies how sometimes in a bad movie I know it's an actor, right?
And I I just say like that actor like like I get popped out of my brain and I say that's an actor. It's not. And then a great movie you just you believe the actor's real and you pop into that. Is there a similar thing in Avatars where in a way the Avatar is an extension of yourself and bad avatar motion feels like this is a separate thing and it's just like I'm controlling some wonky machine. But is there also a moment with good avatar motion you can actually say, "Oh, that's kind of me out there."
>> You know, very dynamic motion is always better for games. If you have a character that's moving around and doing really fun things in the game, like you want it to be like dynamic and not stiff, right? And you want it to to reflect kind of like the the experience that the the developers also uh wants to wants the player to feel, right? So, um you know, we have some more realistic games, some more um like um cartoony games like can we make the the the character, you know, feel like they belong to the to these types of of experiences?
>> Yeah. And then you probably once again when you were working on Pixar um characters same thing right rather than actor you have a animated character driven by motion right >> did you talk much about that motion feels natural or the audience is going to see that and just believe it and were there other types of motion where you where you would think if we do that like people are going to jar out of the story or something. There are a couple key things that are similar and a few that are different. Um, on the different side, when you're working on a film or a TV show, doing animation that way, you know what the camera is. So, the movement of the character while in three dimensions using computer graphics techniques like we do is specific to that camera view. And so, there are all kinds of things that you can and do cheat all the time so that the perception of motion is perceived um by the audience, right? But in actuality doesn't work, >> but it doesn't matter because the film shows that frame from that view. In video gaming, not true. There's a lot of control of the camera. You can see action from any direction. Often the player controls the camera themselves.
And so, is it look from on top or the side or this? Like we're doing a run and a jump. And is it the character have weight and mass? And does it move in a believable way? Has to be evaluated completely around from all angles. So, it is a different proposition. Um there are many many run cycles that contribute to your character running in the game, not just the one we do from a side view or a top view or a shot view around.
>> Yeah. Plus there's some gameplay elements to this as well. Like so if you're if you have a fighting game for example, it's really important that you can read the animations and that you know they register properly because that's core to the gameplay elements. Uh so to respond to what you just said.
Yeah. When we started Roblox, we had a lot of ambitions around um compatibility and building a universal system. And it'd be fun to dive into why this arguably makes building an avatar movement system even more difficult at Roblox. It'd be fun to go through some of the requirements when we're designing both the current system and then the new system that we're going to be talking about today. Yeah, >> you know, if if I imagine a bunch of ways of moving an avatar over here, like we're talking about dynamic driven or key framed and then a bunch of bodies over here. Um, one could imagine those either go one to one. This movement is with this body or it could go many to many. I believe we go many to many.
>> Yeah, that's that's what we want to do.
Yeah. So, traditionally movement and and animation in game is just rotating some some joints essentially, right? And so that depends on your morphology potentially also like what how what you're made of and how your tos and so the system that we want to build is one where this is completely abstracted away. So we can you know you can make motion and have it like target all these different kinds of avatars um and also situations. Um so >> many to many movement any avatar super difficult. How about types of avatars?
Because historically on Roblox we started with this avatar we call R six >> which is very primitive. Six means six moving pieces. Then we move to R15, you know, 15 joints. That's a lot less than we have in the human body. We now move to a fully extensible system. There's a standard stop point at 132 and it goes beyond that which is a lot more like we now have fingers.
>> So that many many isn't just I believe many motion to many avatars. It's many types of avatars. And so a bonus um I think engineering thing we gave all of you is could a standard motion run on an R six, R15 and a highly articulated avatar.
>> So building the adaptive animation system allows us to flexibly apply motion from either less articulated characters like R six to the 15s we've had for a while to now 15 plus and all the rich ways we can move. If the characters we have on the platform now can move those ways, we can apply animation to any of them now.
>> Any control scheme to any avatar as well.
>> That's right. Yeah.
>> Peak times when there's 10 or 20, 30 or 40 million people, they're all using this legacy avatar stack. Let's kind of start warming people up with what is the current way and then we'll jump into what's the new way.
>> When we talk about the movement stack, it's it's many different things, right?
It's your player inputs, how they get transformed into, you know, moving directions for your character. That's what we call the character controller.
Today we have the humanoid instance.
Yeah.
>> Um and it only does a few things, a few set of things that you can customize as a developer. Um so you know, one of the great things about this new stack that we're developing is that we letting pe people extend and you know, it's much more flexible. Uh and then once you have this control, we also have to animate the body of the character. And typically the way this is done today is we we move the character and we animate it. And to animate we have this thing called the animate script. um which uses the animator and animation track API which are very like kind of old school way of doing things uh that require a lot of scripting. So, as a developer, if I want to create my own kind of like motion controller to have different types of animation, let's say I want to animate like a cat or something. If I'm making a cat game, I have to reimplement everything from scratch using these animation tracks like you know building like complex state machines in Lua and saying now I'm going to play playing this animation. Now, I'm going to fade to this animation to this animation.
>> And when you say making these complex state machines in Lua, I think what you're referring to is our current stack just isn't good enough. And so in many many cases I think we're seeing developers try to build something on their own that we should really be supplying. I >> think the current humanoid has done great service to Roblox for many years and providing run, walk, jump, the basic bits of motion um and applying that to our six.
>> It's actually as I'm watching this, it's amazing how far we've gotten with something developed by non-gamers to get Roblox going. Like we've really pushed this to the limits. Well, I've gotten a lot of uses out of that code for sure in the animation cycles. No doubt that there was a good valued investment there.
>> A particular things to comment that are that does well which we want to preserve is the responsiveness of a user input to quite rapid within a certain tick of simulation. The character can move left or right. It can jump and respond and land. The complexity of a jump is a sensor to the ground. You ballistically head into the air and when you land back on the ground, you fall back to it.
Yeah, you can jump onto different level things and interact with the environment around at that level. And so for basic motion of walking or running, it served well millions of games in Roblox have been built with that and work really well. We don't want to lose that level of responsiveness for games that want to build that way.
>> That's right.
>> But we also want to allow games that want to build more physical based motion as well to also be able to do that. And this CERN system does not support extension in that direction without throwing it out and starting from scratch which is a large burden for a developer as you mentioned to build an entire new controller with a whole new set of animations just to be able to get more physically based motion which just does not do a good job representing at in its current form.
>> Yeah. And I think part of the dream is in addition to motion um if we have both kind of somewhat of a common motion stack and a common avatar stack. There's a lot of portability potential that the avatar you use in your game may become your persistent avatar for a social experience. That may be the avatar you use somewhere else. So the more we're all using kind of like the same telecommunication switchboard interface, the more avatars can go from place to place, the more motion can go from place to place, the more these advances can go from place to place. And it sounds like when if we have a custom cat being made by a custom developer, that cat's less likely to be portable and usable in a different game.
>> That's exactly right. Yeah.
>> Okay. So, we set out to um this ambitious project. It's actually quite amazing. It's arguably been one of the most complex technical projects in the whole company because the avatar itself interacts with motion, interacts with how it works, interacts with legacy. Um, and so this has been somewhat like changing the wings on an airplane while the airplane is flying. like this is double black diamond level of difficulty that we've driven into. But but it'd be fun to start talking about the new stack and what we're building. So do you want to dive in? You know, in the current avatar system, it's literally a bunch of pre-cammed animations that go one to the other and the notion of that lean is not in the system. You know, you are either walking or running or standing. Could you mention a little what makes that lean possible?
>> This lean that we've implemented here is essentially we can parametrically drive this from the desire of the animator like in our animation graph system. You can have a procedural modification of the pose based on some parameter that may have come from gameplay or some you know game player inputs uh to say I should lean forward to some to to a to an angle or not. And then you can additively add this to the the pose of the character. We're still using free kind animations. Like yes, we're we're using animator content, but we've built a system that's so much easier for them to transform that content into something more rich um and that's able to be driven with more complexity.
Essentially, this what we call a blend space. And so we're blending animations together based on some parameters. And so here we see the character strafing.
And the the parameter for this for the strafe is just, hey, what's my facing direction compared to my moving direction? And so by comparing these things, we can we can tell the system, hey, this is all the the kinds of animations that you should be blending together. Uh instead of like just playing one clip after the other. This is just like a a multitude of plans u to to convey that motion.
>> From a gameplay control perspective, a continuous change from running always looking straight ahead, but running straight ahead then running as you start to go and then eventually sideways to backwards. That's right. Blend across that. That's the um rosary looking control there. You're seeing us change the animation clips for blending between based on direction and movement. And that gives a much more uh flexible and higher fidelity metotion because it represents what you're doing in the game directly.
>> So this looks a lot different than an animation type um toolkit for example where you see animation tracks like a video editor which is historically I think what a lot of Avatar Motion has been is like taking animation clips. So this this looks like a new tool, more of a graph editor. Will creators have access to this?
>> Of course. Yeah. Um creators will have access to this and you'll be able to build things just like we're building in um for default avatars. Yeah.
>> Okay. And so that's another principle is by default Roblox ships with all kinds of avatar motion. Will some of the new avatar motions that are shipped by default include this type of graft um blending as well as the original type key frames?
>> Yeah, we're working on an entire movement system that combines animation clips through graphs as well too in runtime that gives a much more complex set of motion available. We'll make that available to all. We'll include it ourselves and make it available to creators as well too.
>> So now we'll we'll dive a little into one of the most tricky things. If I'm a creator and I have a very simple Roblox game, I'm using all of my stock avatar things. Will I be able to flip a switch and just say use the new system or like how complicated will it be for me to adapt to this?
>> All of this is built upon new APIs and new systems um that are not uh they're not complete replacement to what that what's already there. It's we've you can see it as a supererset of all the existing APIs. So we made it easier for it to be compatible with with existing games. Um, but there is so for depending on on on how much you're intertwined with what we've already shipped, you might have to do some work.
>> Yeah, I'm thinking more there's an a huge percentage of creators that use our 100% stock out of the box avatar system.
>> Uh, they're building an obby. They're building a 3D immersive social experience. For those creators, I'm curious, do they just flip the switch?
Basically, >> yeah, for those creators, they would just flip flip the switch. Um, >> and we'll have that also in the templates available. they can start from a template and get it as they build a new game.
>> Yeah. Out the door.
>> Okay. So, before we kind of start looking into the system breakdown, um we've talked about motion and the the graph editor. Are there any other pieces we should take a look at? So, we start diving in like what is the character controller library and all of that. So, >> I was going to mention that. So, that has to do with the abilities themselves that an avatar has. the ability manager and control library are part of the same proposition.
>> And that's how to uh allow the new avatars to work as the previous ones did. Run, walk, jump, swim. That's a set of parody abilities that humanoid has had for many, many years in Roblox.
>> Okay, cool.
>> So, that's been in beta and already in release now.
>> Okay.
>> Now, I want to extend past that. So, let's add things like strafe, crouch, and uh give me another one. Reach and hold.
>> Yeah, I'll connect that in a second. Um, for movement and then also beyond movement, reaching and holding things.
Sprinting. So, sprint. Thank you.
>> Okay, >> I forgot that.
>> Um, reaching and holding is another ability set we're offering that allows the avatar to directly interact out of the box with the objects in the world around them as well too. So, it's not just movement and locomotion, it's also now interaction. That ability manager is built in a way that all the abilities themselves are available now to developers too directly. We're not hiding that inside of engine code. We're making that available in Lua. They can see how we built them and they can add their own. So, you're building a game and you would like to incorporate additional things, double jumps or flying or the things you might want to add. You can build custom abilities yourself as a developer and put them into that system and the ability manager work across them. So, in the loop here, we're seeing an example of a new avatar running around 132.
>> Okay.
>> In a little exercise, >> I'm looking for fingers. High five. On the left side of the screen, we've added a debug view just to see what's going on there. Little green lights are popping up and down that are showing the abilities that are active or not. As the character, now we're climbing here, as the character interacts, they'll soon be falling down and then back running around on the ground. And you can watch them light up or not on sort of the little green light board there. There's the jump in a fall, jumping a fall, coming down. If you're adding custom abilities, you'll see below sprinting and strafing. You'll see your new ones show up underneath there, too. And then the in real time in game time what's playing and happening to your avatar you can now interact with directly. You want to add some more there's a lot more to talk about here.
>> Yeah. But so this is really cool because traditionally this is you this is usually being done with a with just a state single state machine.
>> I see three green lights rather than one. And my recollection is our current avatar system is like you only have one of those green lights. one.
>> So that I think is when you say the word blending or things like that, I'm assuming these are being blended together.
>> Yeah. The the core concept here is that all these abilities, some of them can be um concurrent and some of them can't.
And so one system is able to express all that complexity as opposed to you know what we had before which was like you have you have one locomotion state machine with one active state at the same time. That's that's a problem for many reasons, but the main one is that um if you want to add something new in a state machine, then you have to consider all of the other transitions from and to the other states. Uh but also if you have uh if you're doing things that are um that are not mutually exclusive, maybe you have something you're doing something with your upper body, you're you're holding an object or like >> you're running and aiming.
>> Running and aiming, for example, or reloading something, right? So this is two different stateful processes. Um, and so you could, yes, you could have two different state machines, but how can they, how do you relate these abilities together? And so in this system, you're able to to to to express that that all that complexity um, and and add more and more abilities to the for the for the characters.
>> Okay. Super cool. Now, you I know you've told me in advance there's a few things you want to show off, and one, I think, is R132 versus R15.
>> Yeah. Well, we're seeing, I think, a realistic avatar with fingers uh, playing the piano. And this was an animation that was uh authored on a different rig actually on a different character and we retargeted at runtime uh so that it properly places its hands and the fingers are trying to hit the right keys and so this is all happening procedurally with the adaptive animation system. Okay. So, I think like that we have fingers. Great. High five, which is super good. And so, um, that's a high degree of articulation basically that I think can run side by side.
>> Low res high-res stuff.
>> Well, let's look an example of that right here. The adaptive animation loop we have to show as well, too. Let's take a look there. Several different avatars now replaying the motion retargeted across them as well, too. And you can see them all aiming and reloading. very different body shapes and proportions, very different sizes and masses.
>> And so this is that level of adaptivity, that engineering challenge of having any avatar work with any motion, which it looks it actually looks pretty reasonable even at lower res than high res.
>> We all know as game creators that the animation work itself is a significant part of the effort of standing up a game. Yeah, every creators had that to us for a long time. So finding a way to adapt that animation and reuse it is an enormous time savings for game creators and gives us flexibility and motion across a much broader set of characters as well too. So >> okay and then as far as the animation graph itself and um editing using the graph um transitions is there can you talk a bit about what it's like to use our animation graph editor?
>> The whole point of the graph is that it it removes complexity from creating uh rich motion. So before we had to you had to if you wanted to um have motion that reacts to to anything really to any kind of a parameter you had to add some code to do this. Um and a lot of people who actually are able to create these animations and have a have an eye for how movement should happen are not able to write code. And so the the whole point of the graph is that um you can um um wire operations together in pipelines or in in different in trees and you know different state machines and um um and and blends to have this complex logic of motion without having to write a single line of code. Um and what's really cool about it is that um the the the graphs themselves they respond to gameplay parameters. Um and the cool thing about graphs is that you can replace a graph with another as long as it also implements the same parameters. So for example for our default animation you know you have your you have your movement state your movement speed where you're looking at what you want to do and all these are parameters that feed are fed to this graph as a developer I can make a new graph that also interpret those parameters but do something completely different >> this is reminding me of a bunch of things from my past this graph editor um in the control signal space there is a product called mat lab that is does signal processing and you build very complicated things without programming that like will control the act of suspension in a car.
>> I'm an OG mat lab user.
>> Really?
>> Yeah.
>> Yeah. Or the flaps.
>> Mechanical Jinger degree. I know.
>> Yeah. The flaps. And so there's a little bit of that mat lab vibe to this.
There's also a couple learning to program tools which I think is a good sign. Um, Tinker, Scratch, things like that that use block level programming.
So I see it. So this feels to me like something where you're learning rather than having to write code, which seems super cool. It's very it's very fun to play with this and just to learn to combine different kinds of procedure procedural motion and animation clips together to just create something new.
Um you'll be able to play with inverse kinematics for example here like get completely procedural and immersion motion with this system.
>> What's your thought on complexity? Are there any ways to manage complex like if someone goes absolutely wild is there a way to manage the complexity of their graph in some way >> as you play this debugging loop here having built more than a few graph editors in my life.
>> Okay. um in various different tool sets.
Once you built a complex graph, you're like, what's happening?
>> So, what you see on the on the left here is basically the state of the graph that generates the motion that you see on the right. And so, it's really important for developers to be able to see that because, >> you know, you might have you might have you might have done something wrong. And as you're playing the game, you're not exactly the motion that I want. You can you can just record that motion, play it back, and see this all the state of of like what led to this motion being generated. And so as you go back, oh this is I I you know I made a mistake here and I can change the animation that goes in there. So >> it's interesting because I'm seeing one curve on the right with an overlay with a very crisp more block wave type function as well as a smooth wave. And I'm immediately assuming whatever is in the avatar is more going to be the smooth thing.
>> So that almost looks like the response to a more crisp signal with some kind of smoothing thing. The unsmooth signal is really the control the control inputs and and obviously the the avatar is phys is is physically present in the world.
It can't react uh discontinuously like that. So there's a there's a the smoothing part to just make it you know more more fluid essentially.
>> Okay. So debug probes anywhere watch all your curves >> and also as I mentioned previously in gameplay bring up that debug view to see which abilities are active or not in gameplay as well too is also part of this as well. So you can both see it in gameplay and here working in the animation curves as you assemble them themselves and blend them properly is all available to the developer to help figure out how to get this motion to be exactly the way you want it to be.
>> Okay, we're in a city. What's what are we seeing here, Vincent?
>> Uh we're seeing a prototype of our new motion controller using animation graphs. So we've stitched everything together uh as a final product and you see the characters moving around very realistically and very responsively. As you change direction, the feet of the character like are really planting in the in the in the direction.
>> I'm seeing strafe. I'm seeing uh lean in at the start of running. I'm imagining I may see those feet go in a better place than they have in the past.
>> Yes.
>> And I'm seeing that sword motion maybe be a little more natural.
>> Yeah. So, what we can see here is that although this is built on new technology uh that's just giving us so much better motion, it's also compatible with with everything that's already on the Roblox.
So, this is an old sword we found on the toolbox. has an animation that it plays and the system can is able to layer that on top of the original motion of the of the high fidelity motion.
>> I want to highlight as we look at the loop here if you watch the right left right left of the legs as he begins to run a move. Let's also watch the left, right, left, right of the arms and in particular as the direction changes of the character. You both getting a lean, you mentioned Dave, but as the character go, the avatar goes from running to strafing back and forth right there as well too. You watch the right and left arms drop down in the transition in between >> and also in the crouch as well too.
Blend.
>> I'm seeing arms crossbody. I'm seeing a lot of things I've never seen before.
>> Yeah. Which is I think great to see now coming out of the motion system that we can pull together now and stitch together. So just a couple examples there worth highlighting. There are many more coming, but that's just a few.
>> Super good. So, if everything goes the way we're planning, what do you think this means, say a year out to creators who are trying to build motion on Roblox?
>> I think that some of the top games built um will lean. I both hope they will, but I expect they will because the gameplay available leading into this level of movement, I think, opens up >> several genres of gaming we don't see as commonly in Roblox that can now get built more easily at a much higher level of achievement. Okay.
>> And I think game players really appreciate that as a compliment that's already in the platform today.
>> What are some examples of difficult genres?
>> We're talking to a developer in the in um um that we're working with right now that's trying to make an FPS >> uh game and they want to use our platform avatars and the main challenge with this and I run into this like last year when I in the game in our game jam that kind of led to us creating adaptive animation is that hey I'm in a first-p person view. I'm holding my my weapon, but I'm getting all kinds of different avatars as I change, you know, as I change my body on the platform. Um, and so my animations don't properly hold guns. Um, and so if you if you have more proceduralism and you're able to to not record the motion as just joint angles, but just like this is how I should hold my my my gun as a as an abstract concept, you can you can you can make sure that all the characters properly hold the and and play back your animations. Um, so FPS is a hard one. Um um if sports games is a hard one. Sports games like the complexity of >> what makes sports games difficult with avatars.
>> Well, I mean to represent how Messi can dribble a ball accurately and juke a defender around is like an unbelievably complex thing other humans can't do. I can't play soccer like that. I never obviously cannot to do that now represented to an avatar in gameplay itself and have motion be believable. In that case, you're actually having the the player, as you'll watch a top Premier League player do, will completely throw their body a different direction, taking the defender off while the ball is going the other way or not even being touched. So that interaction both to control from gameplay perspective, let alone represent as believable motion >> is a tall order. So, but we're moving toward that. Try to get closer to that.
>> Okay. So, one of the things we may see from creators is a wider range of good motion in certain types of experience.
any other mechanicsoriented things we might see or things you're looking to see >> as more physical motion is made available more easily to delivering gameplay then the physical challenges of the environment around in more specific ways. So very advanced obies that are not platform to platform jumping but become much more complex in the you know gymnastic style maneuvers that are required to get over the challenge in the game can now be expressed much more easily. I think of a magic confluence going on between what you're doing in Avatar Motion, what our engine team is doing, ability to go to server authority and client authority. Yeah.
>> To really get to the one of the true dreams of Roblox is your avatar >> physically interacts with the environment in a real physically realistic way. One of the things we don't see in obies right now is for example just random ropes hanging in the ceiling. the avatar able to grab the rope, physically swing, grab the next one. You know, we maybe saw it 20 years ago in a 2D game somewhere, but having that work from first principles >> is super hard. So, do you think such things will be more enabled with this?
>> We were playing with the trappies this week that as well too. So, yes, that's a we're we're working our hardest to get those kind of things to work out. Now, there's another thing that's really difficult is when we enter the real world. Um, there's so many types of objects in the real world. I have this mug. We have shovels. We have wheelbarls. We have cell phones. We have backpacks. So, is there anything we could we could simplify there that we're thinking about so that it's easier to get realistic real world interaction between avatars? Part of that has to do with the materials of the objects you just discussed, Dave, and what is their mass and moment of inertia.
>> Um, how does one hold the thing? If you have a a sphere covered in vegetable oil made of metal, it's very hard to pick up. It's super slippery.
>> That's right.
>> Versus a sandpaper brick is easier to grab. So, that's an issue, too.
>> Um, that relates to the avatar as well.
How strong is the avatar? So, how large are its limbs and what force it applied to grab the thing? which there will be some experiences where we want all the avatars of the same strength.
Competitive first person shooter, probably others, like Dungeons and Dragons where someone's a thief, someone's a warrior, they're all different. It sure would be cool if the stronger avatar could pick up heavier stuff than maybe the wizard, for example. For us, we're balancing how much we put in the standard default templates for um to make a reasonable thing out off out of the gate for creators to work with and let them adjust that spectrum of how far they want to go to a physically based interaction. I cannot pick up the anchor of a boat, but I can pick up a coffee cup versus gameplay that wants to be more flexible in that regard.
>> And there's also complexity that we're solving on like um you know, how do we actually interact with a with a cup? How do we how do we pick it up? Um, you know, traditionally you would rely on very traditionally you'd rely on different animations for different objects and different avatar which is we can't really do that. Um, and so um, you know, we're building a system where um, you know, we're going to be able to understand the object, understand where we should pick up where the hand should go to pick up the object and you know, with a tonomy of all these all these categories of objects, you'd be able to, you know, um, generalize to new unseen things because I I kind of I've never seen this mug, but I know that it's a mug and so I know how to pick it up.
Well, having the behavior of that object built into the object geometrically, you know, that is a mug and having that work will profoundly make it easier for people to build interesting things.
>> The the the cool demo would be building your mug on a pottery wheel, putting that on, baking the handle in, and literally without any other programming have the avatar be able to >> with editable mesh. Yeah.
>> To pick that up. Right. From geometric analysis.
>> That's right. Identify the object as a class of co class of mug, coffee. And these things can't have a handle and an orientation to grab. But importantly, Dave, when I pick this up, I can now drink.
>> That's right. Oh, so not just pick up but drink.
>> So acquiring abilities themselves by interacting with the objects as well too without the I can't really drink anyway.
I just have my hands. But in this case, I can and then put it back down and not.
So giving game creators flexibility to enable that and having the objects in the world to some are able to be created by game creators or come out of libraries that come with abilities themselves based on the interaction with the object and transfer those to the avatar or not based on that interaction is a whole another thing we're working on too which is >> which is once again a many to many any avatar can interact with any mug which is very powerful rather than a custom avatar script and that one avatar goes somewhere else and you can't pick up the mug. That's right. I mentioned earlier that creators can just make new abilities and integrate them with the ability manager. A use of that is abilities that come from objects.
Interacting with the object can give you that ability and releasing the object doesn't um as a way to really add a whole another dimension, >> which is where the ability probably should be, right? The only way for that ability to be extensible is if creators can embed abilities in the object.
>> Yeah.
>> Okay. So as we start thinking about where this system's going to evolve, we're just in the phase of bringing this live right now. So we're very operational getting everyone using this.
But when we look out, one of the ways I I would key off to where is this going to evolve is a trivia um question of what do we all think is one of the most difficult things to do for Avatar Motion? Like do we do do you either of you have your most difficult avatar motion scenario? I've got mine. I'm curious what you guys are thinking.
>> Mine is um moving to a world where avatars are not special in the sense they're just they're just a soft body articulated. Um >> that's somewhat related to mine.
>> Yeah. Okay.
>> I like where you're going. Um so so so treating avatars as basically digital robots uh that we have to control in real time uh is is really the hard problem that I think um we we should solve. Um and yeah that's it's a hard one.
>> How about you?
>> I'm boy I'm gonna my answer is a different direction.
>> You asked about the most difficult challenge.
>> If we imagine really good avatar motion in a very difficult scenario does anything pop into your mind? working with the trapeze already this week and what it means to do gymnastic style maneuvers where the physics of the body itself is not dominant or subordinate but equal to the physics you get from the thing the pommel horse set of rings uh gymnastic parallel bars >> um the or trampolines um those are all examples of >> neither an avatar dominant or an avatar subordinate proposition they're even money with the interaction of the physical thing they're playing they're working if and those are very hard to get believable. But if you did really a trampoline right, you could be bouncing up and down doing seminal maneuvers in gameplay accurately. That would be wicked.
>> Super hard. Both of you are referring to more generalized avatars hinting at physics simulation as well.
>> Mine would be um hand-tohand combat or wrestling. Yeah. which is super difficult because once those two avatars touch the motion of one affects the other and they have to stay synchronized and our Roblox as well as many other game engines mixes server side and client side simulation to try to make that so the combination of server authority that we're working on >> um to to simulate that scenario we need to move to server side simulation we need to simulate those avatars together at the same time. We need to extrapolate for each client, give them the illusion that avatar is being responsive. And I think with the combination of what you're working on and server authority, we're going to start seeing some of these impossible situations.
>> I think you looked at my calendar the last week. Early meetings was talking about exactly >> you're talking about this >> right before I got here.
>> Isn't there isn't there like >> saturated my calendar? there some grand unification of server authority with Avatar simulation where all of these very difficult things come together >> since we're podcasting about nerdy technical things.
>> Yeah.
>> Yes. All that to be one more one more step specific. The transition between the client owning that simulation and the server taking both together in the wrestling match and back to the client when they let go of each other. That transition in between is all kinds of interesting things to go build. That's super tricky. That that's very interesting and it's a there's a really fun story that when we started Roblox um compute was very expensive in the cloud just like AI compute is very expensive in the cloud. One of the reasons we built a dynamic client side server side simulation is the more simulation we could move to clients the less our server bill was. And so there was literally there's literally a cost component in the early version of Roblox to trying to bring some of it there. It served us well to end up with a system that can dynamically go client side and server side simulation.
>> I want to add to this day for a second.
Um you know as we see more and more um new genres of gaming come to Roblox going forward, >> some of the competitive requirements of those gameplay genres make this issue even more acute.
>> That's right. and being able to accurately represent in a first-person shooter. As you mentioned, ball sports are fine, too. RPG games, I can mention several different genres that we're now seeing get built more in Roblox as we go. Place requirements that are pretty strict on if you're in a first-person shooter, when you're looking versus pulling a trigger and launching a projectile and do I land it on the person I'm aiming at or not. Resolving those things quite accurately is very important to those people designing those that kind of gameplay. So be able to support that directly in a case where I can grab your wrist and you then let go of you and transition between how the simulation happens together or not has to all get worked out when working on that set of problems right now.
>> And just so the audience knows this is literally a problem of raw physics in that if we have one player in Japan, one player in London, they want to simultaneously make decisions. We have speed of light. We have speed of networking. We have lags in all different directions. It's almost like a metaphor for a relativity problem where things cannot be simultaneous at the same time. And so there's a very complicated kind of presenting a unified view of the world to both of them even though their clocks are very far separated.
>> That's right. And doing enough to predict on both sides accurately when things are not quite right. fixing that prediction with error correction just gently enough that the gameplay is not jarring and you don't warp the world when you change but blending into that so the gameplay is accurate but the players seeing that are getting a really high fidelity experience at the update rate of their devices >> that's right >> 60 years or more as the case may be right so getting that correct at that time scale is well very challenging >> it's very challenging so and then as you think about adoption of all this functionality um what developers have to do where it's going to go do you have Any thoughts on the speed? I I'm assuming many many games on Roblox are using default avatar, flip the switch, good to go kind of thing.
>> And then how about for a more complex developer? I actually think it may be the reverse rather than an you know how do I adopt? I I think there's going to be a lot of hunger for this technology to just build better avatar motion, but can you anything high level about what we see as the adoption cycle or how creators are going to hop on board?
Yeah, I mean, so as we said, we're going to be updating all our templates to use all this new technology as it comes online and so develop more and more of what the default avatar can do. And so if you're making a new game on Roblox, you're going to get all this for free.
>> You know, it's very interesting. We're seeing more and more devs use MCP and um AI to jam into their games and start to do more and more. It's not inconceivable that the more as long as we have cloud access to all of this, we're going to see people using AI to literally dynamically modify their whole game to adapt it to the new system as well.
>> I think we'll see that. I think we'll see people um through inference develop new abilities.
>> That's right.
>> themselves and working at inference to actually develop animation clips directly as well to full motion systems.
So that's a little further out later this year, but we're working on that as well too. We're seeing this in many other places where if literally the core schema and the machinery of this system can support certain things either scale, realism or what have you. As long as it can support that, the future interface may literally be pure um prompt AI driven things. And so the more robust this system is, the more we may say a second wave of people building all of the the animation and motion in their game purely with AI.
>> I just want to I want to add a comment to this Dave because I know there's been a lot of chatter online about like is it what is it like using AI and creating of creative resources and the rest or creative assets. Um I come from a long background of crafted animation. Decades of my life was spent doing that. It's important and Roblox has always supported getting at the core assets themselves and being able to edit them when necessary.
>> That's right.
>> And I think that the amount of expression creatively we can get through movement. Will this open up chapters more in the next couple of months?
>> Yes. That means emotes and fun ways to to express yourself. Peacocking in the game, whatever you want to do is also part of it. Game design itself and motion and game design now can be way more expressive and it's a great way for developers to differentiate their game, attract an audience that's excited about that. I'm happy to make that be way more available to creators and players on the platform too. I think that's great >> for a lot of game developers like creating motion animating characters is one of the limiting factors in in actually building fun gameplay elements.
Uh so that's going to be a huge huge unlock.
>> Imagine having so many creators more and more just love the creation process of their motion system >> and look at their gamer experience and just go, "Oh my gosh, like it's so beautiful." So I think we're gonna see more of that with the stuff. I'm stoked to do. Yeah, let's do it.
>> Okay, so Vincent Orin, thank you so much. I I'm gonna literally say for your invention and for your tenacity. This is once again one of the most complex systems on Roblox just like stayed on track and we're right in the middle of it. So, it's just been an amazing technical achievement.
>> Thank you. Thanks, Dave.
>> Thanks. This is Dave Bazooki. Thanks again for joining us for Tech Talks.
Look forward to seeing you next time.
Thank you.
Vidéos Similaires
Boise State Students Take One Step Closer to the Moon
idahonewsondemand3032
373 views•2026-06-01
Beatbot Sora70: JetPulse Technology and AI obstacle avoidance and navigation!
DroidModderX
26K views•2026-06-02
Beyond Robotics | European Rover Challenge 2026
beyondrobotics
189 views•2026-06-01
NVIDIA Just Unveiled a 75 DOF Humanoid Robot
DPCcars
74K views•2026-06-01
NVIDIA's NEW Humanoid Robot Isaac Groot Revealed!
DPCcars
3K views•2026-06-01
Tesla Summons Pulls Into Parking Spot
DennisCW
1K views•2026-06-03
Introducing NVIDIA Cosmos 3: The Open Model That Thinks, Generates, and Acts
NVIDIA
6K views•2026-06-02
Critical Refinements to my Modular Combat Robot - Rift Mk2
engineered_cha0s
234 views•2026-06-06











