ROBLOX is one of the biggest gaming sites on the internet–we’ve logged 140,000 peak concurrent users and 393 million hours of gameplay in 2012. As we continue to steadily grow our userbase, we’re also looking to expand the size of our team. That’s right folks, ROBLOX is hiring. The current version of ROBLOX represents less than 10% of what we envision for the future–come help us build that future today!
We thought we’d take a look at some of various job openings here at ROBLOX and look back at some of the major work accomplished in each of the respective fields this past year:
Position: Senior Web Engineer
Our Web Team is constantly hard at work tackling complex problems in usability, scalability, and distributed systems. They ship code on a daily basis and work in short, agile, and iterative development cycles. Here’s some of the awesome developments they’ve made in the past year.
Speeding ROBLOX.com with Message Queuing helps ROBLOX avoid slow responses and time-outs by using a queue that manages over 15 million requests a day. RabbitMQ became our messaging solution–it features client libraries in multiple languages, an admin API and a slick web dashboard.
ROBLOX: Gaming in the Cloud outlines how we host millions of games through the internet using our very own farm of servers to handle the bandwidth. We want users to focus on gaming and building, and leave the cloud-computing to us.
Position: Mobile QA Engineer
This past year ROBLOX has made the jump to mobile devices–our Client Team worked tirelessly to not only get ROBLOX games running on iPads, iPods, and iPhones, but to bring as many parts of the ROBLOX experience into the palm of your hands as possible. It wasn’t easy, but we’ve come a long way since we made our initial push to bring the ROBLOX experience to iOS in Q4 2012.
In January we looked at our Mobile Stats and found some really encouraging numbers. 3.4 million Mobile play sessions took place in the month of December, and we received over 250,000 downloads in less than six months.
ROBLOX Mobile Now Supports Vehicles and Chat on All Devices details our push to get cars and the chat feature working shortly after ROBLOX Mobile officially released. The support was embedded in an update in the iTunes App Store.
We documented every aspect of porting ROBLOX to iOS including Memory Optimization, Control Design, and more. We’ve compiled those stories together for you below.
- Part 1: Setting the Stage
- Part 2: Memory Optimization
- Part 3: Performance Optimization
- Part 4: Control Design
- Part 5: User Interface
Position: Voxel Engineer
Our Rendering Team is always looking for ways to make ROBLOX look better while continuing to scale it to a wide range of machines. Voxel terrain allows us to build massively scalable, dynamic virtual worlds. We’ve covered a lot of ground this year, and have an exciting path in front of us this year.
We prototyped Dynamic Lighting and Shadows earlier in the month. The new system puts a lot of graphical lifting on the CPU rather than the graphics card, and leverages a voxel-based data structure to do it.
We introduced water to ROBLOX earlier this year, and talked about the challenges of getting floating and sinking objects to behave realistically in one unified engine. We also took A Deep Look at ROBLOX’s Buoyancy and Water Physics, where we examined the complex mathematical calculations we made to integrate buoyancy into our standard contact pipeline.
Position: Senior Gameplay Engineer / Senior Software Engineer
ROBLOX is an evolving game platform and our gameplay and client software engineers are on the front lines, working on user-facing features that enable our players to push the envelope with regards to what can be built on ROBLOX. Our Software Engineers build features into our platform that users can leverage to make awesome games. Speaking of awesome games…
With the ever-popular zombie survival game Apocalypse Rising, user Gusmanak marked his triumphant return to ROBLOX after drawing inspiration from Day Z, a popular add on to ArmA 2. He took the overall concept–surviving, carefully selecting who you trust, and scrapping for parts and ammo–and shaped a game unlike anything ever released on our platform before. Apocalypse Rising became a smash hit on ROBLOX–it’s been played nearly 6.8 million times at the time of this writing.
It’s not all about games, though, particularly when it comes to building in a virtual world. User and inventor TakeoverTom created some really innovative machinery on ROBLOX that featured realistic suspension coils, motors, and eventually a full blown mech (which you can drive, by the way). User Geico480 has also created some incredibly detailed machines, including stud-by-stud recreations of BMW cars, and highly detailed train models.
Position: Senior Network Programmer
At ROBLOX, one of our biggest fundamental goals is to create the most scalable, physically simulated online environment, ever. Pivotal to this vision is a stable and robust networking layer.
In October, Kevin He was working on Smoothing ROBLOX Character and Vehicle Motion to eliminate “stuttering”, an unfortunate graphical glitch that stemmed an unfortunate interaction between our physics system and our networking library.
We need a high performance networking system, because users will always push the limits of what can be done with our platform. Take user Agent767 for example–he turned Crossroads into a fully destructible environment–every wall, floor, tree, and building can be blown to thousands of pieces, and he created a stud counter so you can witness how many new parts you’re creating in real time.
Position: Senior 3D Physics Engineer
Realistic distributed physics simulation is a core part of what makes ROBLOX, well, ROBLOX!
Kevin He recently made changes in the physics engine that made physics performance rocket up to 4x faster by modeling collisions with impulses, rather than springs. The Impulse Solver dynamically shifts how parts collide without sacrificing anything more than invisible details. Keep an eye out on ROBLOX Battle, as we’re planning on turning this feature on later in the week.
Kevin has also done extensive work on Enhancing Water Physics to Support Rear Propellers, which allowed vehicles to detect thrust from various angles, including the rear (vehicles could only detect thrust from the sides, prior to this). He also worked to create Robust Joints and Motors–ensuring that propellers would stay rigid and strong under water to simulate fan-based movement.
Position: Senior Systems Engineer
The ROBLOX services ecosystem is highly performant, super scalable, and only modestly complex. We’re looking for people who live and breathe systems architecture to help us keep it that way. Our Systems Engineers live behind the scenes–as a matter of fact, a lot of things happen behind the scenes when you click the various buttons and links that populate ROBLOX.
We try to make joining games in ROBLOX as simple as possible–you find the game you want to play, and hit the big shiny green “Play” button to jump in and start gaming. On our end, it’s not so simple. When you click that button, it actually sets off a surprisingly complex cascade of events that work together to get you into your chosen game as quickly and efficiently as possible.
Changing your appearance is another example of something that seems like a simple procedure, but is actually quite complex. On your end, you click a few buttons, and you’re done. On our end, another separate series of intertwining events occur to change your ROBLOXian and display those changes in real time.
Position: Web Automation Engineer
The Web Automation Engineer tests, tests, and tests some more, running candidates through thousands of tests, rolling out across hundreds of servers every single day.
We recently wrote about our Automated Web Testing procedures here at ROBLOX–it’s a lot more complicated than you might think. Test cases are written in code, which allows us to create complex interactions and replicate behavior of real-life ROBLOX users.