Responding to User Feedback, V10


22, 2012

by John Shedletsky


Responding to User FeedbackEvery so often, we ask our users to let us know what they’d like to see in ROBLOX, then respond to some of the most insightful comments and pertinent questions. This time, John Shedletsky, ROBLOX’s Creative Director, elaborates on a variety of topics, including your ideas for simplified scripting, forum improvements, game statisticsgroup model sales and more. You can read previous entries in this ongoing series here.

Drawing the Line

Game Analytics (@beasty_RBLX): Could you make a line graph where users can keep track of how many people play their game each day?

We have an incredible passion for game quality at ROBLOX and creator-facing place analytics are a key part of our strategy to radically improve the quality of the best ROBLOX games. The web team is spending a fair amount of time writing code to optimize which games appear at the top of the games page for which users. Put another way, we have invested on optimizing game quality on “our side” of the wall. The “other side” of the wall is what our creators are doing. Right now you can spend a ton of time tweaking your ROBLOX level, upload a new version of it to the website, and not really know if the new version is more or less popular than the old version. Of course if it’s much better or much worse, you will notice. But it’s hard to notice a 5% improvement in gameplay stats, and most improvements are this order of magnitude. This means that without place analytics, our game developers are basically flying by the seat of their pants. We’d like to bring more statistical rigor to this area of the product so that creators can optimize gameplay from their end as well.

Another place where additional player-facing analytics would help is in the sales stats for the “Add Gear to Game”  feature. If you want to experiment to see which gear items sell best in your place, right now you need to do a lot of tedious stats tracking by hand. ROBLOX should tell developers what the best and worst performers are so that they can make intelligent, data-driven choices.

Keeping Tabs

Audit Log (Bob007): I think ROBLOX should have an audit log for game places so you can see who exactly visited the place, at what time, and for how long.  This would be great for army groups, to see how active your members are for promotions, etc.  Only certain people (that the game owner chooses) would be able to see this log.

I think place developers should definitely be able to get aggregate stats – average click-through chance on the play button, average play time, visitor per day counts – and graph all of these over time.

I don’t know that an audit log makes sense. For popular places with thousands of daily visits, there will be a huge number of entries and it would be hard to make sense of. For less popular places, I would still have privacy concerns about allowing some ROBLOX players to track what other ROBLOX players are doing. For that reason, don’t think you’ll ever see per-user place traffic audit logs.

Forum Policy

Revamp the forums (Rob498): They need to be refurbished. They are a big part of ROBLOX and are often ignored, so many people forum on ROBLOX. Fixing the Top 100/50/25 poster badges and revamping the forums would encourage more people to take part in discussions there

ROBLOX Community Manager Becky Herndon replies: You’re not the only ones with concerns about the forums. I can assure you that the staff have their own list of things we’d like to improve there. The forums are one of the oldest parts of the ROBLOX website, and as such they feel pretty clunky. The forum’s funky style and dis-function become more obvious as we revolutionize the rest of the site. 

Items on our list of features for forum improvement; effective searching, real sigs, links to ROBLOX assets, embedding ROBLOX images, embedding polls, embedding code samples, WYSIWYG text formatting interface, more and better rewards for participation, better spam detection, and editing your post. We do not have an ETA for these features, but getting requests like this from the users may help speed things along.

Coding Environment

Block-build scripts (Undisclosed): There are programs around known as scratch or starlogo.TNG and they’re great for learning to program. They work by putting blocks together to create code instead of writing it yourself. While I think it would be implausible and just as difficult to understand this with vastly complex codes, it would be a good introduction to theory and to basic understanding of syntax if used in conjunction with the current script editor.

The main benefit of building-block scripting environment is that it is impossible to write a syntactically bad script – every script runs, it just might not do what you want.

There are two audiences that ROBLOX wants to cater to:

  1. People who have no interest in scripting ever, but who want to build good games
  2. People who are interested in scripting and want total control over the ROBLOX engine.


For the first group, we’re constantly improving our tool set to enable builders to create custom games without writing a single line of code. Done right, this will make everyone in group #1 very happy.

For the second group, we want to build power tools. I was a fairly active member of the Warcraft III modding scene back in the day. The Warcraft III level editor is incredibly slick – it’s easy to build awesome stuff. The one thing that I didn’t like, as a programmer, was its building-block scripting environment that modders were forced to use. It took forever to write custom scripts in and did not feel like a power tool.

This is not to say that ROBLOX will never have a building-block scripting interface. However, if we did I think it would resemble the wiring system that we have in personal build servers, and the building blocks might be more analogous to mechanisms rather than chunks of code.

Data Persistence

Ability to perform “SQL” queries on persistent data (BadCC): Example:

SELECT * FROM game.Players.badcc WHERE key:match("^test%d+")
DELETE FROM game.Players.badcc WHERE key == "test"

It would also be nice to be able to have persistent data per place, although this brings in security issues. At least make it so you can delete data. If I were to generate data on a player with arbitrary keys, it would fill up fast and I have no way of accessing it. It becomes pseudo-data.

Our existing persistence data API is basically a giant hash table – you can read and write {key, value} pairs. That’s it.

I’ve strongly advocated for a more powerful system. Whether or not the underlying query language is SQL, I would like to see the following capabilities added to our persistence API: 

  • Place owner can browse the data store (so you can see what’s been saved, debug, delete, edit, etc)
  • Place owner can share data store access across a set of places
  • Query language supports sorting so you can retrieve, for example, top scores
  • Places can load/save chunks of the level to the player’s ROBLOX inventory (if you spend 10 hours building a castle in my server, you can save a copy to your models)

I think these four features have a lot of synergy and would make our persistent data API a lot more powerful.

Group Items

Sell models (Undisclosed). I think selling models would be a good thing. With the new Group Funds, this would be a good way for groups to gain profit.

ROBLOX would love to allow creative model builders/scripters to be able to sell the stuff they make. The main reason we haven’t built this into ROBLOX at this point is that we know there is not a good technical solution to the DRM problem. If you are selling your red car that you spent 8 hours building for 100 R$, and I buy a copy, I can immediately turn around and sell it for 99 R$. Or 10 R$. Or make it free. In this case I’m flat out stealing your car. What if I paint your red car blue. Can I resell it as my own? What if I build a tractor and I just “borrow” the steering wheel from your car. Now can I resell it? There’s no way to effectively copy protect these models. It’s not that we’re not smart enough to find a technical solution to this. There isn’t one. Copying digital stuff is easy and will only get easier (as the music recording industry learned last decade).

In the real world, society has solved this problem. If I write a book, and you steal it and try to sell it, I’ll sue you for damages. There are a million ways to adapt this system to ROBLOX. Here is one way it might work in the future:

  1. Users with high reputation are allowed to sell models
  2. If someone steals your model, you can report it as a copy
  3. Other users vote on whether your model and the other guy’s model are substantially similar
  4. If the other guy is found guilty of copying, you get all the money he made selling the model
  5. He also loses reputation
  6. If he loses too much reputation, he won’t be able to sell models any more

We think a system like this might work. It would at least be a fascinating experiment.