Comments on Comments: Physics, Character Animation and More
Many readers pour significant time into writing thoughtful replies to our blog articles, and we want to do a better job of addressing them. We’re introducing Comments on Comments as a monthly series that will focus on responding to great questions and feedback.
Each segment, we’ll delve into recent blog comments to find relevant questions, concerns, and feedback, and have the most qualified members of the ROBLOX team respond. For our first post, we’ve tapped ROBLOX Creative Director John Shedletsky and ROBLOX physics guru Kevin He to respond to comments covering character animation, locally hosted servers, recent updates to ROBLOX’s physics, custom gravity, John’s bizarre sense of humor, and more!
John Shedletsky: Over half our users are 13+, so I wouldn’t say that we’ve forgotten about them. For our initial user testing experiments, we’re most interested in smoothing out the ROBLOX user experience for new users. Scripting will probably always remain a “Power Use” feature. We could certainly make it easier (check out the blog next week, we’ll be announcing a really awesome new feature for ROBLOX scripters), but our focus right now is getting to the point where everyone can build their first ROBLOX level in ten minutes. You have to learn to walk before you can fly.
MayorMcFlaim: My list of things for ROBLOX to accomplish in 2013:
- ROBLOX for Android
- ROBLOX 3.0 Morph
- More realistic character development
- Voice Chat for 13+
- Better Anti-Hacking software…or hire counter-hackers
- More skin colors
- Bigger servers, less lag
- CGI animation
- More Admins
Kevin He: More realistic character movement struck me. I’m working on adding support for realistic torso animations. We want to add physics based reactive animations such as arms flailing during a free fall. We’re also in the process of fixing a ton of character and tool/weapon motion glitches.
BombHunter2000: I wish ROBLOXians got knees and elbows so they could move more realistically. I wouldn’t recommend it though, it would take ages and a ton of energy.
Kevin He: We’ve already featured more articulated humanoid models for some of the games we’ve developed internally. One of our main goals is to make adding points of articulation to an animated model a streamlined experience. To do this, we’ve got to keep a close eye on network performance — synchronizing 100 players across the client/server boundary is a huge goal that we’re hoping to achieve one day soon.
Monk: I feel some basic features that a lot of players want are being ignored, such as being able to add animation, mesh and sound. I understand that a program to do these things may be too complicated for most users, though players did pick up on learning how to script.
John Shedletsky: This is one of the most frequently voiced feature requests–we know people want it, it’s just a huge project to build out the creation/upload/moderation/ catalog/insert/Studio pipeline for these different asset types. On top of that, we want to be able to let people sell these assets, which means we have to figure out a way to enforce some notion of a copyright on our site so that people can’t just steal your stuff and resell it. I’m not saying that we’ll never do it–we’re just not doing it in the next three months or so (except for one thing, which might slip out any week now).
Kevin He: It would be super cool to export ROBLOX animation to Max/Maya/Blender and do full blown skeletal animation there. But there’s a lot to do before we can do something like that. We need to add more bones, standardize the animation pipeline and add skeletal animation support, and address potential network performance problems caused by the cosmatic animation. Alternatively, we might be able to provide smaller scale “gesture” animations for decorative purposes.
Bobafett567: It should be an option to have the impulses or springs. Running on the falling blocks in slow motion and jumping into an enemy’s base with a sword, then KOing him is pretty awesome. You’ll have to be Chuck Norris to do that with impulses.
Kevin He: We will run our engine in a sort of hybrid mode to leverage the best parts of spring and impulse solvers. The slow motion effect of falling blocks, while cool, is not intended behavior, since eventually it causes the entire system to become less responsive. What’s more, turning something that’s fast into something that’s slow is easy. You can add slow motion effects in your script as a design choice. But for default engine behavior, we want to run it as fast as possible.
NarutoUzumacki: This will make ROBLOX a lot more popular seeing as how physics are (for many people) what make a game good. I suggest an option in ROBLOX game development to allow rag-doll effects for players when they die. Rather than have them fall apart into pieces, keep the arms, legs and torsos together and just make the player model collapse.
Kevin He: This is an interesting idea — we’d need to think about what cases in ROBLOX could call for the use of ragdoll physics and what options we have. We’re currently working on making ragdoll behavior more and more customizable using scripts.
Cottonman: Maybe the speed of the object receiving the force from the explosion should be determined by how much force is exerted onto it? For example, if a small wall is hit by a small force, it should only be forced forward a tiny bit. If the same wall is hit by a larger force, it should be pushed more.
Kevin He: The explosion impulse is totally customizable through the use of scripts. Using scripts, you can define the blastRadius, blastPressure, blastMaxObjectRadius, and whether debris or effects shoot out of your explosion. The physics part of all this only focuses on one thing: to simulate the defined explosion as accurately and as quickly as possible. The actual momentum change received by the parts are always simulated according to Newton’s 2nd law. Indeed small parts will receive bigger speed boosts for a given strength of the explosion. Indeed, I say.
Kevin He: You can cheat that using BodyForce in your scripts. Changing the default gravity in the physics engine would have a huge impact on the physical world, across all games, so we’d need to proceed with caution. If we were to try something like that, it would definitely be on a per-place basis.
H3BO3: I love what you guys are doing with the physics and lighting engines. Please restore the cursor change when you mouse over a ClickDetector-enabled brick. The removal of it has turned too many games upside-down, and people can’t tell if a brick is a button or not. This causes confusion, especially with control panels with non-color changing buttons. It prevents the user from knowing if the command was executed or not, and the confusion has lead to users pressing buttons twice by accident.
John Shedletsky: I just tried this out in my simple Click Detector Demo level and it seems to be working fine, unless I misunderstand what the problem is. If you have more information on this bug, please e-mail it to firstname.lastname@example.org with “ATTN John Shedletsky” in the subject. Thanks!
coplox: Can you at least support locally hosted servers?
John Shedletsky: We do support locally hosted servers, but only for the purposes of testing levels with ROBLOX Studio. The whole point of cloud based gaming is that users don’t need to host servers. I would be interested to learn more about why you’d want to. Most home internet connections don’t have the bandwidth to support large multiplayer game servers locally. On top of that, there are security issues that we don’t want to deal with that we would have to tackle if users could run servers.
Majoko1: From the first two sentences of this blog post I could tell John wrote it. He has a sarcastic humor in everything he writes.
John Shedletsky: I blame my upbringing.