Skip to main content

Blog Archive

A Primer for the New ROBLOX Game Developer

August 21, 2012

by Andrew Haak


Archive

ROBLOX Player in ThoughtA couple weeks ago, I expounded on the similarities between ROBLOX users and independent game developers. I hope, if nothing else, it empowered some readers. In the article, I cited Base Wars: The Land, Apocalypse Rising and Natural Disaster Survival as examples of indie development happening in ROBLOX. Of course, those games fall into the upper echelon of popularity and quality, and represent a standard that few ROBLOX games reach.

It might seem like a lofty goal to create the next Base Wars: The Land or Apocalypse Rising, but you can get there. It probably just won’t happen on your first try.

Get comfortable

Just as Microsoft Excel becomes second nature to those driven by data and graphic designers can navigate Photoshop with their eyes closed, ROBLOX developers should be able to carry out basic building tasks without having to stop and think about the process.

You can start by customizing a layout that suits your building style by dragging and dropping interface elements. Learn keyboard shortcuts that let you carry out tasks with simple key combinations. Build some basic structures to get accustomed to manipulating objects in a 3D space.

ROBLOX Studio Interface
This layout has some plugins added, the Explorer panel to the left, and Basic Objects to the right.

Write your first script

We’re often asked, “how do I learn to script in ROBLOX?” Unfortunately, there’s no simple, whiz-bang solution to this question; it takes time, effort and patience to learn to write in another language. Your best bet is to start by replicating existing scripts because you know what they’re supposed to do and under what conditions. You can easily evaluate whether yours works.

Here’s one you can try on your own. It should cause your character to be killed upon touching the part to which it’s attached.

local brick = script.Parent
brick.Touched:connect(function (object)
   if object.Parent:FindFirstChild('Humanoid') then
      object.Parent.Humanoid:TakeDamage(100)
   end
end)

This script detects a touch between the brick and any part and checks whether the part belongs to a character. If it does, 100 damage is dealt to the character.

You can download this starter level and attach the script to any of the few parts. We recommend you select the red platforms, then click Insert > Object > Script. The new script will appear in the Explorer panel; double-click it to edit. Type in the script and these red parts then become “lava” platforms that you should avoid.

What can you do next? Start playing with it. Alter some variables. Try some other beginner scripts (we’ll get to that shortly). Don’t worry about how pretty or efficient the code is right now; just write it yourself.

Start simple

If you’ve made it this far, there’s a good chance you want to make successful games on ROBLOX. That’s good. Your mind is in the right place. Just don’t let your ambition to create the most epic, large-scale, best-looking game set you up for a bout of frustration. Instead, approach your first game – or first version of a brand-new game – with a manageable scope.

For example, you may really want to create the ROBLOX rendition of The Elder Scrolls V: Skyrim. It’s an honorable thought, but very difficult to execute without a team of experts and previous experience creating large-scale ROBLOX games. Rather than dive headfirst into creating a sprawling map with fire-breathing dragons, try to replicate a small segment of the game, such as a dungeon with a simple goal (like finding some gold).

Or, come up with your own basic game. For example, you could use the level available above as the foundation of an obstacle course — a good way to start thinking about level design and incorporating a variety of scripts.

Harness your resources

ROBLOX WikiNot too long ago, game development was inaccessible. Today, with the availability of platforms like ROBLOX, everyone can develop games. With that being the case, there’s a tremendous wealth of resources available to you; in fact, many of them are created by and for the ROBLOX community.

Keep practicing

I’ve been writing for years and still treat many of my new projects as opportunities to write better. You may never reach a point where you can stop and confidently proclaim yourself a Master of All Things Game Development, but you can view each and every new game as a means to that end, an opportunity to practice and ultimately improve your skills.

“Keep practicing,” for our purposes, translates to “don’t give up.” Your first works of game development will probably be, for lack of a more accurate and less harsh word, bad. On the bright side, there’s nowhere to go from there but up.

PongI asked several ROBLOX developers about their early game-creation experiences.

Ben Tkacheff’s first game was a single-player blackjack clone. He said it wasn’t a great game, but it had a graphic user interface and let you play against the computer – minus some of the rules and betting. Ben said he took away lessons about GUI programming and the importance of informing the player of what’s going on in the game world.

Some of Kip Turner’s firsts were a clone of Hunt the Wumpus and an original game called Velocisaurus. The latter taught him “a lot about how simple but unique game mechanics could make games interesting,” an idea he holds dear today.

Luke Weber’s first game was actually built using ROBLOX; he re-purposed fantasy assets from another level and inserted spawn points to create a team-based game that would become the most popular game at the time.

The takeaway here is you your first idea doesn’t have to break new ground; it should be an opportunity for you to practice and experiment with building and scripting. Along the way, you’ll pick up important “dos” and “don’ts” that will make your experience and results better every time.

Everyone plays ROBLOX. Strive to be the one who’s creating what they play.