Multiple Universes

Game Universes and the Quest for Massive Scale

Multiple UniversesImagine this: there’s a ROBLOX game that’s built out of 10 levels. Thousands of people are playing it and teleporting between environments at the drop of a hat. As they move from place to place, their character statistics and ever-growing in-game inventory move with them. They’re all exploring a cohesive world with impressive scale and interacting with one another as they make chance encounters on their journeys. They’re in an immersive world.

This is the impending future of ROBLOX games. Our Client, Networking, Services and Web teams are making it happen by building a robust framework of teleports, game universes and data persistence.

Background

Cloud-MovementScalability is important to us. Part of our vision for ROBLOX involves thousands of people playing games at the same time in physically simulated environments – made by a community of builders and developers, of course. We’ve done considerable work to expand ROBLOX’s scale in the last year or so. We’ve launched featherweight parts, which allow the ROBLOX client to draw more objects on screen at less of a performance cost. We’ve enabled impulse solver physics, making part collisions more efficient. We’ve turned on part streaming, which means you join games faster and, if you’re short on memory, only load nearby parts so you can still play large-scale games. Just two weeks ago, we greatly expanded the possibilities of voxel building.

More people are playing. Things are getting bigger. Games are performing better. And everything is about to scale up even more via a trio of key features.

Teleports

Teleports have existed on ROBLOX for a while and serve to let players jump from place to place without having to go back to ROBLOX.com. We have already upgraded the teleport feature so that the transfers from one place to another are more intuitive and almost instantaneous. The biggest change to the new teleports is that they are not powered by LocalScripts (which are challenging to build because they must coordinate with the server), but by code that is run straight from the game server. We have also removed the confirmation message (i.e., allowing the player to confirm/cancel the teleport) and let developers customize a “now-teleporting” message. Additionally, we’ve added events to the teleports API so developers can get information about the teleportation process and make things happen at various stages.

Equinox Station

asimo3089 uses teleports in his Equinox Station, which lets you take trains between a few of his popular places.

We’ve released a new API for teleport development, opening the doors to more possibilities. While teleports don’t provide scale in the sense of size, they let players jump from place to place, creating a cohesive world. For more information on the TeleportService, see this ROBLOX Wiki entry.

Universes

Game universes represent a rethinking of what a ROBLOX game can be. Instead of it being a single isolated entity, game universes are a collection of places.

One of the best ways to understand the concept of a game universe is to think about an RPG. Let’s say there’s a hub world that’s a town. The game also has dungeons, a desert, a mountain range, a haunted forest and two smaller villages. At this very moment, all this content probably won’t fit in a single ROBLOX game – it’ll either push the limits of performance (resulting in a poor player experience) or have to be simplified so much that it loses its appeal. With the advent of game universes, all those environments become places in a greater world and players seamlessly teleport between them, never losing sight of the game experience.

Game-Current

What currently looks like this…

Game-Future

… Will end up looking like this.

If a game universe has 1,000 players, they can be spread across the different places that comprise it, all contributing to the total player count. This model knocks down technological boundaries and barriers that ROBLOX game developers may have faced in the past, leaving a new opening to expansive games.

Data Persistence

Data is what lets players jump between the places of a game universe in a meaningful way. Without persistent data, players would move around seamlessly, but the universe wouldn’t remember much. Like teleports, we have offered data persistence for a while; however, we’re going to be introducing a new API for storing data that is far more powerful and robust than the old data persistence system. It adds another layer to your game universe.

Game-Future-DataStore

A game universe with a layer of data persistence.

One of the most significant advantages of the new data persistence is data is saved immediately – as soon as a call returns in a Lua script. The old data persistence had no guarantees of saving when a server went down or a client disconnected unexpectedly. The new data persistence features global game universe data, which enables developers to read/write information simultaneously at multiple places across their game universe. Combined, teleports and data persistence let players move between the places of a RPG universe, for example, and carry their character data with them. Developers can also create any key they want, and save/load the values associated with it in the future.

Our developers paid meticulous attention to the new DataStore API so it’s easy for game creators to realize the power of data persistence. As you likely know, many top ROBLOX games have thousands of people playing them at peak times. This creates a lot of concurrent data saving. We specifically elevated the DataStore API for developers facing this situation – for example, the Update function handles concurrent data updates automatically. We built in the logic so developers don’t have to worry about it and can focus on making a great game with a seamless player experience for millions of people.

The DataStore is currently in testing with some of our top developers. We’re also building out the DataStore Wiki entry – if you’re looking for more of the technical details, we recommend you start there.

What to expect next

When this framework releases in full, we will provide more detailed documentation describing how to implement and work with it. One of the first examples you’ll see will be the 2014 Winter Games, which will feature a game universe consisting of a social hub and event places – all connected by teleports – and leaderboards powered by the new data persistence system. Exciting times are ahead. Large-scale, exciting times.

