January 31st 2007

“Report Abuse!!!”

Every regular Robloxian has by now noticed the ubiquitous “Report Abuse” button.  As of this week it has crept into the game itself in the guise of a rather surprised looking yellow smiley.

Report Abuse

ROBLOX is a kid-friendly site. We work hard to make our community reasonably safe for young and old alike. That is why we don’t tolerate profanity, threatening behavior, phishing for passwords, impersonating an administrator, spamming, advertising, etc.

Each time you submit an abuse report using our automated system we review the report and take appropriate action. We will read the forum post, view a user’s profile, or comb through a transcript of in-game chat to see what is going on. We will then take appropriate action, such as a reminder to be nice, a warning, a temporary ban, or account deletion.

Questions, Questions

Hey Builderman! Which words are naughty? Can I say “¥αβ©π®@!”?

If you are asking these questions and thinking about the consequences of your actions, then there is a good chance you’re behavior is just fine. There are clearly utterances that are bad, some that are OK, and many things in the vast gray area in-between. We will make the call.

When does good-natured competition turn into a mean-spirited threat?

Think of Roblox as a vast neighborhood street. Kids play together, argue, make up rules, and learn how to get along by resolving conflicts. Be sensitive to how what you say will make others feel.

The Boy Who Cried “Wolf!”

Like nearly everything else in ROBLOX, the moderation system is in its infancy. But spamming the moderation system with repeated, bogus abuse reports won’t get you anywhere. In fact, it’ll soon put your abuse reports on the bottom of our priority list. So, only submit an abuse report if you feel somebody is doing something inappropriate.

Finally, we can’t do much about somebody who annoys you by breaking up your house in the Community Construction Site. But watch out: some day that annoying noob might find himself ostracized from the community. You’ve seen the first taste of that with the “Friends-Only” feature.

‘nuff said. Let’s play!
 

AddThis Social Bookmark Button

January 30th 2007

Reports From Robloxia

Last week the Roblox team decided we would like to experiment with a ”Reports From Robloxia” column written directly by our players for the Roblog. I solicited articles from a few of Robloxia’s finest builders and brick warriors, offering them the chance to write about whatever they like. Koopa was the first person to get back to me with an article. Koopa is a winner of our recent Homestead Contest, an expert builder, and one of only three Robloxians with a 4:1 KO/WO ratio.

- Telamon

- - -

koopa.png“This is awesome!”

That is exactly what I told my friend who first showed me Roblox. Ever since then I have been playing this game pretty regularly. It really took me a while to kinda get good at this game… like some of you out there I was a total noob… but after a while and some practice vs. some of the better players like killing_machine91. I actually got good at the game. So for all of you new players out there I am going to let you in on some little tricks and tips I found out.

Battle Tips 

Ok well let’s see here - I’ll just start listing them… let’s say you are fighting someone and you and that person are not that far away. When this happens normally I like to whip out my rocket and shoot near them and close to the ground. Now you might be like why close to the ground… well the answer for this would be that you don’t have to hit the person you just have to get the explosion of the rocket to hit them to kill them. Sometimes the person gets lucky and just loses a leg. Another little trick I like to use is what I call head bouncing. So here is the situation someone is shooting from an area up above you… well obviously they have the advantage in most situations by being higher up. So my solution is the super ball. I get out that weapon and aim to hit their head. Now this won’t get you a one hit kill but hey it is more fun for you. If you have a nice shot it will hit your opponent right square in the head and their character will guy flipped over onto their back and bounce around for a bit, fun eh? Well since I don’t want to give away all of my little secrets and tricks here is the last one. Every once in a while you have to go up against a person who is good with the rocket. Well instead of dodging their rockets I like to shoot them down with a super ball. This way you can keep your position, you don’t have to worry about stuff falling down or hitting you, and just on some rare occasions if you do this quick enough the persons rocket will explode right on top of them. Oh yea when fighting if you want to stay alive remember to jump every now and then… ok, I am done now with tips and tricks.

Cool Maps

