ROBLOX’s Browser-Based and Native-Client Gaming Hybrid

April

03, 2013

by Andrew Haak


Archive

ROBLOX Circle LogoThe advent of broadband internet has revolutionized the way video games are distributed. 10 years ago, the idea of downloading, streaming or playing in a web browser what was traditionally boxed and sold on store shelves was almost unbelievable. Today, it powers video game distribution. Steam does big business distributing games, OnLive and Gaikai have demonstrated that streaming even high-production experiences can be done without sacrificing gameplay quality, and there’s a plethora of free browser and social games you can start playing within seconds in every corner of the web.

Technology has enabled game developers of all shapes and sizes to get their creations to an exponentially larger audience than they could in the past. The question for PC game developers, then, is what’s the best medium: a web-based player or a downloadable client? The industry is still figuring out the answer to this question – right now, the decision hinges on the game’s goals and target audience – but we expect to see some convergence sooner rather than later.

Robot Unicorn AttackBrowser-based gaming

Browser-based gaming – we’ll lump browser games and social games into this category – took off in the 2000s. Since then, the genre has seen ups and downs: the ebb and flow of Zynga has set the tone of social games, while indie developers have found viral and commercial success with quirky games (think Robot Unicorn Attack and Super Meat Boy, both of which have gone on to be released on other platforms), and some browser-based MMORPGs have stood the test of time (RuneScape has been around since 2001, for example).

Pros:

  • There is no download, meaning players can initiate sessions very quickly and relatively few turn around at the “download gate.” Many are free to play, ushering even more players in the door for a taste.
  • Browser-based games are not platform-specific; they theoretically work in any supported browser across devices and operating systems.
  • There is significant potential for large-scale social experiences, as players are all online (and, in the case of social games, backend technology and user data can be used to connect them in exciting/intriguing ways).

Cons:

  • There are technological limits on the types of games that perform well in a browser. Vector and raster graphics display particularly well, while 3D rendering is less optimal. (WebGL allows hardware-accelerated 2D/3D graphics rendering in browsers without the use of additional software or plug-ins. It’s worth noting that Internet Explorer does not support WebGL.)
  • Because browser games are so accessible and available in such great quantity, play sessions tend to be shorter than those of games on other platforms.
  • There is significant cost associated with hosting a browser-based game.

Data Stream

Gaming on demand

Gaming on demand (i.e., streaming) is proven technologically, but it’s still a jump ball from the consumer standpoint. While OnLive was reduced to a shell of itself in 2012 (and is now rebuilding), Sony’s 2013 acquisition of Gaikai – whose technology will be integrated in the PlayStation 4 – lends credence to the idea that gaming on demand is something that could plant itself in the game-distribution spectrum.

Pros:

  • The code execution and data storage is handled remotely, meaning players don’t have to own a powerhouse PC or the latest console to play new games.
  • You can start playing a high-production, AAA game almost as quickly as you can locate it in the streaming service.

Cons:

  • No internet connection (or bad internet connection)? No game experience.
  • There may be perceivable lag in how quickly the game responds to user input.
  • Players have to put stock in a yet-to-be-proven subscription model for games.

Steam LogoDownloadable client

This is the traditional boxed game brought to digital stores. Steam is the clear-cut leader in this space, offering downloadable versions of a large majority of PC games.

Pros:

  • You can purchase a game without having to set foot outside your house.
  • Code and content are stored and executed locally, meaning players get the best performance out of their computer and are not (barring pesky DRM) at the mercy of their internet connection speed.
  • Generally, downloaded games offer the richest presentation.

Cons:

  • A download is a download, no matter what size.
  • Downloads can be very large (10+ GB) and, depending on the user’s internet connection, take a long time and a lot of bandwidth to install.
  • There is some technical know-how involved in installing, optimizing and running traditional PC games.

The difference between opposite ends of the distribution spectrum is like the difference between “tall” and “wide.” Download games tend to appeal to a “tall” audience (i.e., lower-volume, highly engaged core gamers) that plays a given title repeatedly; browser and social games appeal to a “wide” (i.e., high-volume, more casual) audience that plays short bursts of a game from time to time. This is not a hard-and-fast rule, but from a broad perspective it makes sense.

Hybrid

Some games leverage benefits of more than one distribution model. For instance, Quake Live — a game we’ve previously used as a benchmark in testing our networking — launches from a browser, helping get players in the door, but runs in an external client. This is similar to the way ROBLOX works. Every ROBLOX game is available to play from ROBLOX.com, but first-time players are prompted to download and install a small client application (which includes ROBLOX Studio) before we launch the game and place them in one of our cloud servers. We keep the download extremely small by streaming in the data, such as textures and parts, when a player joins a game. We automatically update the client as needed when a player launches future play sessions.

If you’ve ever wondered why ROBLOX requires a download, you can trace it back to the company’s early years. John Shedletsky has been with ROBLOX since it was a four-man operation in 2006, and notes that the company couldn’t achieve its vision with the existing state of web-gaming technology at that time. It was either a browser-based Java applet, which would limit the scale of ROBLOX places and its simulation, or a native C++ client, which offers the best performance and most control. We chose the latter.

Block Town

Having a native client paid off in 2012, as we were able to port to iOS without having to start from scratch. It also leaves open the door to consoles. Still, we’ve always kept an eye on the industry and browser-gaming technology.

It’s tempting to remove the hurdle of the download and find a way to embed the entire ROBLOX experience in a web browser, but technology has not progressed to the point of a de facto web-gaming solution yet. We’ve considered doing the complete opposite: moving the entire ROBLOX experience — gameplay, building and browsing — to a single native application, which is essentially what Steam has done.

There should be convergence in the future; either 3D game technology for the web will mature to the point it’s a feasible medium for high-performance games, or things will migrate toward dedicated, complete-experience applications. Until then, our nimble client offers the best blend of performance and ease of use.