ROBLOX Unleashes HTTP Requests And Better World Building Capabilities
I've talked about ROBLOX a few times before, but for the uninitiated, it's one of the Internet's largest user-generated gaming and development sites. Described by VP Marketing And Brand Experience Brad Justus as "something of a "YouTube" for games and user created places," ROBLOX is designed to provide its users with the necessary toolsets to create their own interactive content. That toolset recently got a whole lot better.
A few weeks ago, ROBLOX unleashed two new innovations on its platform, both of which promise to be game-changers. First off, the developers behind the platform have released a new HTTP Request service, which will allow creators to link to the World Wide Web. Second, they've thrown the terrain-building capabilities of the platform into overdrive, with a whole laundry list of upgrades designed to increase world capacity, lower memory consumption, and improve world creation and maintenance.
On Friday, I got the chance to sit down and have a chat with two of the developers behind the recent innovations. Simon Kozlov is a Technical Director at ROBLOX, and served as the organization's Client Engine Lead for the development of the HTTP Request service. Arseny Kapoulkine, meanwhile, played a vital role in the expansion of the engine's voxel parameters as the organization's Senior Rendering Engineer. Together, the two developers walked me through the details of ROBLOX's latest innovations, and what they hope to see stem from them in the platform's future.
The HTTP Request Service
Simon started things off, speaking about how the new HTTP Request service will change how users experience ROBLOX. "In general," he explained, "this new feature is about letting our games interact with anything out there on the modern web. Essentially, ROBLOX is a user-generated games platform, and so people will write their own scripts or code that executes on our servers that we host in our own cloud. By enabling HTTP requests, we allow user code to interact with pretty much any server out there."
"In general, the idea with this feature was that it opens all kinds of huge possibilities for our games. We can't even imagine what the impact might be in the future. Although we have a few scenarios we kind of know about, with the flexibility our creators have, we can only guess what amazing things might come of it."
As with any new tool, there's the possibility that players might abuse what they've been given. People could potentially use the HTTP Request service to link to platforms outside of ROBLOX, implementing features that might end up causing some harm to ROBLOX or its community. Simon's relatively unconcerned:
"We're good at filtering out malicious software. What we need to work on filtering out is, for example, websites that don't work with the ROBLOX platform. Right now, we're not letting users hit ROBLOX sites through the HTTP service, nor can players access our APIs through anything but our own platform. In addition, in order to save on bandwidth and make sure you can't download huge files and overload our data center, we've limited both size and frequency of the requests."
At the moment, Simon primarily expects that the request service will be used to hook games up to third-party analytics solutions such as Google Analytics. Information such as how many people are in a game, who's likely to win a game based on prior stats, or game sequence progression could all be utilized as metrics to help developers improve their titles. Additional uses suggested by the two included data storage, account management, and performance stats. Of course, that's barely scratching the surface - already, they've seen some pretty cool stuff.
"Someone made a Twitter widget in ROBLOX where you could enter your name to display and browse a twitter feed.We're also seeing people develop websites just so they can interact with ROBLOX; one of our players is actually coding an analytics solution specifically designed for ROBLOX."
Better Terrain Through Voxels
Arseny Kapoulkine was next, speaking about the changes ROBLOX has brought about in order to better equip their designers for world-building.
"We introduced terrain a little over a year to a year and a half ago. Essentially, we did t his mostly so you could build. ROBLOX's terrain is based on voxels, which are fundamentally more scalable; they take less memory, and it's both faster and easier to work with them. Currently, our engine features two different types of item placements; voxels and moving parts, which can be joined to the voxels and collide with them.
"During the past year," he continued, "we have made a bunch of improvements on the scalability, size, and part count. We started to see that parts didn't really approach voxel, but we started to get them closer to voxels in terms of scalability. We now have much better communication channels with developers, and we talked to them a lot about what kind of features they would like from our terrain system, making it possible to improve it in ways so that they'll use it more frequently."
According to Kapoulkine, scale was a big problem for developers. Although voxels were able to scale to a considerably higher level than parts, they still capped at a few million. This prevented players from building truly immense worlds, meaning that features such as streaming - which allowed players to avoid having to download the entire world when joining a game - wasn't being fully implemented. The developers further tweaked their system for better placement and copying of map segments, in order to allow game developers to quickly and easily regenerate maps.
There was also the matter of water.
"We introduced a new visual look for the water, which is part of our voxel simulation. A lot of people really liked this,and people who had relatively small places that didn't need a lot of water immediately started to use it. Unfortunately, there were people with massive oceans who couldn't use the voxel system because it was too constrained. People wanted to have a big world, and they were being limited."
"Ultimately, we decided to remove the restrictions and allow you to place voxels anywhere in the world, removing the limitations on map height and depth. This is unique - most other voxel games have arbitrary limits on both horizontal and vertical map sizes. With ROBLOX, you can build really high structures, really deep structures, or really expansive worlds. We tried to be as efficient about it as possible, meaning that players shouldn't need to care too much about performance or memory."
The map expansion, in particular, took a lot of work. According to Kapoulkine, this was because the team went in with a great many internal assumptions about the restrictions they'd be facing, and compatibility issues with already-developed games. Thankfully, their fears were for naught. No games were broken in the transition to the new system, and the players were unaffected.
"That's pretty cool, because when we introduced terrain, we didn't plan for this. It kind of just grew naturally out of what our players wanted from our platform, which is now more full-featured than ever."
You can learn more about ROBLOX here.