Blog Archive
User Geico480‘s name is synonymous with the word “detail,” and for good reason. As a builder and decorated member of the Elite Builders of ROBLOX, Geico480 has created some of the most detailed models and environments ever on our platform–he was even nominated for Excellence in Construction at our ROBLOX Game Conference last year.
Geico480 discovered ROBLOX in 2010, after a life-long fascination with taking things apart to discover how they work internally. After familiarizing himself with the platform, he, like many other users, started creating games, though his focus shifted to something a little more unusual.
“I discovered that you’ve got to develop a certain type of mindset,” says Geico480. “I wanted to try and make playable games, but decided I’d just go ahead and make really detailed objects instead.”
That decision lead to the creation of some of the most complex models and environments to ever hit ROBLOX. Being a big fan of fast cars and an avid Gran Turismo player, it wasn’t difficult for Geico480 to postulate an idea for a project that would suit his detail-oriented mind.
Objects
BMW M5 Series isn’t a game, it’s a showroom floor featuring three separate vehicle models tailor-made to look like actual Bimmers. The amount of detail is staggering–you can even jump inside the cars and have a look at the highly detailed interior design, which features minute details like a tachometer, RPM gauge and center console.
“The main goal was to build a real life car on ROBLOX,” recalls Geico480. “I didn’t want a jumble of meshes, I wanted to make something that looked real. Some of the cars I’ve made have been composed of more than 2,000 parts.”
If you check out Geico480’s place, you’ll see that it’s chock full of interesting feats of physical architecture on ROBLOX. Aside from his cars, Geico480 spent a lot of time developing super realistic trains as well. His GE ES44DC EVO Hybrid Train has phenomenal details, right down to the wheels below the train, which are realistically attached with pistons and other mechanical parts.
Having created these realistic vehicles is only half the equation for Geico480, however. It’s getting them to move that’s proven to be a tricky endeavor. Geico480 hopes to eventually take his vehicles, particularly the sports cars, and turn them into usable gaming models for racing games. The tricky part lies in the fact that the cars are so detailed. We decided we wanted to help, so we got Creative Director John Shedletsky (aka Telamon) to answer some of his questions:
What is the best way to get my cars to move? I understand that a c-frame or positioning script can be utilized to move the car while unanchored–though this method is slow and lag-inducing.
You could certainly hack it up and move the car around by setting it’s c-frame, though doing so will create problems. Network interpolation won’t work well, for example, and it will cause the motion to appear choppy in online play. I’d imagine you’d have to write a bunch of raycast code to make the car hug the ground as you move it around. Eventually you’d be piling hacks on top of hacks and even if you did get it working, it would only be a very custom solution good for one specific car.
The way I’d go about getting the cars to move is by working with our physics system rather than against it–use hinges for axles and motor joints to drive the wheels. Our joints today are very springy, and they would probably be a problem for such a heavy car. The good news is that our physics developer, Kevin He, is sitting on a pile of new joint codes that will fix this issue. We just need to polish up the Studio tools and we can ship it.
Is there any way to reduce lag? I know one way is to simply cut out bricks, but are there any lesser-known ways?
I haven’t played with trying to animate the cars yet–I’ll give it a whirl after the holiday. The first thing I would try to do is eliminate variables. If dropping the car in free-fall is laggy (which I imagine might be the case) I would try to determine if the lag was graphical or due to physics collision calculations. Based on that, I would design other tests. If the car in free-fall isn’t laggy, then there’s a fair chance you’ll be able to get it to drive in a satisfying way. I’ll shoot you an e-mail next week and we’ll take a closer look.
Environments
“The titles of my places are important to me, because I try to make the place match the title,” says Geico480. “Solitude, for example, is a place that makes you feel totally alone. It’s like discovering a secret.”
Geico480 has created two environments so far, and both are technical marvels that really push our platform. Serene Mill is our personal favorite, which features a pristine, cloudy environment with a flowing creek and a small cabin. It’s one of the few places we’ve ever comes across that actually has ambiance–Geico480’s titles don’t mince words it seems, as it really is a “serene” environment.There are even animals chirping faintly in the background as you explore.
Going about creating an environment, according to Geico480, is really about constantly adding and shifting new things to keep the environment fresh. As with all of his projects, Serene Mill and Solitude are in a constant state of flux–Solitude gets minor updates every day of the week.
“The problem is, I’m always thinking of ways to make them better,” says Geico480. “I don’t really know when I’m finished, I really just try to get my models and environments to a point that I can live with. It helps to know that I could always change them.”
Some Advice to Consider
“Always start from step one,” says Geico480. “You want to be original and creative. It’s OK to look at other people’s stuff for influence, but if you copy or steal it, it doesn’t make it yours. People will know, and they’ll slam on you.”
He continues, “Take your time when you’re teaching yourself how to build. The best way to learn how to script and build is through trial and error. I’ve learned that less can be more. Sometimes, instead of putting two bricks side by side, it’s easier to just use one.”