So what maps are cool out there… well that is all a personal opinion don’t you think? But here are the ones that I like right now. Thunderstealth’s Place, it is very, very fun lots of action and tanks and killer robots ah what more do ya want? PoliceLabs5Real’s CTF Demo Version: Navial Battle, don’t ask me why he spelled it navial… I think it should be naval. Anyways that place is pretty fun I love boats and CTF so it is just about perfect for me… the only thing that ruins it is the own team killers… so might I suggest don’t kill your own team while you are there. Hey one of my other favorite places is well my own place Traveler’s Tale… even though it is not well the best quality compared to some other peoples ideas, when you have put a lot of time into your very own map it makes it about twice as good as what other people think it is… probably just because you made it… although I really don’t know why. My all-time favorite brick battle arena is definitely without a doubt The Crossroads. Just all around great place to battle, own people, and talk… well it depends who is there lol.

Props

Now of course after listing to you all the places I like the most I am going to tell you what I think the coolest users are besides me of course, I mean come on I am the coolest (hope you all got the sarcasm there). These people you definitely want to be friends with. Thunderstealth a.k.a Pilotluke he is a good builder, Robloxpolice and his MANY other accounts lol this guys knows a ton about scripting. Miked is a cool guy, good battler and builder. Rocks25 is a fun guy to battle with or against. Epikachu or whatever is accounts names are, DrWaffles he is great, although I am not sure if he accepts friend request unless you are in his army, That’s all of the guys I can think of at the moment… oh yea and all of the admins are cool guys. Don’t forget me either lol. Well that about wraps things up for me telling you guys stuff. Man! This has gotta be the most I have written about any type of Roblox thing since well… since I was on as Beast… wow good memories. Well have fun on the game everyone see ya around Roblox.

AddThis Social Bookmark Button

January 26th 2007

There is no “i” in Team.

What a fatuous thing to say. When it comes to motivational sentiments about teams, I prefer the following:

teamwork-thumb.jpg

But I make light of a very important issue. Ever since the beginning of Roblox, players have spontaneously organized themselves into teams and armies. The trend towards mega-armies seemed to die out on the site around November. This probably coincides with the point when we had gathered more users than one social clique could accomodate. However, the demand for team games has not died on Roblox. Quite the opposite. Take a look at this chart from early this morning:

popularteamgames.png

If you like to keep track of statistics like I do, you will notice that the top two places on this list are outliers. 564 and 477 visits in one day is an insane number of visits, considering that no longer than a week ago a number like 142 would have been enough to be #1 on this chart. Both the #1 and #2 places on this chart have earned Bricksmith badges in less than two days. Together they are more popular than the next 13 places on this list combined. What do these top two places have that the others don’t? Two things: 1) team play and 2) vehicles. We’ll get to the second one another day. Today I’m talking about teams.

The Roblox team has been planning to add teams to the game since December. I’ve personally been working on developing team support in the engine for about a week now. Today I came in and got them mostly working, so I thought it would be a good time to spill some info on this Deep Alpha feature.

 teamleaderboard.png

Keep in mind this is a work in progress - the final product should look more polished. What you are seeing is a team leaderboard for a basic Red vs. Blue BrickBattle game. We have built team support directly into Roblox, so while making a team game today requires a tour de force display of scripting knowledge, in the future anyone will be able to do it - possibly without writing a single line of lua. That is not to say that teams and the team leaderboard will not be very customizable if you know scripting.

 teamproperties.png

Anyone who has played around with Roblox Studio will recognize what we have done here. A Teams service has been created, similar to the Players service, that contains 0 to N Team objects. These team objects have properties that let you customize how they will appear in-game and on the leaderboard. Isn’t this exciting? You can probably guess where we are going once basic team support is in place…

- Telamon

AddThis Social Bookmark Button

January 23rd 2007

Bloxxers Who Roxor

More interesting factoids, mined from the Roblox database. I am working on a set of additional badges for a future release. New badges fall into one of two catagories: they are either entirely unlike any existing badge, or they are “higher level” versions of existing badges. Designing good badges is tricky. If a badge is too easy to get, it is pointless. If a badge is impossible to get, it is pointless. A badge that is challenging to get is fun.

One “higher level” badge I am thinking of making is a more difficult to get version of the Bloxxer badge. At the moment, 64 Robloxians have bloxxers. Using my January 8 post as a reference point, one can say that about 1.3 users earn Bloxxers every day on Roblox. Roughly 2% of all Robloxians have Bloxxers. This means they are already pretty hard to get. Whether or not it is worthwhile to make a badge that less than 2% of Robloxians will ever earn is a point of debate. However, after looking at the data below, I propose a badge with the following requirements:

Bloxxer++ (Suggest a cool sounding name)

