Comments on Comments: Fonts, Streaming, Physics and More
Many readers pour significant time into writing thoughtful replies to our blog articles, and we want to make sure we address them. Comments on Comments exists so you get answers, straight from a ROBLOX developer, to your questions. For this post, we’ve tapped a wide range of ROBLOX employees to address your feedback about our new font system, our recently previewed streaming system, our newly launched Group Dynamic series, our ever-evolving articulated physics engine, and much more.
Senior Rendering Engineer Arseny Kapoulkine responds:
Q: I’d really love it if users could upload their own fonts, or use fonts they already have stored on their computer.
Just using the fonts that people have on their PCs is hard since we can’t guarantee that the font will be available for everyone. So the only viable option here is uploading the fonts–but for that we need to support reading TTF files at run time.
Q: Can you please add in £ and € currency symbols for UK and European players?
Q: Though I do believe this is a worthwhile update, I am still wondering why you decided to use a Sprite sheet over a font file? Surely, packing a font file into ROBLOX would allow for much more customization, especially with the sizes.
We want to eventually switch to a TTF-based system where we do all character rasterization at runtime. Our most recent update is the first step in this process–we pull all data from TTF files directly, but doing so is an offline process. The next step will be making sure that the font engine is memory-efficient and performs well for any reasonable number of characters displayed with varying sizes.
ROBLOX Software Engineer Yunpeng Zhu responds:
Q: This is a great idea–I’ve seen this implemented in many games and I’m glad ROBLOX is using this system. This will make it much easier to play games with a ton of parts. Here’s an idea: why not have an option next to the “Game Quality” option that allows you to toggle this feature–if you want to load the entire level to see all the way across the map, you can.
The amount of data streamed to the client is determined by three factors: speed to process the data, the amount of remaining system memory, and how fast the graphics card can render. There isn’t much you can do about the first two, unfortunately–if you’re running out of system memory and continue to send data, you will crash the game. However if you have a fast CPU and lots of system memory but lack rendering power, you can still tell the server to send everything by setting the Graphics Quality to 21. This will allow more parts to be streamed in and rendered, though your performance may take a hit.
Q: There is a problem I can see with this system. If you were in a shooting game it would be impossible to snipe, or even aim with medium ranged weapons. The components that load during the stream process shouldn’t be your surroundings, it should be what you can see. Depending on the type of game, you should be able to switch between what you actually see and your surrounding environment looks like.
This is definitely an option we’re exploring. Similar to how we calculate distributed physics’ priorities, what to stream is based entirely on the location of the your character. In the future we will make changes so that the regions in the camera view get priority–that way actions like zooming with a sniper rifle will also be able to stream smoothly.
ROBLOX Creative Director John Shedletsky responds:
Q: This seems like a great idea! However, I have another suggestion that might make builders happier: invincible terrain. There could be a checkbox under “Item Terrain” in your Workspace. When checked, terrain would react to explosions like an anchored block.
We’ve already done one better! It’s a little known fact that the Explosion.ExplosionType property allows you to toggle cratering on and off for individual explosions. So you can create some weapons that are too weak to destroy terrain, and other weapons that rip it apart.
Q: All of these new features are nice, but what about multiple re-sizing? Could you add in a feature where I could re-size 20 bricks at once without clicking on each one of them? I know you can shift click but that’s still on an individual basis.
One of the many great things about ROBLOX Studio is that if it doesn’t support functionality that you want, it’s possible to get it with plugins. Resizing models is something we might add in the future, but until then, this is something that Anaminus’s fabulous CmdUtl plugin can do, which you can download here.You can also utilize this blog article for a step by step guide to installing plugins.
Communications Specialist Alan Fackler responds:
Q: An interesting insight would be to look into the Ro-Nation world, though they have already been featured in Spotlights about some of the cities. Still, more could and should be said about the unique ways these groups are run.
I believe you’re talking about groups that are based on real-world places. I totally agree that groups based around real-world cities could be a fascinating story. Unless you’re talking about the group Ro-Nations–which I also looked up. It’s a smaller group (around 5,000 strong) but their base looks seriously cool.
Q: There are two clan worlds–metal branch, and modern branch. Metal branch is where all Medieval/Ancient-time-based groups stack. The modern branch, which is much more popular, is where all Urban/Sci-Fi clans stack. Each clan world needs a different set of skills, and each clan has something else to try and master. It’s an eternal journey that never ends, and never will end.
I had no idea–that’s really interesting! As I stated in the article, I went into this knowing virtually nothing about groups–I’ve discovered a lot so far, and look forward to learning even more. Also your ending phrase was worded in a way that made me feel somewhat profound, so good use of language.
Q: Top suggested Groups for the next Group Dynamic (so far):
- Pharaoh Independent Combat Operations
- Advanced Zero
- Special Operations Detachment
- Zenderain Empire
- ROBLOX Defence Mechanisms
- Electro Legion
- The Vaktovian Empire (highly requested)
- Kingdom of Halmar
- Alversian Peoples’ Navy
- ROBLOXian Army Infantry Department
As you can see we received a ton of passionate feedback about which groups to focus our attention on–which was precisely the point of the inaugural article! Thank you all for your suggestions both on the blog and on ROBLOX (my inbox flooded shortly after publishing the article). Keep them coming!
ROBLOX Technical Director of Physics Kevin He responds:
Q: Those lines! Are we going to be able to use them when creating a physics system for a model or something? Or are those just there as a diagram?
If you’re referring to the tree-like, structural lines showing the underlying topology of the vehicle, those were made as a debug feature to visualize what the structure of the model looks like under the hood. You’ll be able to toggle these lines in Studio. On the other hand, if you’re talking about the outlines (the seams between welded parts), this is a rendering effect that we recently made totally optional in Studio.
Q: I’m really curious as to what you’re working on next. Maybe a wrecking ball or a amphibious car?
Those are both excellent ideas. We actually did think about modeling an amphibious car with our new physics joints. We’ll definitely get around to it–we still have some water physics bugs to fix in order to ensure that the new joints integrate well with buoyancy. Wrecking balls? That would be madness. I’m not saying that’s what we’re working on for our next physics demo, but I will say that that’s certainly how ropes are meant to be used!
Q: In terms of player physics, I think that the next step should be the ability to move your avatar’s head. What if you could turn your head left, right, up and down? I think that would be really cool.
ROBLOX Senior Gameplay Engineer Vincent D’amelio responds:
Funny timing. We are working on updating the character animations with some changes in the character hierarchy to support more natural motions. The first version of character animation won’t have the character looking at things based on where the camera is looking, but the head will move as the player runs and jumps about the world. In the future, we hope to expand the range of character motions. We’ve got some pretty exciting announcements to make in the next couple of weeks that have to do with character animations, so I’d keep an eye out.