Working at Roblox - 2016

Posted by SPOTCO on November 2016

Had some free time waiting for my flight, so decided to write a little catch-up blog post.
In the past I tried to make a concentrated effort to do these regularly. Once a year's good enough, isn't it?

I wasn't familiar at all with Roblox before starting last February.
In the past few months I've been working as a community facing engineer, and I've probably been more active on this forum than any other in my life.

In a way, I find Roblox to be really similar to Newgrounds.
They're both communities of amateurs making game (or game-ish) creations.
There are really talented people in both places making amazing things and following their artistic visions, and it's pretty great to be part of that (I'd still like to think I'm one of those people following my own artistic vision).

/content/blogimg/newgrounds.png /content/blogimg/roblox.png

It's also interesting to see how tech and platform choices have influenced the kind of content you see in either place.
Newgrounds (still?) is a flash-based site. Because of that, you see a specific kind of thing. Lots of 2D art with elaborate animation, audio and interesting game design. The front page consists of mainly short, 10-20 minute single-player game "experiences" (So basically, the kind of stuff I used to do). It's the quintessential flash game portal, which I imagine is a dying breed (you've got Apple to thank for that!)

I'm then going to say that I think Roblox's tech is incredible. I don't know what other platform a small team of amateurs could possibly make the same scale of game they do. If I was giving a sales pitch, it'd be something like this:
A small team of students can (and have) created professional quality online games with thousands of active players at any given time. This is literally more players than the majority of games on steam.

/content/blogimg/lords_of_nomrial.png /content/blogimg/phantom_forces.png

The biggest difference between the two would be the amount of players and potential money to be made in a popular Roblox game. I'd honestly say that it is (right now) one of the best kept secrets in indie gaming. As in, if I were an indie game developer I'd seriously consider making a Roblox game if the goal was to be successful/make money (And this isn't just me talking as an employee right now :P)

Anyway, I've been doing some interesting things while at Roblox.
Many of these have been documented as public announcements, which has been very different from other places I've been.

Sound Networking and API improvements
This one started as a side project in between the miscellaneous bugfixes I was doing, ended up taking several months and was the majority of the code rewrite.
Doing this made me VERY familiar with the internals of the Roblox engine.
At various points I had to download and look at the source code for various games to try and debug things. It's pretty fun when some mysterious bug (ex: grenade sounds not firing) is appearing Phantom Forces because of some minor audio change made!

Rewritten Humanoid Sound Scripts
This started as a bug report involving bad performance on a certain 100-player server Roblox Games. The ultimate problem was very high network traffic of humanoid audio code (think upwards of 10-20 KB/s per player in a worst case scenario), which combined with potentially 100-players led to some bad times. For reference, the final code was at about 1-5 KB/s worse case.

Audio Effects and Groups
This one even got a Blog Post (which I didn't write, that's @yosoytofu). Pretty much just integrated some more advanced FMOD features into Roblox (so nothing too special tech-wise), this one took a lot of meetings/talks to get in.

New Built-In Fonts
You wouldn't believe how many meetings this took to make happen.

Tiered Audio Upload Prices
See above.

Performance Profiling API
Exposed (to developer code) the existing performance profling API.
Highlight of this?
Got to narrate some tutorial videos.

So I've been busy. Currently working on some exciting open-source developer chat features.

Still grinding away at my own indie game!
I'd say it's historically related to that Ludum Dare 34 game I made a year ago, but at this point is basically it's own thing. Writing is hard (and working with remote people even harder), but as always it's a learning experience.
Realistically, it'll be out sometime late next year.