Posts

Work Up Animations and a Sweat in the Build It, Play It Challenge

Image
Get ready to design, animate, and earn exclusive rewards in the Build It, Play It challenge! This challenge is all about movement, both in-game and in real life. We’ll show you step-by-step how to make a game where players race around a track and gain levels by moving IRL with their mobile device. How do their avatars move? That’s up to you. You’ll get to build the animations from scratch. Will they fly? Run backward? Turn cartwheels? The possibilities are as limitless as your imagination. Whether you’re new to developing or if you’ve created Roblox games before, the Build It, Play It challenge will give you the training you need to make something incredible. Build It, Play It – The Island of Move Unlock Exclusive Rewards Completing the animation tutorials hooks you up with the exclusive virtual items shown below. Earn a Spot in Our Hall of Fame Want to see if your skills are gold medal-worthy? Record your animation against a blank backdrop in Studio and enter it into our a...

Using Clang to Minimize Global Variable Use

Image
Every non-trivial program has at least some amount of global state, but too much can be a bad thing. In C++ (which constitutes close to 100% of Roblox’s engine code) this global state is initialized before main() and destroyed after returning from main(), and this happens in a mostly non-deterministic order. In addition to leading to confusing startup and shutdown semantics that are difficult to reason about (or change), it can also lead to severe instability. Roblox code also creates a lot of long-running detached threads (threads which are never joined and just run until they decide to stop, which might be never). These two things together have a very serious negative interaction on shutdown, because long-running threads continue accessing the global state that is being destroyed. This can lead to elevated crash rates, test suite flakiness, and just general instability. The first step to digging yourself out of a mess like this is to understand the extent of the problem, ...

Roblox Physics: Building a Better Sleep System

Image
Let’s talk about “sleep” in a physics engine. The purpose of a sleep system is to stop doing work on bodies that aren’t moving, and start doing work when they will be. The challenge is picking the best heuristic for transitioning between these states. A common approach in other engines is to monitor a body’s velocity, and when velocity is below a given threshold for several frames, the body is put to sleep. It can wake up again by colliding with an awake body, or maybe a handful of other events. Until recently Roblox used a variation of this method as well. Some known problems with this method are physical interactions where a body may have a near zero velocity for a few frames, but has not ended its current trajectory. We can think of a simple case where a ball is rolling up an inclined plane via its own momentum. Eventually the ball runs out of kinetic energy and reaches the top of its trajectory (having converted it all to potential energy by pushing it up the slope), an...

RDC 2020 Recap: Our First Digital Developer Conference

Image
We recently wrapped up another incredible Roblox Developers Conference (RDC) over the July 24-26 weekend, bringing together over 600 of some of the most talented scripters, builders, and artists from 34 countries around the world. With RDC going fully digital this year, this has been one of our biggest, most global events to date. It may have been under a different set of circumstances than usual, but we can’t deny the spirit of community, camaraderie, and connection from past RDCs was still alive and well. RDC attendees got together at a virtual recreation of the Roblox HQ for a massive group photo. Scroll down to the end of the blog post for footage of the photoshoot. It was epic! If you wanted to catch up on some of the announcements from the conference or play all the Game Jam hits you might have missed, we’ve got it all right here in the mega-sized blog post. For any developers who want to re-watch the breakout sessions, they’ll be available on the  Developer Hub ...

Improving Simulation and Performance with an Advanced Physics Solver

Image
Improving Simulation and Performance with an Advanced Physics Solver In mid-2015, Roblox unveiled a major upgrade to its physics engine: the Projected Gauss-Seidel (PGS) physics solver. For the first year, the new solver was optional and provided improved fidelity and greater performance compared to the previously used spring solver. In 2016, we added support for a diverse set of new physics constraints, incentivizing developers to migrate to the new solver and extending the creative capabilities of the physics engine. Any new places used the PGS solver by default, with the option of reverting back to the classic solver. We ironed out some stability issues associated with high mass differences and complex mechanisms by the introduction of the hybrid LDL-PGS solver in mid-2018. This made the old solver obsolete, and it was completely disabled in 2019, automatically migrating all places to the PGS. In 2019, the performance was further improved using multi-threading that split...

Unlock New Exclusive Items on Roblox with Prime Gaming

Image
Looking to score some free swag for your avatar? Roblox and Amazon are joining forces to offer up a series of exclusive items for anyone with a Prime membership, starting today. One new item will be introduced every month through March 2021. The first drop is  available now through September 10  and includes the Banandolier accessory.  Grab yours here  before it  slips  away (ba dum tss).   Once you claim the offer on the page, you’ll receive a promo code that can be redeemed on  roblox.com/primegaming . Enter the code and your item will magically appear in your inventory. And for those who want to take their style up another notch, Amazon also offers digital Robux gift cards that come with an exclusive virtual item of their own. Check ‘em out: Enjoy, and be sure to come back for the next drop in September!

aproga_official Follow us

Follow us Instagram is @aproga_official  Twitter is @aproga_official YouTube is iniko Matthew Discord is aproga_official#7788 Roblox is applerobloxgames