If you have questions about game universes and the many features they entail, please post them in the comments. We’ll be picking several questions and answering them live on the ROBLOX YouTube channel tomorrow at 3 p.m. Pacific Time. Plus, you’ll get a shout-out. Subscribe to our channel today and tune in tomorrow!

[do action=”youtube-iframe” videoid=”kgyagCJKfFQ”/]

Kabriel Robichaux (aka inventx), who has spearheaded this development effort, contributed his great knowledge to this article.

About Andrew "blockhaak" Haak

Communications Manager at ROBLOX. blockhaak on ROBLOX; @andrewjhaak on Twitter.

294 thoughts on “Game Universes and the Quest for Massive Scale

  1. Nenen

    You SHOULD be able to go from one game with your friends, and go to another game with all of your friends, and all be in the Same Server. (This of coarse would be an Optional thing for Universes!)

  2. xXLordDragonBloodXx

    So basically game teleporting? Switching between games and levels..
    But still the same game..
    Cool.

  3. Izono

    Finally. This update is something I’ve been waiting on for a very long time, and one that I’ve said is inevitable since the day data persistence was announced.

  4. Fatpop

    Will you be able to see other places in your universe from for example, the lobby, you can see the boss level in the distance but not activity from other players?

  5. darkjediwarrior

    I have ideas for this update too! I can use this for new “Major” Bosses that will have their own “boss-Room” and they will have to have high HP since there will be many people fighting them at once then they will be a challenge for you guys the first will probably look like this.

    [BOSS] Zorak, The Void Guardian {HP}{1000000/1000000}

    The RPG is called Legend Of The Forsaken God

  6. Garlona

    I know size matters, but can anyone pay a certain amount of robux to add a place instead of upgrading to Builder’s Club to include a number of places easy as cash? They can add not one, or ten, but a countless number of places depending on how much Robux they have left to spend.

      1. AnonymousUser

        Read the wiki, ask people in the scripters helpers and find out how models work in roblox studio. The roblox video tutorials help a lot too. Read the beginner scripter tutorial on the wiki, it’s a large book that you use over time that teaches you the basics of scripting. That’s how you get started.

    1. TheRainbow34

      For me, anything and everything interesting, including just LEARNING to script, can’t happen till first I get enough patience.

  7. Profile: Baronofcheck

    This is epic. I am not a good programmer but this sounds like it would increase everything. Not just space game. How about a game with a 2 hour campaign, multiplayer slayer, and firefight world.
    I APROVE!

  8. benymin

    YOU GUYS ARE BRILLIANT! I have a slow computer, but now I can play regular ROBLOX games! thanks for not leaving the low-tech behind!

  9. VonStalhein

    Wow!! Sounds like great stuff here!

    Will we be able to create a game such that someone can only teleport into the next “level” from the previous stage? And not allowing them to go strait into the last level from Roblox.com?

    1. AnonymousUser

      You can make a brick that teleports you, in the lobby you make a brick that’s sends you to level one in level 1 make a brick that sends you to level to, and on and on. It depends on which bricks you make.

  10. geckohero17

    Something tells me that if your game uses a Inventory GUI, and it loads items from Lighting. You still need the same items in Lighting, where as a game where you have tools in you backpack wouldn’t. (Kind of like when you buy a gear and that auto loads in different places)

  11. geckohero17

    Say like you have a game which works in stages.
    You beat Stage 1, and you go to Stage 2. (Being Place 1, Place 2)
    Will we be able to lock off Stage 2 from the website, but people who have beaten Stage 1 can access it at any time?

    Just wondering, otherwise it would be pointless to most RPG games.

    1. Looptime

      You should be able to use the data persistence like many other games do to save that they beat stage2 so they can go back to it from the lobby.

    2. mythboy99

      It will only be possible to enter through the lobby place all the other places will not be visible.

  12. caramelwaffles

    gusmanak could use this for his game – hopping between countries by using some type of car or walking to the edge and you could lose hunger along the way

  13. Sunssshines

    The dawn from the Stone Ages have begun. That tech that all those newbie groups and stuff have had locked up will come alive.

    The group system will completely evolve, along with games.

    There would be such thing as actual invasions of countries, the White Star Line was made possible, Trading between two or more cities is made possible, etc., if it allows transporting of objects between places in the Universe.

  14. Builderdude1100

    Are the levels in the same server, or not? Are they in the same ROBLOX game? Could a simulated spherical world, such as Earth, be simulated with its real-life scale and size (considering this Earth we live on is HUGE) , but not with the game actually being huge (I don’t mean the levels) and spherical?

  15. BRIKHEAD

    This is a great idea, I can use to try to re-create one of my favorite other games with different worlds!!!

  16. AX94

    I hope they allow a limitless amount of Places to be added to a universe, my plans are big with this update.

  17. Larrythetomato

    So, basically, you won’t lag if you have low RAM, or video card tech, because it only loads the area you’re in? Great idea!

Comments are closed.