Requires: Knockouts > 500, Knockouts > (Wipeouts * 2)

We are already planning to make an upgrade of the basic combat badge (Champion Badge), that anyone can get by playing long enough. The Bloxxer++ badge (whatever we decide to call it) is intended to mark the true elite of Robloxia’s battlefields.

Champion

Requires: Knockouts > 1000

I am also toying around with an idea for a badge that is intended to show that you like to fight and is awarded whether or not you are good at it. Do people like this idea?

Veteran of a Thousand Battles Badge

Requires: Knockouts + Wipeouts > 1000

I am planning some non-combat oriented badges too - they are potentially even more interesting to talk about, but I’m not ready to spill the beans on those yet. I’m interested in hearing player feedback about these and other combat badges. The following table of all players with Bloxxers might inform your commentary.

 

bloxxerswhoroxor.png

- Telamon

AddThis Social Bookmark Button

January 22nd 2007

Dreaming in Code

Software is hard. - Knuth

 dreamingincode.png

At least once a week I like to go to the Stanford bookstore and drink coffee while I read through books or magazines that I almost never intend to buy. You may think that this makes me a terrible person; however, I think it’s a great deal for the bookstore. They’ve been selling me $3 bean water regularly for the past five and a half years. I used to hit them up ever day or so for breakfast, which I would have never done were I not able to read all sorts of interesting things while enjoying my meal. 

This Saturday, I picked up the new Wired and this book that caught my eye, Dreaming in Code. I used to dream in code, but as a grad student I found that more often than not, when there was coding to be done, I was doing that instead of dreaming. But that is neither here nor there. The book talks about the problem of writing software. Fifty years after the invention of the digital computer, the modern world is dependant on software. Yet writing software remains a black art. Unlike other types of projects, the length of time it takes to complete a software project is non-deterministic. Anyone who has tried to write even a simple program will have noticed this property of software. Maybe you bang out the code, compile, and run it and it works the first time. Bam, you’re done. Maybe you write all the code out, compile, and wham! Blue Screen of Death. You’re hosed. There’s a bug in your code somewhere. It will randomly take you between 1 and 5000 minutes to find and fix it. Ready, set, go!   

This issue is compounded by the increasing complexity of contemporary computer programs. Large programming projects are necessarily huge creations of crystallized logic, manifest as lines of code. It stands to reason that the more lines of code you have in your project, the more places there are for bugs to hide. Traditionally the length of a computer program has been measured in KLOCs (a very cool sounding unit that is pronounced “KAY-locks”). 1 KLOC = 1000 lines of code. To give you an idea of what programmers today have to deal with, when I was interviewing up at the Empire, someone told me that the Halo source code is about 1.6 million lines of code. Printed, that would be about 40,000 pages. That’s more or less the size of the entire Encyclopedia Britannica. It’s probably fair to say that there is not one person alive who knows or understands every line of the Halo codebase. 

I’m not sure that anyone on the Roblox Team knows how many lines of code we have that get compiled into our game. With all the 3rd party libraries we use, it could well be over a million. We cope with the complexity in several ways. First, except for Erik, who is a coding demigod, probably no one at Roblox knows how everything works. We each have a specific domain that we are knowledgeable about, and everything outside that is black magic. Second, to the extent that is possible, we use modular design to simplify individual components of the project. This is standard practice for programmers, and way too abstract of a notion to be interesting to non-programmers, so I will gloss over it. Third, we make aggressive use of asserts - a special programming construct that enforces a “sanity check” on certain assumptions made at different points in the code. This has helped us to find bugs that would have otherwise been impossible to track down. Fixing a bug is often very easy. The hard part is locating the root cause of a bug. Our assertions get us closer to the root cause than we would get if we just waited for the whole thing to crash. 

Dreaming in Code points out the essential problem with developing software, but does not point the way towards any solutions. In fact, it is my personal feeling that writing good software is probably beyond the abilities of mere human intellect. It may even be beyond the ken of putative super intelligent machines of the future. There are many specific problems relating to program verification (for example: detecting buffer overruns) that are NP-complete, which means they are beyond the abilities of any classical computer to solve. If a computer cannot verify that a supplied program is correct, it would be very surprising if it could supply a correct program that accomplishes a given task. So next time Roblox crashes on you, or throws an error, take pity on us. Like you, we have only meat in our heads to think with. 

- Telamon      

 

AddThis Social Bookmark Button

Next Page »