<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Roblox Blog</title>
	<atom:link href="http://blog.roblox.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.roblox.com</link>
	<description>Free Games at Roblox.com</description>
	<lastBuildDate>Tue, 15 May 2012 21:58:35 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<div id='fb-root'></div>
					<script type='text/javascript'>
						window.fbAsyncInit = function()
						{
							FB.init({appId: 138850326224710, status: true, cookie: true, xfbml: true});
						};
						(function()
						{
							var e = document.createElement('script'); e.async = true;
							e.src = document.location.protocol + '//connect.facebook.net/en_US/all.js';
							document.getElementById('fb-root').appendChild(e);
						}());
					</script>	
						<item>
		<title>Character Explorations v3</title>
		<link>http://blog.roblox.com/2012/05/character-explorations-v3/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=character-explorations-v3</link>
		<comments>http://blog.roblox.com/2012/05/character-explorations-v3/#comments</comments>
		<pubDate>Tue, 15 May 2012 21:58:35 +0000</pubDate>
		<dc:creator>Taylor Whitmer</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://blog.roblox.com/?p=10358</guid>
		<description><![CDATA[Over the past few weeks, we have shown the ROBLOX community various character explorations that include new head, body, arm and hand shapes for both male and female characters. We have a few examples of what these renderings would look &#8230; <a href="http://blog.roblox.com/2012/05/character-explorations-v3/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[
<p><a href="http://blog.roblox.com/wp-content/uploads/2012/05/primaryimg.png" rel="lightbox[10358]" title="Character Exploration"><img class="alignleft  wp-image-10372" title="Character Exploration" src="http://blog.roblox.com/wp-content/uploads/2012/05/primaryimg.png" alt="Character Exploration" width="402" height="337" /></a></p>
<p>Over the past few weeks, we have shown the ROBLOX community various character explorations that include new head, body, arm and hand shapes for both male and female characters. We have a few examples of what these renderings would look like in ROBLOX. Check out the video of some new characters, and let us know what you think.</p>
<p>For previous examples, you can learn more in our <a href="http://blog.roblox.com/2012/03/character-explorations/" target="_blank">first </a>and <a href="http://blog.roblox.com/2012/04/character-explorations-v2/" target="_blank">second character exploration post.</a></p>
<p><span id="more-10358"></span></p>
<p><iframe src="http://www.youtube.com/embed/gEIrgGpzeu0?rel=0" frameborder="0" width="560" height="315"></iframe></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.roblox.com/2012/05/character-explorations-v3/feed/</wfw:commentRss>
		<slash:comments>553</slash:comments>
		</item>
		<item>
		<title>Using &#8220;Wait&#8221; Wisely</title>
		<link>http://blog.roblox.com/2012/05/using-wait-wisely/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=using-wait-wisely</link>
		<comments>http://blog.roblox.com/2012/05/using-wait-wisely/#comments</comments>
		<pubDate>Sat, 12 May 2012 22:05:35 +0000</pubDate>
		<dc:creator>Erik Cassel</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://blog.roblox.com/?p=10311</guid>
		<description><![CDATA[Many scripts want to run little bits of code at frequent intervals. For example, a script might update the behavior of a zombie. It needs to update conditions repeatedly, like checking the location of the nearest player.  Today, ROBLOX&#8217;s Chief &#8230; <a href="http://blog.roblox.com/2012/05/using-wait-wisely/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><em><a href="http://blog.roblox.com/wp-content/uploads/2012/05/stop-watch.jpg" rel="lightbox[10311]" title="stop-watch"><img class="alignleft size-full wp-image-10331" title="stop-watch" src="http://blog.roblox.com/wp-content/uploads/2012/05/stop-watch.jpg" alt="Stop Watch" width="396" height="303" /></a>Many scripts want to run little bits of code at frequent intervals. For example, a script might update the behavior of a zombie. It needs to update conditions repeatedly, like checking the location of the nearest player.  </em></p>
<p><em>Today, ROBLOX&#8217;s Chief Scientist, Erik Cassel, discusses proper use of the <a href="http://wiki.roblox.com/index.php/Function_Dump/Roblox_Specific_Functions#Wait.28Float_t.29_or_wait.28Float_t.29">wait function</a>.</em></p>
<p><span id="more-10311"></span><strong> The Problem</strong></p>
<p>A very common way to do this in ROBLOX is with the handy “wait” statement. Here is an example:</p>
<p style="text-align: left;"><a href="http://blog.roblox.com/wp-content/uploads/2012/05/wait1.png" rel="lightbox[10311]" title="wait1"><img class="wp-image-10312 aligncenter" title="wait1" src="http://blog.roblox.com/wp-content/uploads/2012/05/wait1.png" alt="Wait Example 1" width="269" height="76" /></a>There is one problem with this code. Can you see it? The wait function takes an optional argument, which is the time that the script should sleep. If you don’t supply an argument, then the function will typically return in 0.03 seconds. That means the script is looking for an enemy to attack 30 times a second! The findClosestEnemy function isn’t cheap. It probably needs to iterate over all the players and find the closest one. That might be fine if you have one zombie in your game, but what about a hoard of 50 zombies? Do you really want 50 zombies rethinking who they will attack 30 times a second? That amounts to 1,500 enemy updates per second.</p>
<p>This isn’t a contrived example. I’ve been analyzing laggy games. A large fraction of them are laggy because of scripts that suck up all the compute time.</p>
<h1 dir="ltr">The Solution</h1>
<p style="text-align: left;">Let’s think about zombies for a minute. Zombies are stupid. Once a zombie finds an enemy, he is unlikely to change his mind and go after a new enemy for a while. Let’s make a tiny change to our script:</p>
<p style="text-align: left;"><a href="http://blog.roblox.com/wp-content/uploads/2012/05/wait2.png" rel="lightbox[10311]" title="wait2"><img class="wp-image-10313 aligncenter" title="wait2" src="http://blog.roblox.com/wp-content/uploads/2012/05/wait2.png" alt="Wait Example 2" width="278" height="81" /></a>We supplied a reasonable wait time of five seconds. Once the zombie spots a player, it will go after him for five seconds before looking to see if anybody else is closer. Now our 50-zombie game does 10 updates per second, rather than 1,500.</p>
<p>I have found games that try to wait for 0.0000001 seconds. That means they try to run complex operations 10 million times per second. We may have fast computers these days, but not that fast! These kinds of games suffer from terrible lag.</p>
<p style="text-align: left;">If your game is laggy, check your script performance. In ROBLOX Studio, there is a great Script Performance panel. Look down the Activity column. It will tell you what percentage of your overall time that a script is taking up. Anything greater than 3% should set off alarm bells.</p>
<p style="text-align: left;"><a href="http://blog.roblox.com/wp-content/uploads/2012/05/wait3.png" rel="lightbox[10311]" title="Script Performance"><img class="aligncenter  wp-image-10314" title="Script Performance" src="http://blog.roblox.com/wp-content/uploads/2012/05/wait3.png" alt="Script Performance" width="483" height="239" /></a><strong></strong></p>
<p style="text-align: left;"><strong>Better Resuming from a Wait</strong></p>
<p>Another thing to keep in mind is that wait is not guaranteed to return in precisely the time interval you requested. Let’s say your game fills up with 1,000 zombies. Even our optimized scripts might take up a lot of time in aggregate. In that case, ROBLOX will decide that it can’t run all the scripts fast enough, and it will automatically wait longer than requested. We do this because ROBLOX needs to run other processes, like networking, physics and rendering. By “throttling” the script code, we can try to avoid lag.</p>
<p style="text-align: left;">Let’s write a script that gradually changes the time of day. If you put this script in a game you will see the sun gradually rising:<br />
<a href="http://blog.roblox.com/wp-content/uploads/2012/05/wait4.png" rel="lightbox[10311]" title="wait4"><img class="wp-image-10315 aligncenter" title="wait4" src="http://blog.roblox.com/wp-content/uploads/2012/05/wait4.png" alt="Wait Example 4" width="385" height="136" /></a>The script asks to wait for one quarter of a second. However, let’s say that your game is temporarily running out of CPU time. In that case ROBLOX will decide to make your script wait longer than 0.25 seconds, and the sun will rise slower! Here is the solution to the problem:</p>
<p style="text-align: left;"><a href="http://blog.roblox.com/wp-content/uploads/2012/05/wait5.png" rel="lightbox[10311]" title="wait5"><img class="wp-image-10316 aligncenter" title="wait5" src="http://blog.roblox.com/wp-content/uploads/2012/05/wait5.png" alt="Wait Example 5" width="375" height="135" /></a>As stated in the <a href="http://wiki.roblox.com/index.php/Function_Dump/Roblox_Specific_Functions#Wait.28Float_t.29_or_wait.28Float_t.29">documentation</a>, the wait function returns the actual elapsed time. With that bit of information, we can adjust the time of day accordingly. If the elapsed time is longer than 0.25 seconds, then we’ll skip the time of day forward proportionally.</p>
<h1 dir="ltr">Conclusion</h1>
<p>Lag is often preventable. I’ve found that many games are laggy because of runaway scripts that spend valuable compute time on unnecessarily frequent computation. If you use wait correctly, you’ll be on the way to lag-free game building.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.roblox.com/2012/05/using-wait-wisely/feed/</wfw:commentRss>
		<slash:comments>140</slash:comments>
		</item>
		<item>
		<title>ROBLOX Game Conference Update</title>
		<link>http://blog.roblox.com/2012/05/roblox-game-conference-update/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=roblox-game-conference-update</link>
		<comments>http://blog.roblox.com/2012/05/roblox-game-conference-update/#comments</comments>
		<pubDate>Wed, 09 May 2012 23:55:36 +0000</pubDate>
		<dc:creator>ROBLOX</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://blog.roblox.com/?p=10279</guid>
		<description><![CDATA[As the 2012 ROBLOX Game Conference comes closer, we have been nailing down the agenda and details for the event.  This year, we are hosting the second annual RGC at the Santa Clara Convention Center on Saturday, July 14, 2012. &#8230; <a href="http://blog.roblox.com/2012/05/roblox-game-conference-update/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.roblox.com/wp-content/uploads/2012/05/SantaClaraConventionCenter.jpg" rel="lightbox[10279]" title="SantaClaraConventionCenter"><img class="alignleft  wp-image-10297" title="SantaClaraConventionCenter" src="http://blog.roblox.com/wp-content/uploads/2012/05/SantaClaraConventionCenter.jpg" alt="Santa Clara Convention Center" width="414" height="277" /></a>As the 2012 ROBLOX Game Conference comes closer, we have been nailing down the agenda and details for the event.  This year, we are hosting the second annual RGC at the <a href="http://santaclara.org/conventioncenter/">Santa Clara Convention Center</a> on Saturday, July 14, 2012. Be sure to <a href="http://roblox.eventbrite.com/">purchase your tickets</a> before our first registration date of May 14<sup>th</sup>.  If you purchase your tickets before this date, you will also receive a complimentary ROBLOX Game Conference T-shirt, water bottle, virtual visor and virtual gear.</p>
<p><span id="more-10279"></span></p>
<p>At the conference, we plan on including various seminars, tech demos, as well as sharing the future of ROBLOX.  During the conference, you will have an opportunity to meet ROBLOX staff, and similar to last year, we will also be giving out ROBLOX awards.  Plus, there will be a Developer Lounge where you can build and hang out with other ROBLOX creators. Some of the tech demos that will be incorporated are topics such as improving ROBLOX physics, water and buoyancy, and ROBLOX Studio 2.0, which is an exclusive, first preview at the next generation content creation tool.  Another session that you won’t want to miss is David Baszucki’s vision of ROBLOX in 2020.</p>
<p style="text-align: center;"><a href="http://blog.roblox.com/wp-content/uploads/2012/05/Rrally3.jpg" rel="lightbox[10279]" title="ROBLOX Game Conference"><img class="aligncenter  wp-image-10286" title="ROBLOX Game Conference" src="http://blog.roblox.com/wp-content/uploads/2012/05/Rrally3.jpg" alt="ROBLOX Game Conference" width="545" height="363" /></a></p>
<p>If you are a budding game developer and want to learn how to get a foothold into the video game industry, we will also host discussions with ROBLOX employees about how to whip your portfolio into shape, and how to have a competitive edge.</p>
<p>For more information on the ROBLOX Game Conference, visit the <a href="http://blog.roblox.com/roblox-conference-2012/rgc-2012-hotels/">event information page</a>. Several hotels are now offering special RGC room rates.  Be sure to <a href="http://roblox.eventbrite.com">register for the 2012 RGC here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.roblox.com/2012/05/roblox-game-conference-update/feed/</wfw:commentRss>
		<slash:comments>236</slash:comments>
		</item>
		<item>
		<title>Weekly ROBLOX Roundup: May 6, 2012</title>
		<link>http://blog.roblox.com/2012/05/weekly-roblox-roundup-may-5-2012/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=weekly-roblox-roundup-may-5-2012</link>
		<comments>http://blog.roblox.com/2012/05/weekly-roblox-roundup-may-5-2012/#comments</comments>
		<pubDate>Sun, 06 May 2012 16:00:13 +0000</pubDate>
		<dc:creator>Andrew Haak</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://blog.roblox.com/?p=10050</guid>
		<description><![CDATA[Every week, we’re busy telling the stories behind our platform, our technology, and our place in the gaming and technology industries. For those of you who catch up with ROBLOX over the weekend, the Weekly ROBLOX Roundup collects the best &#8230; <a href="http://blog.roblox.com/2012/05/weekly-roblox-roundup-may-5-2012/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.roblox.com/wp-content/uploads/2012/04/weekly_roundup.jpg" rel="lightbox[10050]" title="Weekly ROBLOX Roundup"><img class="alignleft" title="Weekly ROBLOX Roundup" src="http://blog.roblox.com/wp-content/uploads/2012/04/weekly_roundup.jpg" alt="Weekly ROBLOX Roundup logo" width="345" height="165" /></a><em>Every week, we’re busy telling the stories behind our platform, our technology, and our place in the gaming and technology industries. For those of you who catch up with ROBLOX over the weekend, the Weekly ROBLOX Roundup collects the best stuff to hit our various avenues of publication in the last week.<span id="more-10050"></span></em></p>
<h2><a href="http://blog.roblox.com/wp-content/uploads/2012/05/wardrobe_change_character1.jpg" rel="lightbox[10050]" title="In-game Wardrobe Change"><img class="alignright" title="In-game Wardrobe Change" src="http://blog.roblox.com/wp-content/uploads/2012/05/wardrobe_change_character1-283x300.jpg" alt="In-game Wardrobe Change Interface and Character" width="170" height="180" /></a>Getting Dressed <em>Can</em> Be Exciting</h2>
<p>This week, we gave you a preview of our not-yet-released in-game wardrobe change feature. Without leaving ROBLOX, you&#8217;ll be able to swap hats, heads, faces, shirts, pants and more; we&#8217;ll even update your character thumbnail almost instantaneously with your new look. Check out the <a title="Preview Our In-Game Wardrobe Change Interface" href="http://blog.roblox.com/2012/05/preview-in-game-wardrobe-change/">story and video demo</a> for all the details.</p>
<h2>User Feedback, Round Two</h2>
<p>Want to know why some things in ROBLOX are the way they are? We&#8217;re continuing to comb through your responses to our April blog survey, <a title="Your ROBLOX Top-Three List" href="http://blog.roblox.com/2012/04/your-roblox-top-three-list/">Your ROBLOX Top-Three List</a>, and providing answers. This time, Creative Director John Shedletsky <a title="User Feedback v2" href="http://blog.roblox.com/2012/05/user-feedback-v2/">responds to requests</a> for local services (for sound, light, etc.), expanded Insert Service functionality, canned animations, physics tweaks and more.</p>
<h2>This Week in ROBLOX Tech</h2>
<p>Software Engineer Navin Lal went <a title="Building a Cutting Edge ROBLOX Website" href="http://blog.roblox.com/2012/05/building-a-cutting-edge-roblox-website/">in-depth on ROBLOX&#8217;s website architecture</a>, and its shift toward MVC (models, views and controllers) and pagelets. While MVC allows faster development and a higher quality web experience, our pagelet infrastructure – akin to Facebook’s <a title="Facebook's BigPipe" href="http://www.facebook.com/note.php?note_id=389414033919" target="_blank">BigPipe</a> – will redefine the way ROBLOX serves up webpages and make our website faster and more responsive.</p>
<p><em>Still not satisfied?</em> You can read an article about ROBLOX, including CFO Matt Finick&#8217;s insights into our platform and future direction, at <a title="ROBLOX on Blistered Thumbs" href="http://www.blisteredthumbs.net/2012/05/roblox-cfo-future-user-physics/" target="_blank">Blistered Thumbs</a>.</p>
<p style="text-align: center;"><a href="http://blog.roblox.com/wp-content/uploads/2012/04/shadowDivider.jpg" rel="lightbox[10050]" title="Divider"><img class="size-full wp-image-9315 aligncenter" title="Divider" src="http://blog.roblox.com/wp-content/uploads/2012/04/shadowDivider.jpg" alt="Divider" width="500" height="13" /></a></p>
<p><a href="http://blog.roblox.com/wp-content/uploads/2012/04/roblox_social_media1.jpg" rel="lightbox[10050]" title="ROBLOX on Social Networks"><img class="size-full wp-image-9604 aligncenter" title="ROBLOX on Social Networks" src="http://blog.roblox.com/wp-content/uploads/2012/04/roblox_social_media1.jpg" alt="ROBLOX on Social Networks" width="327" height="74" /></a></p>
<p><a href="http://blog.roblox.com/wp-content/uploads/2012/05/facebook_200k.jpg" rel="lightbox[10050]" title="Facebook Likes: 200k"><img class="alignright size-full wp-image-10149" title="Facebook Likes: 200k" src="http://blog.roblox.com/wp-content/uploads/2012/05/facebook_200k.jpg" alt="Facebook Likes: 200k" width="119" height="82" /></a>If you already follow us on <a title="ROBLOX on Facebook" href="http://www.facebook.com/ROBLOX" target="_blank">Facebook</a> or <a title="ROBLOX on Twitter" href="http://www.twitter.com/roblox" target="_blank">Twitter</a>, you might know we reached a milestone this week with our 200,000th Facebook fan. To celebrate, we gave 10 fans 2,000 Robux. Winners: Enjoy your spoils of riches. Just don&#8217;t spend it all on one hat.</p>
<p>Of course, we offer more than just free money via Facebook and Twitter. Follow us on either network – or, better yet, both – to have exclusive content and interesting updates fed right to your device of choice. It doesn&#8217;t get any easier.</p>
<hr size="1" />
<p>And now, for an abstract collage of deep thoughts, cryptic math and what appears to be a cluster of ROBLOX bricks (or a third of a Rubix cube), straight from the walls of the ROBLOX headquarters:</p>
<h5 style="text-align: center;"><a href="http://blog.roblox.com/wp-content/uploads/2012/05/whiteboard.jpg" rel="lightbox[10050]" title="A ROBLOX Whiteboard"><img class="aligncenter size-full wp-image-10156" title="A ROBLOX Whiteboard" src="http://blog.roblox.com/wp-content/uploads/2012/05/whiteboard.jpg" alt="A ROBLOX Whiteboard" width="500" height="375" /></a><span style="text-align: center;"><br />
Can you glean any meaning from a ROBLOX whiteboard?</span></h5>
]]></content:encoded>
			<wfw:commentRss>http://blog.roblox.com/2012/05/weekly-roblox-roundup-may-5-2012/feed/</wfw:commentRss>
		<slash:comments>161</slash:comments>
		</item>
		<item>
		<title>Preview Our In-Game Wardrobe Change Interface</title>
		<link>http://blog.roblox.com/2012/05/preview-in-game-wardrobe-change/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=preview-in-game-wardrobe-change</link>
		<comments>http://blog.roblox.com/2012/05/preview-in-game-wardrobe-change/#comments</comments>
		<pubDate>Fri, 04 May 2012 19:00:18 +0000</pubDate>
		<dc:creator>Ben Tkacheff</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://blog.roblox.com/?p=9683</guid>
		<description><![CDATA[ROBLOX is working on a new feature that lets players change their character’s clothes and preview their appearance in-game. User Experience Engineer Ben Tkacheff is here today to demonstrate the interface he developed and offer some insider information on how &#8230; <a href="http://blog.roblox.com/2012/05/preview-in-game-wardrobe-change/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><em><a href="http://blog.roblox.com/wp-content/uploads/2012/05/wardrobe_change_character1.jpg" rel="lightbox[9683]" title="In-game Wardrobe Change"><img class="alignleft  wp-image-10152" title="In-game Wardrobe Change" src="http://blog.roblox.com/wp-content/uploads/2012/05/wardrobe_change_character1.jpg" alt="In-game Wardrobe Change Interface and Character" width="315" height="333" /></a>ROBLOX is working on a new feature that lets players change their character’s clothes and preview their appearance <strong>in-game</strong>. User Experience Engineer Ben Tkacheff is here today to demonstrate the interface he developed and offer some insider information on how he used ROBLOX’s tools to create it.</em></p>
<p>Part of the fun of ROBLOX is creating a persistent avatar and making it your own with the finest, most stylish ROBLOX attire. Traditionally, that customization happens on the ROBLOX website – outside the game engine – and requires you to enter a game to see whether the new look suits your fancy. Now, we’re polishing an interface that lets you change and preview your look in-game.<span id="more-9683"></span></p>
<p>The in-game wardrobe change is a simple, intuitive feature. You’ll just press the tilde (~) key or click the backpack button at the bottom of the screen to open the menu, then click the wardrobe tab to start dragging hats, heads, faces, shirts, pants and more onto your character. You’ll be able to rotate your character so you can see how you look from every, important angle. Once you save your changes, we’ll automatically update your thumbnail image on the ROBLOX website.</p>
<h5 align="center"><strong><iframe src="http://www.youtube.com/embed/FXEB1BsG9tQ?rel=0" frameborder="0" width="530" height="350" allowfullscreen></iframe><br />
Demo: In-game wardrobe change interface. We’ll be adding actual item icons for the official release.</strong></h5>
<p>We developed the feature using <a href="http://wiki.roblox.com/index.php/Lua_Help">Lua</a>, the same scripting language game creators use to write new gameplay and interfaces for their games. When approaching the design of the wardrobe interface, we wanted to ensure there were many ways for players to equip various wardrobe pieces to their character. For instance, drag and drop, right-click and left <a href="http://blog.roblox.com/wp-content/uploads/2012/05/wardrobe_change_interface.jpg" rel="lightbox[9683]" title="In-game Wardrobe Change Interface"><br />
<img class="alignright" title="In-game Wardrobe Change Interface" src="http://blog.roblox.com/wp-content/uploads/2012/05/wardrobe_change_interface-300x219.jpg" alt="In-game Wardrobe Change Menu Screenshot" width="300" height="219" /></a>double-click can all be used to adorn your character with an inventory item, giving all levels of users the best experience possible with the interface.</p>
<p>We also engineered the code as many small functions so we could re-use it for the various interaction methods; plus, it has the added advantage of better readability.</p>
<p>Game creators who don’t want players to change their appearance – for example, in a game where players have team colors or uniforms – can choose not to allow it. The rest of the time, we believe you&#8217;ll enjoy the convenience of changing your look on the fly.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.roblox.com/2012/05/preview-in-game-wardrobe-change/feed/</wfw:commentRss>
		<slash:comments>890</slash:comments>
		</item>
		<item>
		<title>Building a Cutting Edge ROBLOX Website</title>
		<link>http://blog.roblox.com/2012/05/building-a-cutting-edge-roblox-website/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=building-a-cutting-edge-roblox-website</link>
		<comments>http://blog.roblox.com/2012/05/building-a-cutting-edge-roblox-website/#comments</comments>
		<pubDate>Wed, 02 May 2012 23:57:42 +0000</pubDate>
		<dc:creator>Navin Lal</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://blog.roblox.com/?p=10080</guid>
		<description><![CDATA[At ROBLOX, we believe user experience is of the utmost importance. Today, ROBLOX Software Engineer, Navin Lal, tells us about how ROBLOX is building a faster, more responsive website with the help of MVC and a new pagelet architecture. The &#8230; <a href="http://blog.roblox.com/2012/05/building-a-cutting-edge-roblox-website/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><em><a href="http://blog.roblox.com/wp-content/uploads/2012/05/MVCprimary.png" rel="lightbox[10080]" title="MVCprimary"><img class="alignleft  wp-image-10081" title="MVCprimary" src="http://blog.roblox.com/wp-content/uploads/2012/05/MVCprimary.png" alt="MVCprimary" width="444" height="276" /></a></em><em></em></p>
<p><em>At ROBLOX, we believe user experience is of the utmost importance</em><em>. Today, ROBLOX Software Engineer, Navin Lal, tells us about how ROBLOX is building a faster, more responsive website with the help of MVC and a new pagelet architecture.</em></p>
<p><span id="more-10080"></span>The ROBLOX website is built on top of Microsoft’s ASP.NET.  Originally a Web Site project built for ASP.NET 2.0, the site has undergone several upgrades since, most notably an upgrade from ASP.NET 2.0 to 4.0 and a conversion to a Web Application project.  Our next big upgrade will be to add support for ASP.NET MVC. As you may know, MVC is a software design pattern that separates an application into three roles: models, views, and controllers.</p>
<p>Here is a deeper look at MVC:</p>
<ul>
<li>Models encapsulate the core logic of the application, such as persisting state and performing actions to alter its state.</li>
<li>Views make up the user interface.  They present model data and are the entry points for users to interact with the application.</li>
<li>Controllers are responsible for processing user input and coordinating interactions between models and views.</li>
</ul>
<p style="text-align: center;"><img class="size-full wp-image-10082 aligncenter" title="MVC1" src="http://blog.roblox.com/wp-content/uploads/2012/05/MVC1.png" alt="" width="356" height="169" /></p>
<p>MVC enforces a clean separation of concerns that makes it easy to develop, test, and maintain each role independently.</p>
<p>For some time, we have been using ASP.NET MVC to develop components apart from the main website. The original services built to support the iPhone app were built with MVC 2. Because it provides a flexible routing system that maps naturally to RESTful services, all of our core data and API services are developed on top of MVC 3.</p>
<p>We knew that we wanted to use MVC for the website, but there was a problem.  At over 3800 files (that’s excluding the majority of our data/business logic code, which are in separate assemblies), the website is big and migrating everything to MVC would be a monumental task.  Like everything we do at ROBLOX, we chose to take an iterative approach.  Since MVC and Web Forms are able to be run side by side in a single project, we decided to build new features in MVC and gradually migrate over older features as we update them.</p>
<p>MVC 3 will help us eliminate a lot of boilerplate code and will make unit testing easier since it has excellent support for dependency injection and inversion of control. This translates to faster development of features and a higher level of quality. The framework is designed to be completely extensible so we will be able to customize the site to our player’s exact needs.  Thus far, the only thing we have added is our own attribute routing system after being convinced <a href="http://kevinmontrose.com/2011/07/25/why-i-love-attribute-based-routing/" target="_blank">by Kevin Montrose of Stack Exchange</a>.</p>
<p>Migrating to an MVC site brings ROBLOX into the modern era of web development, but we’re planning on going beyond this and into cutting edge territory.  We’re building a pagelet infrastructure akin to Facebook’s BigPipe. If you’re unfamiliar with pagelets, the idea is to break up a single web page into small parts that can be served independently.</p>
<p align="left">Here is an example of what this looks like.</p>
<p style="text-align: left;"><a href="http://blog.roblox.com/wp-content/uploads/2012/05/pagelets.png" rel="lightbox[10080]" title="pagelets"><img class="aligncenter  wp-image-10083" title="pagelets" src="http://blog.roblox.com/wp-content/uploads/2012/05/pagelets.png" alt="pagelets" width="548" height="585" /></a></p>
<p style="text-align: left;">Conceptually what is happening is that every red box now loads separately and in parallel. Before, the entire page was essentially one big red box – it loaded all at once in a sequential manner. Processing all the content in parallel should decrease page load time and increase website responsiveness.</p>
<p style="text-align: left;">The traditional model for serving web pages starts with the browser making a request to the web server. The web server will process the request, gather any necessary data from databases or services, take any actions, and then render the appropriate content before sending a response.  The browser will construct the DOM from the HTML, download and apply any CSS, and then download and execute any JavaScript synchronously.</p>
<p style="text-align: left;"><a href="http://blog.roblox.com/wp-content/uploads/2012/05/MVC2.png" rel="lightbox[10080]" title="MVC2"><img class="aligncenter  wp-image-10084" title="MVC2" src="http://blog.roblox.com/wp-content/uploads/2012/05/MVC2.png" alt="MVC2" width="155" height="274" /></a>In a pagelet model, the web server gathers only the bare minimum to serve the request, and then it renders back a page that is mostly static with scaffolding for the pagelets.  Each pagelet is then fetched in parallel.</p>
<p style="text-align: left;"><a href="http://blog.roblox.com/wp-content/uploads/2012/05/MVC3.png" rel="lightbox[10080]" title="MVC3"><img class="aligncenter  wp-image-10085" title="MVC3" src="http://blog.roblox.com/wp-content/uploads/2012/05/MVC3.png" alt="MVC3" width="568" height="335" /></a>Despite the cost of extra resources, parallelizing has obvious advantages for speed, and it also isolates each component so they don’t end up blocking one another.  For example, let’s say you have a page that needs to fetch data from several different data sources.  In a traditional model, if one of those sources is slow, the entire response will be blocked, and the whole page will load slowly.  With pagelets, only the components depending on the slow data source would be affected; everything else would load normally.  Pagelets allow for a fast initial page load with additional dynamic content loaded in as it becomes available.</p>
<p>To support pagelets, we’ve built a JavaScript loader capable of lazy-loading resources asynchronously.  This allows us to load and execute scripts at the exact moment they are needed instead of loading everything at the beginning. We’re also adding support for defining re-usable modules, which is loosely based on the <a href="https://github.com/amdjs/amdjs-api/wiki/AMD" target="_blank">Asynchronous Module Definition spec</a>.  Modules have the ability to list their own dependencies and make dependency management for JavaScript files much easier, which is almost a prerequisite for loading scripts asynchronously.</p>
<p>The migration to MVC and pagelets brings ROBLOX to the forefront of web development. This has been a large technical investment for us, but it will pay off greatly in terms of developer productivity, site performance, and most importantly, user experience.</p>

]]></content:encoded>
			<wfw:commentRss>http://blog.roblox.com/2012/05/building-a-cutting-edge-roblox-website/feed/</wfw:commentRss>
		<slash:comments>141</slash:comments>
		</item>
		<item>
		<title>User Feedback v2</title>
		<link>http://blog.roblox.com/2012/05/user-feedback-v2/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=user-feedback-v2</link>
		<comments>http://blog.roblox.com/2012/05/user-feedback-v2/#comments</comments>
		<pubDate>Wed, 02 May 2012 00:19:22 +0000</pubDate>
		<dc:creator>John Shedletsky</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://blog.roblox.com/?p=10061</guid>
		<description><![CDATA[This week in our user feedback post, we have more great requests from ROBLOX players that we want to highlight and discuss.  As a reminder, we asked users for their top three ROBLOX feature requests a few weeks ago. Each &#8230; <a href="http://blog.roblox.com/2012/05/user-feedback-v2/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.roblox.com/wp-content/uploads/2012/05/destroyNoob_02.jpg" rel="lightbox[10061]" title="lazer "><img class="alignleft  wp-image-10064" title="lazer " src="http://blog.roblox.com/wp-content/uploads/2012/05/destroyNoob_02.jpg" alt="lazer" width="432" height="243" /></a>This week in our user feedback post, we have more great requests from ROBLOX players that we want to highlight and discuss.  As a reminder, we asked users for their <a href="../2012/04/2012/04/your-roblox-top-three-list/">top three ROBLOX feature requests</a> a few weeks ago. Each week, we will address player feedback, and how we are prioritizing our development pipeline around your responses. Similar to the <a href="../2012/04/user-feedback-v1/">User Feedback v1</a> post, John Shedletsky, ROBLOX’s Creative and Content Lead, has provided his insight to the following user requests in italics.</p>
<p><span id="more-10061"></span></p>
<p><strong>Quenty</strong>:<strong> </strong>Local services.<strong> </strong>I want a local SoundService, Workspace, Lighting, etc to work with. Sometimes you don’t want to be playing a ‘Cave’ echo for one player when they’re in the open, but most of your game is a cave. Workspace would be local parts, and lighting – well, what if you just want to have a storm for one player, or a mission in which the player has to find an item? A non-hackish way would be great. I know that stuff is replicated client-side and that adding this wouldn’t be entirely hard either.</p>
<p style="padding-left: 30px;"><em>John: This is a tricky one. There are many aspects to consider here.  While it should definitely be possible to play sound files for specific players, I’m not convinced that the best way to do this is via a local service, which would be a new type of entity in our system. In the cave example, the best design is probably to create custom regions that apply specific sound effects, like an echo, to all sounds played in that region. Having these effects be global and be in the SoundService, like they are now, is not ideal.</em></p>
<p style="padding-left: 30px;"><em>As far as local parts are concerned – this is something that we’d like to get away from. Our guiding vision for ROBLOX is that objects in ROBLOX act as you would expect them to in the real world, using physics. There’s no such thing as “local parts” in the real world. They also fight our network architecture – typically ROBLOX scripters don’t need to spend a lot of time thinking about what each client “sees” when they play the game: everyone sees everything. This simplifies a lot of game programming in ROBLOX. Today in ROBLOX, scripters use local parts as a last resort to accomplish some effect that you can’t get any other way. Our challenge is to make it easy to achieve these effects without this hack.</em></p>
<p><strong>Josh</strong>: Re-introduce a functioning InsertService. InsertService allowed so many possibilities in-game, such as what this group “RoGo” did- an updating giver that gives the most current issue by using InsertService. Allow the mouse object to be accessible without a tool or hopperbin.</p>
<p style="padding-left: 30px;"><em>John: The original InsertService was very powerful – give it an assetId, any assetId, and it will dutifully insert that asset into your game. The problem with that version of the InsertService was that it was actually too powerful – it could be used to insert items into a running game that the creator never intended to be insertable. This is a serious security flaw. In your example, the RoGo authors, at any point, could put a malicious script into their latest issue, and this would infect hundreds of places without the creator’s knowledge.</em></p>
<p style="padding-left: 30px;"><em>When fixing it, we tried to preserve most of the power of the InsertService while making it more predictable. Currently, it will allow a place to insert any ROBLOX-authored asset, or any asset the place-creator owns. The current interface for doing this would benefit from some more work. As we add additional access to web services from inside of the ROBLOX client, I think this issue will largely evaporate. </em></p>
<p style="text-align: left;"><a href="http://blog.roblox.com/wp-content/uploads/2012/05/IMG_6396.jpg" rel="lightbox[10061]" title="IMG_6396"><img class="aligncenter  wp-image-10062" title="IMG_6396" src="http://blog.roblox.com/wp-content/uploads/2012/05/IMG_6396.jpg" alt="" width="528" height="352" /></a> <strong>Sircfenner</strong>:  Stopping bricks welded to the character from physically interacting with the character’s body parts that are set to CanCollide false. This is a really big issue for making FPS games with welded gun models. Otherwise you start flying, and we don’t want that!</p>
<p style="padding-left: 30px;"><em>John: This is a great example of ROBLOX scripters being super-creative and really pushing the boundaries of what our game was designed to support. It’s amazing to me that there are games on ROBLOX with custom tools made out of tens or hundreds of tiny little parts. The engine was never designed to support this – scripters have discovered that this just magically works. Making stuff CanCollide = false isn’t a great solution because even if the parts don’t collide, they have mass and inertia, which will affect the character physics in surprising ways.</em></p>
<p style="padding-left: 30px;"><em>We do want to make the character easier to model. I think right now anyone who rolls up their sleeves and tries to edit the character model is very brave.</em></p>
<p><strong>HylianLegend</strong>: A way to create and save player animations, and an easier way to move and edit characters. A year or two ago, players could create animation objects using complicated scripts. Those were removed along with user meshes and sounds, but unlike the meshes and sounds, they were harmless. We CAN make animations now using welds and such, but a new system for creating animations would be a nice addition. Characters are rather difficult to play around with. If you want to script in, say, a back flip, you have to accept the fact that it’s not going to be perfect. Characters bounce around too easily and aren’t very fond of being moved about in methods other than the WASD keys. (That’s why animations were so cool!)</p>
<p style="padding-left: 30px;"><em>John: The main reason we’ve kept animation locked down so far is that our tool for creating animations isn’t fit for human consumption (though we make Sorcus use it anyways). If we were to release it, you would try to use it, and it would make you incredibly angry. You would be blinded with rage, and then you would pound your computer so hard that it would break.</em></p>
<p style="padding-left: 30px;"><em>Another benefit of not having any user-created animations to support is that we can change our underlying format without breaking anyone’s code. Basically, animation is a beta feature right now. When we bring it up to version 1.0, we’ll let people play with it.</em></p>
<p><strong>Nergmada</strong>: Merge Brick Option. The merge bricks option would allow you to create an awesome mesh like a person and then merge it into a single mesh/brick &#8211; allowing for reduced lag and for more than just your standard Part, Wedge Part and CornerWedge Part. Finally, dynamic lighting is crucial for any RPG you lose the feel of a game if you come out of a barren desert and into an underground bunker and it’s just as light inside as outside.</p>
<p style="padding-left: 30px;"><em>John: Our design philosophy is that ROBLOX should be: physically intuitive and highly scalable. Builders shouldn’t have to ever think about batching geometry to make it run faster. Instead, we are working on making all parts render ten times faster, which will address any need for a “merge brick” option.</em></p>
<p style="padding-left: 30px;"><em>Dynamic lighting is awesome, but if our goal was to build a great RPG in ROBLOX, I would probably start with better NPC/bot support and code management tools. Incidentally, my team does have the goal of building an RPG later this year.</em></p>
<p><strong>mat852</strong>:<strong> </strong>Rotating Graphic User Interface objects along a 2D axis, 3D isn’t really necessary. Rotating GUI objects really makes a game look neat. With the increase of radars and mini maps, we really can’t have rotating images of a map, to get the direction and distinct location. Today, we have clip descendants, but mix that in a bowl with rotating 2D GUI objects and some milk, you have got a winning game my friend.</p>
<p style="padding-left: 30px;"><em>John: It seems to me that I would get soggy 2D GUI objects if I mixed them with milk. There’s a slippery slope here. ROBLOX is a 3D game development platform. We’re not a 2D game development platform – there are a lot of those out there already, and we don’t want to fall into the trap of trying to re-implement Flash in 3D. That being said, this does seem like a super handy function to have, and many people have asked for it. We should probably just do it. </em></p>
<p>While we continue to read each reply, we thank you for your patience and encourage you to send your feedback.  Our goal is to incorporate your ideas into ROBLOX.  Stay posted for more user feedback next week.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.roblox.com/2012/05/user-feedback-v2/feed/</wfw:commentRss>
		<slash:comments>282</slash:comments>
		</item>
		<item>
		<title>Weekly ROBLOX Roundup: April 29, 2012</title>
		<link>http://blog.roblox.com/2012/04/weekly-roblox-roundup-april-29-2012/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=weekly-roblox-roundup-april-29-2012</link>
		<comments>http://blog.roblox.com/2012/04/weekly-roblox-roundup-april-29-2012/#comments</comments>
		<pubDate>Sun, 29 Apr 2012 19:00:18 +0000</pubDate>
		<dc:creator>Andrew Haak</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://blog.roblox.com/?p=9929</guid>
		<description><![CDATA[Every week, we’re busy telling the stories behind our platform, our technology, and our place in the gaming and technology industries. For those of you who catch up with ROBLOX over the weekend, the Weekly ROBLOX Roundup collects the best &#8230; <a href="http://blog.roblox.com/2012/04/weekly-roblox-roundup-april-29-2012/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><em><a href="http://blog.roblox.com/wp-content/uploads/2012/04/weekly_roundup.jpg" rel="lightbox[9929]" title="Weekly ROBLOX Roundup"><img class="alignleft  wp-image-9688" title="Weekly ROBLOX Roundup" src="http://blog.roblox.com/wp-content/uploads/2012/04/weekly_roundup.jpg" alt="Weekly ROBLOX Roundup logo" width="345" height="165" /></a>Every week, we’re busy telling the stories behind our platform, our technology, and our place in the gaming and technology industries. For those of you who catch up with ROBLOX over the weekend, the Weekly ROBLOX Roundup collects the best stuff to hit our various avenues of publication in the last week.<span id="more-9929"></span></em></p>
<h2><strong>ROBLOX Users Love Water</strong></h2>
<p><a href="http://blog.roblox.com/wp-content/uploads/2012/04/buoyancy.jpg" rel="lightbox[9929]" title="Water Physics and Buoyancy"><img class="alignright  wp-image-9727" title="Water Physics and Buoyancy" src="http://blog.roblox.com/wp-content/uploads/2012/04/buoyancy-300x178.jpg" alt="Water Physics and Buoyancy" width="180" height="107" /></a>And what world builder or game designer wouldn’t? Early in the week, we took <a title="A Deep Look at ROBLOX’s Buoyancy and Water Physics" href="http://blog.roblox.com/2012/04/buoyancy/">a deep look at our upcoming water simulation and buoyancy physics</a>. Most of the feedback we received was positive, and it sounds like the ROBLOX community is collectively champing at the bit to implement water into their games. We also heard your reaction to the water texture – we&#8217;re working on it for the official release.</p>
<h2><strong>ROBLOX Users Love Talking About Character Models, Too</strong></h2>
<p><strong></strong><a href="http://blog.roblox.com/wp-content/uploads/2012/04/blogPost_mainImage.jpg" rel="lightbox[9929]" title="Character Model - Male 3.0"><img class="wp-image-9793 alignleft" title="Character Model - Male 3.0" src="http://blog.roblox.com/wp-content/uploads/2012/04/blogPost_mainImage-300x250.jpg" alt="Character Model - Male 3.0" width="97" height="81" /></a>We know that when we ask you to discuss our “Version 3.0” ROBLOX character models, you’re going to <em>discuss</em> them. Passionately. Our <a title="Character Explorations v2" href="http://blog.roblox.com/2012/04/character-explorations-v2/">latest survey</a> was no different. We’re still collecting data from users, so it’s not too late to vote, and we expect to be able to draw some solid conclusions from your feedback.</p>
<h2>Emergence and Its Place in ROBLOX</h2>
<p><a href="http://blog.roblox.com/wp-content/uploads/2012/04/emergence_in_roblox.jpg" rel="lightbox[9929]" title="Emergence in ROBLOX"><img class="alignright  wp-image-9842" title="Emergence in ROBLOX" src="http://blog.roblox.com/wp-content/uploads/2012/04/emergence_in_roblox-300x148.jpg" alt="Emergence in ROBLOX" width="144" height="71" /></a>Whether solving physics puzzles in Half-Life 2 or creating your own narrative in Civilization, emergence lets you use a game&#8217;s systems in unique and even unexpected ways. This week, we <a title="Emergence in ROBLOX: Hard to Define, Easy to See" href="http://blog.roblox.com/2012/04/emergence-in-roblox-hard-to-define-easy-to-see/">showed how emergence manifests itself</a> in three facets of ROBLOX: building, playing and the social space.</p>
<h2><strong>“Aging Up” Your ROBLOX Account</strong></h2>
<p><strong></strong>We <a title="ROBLOX Users Can Now “Age Up”" href="http://blog.roblox.com/2012/04/roblox-users-can-now-age-up/">launched a small feature</a> – with a big impact – to our website this week. ROBLOX users can now change their date of birth or request their parent change it, in some circumstances.</p>
<p>As always, if you still <em>need more words</em> about ROBLOX, check out <a title="ROBLOX on MMOFallout.com" href="http://mmofallout.com/2012/04/27/roblox-part-1-opening-the-toy-chest/" target="_blank">part one of a comprehensive feature</a> MMOFallout.com is producing about ROBLOX, its community and its creative users. There’s some good, original research happening there.</p>
<p><a href="http://blog.roblox.com/wp-content/uploads/2012/04/shadowDivider.jpg" rel="lightbox[9929]" title="Divider"><img class="aligncenter size-full wp-image-9315" title="Divider" src="http://blog.roblox.com/wp-content/uploads/2012/04/shadowDivider.jpg" alt="Divider" width="500" height="13" /></a></p>
<p><a href="http://blog.roblox.com/wp-content/uploads/2012/04/roblox_social_media1.jpg" rel="lightbox[9929]" title="ROBLOX on Social Networks"><img class="aligncenter size-full wp-image-9604" title="ROBLOX on Social Networks" src="http://blog.roblox.com/wp-content/uploads/2012/04/roblox_social_media1.jpg" alt="ROBLOX on Social Networks" width="327" height="74" /></a></p>
<p>Your interesting ROBLOX stories continued to pour in via our blog and Facebook page this week. Check out our article about <a title="Emergence in ROBLOX: Hard to Define, Easy to See" href="http://blog.roblox.com/2012/04/emergence-in-roblox-hard-to-define-easy-to-see/">emergence in ROBLOX</a>, as it features some of the best responses.</p>
<p>We’ve also been sharing video reviews of ROBLOX games by Max Benedek. Follow us on <a title="ROBLOX's Facebook Page" href="http://www.facebook.com/ROBLOX" target="_blank">Facebook</a> and <a title="ROBLOX's Twitter Page" href="http://twitter.com/#!/roblox" target="_blank">Twitter</a> to stay in the loop on weekly reviews from Max, and find previous reviews of <a title="Bus Driver City on ROBLOX" href="http://www.roblox.com/Bus-Driver-City-v4-0-2-place?id=23988238" target="_blank">Bus Driver City</a>, ROBLOX cart-riding games, and <a title="Trucking Tycoon on ROBLOX" href="http://www.roblox.com/Trucking-Tycoon-place?id=26549061" target="_blank">Trucking Tycoon</a>.</p>
<p>Need convincing? Here&#8217;s his review of Trucking Tycoon:</p>
<p style="text-align: center;"><iframe src="http://www.youtube.com/embed/EfCrB8datxA?rel=0" frameborder="0" width="530" height="350" allowfullscreen></iframe></p>
<p style="text-align: center;"><a href="http://blog.roblox.com/wp-content/uploads/2012/04/shadowDivider.jpg" rel="lightbox[9929]" title="Divider"><img title="Divider" src="http://blog.roblox.com/wp-content/uploads/2012/04/shadowDivider.jpg" alt="Divider" width="500" height="13" /></a></p>
<p>We’re sharing other content you won’t find anywhere else, too, including videos of our technology, ROBLOX games and places from various eras that are worth playing, and open positions at ROBLOX. So follow along.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.roblox.com/2012/04/weekly-roblox-roundup-april-29-2012/feed/</wfw:commentRss>
		<slash:comments>63</slash:comments>
		</item>
		<item>
		<title>Emergence in ROBLOX: Hard to Define, Easy to See</title>
		<link>http://blog.roblox.com/2012/04/emergence-in-roblox-hard-to-define-easy-to-see/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=emergence-in-roblox-hard-to-define-easy-to-see</link>
		<comments>http://blog.roblox.com/2012/04/emergence-in-roblox-hard-to-define-easy-to-see/#comments</comments>
		<pubDate>Sat, 28 Apr 2012 20:11:12 +0000</pubDate>
		<dc:creator>Andrew Haak</dc:creator>
				<category><![CDATA[Gaming]]></category>
		<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://blog.roblox.com/?p=9678</guid>
		<description><![CDATA[In gaming, emergence happens when players use a game’s basic systems in a way that is unexpected, unpredicted and unique. It’s built into the entire ROBLOX platform; users have the freedom to create almost any type of game, experience games, &#8230; <a href="http://blog.roblox.com/2012/04/emergence-in-roblox-hard-to-define-easy-to-see/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.roblox.com/wp-content/uploads/2012/04/emergence_in_roblox.jpg" rel="lightbox[9678]" title="Emergence in ROBLOX"><img class="alignleft  wp-image-9842" title="Emergence in ROBLOX" src="http://blog.roblox.com/wp-content/uploads/2012/04/emergence_in_roblox.jpg" alt="Emergence in ROBLOX" width="392" height="194" /></a>In gaming, emergence happens when players use a game’s basic systems in a way that is unexpected, unpredicted and unique. It’s built into the entire ROBLOX platform; users have the freedom to <strong>create</strong> almost any type of game, <strong>experience</strong> games, moments and physics that rarely – if ever – play out the same way twice, and even <strong>discover</strong> emergence in ROBLOX’s social space and virtual economy.<span id="more-9678"></span></p>
<h2>Depth of creativity</h2>
<p>One of the beauties of ROBLOX is the creative freedom it gives users. Builders start out with a blank canvas and can build anything, from architectural displays to complex vehicle models to competitive, multi-player arenas. While the sophistication of a game or place depends on its creator’s abilities in both construction and scripting, ROBLOX offers users a free-form tool that lends itself to discovery, what-if scenarios and experimentation.</p>
<p>That experimentation emerged early in ROBLOX’s life, when users took advantage of our Lua scripting framework to create airplanes and, in turn, spark the ever-popular and evolving flight-combat genre on ROBLOX. It was emergence in a classic sense; users created totally new gameplay and content using nothing but our standard tool set.</p>
<p>While most builders start simpler than planes, a little persistence and learning open a lot of doors to emergence.</p>
<p><a href="http://blog.roblox.com/wp-content/uploads/2012/04/pbs_island.jpg" rel="lightbox[9678]" title="Personal Build Server &quot;Island&quot; Screenshot"><img class="wp-image-9848 alignnone" title="Personal Build Server &quot;Island&quot; Screenshot" src="http://blog.roblox.com/wp-content/uploads/2012/04/pbs_island.jpg" alt="Personal Build Server &quot;Island&quot; Screenshot" width="615" height="222" /></a></p>
<p>ROBLOX’s Personal Build Servers, too, encourage emergence by allowing up to <em>30 users</em> to join a single server and collaborate on large-scale building projects. While users can build anything they imagine and even wire up interesting, unique contraptions using customizable triggers, levers and timers, it’s the player interaction occurring in the Personal Build Server that’s especially emergent. For example, ROBLOX users have created sprawling cities, complete with custom houses and towering, decorated buildings, where role-playing and socializing tend to take place during and after the construction.</p>
<h2>Real freedom, simulated physics</h2>
<p>According to <a title="Emergence in Games" href="http://www.emergenceingames.com/" target="_blank">Penny Sweetser</a>, a game designer at 2K Australia and emergence researcher/author, emergent gameplay registers with players because it puts them center-stage. It gives them “the freedom to experiment, greater control over the game, a sense of agency, and less of a feeling of uncovering a path set for them by the designers.”<sup> 1</sup></p>
<p>While some ROBLOX games funnel players through a <a href="http://www.roblox.com/Stranded-place?id=1710162" target="_blank">scripted experience</a> or change ROBLOX into a closed-off, <a href="http://www.roblox.com/Space-Solver-place?id=12567041" target="_blank">single-player experience</a>, ROBLOX games are usually open spaces where users congregate and play within the game’s mechanics and ROBLOX’s systems – our so-called “<a href="http://en.wikipedia.org/wiki/Magic_Circle_(virtual_worlds)" target="_blank">magic circle</a>”.</p>
<p><a href="http://blog.roblox.com/wp-content/uploads/2012/04/dtn_screenshot.jpg" rel="lightbox[9678]" title="ROBLOX Game Screenshot"><img class="alignright  wp-image-9857" style="margin-top: 8px; margin-bottom: 8px;" title="ROBLOX Game Screenshot" src="http://blog.roblox.com/wp-content/uploads/2012/04/dtn_screenshot.jpg" alt="ROBLOX Game Screenshot" width="360" height="203" /></a>We’ve asked ROBLOX players for their interesting in-game experiences and, for the most part, they involve more than one person, open-world freedom and some aspect of our physics simulation. With a formula like that, emergent gameplay is almost inevitable. One ROBLOX user recounted this memory, in response to our recent <a href="http://blog.roblox.com/2012/04/weekly-roblox-roundup-april-21-2012/" target="_blank">call for interesting ROBLOX stories</a>:</p>
<p style="padding-left: 30px;"><em>“Playing </em><a href="http://www.roblox.com/Heli-Wars-Desert-Attack-place?id=483633"><em>Heli-Wars: Desert Attack</em></a><em>, a guest got in my jeep. I drove it half way to the other team&#8217;s base and jumped out, but the guest and jeep kept rolling into the base. The guest got out and started shooting, but was killed. The jeep came out of the other side of the base so I jumped in as it was moving and drove it back to my base.”</em></p>
<p>Another had a similar experience on the battlefield:</p>
<p style="padding-left: 30px;"><em>“I was in a war group; we were in a helicopter flying to a raider base and our boss said, &#8220;deploy parachutes but don&#8217;t jump!&#8221; When we arrived at the raider base he said, &#8220;Jump! Go go go!&#8221; We parachuted in but were outnumbered by the raiders and the helicopter was shot down. Our next plan was to get in a heavy jeep. It was white and had no windows except in the front. There was a door in the back, our boss was driving. When we arrived again there were only two raiders. We fought them and left for another fort.”</em></p>
<p>Then there’s ROBLOX user <a href="http://www.roblox.com/user.aspx?id=10011428" target="_blank">Lucariobeam</a>, who recently played <a href="http://www.roblox.com/Natural-Disaster-Survival-place?id=189707" target="_blank">Natural Disaster Survival</a> and “rode a falling building into the ocean, and somehow, miraculously, survived.”</p>
<p>These are bits of the greater narrative a ROBLOX game can tell, driven almost entirely by the player’s freedom and ROBLOX’s flexible engine.</p>
<p>“I just love how ROBLOX’s physics engine can create different scenarios … It makes the game so much more interesting, not to mention addicting,” said ROBLOX user <a href="http://www.roblox.com/User.aspx?ID=9375368" target="_blank">navysealsnake</a>.</p>
<h2>Emergence in ROBLOX’s web services</h2>
<p>Many massively multiplayer games have virtual economies and social systems that allow players to purchase and sell items using an in-game currency. ROBLOX’s virtual economy, for example, allows users to earn and spend <a href="http://wiki.roblox.com/index.php/Ticket_(Currency)">Tickets</a> and <a href="http://wiki.roblox.com/index.php/Robux_(Currency)" target="_blank">ROBUX</a>.</p>
<p>As noted by Sweetser, “virtual economies are emergent systems that change dynamically with supply and demand, based on the trading patterns of the world’s inhabitants.”<sup> 1</sup> This is what we’ve seen in ROBLOX’s virtual economy with limited-quantity items. ROBLOX users who are vigilant of newly released gear (or just lucky) can snatch up rare items and sell them for a profit to users who didn’t get them during the original sale. There’s only so many to go around, so users can charge a premium. It’s supply and demand at work.</p>
<p><a href="http://blog.roblox.com/wp-content/uploads/2012/04/emergence_pullquote.jpg" rel="lightbox[9678]" title="Emergence in ROBLOX Quote"><img class="alignleft" style="margin-right: 30px;" title="Emergence in ROBLOX Quote" src="http://blog.roblox.com/wp-content/uploads/2012/04/emergence_pullquote.jpg" alt="Emergence in ROBLOX Quote" width="360" height="181" /></a>Since ROBLOX uses its website as a distribution channel for users’ games, we’ve even seen emergence in game promotion. Cunning users have learned to market their content not only through effective game design, but also competition: being the most responsive to user feedback, persuasive in use of text descriptions and screenshots, and successful with on-site advertisements.</p>
<p>Emergence manifests itself in all the major facets of ROBLOX, from creation, to sharing and gameplay, to the economy and community running behind the scenes. From a gameplay perspective, it’s not guaranteed, since our users are capable of creating scripted, linear experiences. But there’s no denying that, from front to back, ROBLOX encourages discovery, experimentation, freedom and, with all that said, emergence.</p>
<p>There’s plenty of room to dig deeper, so stay tuned to our blog for detailed explorations of emergence in ROBLOX.</p>
<h6>1. Sweetser, Penny. Emergence in Games. Charles River Media, 2008. Web book.</h6>
]]></content:encoded>
			<wfw:commentRss>http://blog.roblox.com/2012/04/emergence-in-roblox-hard-to-define-easy-to-see/feed/</wfw:commentRss>
		<slash:comments>142</slash:comments>
		</item>
		<item>
		<title>ROBLOX Users Can Now &#8220;Age Up&#8221;</title>
		<link>http://blog.roblox.com/2012/04/roblox-users-can-now-age-up/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=roblox-users-can-now-age-up</link>
		<comments>http://blog.roblox.com/2012/04/roblox-users-can-now-age-up/#comments</comments>
		<pubDate>Fri, 27 Apr 2012 17:40:28 +0000</pubDate>
		<dc:creator>Sairam Venugopal</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://blog.roblox.com/?p=9881</guid>
		<description><![CDATA[You asked and we delivered: ROBLOX users can now set their date of birth on the ROBLOX website. This is an important feature because it allows users to take advantage of social features when they turn 13, while still keeping &#8230; <a href="http://blog.roblox.com/2012/04/roblox-users-can-now-age-up/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.roblox.com/wp-content/uploads/2012/04/ageup_screenshot.jpg" rel="lightbox[9881]" title="Age Change Screenshot"><img class="alignleft  wp-image-9923" title="Age Change Screenshot" src="http://blog.roblox.com/wp-content/uploads/2012/04/ageup_screenshot.jpg" alt="Age Change Screenshot" width="268" height="201" /></a>You asked and we delivered: ROBLOX users can now set their date of birth on the ROBLOX website. This is an important feature because it allows users to take advantage of social features when they turn 13, while still keeping us in compliance with the <a title="COPPA Website" href="http://www.coppa.org/" target="_blank">Children&#8217;s Online Privacy Protection Act</a> of 1998 (COPPA).</p>
<p>If you haven&#8217;t already set your date of birth on your ROBLOX account, we encourage you to do so now. Here&#8217;s how it works.<span id="more-9881"></span></p>
<h3>Set Age/Date of Birth</h3>
<p><a href="http://blog.roblox.com/wp-content/uploads/2012/04/ageup_accounts_page.jpg" rel="lightbox[9881]" title="Date of Birth Interface"><img class="aligncenter size-full wp-image-9894" title="Date of Birth Interface" src="http://blog.roblox.com/wp-content/uploads/2012/04/ageup_accounts_page.jpg" alt="Date of Birth Interface Screenshot" width="586" height="200" /></a></p>
<p>To set your date of birth, simply log into your ROBLOX account and use the interface, shown above, on the <strong>Account</strong> page. There are some special requirements, however, when you set your age under 13 or &#8220;age up&#8221; to 13+.</p>
<h3>Change Age (Under 13)</h3>
<p><a href="http://blog.roblox.com/wp-content/uploads/2012/04/ageup_parent_verify.jpg" rel="lightbox[9881]" title="Parent's Verification Interface"><img class="aligncenter size-full wp-image-9895" title="Parent's Verification Interface" src="http://blog.roblox.com/wp-content/uploads/2012/04/ageup_parent_verify.jpg" alt="Parent's Verification Interface" width="586" height="192" /></a></p>
<p>ROBLOX users who are under 13 must have their parent(s) change their date of birth. This requires that a parent’s email address be filed on their account so the parent can verify the change. <a title="Privacy Mode" href="http://www.roblox.com/Info/PrivacyMode.aspx" target="_blank">Privacy Mode</a> will be enabled on the account until disabled by a parent.</p>
<p>Users who have not provided their parent’s email address can enter it, along with their account password, when prompted on the Account page.</p>
<h3>“Age Up” to 13+</h3>
<p>Existing ROBLOX users who have turned 13 since joining ROBLOX can ask their parents to “age up” their accounts and enable the Free Text Experience, which allows users to chat, send private messages, participate in the forums and post comments. They can then select their chat, party, follow and private message preferences on the Account page.</p>
<p>Users who have not provided their parent’s email address can enter it, along with their account password, when prompted on the Account page.</p>
<p>ROBLOX takes the safety of our users seriously and is in compliance with COPPA. More information regarding ROBLOX’s Privacy Mode can be found <a href="http://www.roblox.com/Info/PrivacyMode.aspx">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.roblox.com/2012/04/roblox-users-can-now-age-up/feed/</wfw:commentRss>
		<slash:comments>195</slash:comments>
		</item>
	</channel>
</rss>

