Skip to main content

Blog Archive

Spotlight: xSoulStealerx Scripts Complex Rope Physics

January 3, 2014

by JacksSmirkingRevenge


Archive

xsoulstealerxSpotlightIn the nearly two years I’ve worked at ROBLOX, I’ve never seen two games from the same developer surface simultaneously on the front of the Games page. That is, until xSoulStealerx managed to do it — with two creations that are more experiments than games, no less. Talking with him, I got the sense that experimentation and tinkering are the things he loves best–and each of his projects are a reflection (and celebration) of that.

xSoulStealerx chooses his words carefully and methodically, which makes a lot of sense when you realize that you’re probing the mind of one of ROBLOX’s most advanced scripters. His biggest and most popular creation, Rope Physics, is also one of the highest-rated games on ROBLOX currently, with almost 4,000 positive votes. The tech demo features his very own physics engine, and revolves around free falling from space and shooting elastic ropes to latch onto floating squares. It’s all about momentum–you can use gravity and the power of shortening/extending your rope to gather speed and ultimately fling yourself through the level with the freedom and grace of Spiderman (or Spoderman, which xSoulStealerx prefers).

Ropes are one of the most requested features on ROBLOX, and though we’ve yet to ship such a feature, that didn’t stop xSoulStealerx from taking his own shot at it. The idea was born when xSoulStealerx was working on making a realistic Cloth Simulation in ROBLOX. Click the link at your own peril–you need to have a reasonably powerful computer to run this simulation.

That is one realistic piece of digitally simulated cloth. It’s folding over itself that way because I had just walked through it.

“The basic principle is connecting points in a grid to one another with constraints that work to keep the points away from each other at a certain distance,” he says. “That’s as simple as I can make it sound.”

As he was writing the code for the cloth simulation, xSoulStealerx realized it could be used for rope as well. He notes that cloth shares many of the same properties as rope, and wouldn’t have been able to mentally construct the schematics of rope without first engineering cloth.

RopeSwing

Thus the idea of a “rope-swinging” place was born. To achieve the realistic physics he knew he’d need, xSoulStealerx turned to Verlet Integration, which is a method used to calculate trajectories in keeping with Newton’s equations of motion. This allowed xSoulStealerx to achieve a realistic system of falling, swinging, and momentum.

“I consider Rope Physics to be much more of a tech demo than an actual game,” he tells me. “The biggest request I get from players is to implement collisions, but the truth is, they’re just way too expensive to calculate. I tried doing it, but the rope always ended up sinking into the solid parts.”

SnippetThe script behind all this eventually ran well over 300 lines, and xSoulStealerx is brainstorming how to take it and actually build a game around it. He’s kicking around several ideas, the most prominent being a racing game where you and others must swing from checkpoint to checkpoint to finish first. He also notes that were he to do something like this, a global leaderboard would be a must-have.

Like many of our brightest developers, xSoulStealerx juggles multiple projects, the latest being Shoot ’em Down. Same developer, same idea (in that Shoot ’em Down is also a tech demo, not an actual game), but the two games couldn’t be more different.

SoulStealer

Screenshots don’t do this game justice, definitely give it a play when you get the chance.

Shoot ’em Down just doesn’t look like ROBLOX at all, and I don’t mean that in a bad way. It’s a 2D shooter where you fire your pixel canons at hovering squares in an effort to create as many explosions as possible per shot. Almost the entire game is built around GUIs–the only 3D object in the game is the world that you’re standing in, and you can’t see it, ever.

“I kept thinking, ‘what is something I could do with GUIs that nobody else has ever done before?'”, he recalls. “This is what came out of that.”

Shoot ’em Down is a very neat trick indeed. He stores data for each particle–position, velocity, and acceleration–then updates these data points each frame. The entire game is rendered with GUI frames, making it the one of the few popular title to do this on our platform.

TopRatedUltimately, xSoulStealerx is a tremendous talent, and the type of developer we love to track. His projects aren’t about fame, popularity or earning money, they’re about pushing the envelope–doing things that don’t seem possible. I found humor in the fact that he told me multiple times during our conversation that he simply hadn’t thought very much about “gameifying” either of the titles we discussed. He sees his creations as challenges to overcome, or, as he put it, creating ROBLOX miracles. For him, that’s what game development is all about.

Remember how I mentioned in the beginning of the article that xSoulStealerx chooses his words carefully? Here’s his advice to budding builders and scripters out there:

Try something different.