<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;C0IAQ3wzcCp7ImA9WhRUGEo.&quot;"><id>tag:blogger.com,1999:blog-8959356083618071167</id><updated>2012-01-29T13:12:22.288-08:00</updated><category term="Game Jam" /><category term="_Articles" /><category term="Productivity" /><category term="Games" /><category term="_Links" /><category term="Depth of Field" /><category term="Graphics" /><category term="Gamebryo" /><category term="Chrome" /><category term="PixelatedMartiniRoller" /><category term="Presentation" /><category term="Photography" /><category term="Humor" /><category term="Siggraph" /><category term="Demo Scene" /><category term="_News" /><category term="Game Development" /><category term="Google" /><category term="Programming" /><title>Beautiful Pixels</title><subtitle type="html" /><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://beautifulpixels.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://beautifulpixels.blogspot.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/8959356083618071167/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>Vincent Scheib</name><uri>https://profiles.google.com/117022097663427079142</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-ZIw9Jo6_Ag8/AAAAAAAAAAI/AAAAAAAAMLk/qZlGukmKBi8/s512-c/photo.jpg" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>95</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/BeautifulPixels" /><feedburner:info uri="beautifulpixels" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:emailServiceId>BeautifulPixels</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><feedburner:feedFlare href="http://add.my.yahoo.com/rss?url=http%3A%2F%2Ffeeds.feedburner.com%2FBeautifulPixels" src="http://us.i1.yimg.com/us.yimg.com/i/us/my/addtomyyahoo4.gif">Subscribe with My Yahoo!</feedburner:feedFlare><feedburner:feedFlare href="http://www.newsgator.com/ngs/subscriber/subext.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2FBeautifulPixels" src="http://www.newsgator.com/images/ngsub1.gif">Subscribe with NewsGator</feedburner:feedFlare><feedburner:feedFlare href="http://feeds.my.aol.com/add.jsp?url=http%3A%2F%2Ffeeds.feedburner.com%2FBeautifulPixels" src="http://o.aolcdn.com/favorites.my.aol.com/webmaster/ffclient/webroot/locale/en-US/images/myAOLButtonSmall.gif">Subscribe with My AOL</feedburner:feedFlare><feedburner:feedFlare href="http://www.bloglines.com/sub/http://feeds.feedburner.com/BeautifulPixels" src="http://www.bloglines.com/images/sub_modern11.gif">Subscribe with Bloglines</feedburner:feedFlare><feedburner:feedFlare href="http://www.netvibes.com/subscribe.php?url=http%3A%2F%2Ffeeds.feedburner.com%2FBeautifulPixels" src="http://www.netvibes.com/img/add2netvibes.gif">Subscribe with Netvibes</feedburner:feedFlare><feedburner:feedFlare href="http://fusion.google.com/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2FBeautifulPixels" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><feedburner:feedFlare href="http://www.pageflakes.com/subscribe.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2FBeautifulPixels" src="http://www.pageflakes.com/ImageFile.ashx?instanceId=Static_4&amp;fileName=ATP_blu_91x17.gif">Subscribe with Pageflakes</feedburner:feedFlare><feedburner:feedFlare href="http://www.plusmo.com/add?url=http%3A%2F%2Ffeeds.feedburner.com%2FBeautifulPixels" src="http://plusmo.com/res/graphics/fbplusmo.gif">Subscribe with Plusmo</feedburner:feedFlare><feedburner:feedFlare href="http://www.thefreedictionary.com/_/hp/AddRSS.aspx?http%3A%2F%2Ffeeds.feedburner.com%2FBeautifulPixels" src="http://img.tfd.com/hp/addToTheFreeDictionary.gif">Subscribe with The Free Dictionary</feedburner:feedFlare><feedburner:feedFlare href="http://www.bitty.com/manual/?contenttype=rssfeed&amp;contentvalue=http%3A%2F%2Ffeeds.feedburner.com%2FBeautifulPixels" src="http://www.bitty.com/img/bittychicklet_91x17.gif">Subscribe with Bitty Browser</feedburner:feedFlare><feedburner:feedFlare href="http://www.newsalloy.com/?rss=http%3A%2F%2Ffeeds.feedburner.com%2FBeautifulPixels" src="http://www.newsalloy.com/subrss3.gif">Subscribe with NewsAlloy</feedburner:feedFlare><feedburner:feedFlare href="http://www.live.com/?add=http%3A%2F%2Ffeeds.feedburner.com%2FBeautifulPixels" src="http://tkfiles.storage.msn.com/x1piYkpqHC_35nIp1gLE68-wvzLZO8iXl_JMledmJQXP-XTBOLfmQv4zhj4MhcWEJh_GtoBIiAl1Mjh-ndp9k47If7hTaFno0mxW9_i3p_5qQw">Subscribe with Live.com</feedburner:feedFlare><feedburner:feedFlare href="http://mix.excite.eu/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2FBeautifulPixels" src="http://image.excite.co.uk/mix/addtomix.gif">Subscribe with Excite MIX</feedburner:feedFlare><feedburner:feedFlare href="http://www.yourminis.com/subscribe.aspx?u=http%3A%2F%2Ffeeds.feedburner.com%2FBeautifulPixels" src="http://www.yourminis.com/images/addtoyourminisbadge.gif">Subscribe with Yourminis.com</feedburner:feedFlare><feedburner:feedFlare href="http://download.attensa.com/app/get_attensa.html?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2FBeautifulPixels" src="http://www.attensa.com/blogs/attensa/WindowsLiveWriter/BadgeredintoBadges_10C02/attensa_feed_button5.gif">Subscribe with Attensa for Outlook</feedburner:feedFlare><feedburner:feedFlare href="http://www.webwag.com/wwgthis.php?url=http%3A%2F%2Ffeeds.feedburner.com%2FBeautifulPixels" src="http://www.webwag.com/images/wwgthis.gif">Subscribe with Webwag</feedburner:feedFlare><feedburner:feedFlare href="http://hub.netomat.net/account/account.autoSubscribe.jspa?urls=http%3A%2F%2Ffeeds.feedburner.com%2FBeautifulPixels" src="http://www.netomat.net/blogger/images/icon_netomat_feedbutton.gif">Subscribe with netomat Hub</feedburner:feedFlare><feedburner:feedFlare href="http://www.podcastready.com/oneclick_bookmark.php?url=http%3A%2F%2Ffeeds.feedburner.com%2FBeautifulPixels" src="http://www.podcastready.com/images/podcastready_button.gif">Subscribe with Podcast Ready</feedburner:feedFlare><feedburner:feedFlare href="http://www.flurry.com/pushRssFeed.do?r=fb&amp;url=http%3A%2F%2Ffeeds.feedburner.com%2FBeautifulPixels" src="http://www.flurry.com/images/flurry_rss_logo2.gif">Subscribe with Flurry</feedburner:feedFlare><feedburner:feedFlare href="http://www.wikio.com/subscribe?url=http%3A%2F%2Ffeeds.feedburner.com%2FBeautifulPixels" src="http://www.wikio.com/shared/img/add2wikio.gif">Subscribe with Wikio</feedburner:feedFlare><feedburner:feedFlare href="http://www.dailyrotation.com/index.php?feed=http%3A%2F%2Ffeeds.feedburner.com%2FBeautifulPixels" src="http://www.dailyrotation.com/rss-dr2.gif">Subscribe with Daily Rotation</feedburner:feedFlare><entry gd:etag="W/&quot;DEYFRnc8eyp7ImA9WhRUGE8.&quot;"><id>tag:blogger.com,1999:blog-8959356083618071167.post-1107163166711268564</id><published>2012-01-29T00:23:00.000-08:00</published><updated>2012-01-29T00:35:17.973-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-29T00:35:17.973-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="_Articles" /><category scheme="http://www.blogger.com/atom/ns#" term="Programming" /><title>JavaScript Pointer Lock (Mouse Lock) in Chrome Developer Preview</title><content type="html">&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://1.bp.blogspot.com/-Y4NUSIgNgOc/TyT5rwNDr7I/AAAAAAAAQyc/RVs4oa6SavI/s1600/q3bsp-pointer-lock-.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="211" src="http://1.bp.blogspot.com/-Y4NUSIgNgOc/TyT5rwNDr7I/AAAAAAAAQyc/RVs4oa6SavI/s320/q3bsp-pointer-lock-.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
Mouse Lock is the canonical term for when a game (or other application) removes the mouse cursor from view and interprets mouse motion for something else, e.g. looking around in a 3D world. To date this has not been possible for web applications without a plugin, which makes many game genres and other applications just terrible to use. (e.g. forcing users to drag the mouse button to pan the view, while a native application would use the mouse button for something else, e.g. interacting with the world.).&lt;br /&gt;
&lt;br /&gt;
Good news: I've been working on a &lt;a href="http://dvcs.w3.org/hg/pointerlock/raw-file/default/index.html"&gt;w3c specification&lt;/a&gt; to address this. The feature is available for developers to&amp;nbsp;experiment&amp;nbsp;with now in Chrome (details below). And, a FireFox implementation is on it's way too, thanks primarily to &lt;a href="http://vocamus.net/dave/?cat=28"&gt;David Humphrey using it as a class project&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Today the first Chrome Canary build is available to try the feature out:&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Get a build.&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://tools.google.com/dlpage/chromesxs"&gt;Chrome Canary&lt;/a&gt; builds auto-update daily and install without interfering with your normal installation of Chrome, they're the way to go since they're so easy. Unless your on Linux, where you need to just get a&amp;nbsp;&lt;a href="http://commondatastorage.googleapis.com/chromium-browser-continuous/index.html"&gt;recent Linux Build&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;Enable pointer lock.&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;Navigate to&amp;nbsp;&lt;b&gt;about:flags&lt;/b&gt;, find&amp;nbsp;&lt;b&gt;Enable Pointer Lock&lt;/b&gt;, and restart (there's a button below).&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;Try a demo.&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://media.tojicode.com/q3bsp/"&gt;http://media.tojicode.com/q3bsp/&lt;/a&gt;&amp;nbsp;is a nice one from &lt;a href="http://blog.tojicode.com/"&gt;Brandon Jones&lt;/a&gt;&amp;nbsp;and what you see in the screenshot above. It's a quake 3 BSP viewer.&lt;/li&gt;
&lt;li&gt;Others are sure to show up soon, minutes after landing the keystone WebKit patch I received a few IMs and emails from excited developers.&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;Go&amp;nbsp;&lt;b&gt;Fullscreen&lt;/b&gt;. (more on that later)&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;In Brandon's demo find the fullscreen button in the bottom right corner. (It has to be JavaScript initiated fullscreen, not chrome's "presentation mode".)&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;Allow the site to &lt;b&gt;disable your mouse cursor&lt;/b&gt;.&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;This setting is remembered for each site, and can be forgotten in Chrome's preferences / content settings.&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;Read some doc&amp;nbsp;&lt;a href="https://developer.mozilla.org/en/API/Mouse_Lock_API"&gt;https://developer.mozilla.org/en/API/Mouse_Lock_API&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
There's a lot that will be changing with this. First, I have several issues still to deal with in the WebKit implementation, a security review will certainly find more, and oh yeah we're going to overhaul the spec to be as &lt;a href="http://lists.w3.org/Archives/Public/public-webapps/2012JanMar/0376.html"&gt;identical as possible to the Fullscreen spec&lt;/a&gt;.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Some have asked if pointer lock will be forever restricted to fullscreen mode. No, in fact by the time the JavaScript bindings ship without developer flags I'm hoping to have removed the restriction, and if not then soon after. The only real requirement is that the user not suffer from a poorly behaving website. At the moment that means if a site spams lock requests that we require a user-gesture (e.g. clicking on the web page content, or pressing a key). Fullscreen currently requires the same, so we hide in it's shadow, but I'll implement the check even in windowed mode.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Chrome 19 is the earliest JavaScript pointer lock could ship without a developer flag, but it's predicated on many things coming into place. However, Native Client apps have been able to use it since Chrome 16.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
Developers interested in the nitty gritty implementation details can see the chromium bug&amp;nbsp;&lt;a href="http://code.google.com/p/chromium/issues/detail?id=72754"&gt;http://code.google.com/p/chromium/issues/detail?id=72754&lt;/a&gt;. To follow along, please only star&amp;nbsp;the issue (top left). If &amp;nbsp;you've made awesome demos and add this feature, drop a comment here. ;)&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Happy locking.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8959356083618071167-1107163166711268564?l=beautifulpixels.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/BeautifulPixels?a=VmzPglHce7M:BrAylfqn9Ng:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BeautifulPixels?i=VmzPglHce7M:BrAylfqn9Ng:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BeautifulPixels?a=VmzPglHce7M:BrAylfqn9Ng:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BeautifulPixels?i=VmzPglHce7M:BrAylfqn9Ng:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BeautifulPixels?a=VmzPglHce7M:BrAylfqn9Ng:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BeautifulPixels?i=VmzPglHce7M:BrAylfqn9Ng:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/BeautifulPixels/~4/VmzPglHce7M" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://beautifulpixels.blogspot.com/feeds/1107163166711268564/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://beautifulpixels.blogspot.com/2012/01/javascript-pointer-lock-mouse-lock-in.html#comment-form" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8959356083618071167/posts/default/1107163166711268564?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8959356083618071167/posts/default/1107163166711268564?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BeautifulPixels/~3/VmzPglHce7M/javascript-pointer-lock-mouse-lock-in.html" title="JavaScript Pointer Lock (Mouse Lock) in Chrome Developer Preview" /><author><name>Vincent Scheib</name><uri>https://profiles.google.com/117022097663427079142</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-ZIw9Jo6_Ag8/AAAAAAAAAAI/AAAAAAAAMLk/qZlGukmKBi8/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-Y4NUSIgNgOc/TyT5rwNDr7I/AAAAAAAAQyc/RVs4oa6SavI/s72-c/q3bsp-pointer-lock-.png" height="72" width="72" /><thr:total>2</thr:total><feedburner:origLink>http://beautifulpixels.blogspot.com/2012/01/javascript-pointer-lock-mouse-lock-in.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ck4FR3o9eyp7ImA9WhRVGEo.&quot;"><id>tag:blogger.com,1999:blog-8959356083618071167.post-2841794523323157559</id><published>2012-01-17T22:27:00.000-08:00</published><updated>2012-01-17T23:15:16.463-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-17T23:15:16.463-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="_Articles" /><title>Automatic Screen Window Titles in Bash and Vim</title><content type="html">&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-WUAE9rJxLUI/TxZfTo424JI/AAAAAAAAQWQ/Lt8mccO4kzA/s1600/screen.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/-WUAE9rJxLUI/TxZfTo424JI/AAAAAAAAQWQ/Lt8mccO4kzA/s1600/screen.png" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
I finally configured screen to display the list of windows open with useful titles. Here are the few bits I needed&lt;br /&gt;
&lt;br /&gt;
First, if you don't know what I'm talking about:&lt;br /&gt;
I occasionally SSH into work, and when I do I use a program called &lt;a href="http://en.wikipedia.org/wiki/GNU_Screen"&gt;screen&lt;/a&gt; that can host multiple terminal shells. It can persist those shells and allow me to reconnect if I get disconnected or want to change computers I'm working on.&lt;br /&gt;
&lt;br /&gt;
BTW, I always start screen with&amp;nbsp;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;screen -RaAd -S x&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;-a &amp;nbsp; include all capabilities ...&lt;/li&gt;
&lt;li&gt;-A &amp;nbsp; Adapt &amp;nbsp;the sizes of all windows ...&lt;/li&gt;
&lt;li&gt;-d -R &amp;nbsp; Reattach a session and if necessary detach or even create it first.&lt;/li&gt;
&lt;li&gt;&lt;span style="font-family: inherit;"&gt;-S &lt;name&gt; Name of the session&lt;/name&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;br /&gt;
The default configuration makes it hard to keep track of how many terminals you have running, and what they are doing. I made three changes that help my personal workflow:&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Add a persistent display at the bottom of screen&lt;/b&gt;&lt;br /&gt;
In .screenrc I appended this line:&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;hardstatus alwayslastline "%{=b}%{G} Screen(s): %{b}%w %=%{kG}%C%A &amp;nbsp;%D, %M/%d/%Y "&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: inherit;"&gt;Source:&amp;nbsp;&lt;/span&gt;Julien Chaffraix, a coworker.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Set the current directory name as the window title from bash&lt;/b&gt;&lt;br /&gt;
In .bashrc I appended these lines:&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;if [ "$TERM" = "screen" ]; then&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp; screen_set_window_title () {&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp; &amp;nbsp; local HPWD="$PWD"&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp; &amp;nbsp; case $HPWD in&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; $HOME) HPWD="~";;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; ## long name option:&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; # $HOME/*) HPWD="~${HPWD#$HOME}";;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; ## short name option:&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; *) HPWD=`basename "$HPWD"`;;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp; &amp;nbsp; esac&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp; &amp;nbsp; printf '\ek%s\e\\' "$HPWD"&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp; }&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp; PROMPT_COMMAND="screen_set_window_title; $PROMPT_COMMAND"&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;fi&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You can see that I'm using a short name for each directory, e.g. "chromium" instead of the full path or suffix path after my home directory, e.g. "~/projects/chromium". You can toggle the commented lines to try alternates.&lt;br /&gt;
&lt;br /&gt;
Source:&amp;nbsp;&lt;a href="http://unix.stackexchange.com/questions/6065/gnu-screen-new-window-name-change"&gt;http://unix.stackexchange.com/questions/6065/gnu-screen-new-window-name-change&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Set the name of the buffer I'm editing in vim&lt;/b&gt;&lt;br /&gt;
In .vimrc I appended these lines:&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;if &amp;amp;term == "screen"&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp; let &amp;amp;titlestring=expand("%:t")&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp; set t_ts=^[k&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp; set t_fs=^[\&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp; set title&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;endif&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-family: inherit;"&gt;Source:&amp;nbsp;&lt;/span&gt;&lt;a href="http://vim.wikia.com/wiki/Automatically_set_screen_title"&gt;http://vim.wikia.com/wiki/Automatically_set_screen_title&lt;/a&gt;.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8959356083618071167-2841794523323157559?l=beautifulpixels.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/BeautifulPixels?a=-zmHl6xJ-iI:tlt6ASF8kQs:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BeautifulPixels?i=-zmHl6xJ-iI:tlt6ASF8kQs:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BeautifulPixels?a=-zmHl6xJ-iI:tlt6ASF8kQs:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BeautifulPixels?i=-zmHl6xJ-iI:tlt6ASF8kQs:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BeautifulPixels?a=-zmHl6xJ-iI:tlt6ASF8kQs:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BeautifulPixels?i=-zmHl6xJ-iI:tlt6ASF8kQs:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/BeautifulPixels/~4/-zmHl6xJ-iI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://beautifulpixels.blogspot.com/feeds/2841794523323157559/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://beautifulpixels.blogspot.com/2012/01/automatic-screen-window-titles-in-bash.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8959356083618071167/posts/default/2841794523323157559?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8959356083618071167/posts/default/2841794523323157559?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BeautifulPixels/~3/-zmHl6xJ-iI/automatic-screen-window-titles-in-bash.html" title="Automatic Screen Window Titles in Bash and Vim" /><author><name>Vincent Scheib</name><uri>https://profiles.google.com/117022097663427079142</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-ZIw9Jo6_Ag8/AAAAAAAAAAI/AAAAAAAAMLk/qZlGukmKBi8/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-WUAE9rJxLUI/TxZfTo424JI/AAAAAAAAQWQ/Lt8mccO4kzA/s72-c/screen.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://beautifulpixels.blogspot.com/2012/01/automatic-screen-window-titles-in-bash.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0AFRH06eyp7ImA9WhRRFko.&quot;"><id>tag:blogger.com,1999:blog-8959356083618071167.post-3591450169692682508</id><published>2011-11-02T22:46:00.000-07:00</published><updated>2011-11-30T09:55:15.313-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-11-30T09:55:15.313-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="_Articles" /><category scheme="http://www.blogger.com/atom/ns#" term="Game Development" /><title>New Game Conference Day 2</title><content type="html">&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-HOgkn72oANw/TrDO3KL5bfI/AAAAAAAAOIo/ducigN36Rdg/s1600/newgame-logo.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="200" src="http://3.bp.blogspot.com/-HOgkn72oANw/TrDO3KL5bfI/AAAAAAAAOIo/ducigN36Rdg/s200/newgame-logo.png" width="193" /&gt;&lt;/a&gt;&lt;/div&gt;
The sequel to my&amp;nbsp;&lt;a href="http://beautifulpixels.blogspot.com/2011/11/new-game-conference-day-1.html"&gt;Day 1&lt;/a&gt;&amp;nbsp;report from the New Game, HTML5 Games, conference:&lt;br /&gt;
&lt;br /&gt;
The quality per session has been really great, and the good news is that &lt;a href="http://www.youtube.com/NewGameConference"&gt;Videos are on the way&lt;/a&gt;, so if you weren't there, don't fear. Also, &lt;a href="http://confswag.com/2011/newgame/"&gt;here are most of the slides&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Zynga kicked today off. They're dedicated to HTML5 games, reaching lots of people, and moving the web forward.&amp;nbsp;Paul Bakaus&amp;nbsp;pointed out that classic games devs get people to upgrade hardware; new web games need to get users to update to modern browsers, &lt;i&gt;"Please help me upgrade the web"&lt;/i&gt;.&lt;br /&gt;
&lt;br /&gt;
Zynga has also open sourced some rather handy sounding tools:&amp;nbsp;&lt;a href="https://github.com/zynga"&gt;https://github.com/zynga&lt;/a&gt; including audio fixes/hacks for ios, viewport control, custom viewport scrolling assist libraries.&lt;br /&gt;
&lt;br /&gt;
Grant Skinner has put out tools too: &lt;a href="http://easeljs.com/"&gt;Easle.js&lt;/a&gt;, flash like api primarily to draw to Canvas 2D, though he demoed swapping out rendering engines to e.g. DOM &amp;amp; flash too. He also demoed exporting content from Flash.&lt;br /&gt;
&lt;br /&gt;
Spil had a good talk about developing for and publishing in Asia; primarily challenges in&amp;nbsp;hosting, distribution, and localization (beyond just text).&lt;br /&gt;
&lt;br /&gt;
Opera's Erik Möller showed off WebGL support in Opera, including a demo off a TV set top box hardware kit.&lt;br /&gt;
&lt;br /&gt;
Mozilla has a cool project taking a spin on their old question of "Are We Fast Yet?" and changing it to "Are We Fun Yet?" Their &lt;a href="https://wiki.mozilla.org/Paladin"&gt;Palidin&lt;/a&gt;&amp;nbsp;effort is designed to improve that answer. They're building an open source web tech game engine and implementing platform features such as Mouse Lock and Game Pad. Similar in ways to the Chrome Games effort I'm part of.&lt;br /&gt;
&lt;br /&gt;
Rachel Blum of Chrome (ex Blizzard) did a great rundown of Chrome as a platform for games, now and in the future.&lt;br /&gt;
&lt;br /&gt;
Overall, there was a lot of energy, excitement, and potential shown off. Several&amp;nbsp;presenters&amp;nbsp;demonstrated that they are monetizing &lt;i&gt;now&lt;/i&gt;&amp;nbsp;using some of this tech. Others that we still have lots of potential in tech that's not quite ready for everyone.&lt;br /&gt;
&lt;br /&gt;
I'm psyched about fixing what needs fixing to make the web platform awesome for games. And tomorrow there's the &lt;a href="http://www.w3.org/community/games/2011/11/02/w3c-games-community-group-summit-november-2011-agenda/"&gt;W3C Games Community Group Summit&lt;/a&gt; which I'm hoping will be a great forum for prioritizing that work.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8959356083618071167-3591450169692682508?l=beautifulpixels.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/BeautifulPixels?a=LcVP2Jky9F0:Fw14UB_d91o:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BeautifulPixels?i=LcVP2Jky9F0:Fw14UB_d91o:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BeautifulPixels?a=LcVP2Jky9F0:Fw14UB_d91o:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BeautifulPixels?i=LcVP2Jky9F0:Fw14UB_d91o:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BeautifulPixels?a=LcVP2Jky9F0:Fw14UB_d91o:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BeautifulPixels?i=LcVP2Jky9F0:Fw14UB_d91o:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/BeautifulPixels/~4/LcVP2Jky9F0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://beautifulpixels.blogspot.com/feeds/3591450169692682508/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://beautifulpixels.blogspot.com/2011/11/new-game-conference-day-2.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8959356083618071167/posts/default/3591450169692682508?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8959356083618071167/posts/default/3591450169692682508?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BeautifulPixels/~3/LcVP2Jky9F0/new-game-conference-day-2.html" title="New Game Conference Day 2" /><author><name>Vincent Scheib</name><uri>https://profiles.google.com/117022097663427079142</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-ZIw9Jo6_Ag8/AAAAAAAAAAI/AAAAAAAAMLk/qZlGukmKBi8/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-HOgkn72oANw/TrDO3KL5bfI/AAAAAAAAOIo/ducigN36Rdg/s72-c/newgame-logo.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://beautifulpixels.blogspot.com/2011/11/new-game-conference-day-2.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0ENQX47eSp7ImA9WhRRFko.&quot;"><id>tag:blogger.com,1999:blog-8959356083618071167.post-2279565591396834319</id><published>2011-11-01T22:17:00.000-07:00</published><updated>2011-11-30T09:54:50.001-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-11-30T09:54:50.001-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="_Articles" /><category scheme="http://www.blogger.com/atom/ns#" term="Game Development" /><title>New Game Conference Day 1</title><content type="html">&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-HOgkn72oANw/TrDO3KL5bfI/AAAAAAAAOIo/ducigN36Rdg/s1600/newgame-logo.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="200" src="http://3.bp.blogspot.com/-HOgkn72oANw/TrDO3KL5bfI/AAAAAAAAOIo/ducigN36Rdg/s200/newgame-logo.png" width="194" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;a href="http://www.newgameconf.com/"&gt;New Game's first HTML5 Game Conference&lt;/a&gt; kicked off today. It's an intimate and comfy affair with just a few hundred devs all packed in one large room. It's easy to mingle in breaks, and we had lunch all together on the lawn at Yerba Buena park.&lt;br /&gt;
&lt;br /&gt;
Rich Hilleman, EA, kicked things off with a great &lt;a href="http://www.youtube.com/watch?v=mwgsqEPC6Kc&amp;amp;feature=plcp&amp;amp;context=C2c906ADOEgsToPDskL3nK7sqVWmMiL2kJjn3WXf"&gt;keynote&lt;/a&gt; discussion of what it takes to build out a game platform and how things are quite different doing so with open standards tech. It was inspiring, but also underscores the challenge of building a 'platform' when no one controls it. Who will champion a killer app? Who will define the capabilities and expectations for developers and customers, and do quality assurance? Who will make certain we can monetize and distribute? Well, no one, and everyone.&lt;br /&gt;
&lt;br /&gt;
The other business heavy presentation was from Justin Quimby of&amp;nbsp;Moblyng. They've already been at this a few years, with the goal of using web tech to reach a huge number of devices, primarily mobile. His main message was that of the many&amp;nbsp;challenges&amp;nbsp;that await after you've build a compelling game. His recommendation was primarily technical conservatism and diversification of services (e.g. payment solutions, metrics, and distribution).&lt;br /&gt;
&lt;br /&gt;
But the majority of the presentations were technical. The biggest points and themes:&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Garbage Collection a major performance issue! Several techniques to avoid this, including careful JS coding, all memory out of array buffers.&lt;/li&gt;
&lt;li&gt;Sound! Much love for &lt;a href="https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html"&gt;Web Audio API&lt;/a&gt;, but needs support in all browsers.&lt;/li&gt;
&lt;li&gt;Many developers using high level frameworks and languages and cross compiling to HTML/JS. E.g. &lt;a href="http://code.google.com/p/playn/"&gt;PlayN&lt;/a&gt; in Java, &lt;a href="http://www.mandreel.com/"&gt;Mandreel&lt;/a&gt; in C++.&lt;/li&gt;
&lt;li&gt;WebGL standard update coming, major focus on security and robustness.&lt;/li&gt;
&lt;li&gt;2/3rds of attendees from Web Dev background: &lt;a href="http://goo.gl/PSTrU"&gt;http://goo.gl/PSTrU&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
Lots of good coverage on &lt;a href="http://twitter.com/#!/search/%23ngc11"&gt;twitter #NGC11&lt;/a&gt;&lt;br /&gt;
&lt;div&gt;
And a live blog here:&amp;nbsp;&lt;a href="http://thejacklawson.com/2011/11/new-game-conf-liveblog/index.html"&gt;http://thejacklawson.com/2011/11/new-game-conf-liveblog/index.html&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Slides for many presentations are already posted if you dig around, but I saw cameras so I suspect we'll see a post conference set of &lt;a href="http://www.youtube.com/NewGameConference"&gt;links to videos&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
[&lt;a href="http://beautifulpixels.blogspot.com/2011/11/new-game-conference-day-2.html"&gt;day 2 post&lt;/a&gt;]&lt;/div&gt;
&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8959356083618071167-2279565591396834319?l=beautifulpixels.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/BeautifulPixels?a=boLZUU2brE4:UpS9BYDNiPw:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BeautifulPixels?i=boLZUU2brE4:UpS9BYDNiPw:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BeautifulPixels?a=boLZUU2brE4:UpS9BYDNiPw:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BeautifulPixels?i=boLZUU2brE4:UpS9BYDNiPw:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BeautifulPixels?a=boLZUU2brE4:UpS9BYDNiPw:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BeautifulPixels?i=boLZUU2brE4:UpS9BYDNiPw:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/BeautifulPixels/~4/boLZUU2brE4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://beautifulpixels.blogspot.com/feeds/2279565591396834319/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://beautifulpixels.blogspot.com/2011/11/new-game-conference-day-1.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8959356083618071167/posts/default/2279565591396834319?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8959356083618071167/posts/default/2279565591396834319?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BeautifulPixels/~3/boLZUU2brE4/new-game-conference-day-1.html" title="New Game Conference Day 1" /><author><name>Vincent Scheib</name><uri>https://profiles.google.com/117022097663427079142</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-ZIw9Jo6_Ag8/AAAAAAAAAAI/AAAAAAAAMLk/qZlGukmKBi8/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-HOgkn72oANw/TrDO3KL5bfI/AAAAAAAAOIo/ducigN36Rdg/s72-c/newgame-logo.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://beautifulpixels.blogspot.com/2011/11/new-game-conference-day-1.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0YHQnk4eSp7ImA9WhdbEk8.&quot;"><id>tag:blogger.com,1999:blog-8959356083618071167.post-3422853798386508889</id><published>2011-10-09T22:38:00.001-07:00</published><updated>2011-10-09T22:38:53.731-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-10-09T22:38:53.731-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="_Articles" /><category scheme="http://www.blogger.com/atom/ns#" term="Games" /><category scheme="http://www.blogger.com/atom/ns#" term="Google" /><title>Go Board Game with Google Docs</title><content type="html">&lt;table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: right; margin-left: 1em; text-align: right;"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-KBQhALRoVDg/TpJhPMNKaCI/AAAAAAAANMg/EIGWhl0pnUg/s1600/go.png" imageanchor="1" style="clear: right; margin-bottom: 1em; margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="274" src="http://3.bp.blogspot.com/-KBQhALRoVDg/TpJhPMNKaCI/AAAAAAAANMg/EIGWhl0pnUg/s320/go.png" width="320" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;Go, played on Google Docs&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
I've been satiating my asynchronous game play needs recently by playing Go via Google Docs. I figured someone else must of thought of that already, and they did:&amp;nbsp;Edward Donohue had a spread sheet template available, which I modified into my &lt;a href="http://goo.gl/482TD"&gt;Go Board Game Template&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
The cool thing is that Google Docs comes with great features already in place:&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Version history&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;Allows you to roll back time to recall what has been happening in the game.&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;Change Notifications&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;Allows you to make a move, and your opponent will automatically get an email notification that links to page showing what has changed.&lt;/li&gt;
&lt;li&gt;(Set this up by going to |Tools| |Notification Rules|)&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;Auto formatting&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;Makes the board look like a bunch of black and white pieces instead of playing in text.&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;Works anywhere, even mobile&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
Also, you can do odd stuff, like make this &lt;a href="http://goo.gl/qb3Z3"&gt;tiling (toroidal) go board&lt;/a&gt;. People have played on tiling boards before, the simplest way is to just duplicate any moves on the left and top edge to the right and bottom. But, in docs,&amp;nbsp;.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Try out the templates by making a copy so you can edit in them. Select a square and enter a 'w' or 'b' character. Have fun!&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8959356083618071167-3422853798386508889?l=beautifulpixels.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/BeautifulPixels?a=DGNDfIPWQmU:QHwGcec7Z-k:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BeautifulPixels?i=DGNDfIPWQmU:QHwGcec7Z-k:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BeautifulPixels?a=DGNDfIPWQmU:QHwGcec7Z-k:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BeautifulPixels?i=DGNDfIPWQmU:QHwGcec7Z-k:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BeautifulPixels?a=DGNDfIPWQmU:QHwGcec7Z-k:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BeautifulPixels?i=DGNDfIPWQmU:QHwGcec7Z-k:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/BeautifulPixels/~4/DGNDfIPWQmU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://beautifulpixels.blogspot.com/feeds/3422853798386508889/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://beautifulpixels.blogspot.com/2011/10/go-board-game-with-google-docs.html#comment-form" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8959356083618071167/posts/default/3422853798386508889?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8959356083618071167/posts/default/3422853798386508889?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BeautifulPixels/~3/DGNDfIPWQmU/go-board-game-with-google-docs.html" title="Go Board Game with Google Docs" /><author><name>Vincent Scheib</name><uri>https://profiles.google.com/117022097663427079142</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-ZIw9Jo6_Ag8/AAAAAAAAAAI/AAAAAAAAMLk/qZlGukmKBi8/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-KBQhALRoVDg/TpJhPMNKaCI/AAAAAAAANMg/EIGWhl0pnUg/s72-c/go.png" height="72" width="72" /><thr:total>2</thr:total><feedburner:origLink>http://beautifulpixels.blogspot.com/2011/10/go-board-game-with-google-docs.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0cMR3szeCp7ImA9WhdbEk8.&quot;"><id>tag:blogger.com,1999:blog-8959356083618071167.post-2709562774209185287</id><published>2011-10-09T22:38:00.000-07:00</published><updated>2011-10-09T22:38:06.580-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-10-09T22:38:06.580-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="_Articles" /><category scheme="http://www.blogger.com/atom/ns#" term="Productivity" /><category scheme="http://www.blogger.com/atom/ns#" term="Google" /><title>Gmail Follow Up Script</title><content type="html">I have lots of email I want to follow up on later or put aside for some time. I use Gmail these days, and I miss Outlook's built in feature for this. Well, there's a solution, the apps script team posted &lt;a href="http://gmailblog.blogspot.com/2011/07/gmail-snooze-with-apps-script.html"&gt;a script for "snoozing" email&lt;/a&gt;. My modified take on it is this gmail &lt;a href="http://goo.gl/Cj47u"&gt;Follow Up script&lt;/a&gt; doc.&lt;br /&gt;
&lt;br /&gt;
The implementation summary is: You can have javascript code run on a Google server at a regular interval that manipulates your gmail messages. You do so by creating a Google Docs Spreadsheet and adding script code to it.&lt;br /&gt;
&lt;br /&gt;
I modified the original in a few ways:&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;I added "hours" to the "days" and "weeks"&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;At first I thought it was overkill. But, no, it's mighty handy in a work day to put off an email till the afternoon when you think someone else should have replied by then. Or just to clear your inbox rapidly so you can concentrate on the top items for the next hour.&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;I adjusted the label names to be more keyboard shortcut friendly&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;To move an item out of my inbox and have it reappear tomorrow, I type the keys, "v1d" enter. That's |move|, and then enough to match the label "FollowUp-1days".&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;I use the "quick links" lab in gmail to view all messages pending follow up&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;Sadly there's no way to roll up multiple labels in gmail, else the hierarchical labeling would have solved this. Anyway, details in the doc for using quick links.&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;div&gt;
Some notes:&lt;/div&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;Draft messages can be brought back to to the inbox, to complete and or send at a later time.&lt;/li&gt;
&lt;li&gt;Muted messages can be brought back too, disabling the mute at that time. So you can let a firestorm thread rage on for a few hours before reviewing it in it's&amp;nbsp;entirety&amp;nbsp;instead of being interrupted constantly as replies come in.&lt;/li&gt;
&lt;li&gt;I sometimes leave notes to myself as to why I marked this message for follow up. One way is to start a reply draft and then blank out the To: line so it's not accidentally sent.&lt;/li&gt;
&lt;li&gt;It's handy when you send a message and want to ensure you get a reply back.&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
Now that I have this tool, I use it a lot a lot to rapidly simplify my inbox.&lt;/div&gt;
&lt;/div&gt;
&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8959356083618071167-2709562774209185287?l=beautifulpixels.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/BeautifulPixels?a=ZV11dNX-gcI:uhcV7keqwEg:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BeautifulPixels?i=ZV11dNX-gcI:uhcV7keqwEg:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BeautifulPixels?a=ZV11dNX-gcI:uhcV7keqwEg:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BeautifulPixels?i=ZV11dNX-gcI:uhcV7keqwEg:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BeautifulPixels?a=ZV11dNX-gcI:uhcV7keqwEg:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BeautifulPixels?i=ZV11dNX-gcI:uhcV7keqwEg:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/BeautifulPixels/~4/ZV11dNX-gcI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://beautifulpixels.blogspot.com/feeds/2709562774209185287/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://beautifulpixels.blogspot.com/2011/10/gmail-follow-up-script.html#comment-form" title="4 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8959356083618071167/posts/default/2709562774209185287?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8959356083618071167/posts/default/2709562774209185287?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BeautifulPixels/~3/ZV11dNX-gcI/gmail-follow-up-script.html" title="Gmail Follow Up Script" /><author><name>Vincent Scheib</name><uri>https://profiles.google.com/117022097663427079142</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-ZIw9Jo6_Ag8/AAAAAAAAAAI/AAAAAAAAMLk/qZlGukmKBi8/s512-c/photo.jpg" /></author><thr:total>4</thr:total><feedburner:origLink>http://beautifulpixels.blogspot.com/2011/10/gmail-follow-up-script.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUYGRXkyfip7ImA9WhdXEUs.&quot;"><id>tag:blogger.com,1999:blog-8959356083618071167.post-9167477109858884229</id><published>2011-08-23T23:25:00.000-07:00</published><updated>2011-08-23T23:25:24.796-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-08-23T23:25:24.796-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="_Articles" /><category scheme="http://www.blogger.com/atom/ns#" term="Game Development" /><category scheme="http://www.blogger.com/atom/ns#" term="Presentation" /><title>Casual Connect 2011 HTML5 Games Presentation</title><content type="html">&lt;iframe width="400" height="255" src="http://www.youtube.com/embed/IlMkjrqTTRI" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;&lt;br /&gt;
&lt;br /&gt;
My &lt;a href="http://cc-2011-html5-games.appspot.com"&gt;Casual Connect 2011 HTML5 Games Presentation&lt;/a&gt; was recorded, and the 30 minute &lt;a href="http://casualconnect.org/lectures/design/super-happy-modern-html5-browser-games-vincent-scheib/"&gt;video&lt;/a&gt; is up.&lt;br /&gt;
&lt;br /&gt;
I discuss the current availability of some key HTML5 features, overview the browser tech being used today in games, and touch on monetization and distribution. Lots of &lt;a href="http://cc-2011-html5-games.appspot.com/#33"&gt;resource references&lt;/a&gt; towards the end.&lt;br /&gt;
&lt;br /&gt;
The next best way to learn more is to come to the &lt;a href="http://www.newgameconf.com/"&gt;New Game Conference&lt;/a&gt; in November.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8959356083618071167-9167477109858884229?l=beautifulpixels.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/BeautifulPixels?a=ECvww0n7U0c:zDh_kwWt3D0:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BeautifulPixels?i=ECvww0n7U0c:zDh_kwWt3D0:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BeautifulPixels?a=ECvww0n7U0c:zDh_kwWt3D0:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BeautifulPixels?i=ECvww0n7U0c:zDh_kwWt3D0:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BeautifulPixels?a=ECvww0n7U0c:zDh_kwWt3D0:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BeautifulPixels?i=ECvww0n7U0c:zDh_kwWt3D0:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/BeautifulPixels/~4/ECvww0n7U0c" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://beautifulpixels.blogspot.com/feeds/9167477109858884229/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://beautifulpixels.blogspot.com/2011/08/casual-connect-2011-html5-games.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8959356083618071167/posts/default/9167477109858884229?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8959356083618071167/posts/default/9167477109858884229?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BeautifulPixels/~3/ECvww0n7U0c/casual-connect-2011-html5-games.html" title="Casual Connect 2011 HTML5 Games Presentation" /><author><name>Vincent Scheib</name><uri>https://profiles.google.com/117022097663427079142</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-ZIw9Jo6_Ag8/AAAAAAAAAAI/AAAAAAAAMLk/qZlGukmKBi8/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://img.youtube.com/vi/IlMkjrqTTRI/default.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://beautifulpixels.blogspot.com/2011/08/casual-connect-2011-html5-games.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUQNQnY5eyp7ImA9WhZaFkw.&quot;"><id>tag:blogger.com,1999:blog-8959356083618071167.post-294614371463014765</id><published>2011-07-02T00:19:00.000-07:00</published><updated>2011-07-02T07:36:33.823-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-07-02T07:36:33.823-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="_Articles" /><category scheme="http://www.blogger.com/atom/ns#" term="Game Jam" /><title>Game Jam Tips</title><content type="html">I've done a few game jams. At Google, I've done a few at work, and been asked for tips on running them internally and externally. Thanks &lt;a href="http://blog.sethladd.com/2011/07/14-tips-for-successful-html5-game-jams.html"&gt;Seth Ladd&lt;/a&gt; for nudging me to post. So, why not jot some thoughts down here:&lt;br /&gt;
&lt;br /&gt;
Prepare, and make sure participants are prepared. You want to spend the jam making awesome, not doing the boring stuff:&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Publicize frameworks in advance and encourage attendees to come with 'hello world' games already under their belt so they can hit the ground running. Possibly include a super simple template of our own that isn't a 'framework', but just a tiny simple example.&lt;/li&gt;
&lt;li&gt;Publicize easy / free tools for e.g. audio &amp;amp; 2D drawing. (e.g. Audacity &amp;amp; Paint.Net)&lt;/li&gt;
&lt;li&gt;Publicize source control and encourage teams to already know how to use it, set it up in advance, and have made a trivial pull, edit, push cycle.&lt;/li&gt;
&lt;li&gt;Publicize game hosting tech (appengine, nodeJS) and point to relevant examples (Well, for web games)&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;
Hold something back until the Jam - usually the theme. Generate a surprise theme that balances creative license and enough constraint to remove the 'blank page' effect.&lt;br /&gt;
&lt;br /&gt;
Decide to allow pre-formed teams or not. Most Jams I've been in discouraged pre-formed teams or game concepts. Instead, we brainstormed them up, pitched them to the wide crowd, and formed small teams to work on the top ideas. Pros and cons either way, but I've enjoyed the mixer style.&lt;br /&gt;
&lt;br /&gt;
Small teams tend to work out much better than large. E.g. 2 or 3 coders. Communication is a killer on a tight schedule.&lt;br /&gt;
&lt;br /&gt;
Have an art plan. Either set expectations that people should work with minimal art (e.g. procedural, 'retro' lo-fi-pixel-junk, or freely available stock), have artists and a plan for how to get art out quick, or pre made art. Some contests have run in two phases of 'prepare art' and then 'make games using only prepared art'.&lt;br /&gt;
&lt;br /&gt;
Encourage rapid prototyping development practices! Games should be functional half way through!!! They'll need the second half for polish. People always always always blow this and mis-estimate. Encourage frequent re-prioritization of what people are working on. One good technique is have a team list out the top few tasks, rank `em, and have people work on those and only those. Don't work on anything unless it's an agreed top priority.&lt;br /&gt;
&lt;br /&gt;
Eat, sleep, don't try to mash it all out. Taking short breaks through the day let's you get Meta, re-evaluate progress and priorities, and plan. Sleep helps you make the remaining time more effective.&lt;br /&gt;
&lt;br /&gt;
Don't make it a contest, but if you do, run several wildly different categories. E.g. most original, best use of new tech, most hilarious. Don't just have "the best".&lt;br /&gt;
&lt;br /&gt;
Plan for games to have more work done after the Jam, and how they will be publicized. Can teams update links, images, YT videos, etc?&lt;br /&gt;
&lt;br /&gt;
Capture the presentations at the end, e.g. video recording. Snapshot the code and art too. (Good reminder, &lt;a href="http://mahemoff.com/"&gt;Mike Mahemoff&lt;/a&gt;)&lt;br /&gt;
&lt;br /&gt;
Have fun. If it's not fun... do something fun. ;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8959356083618071167-294614371463014765?l=beautifulpixels.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/BeautifulPixels?a=lUKi9nwLAi4:4UdJrfM8pkg:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BeautifulPixels?i=lUKi9nwLAi4:4UdJrfM8pkg:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BeautifulPixels?a=lUKi9nwLAi4:4UdJrfM8pkg:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BeautifulPixels?i=lUKi9nwLAi4:4UdJrfM8pkg:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BeautifulPixels?a=lUKi9nwLAi4:4UdJrfM8pkg:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BeautifulPixels?i=lUKi9nwLAi4:4UdJrfM8pkg:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/BeautifulPixels/~4/lUKi9nwLAi4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://beautifulpixels.blogspot.com/feeds/294614371463014765/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://beautifulpixels.blogspot.com/2011/07/game-jam-tips.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8959356083618071167/posts/default/294614371463014765?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8959356083618071167/posts/default/294614371463014765?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BeautifulPixels/~3/lUKi9nwLAi4/game-jam-tips.html" title="Game Jam Tips" /><author><name>Vincent Scheib</name><uri>https://profiles.google.com/117022097663427079142</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-ZIw9Jo6_Ag8/AAAAAAAAAAI/AAAAAAAAMLk/qZlGukmKBi8/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://beautifulpixels.blogspot.com/2011/07/game-jam-tips.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEEFQ3s5eCp7ImA9Wx9aF00.&quot;"><id>tag:blogger.com,1999:blog-8959356083618071167.post-4561757498913363571</id><published>2011-03-09T13:36:00.000-08:00</published><updated>2011-03-09T13:36:52.520-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-03-09T13:36:52.520-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="_Articles" /><category scheme="http://www.blogger.com/atom/ns#" term="Game Development" /><title>GDC2011 Presentation: HTML5 and Other Modern Browser Game Tech</title><content type="html">&lt;div style="width:425px" id="__ss_7208766"&gt;&lt;strong style="display:block;margin:12px 0 4px"&gt;&lt;a href="http://www.slideshare.net/vincent_scheib/html5-and-other-modern-browser-game-tech" title="HTML5 and Other Modern Browser Game Tech"&gt;HTML5 and Other Modern Browser Game Tech&lt;/a&gt;&lt;/strong&gt; &lt;object id="__sse7208766" width="425" height="355"&gt; &lt;param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=html5forgamespost-110309152642-phpapp02&amp;stripped_title=html5-and-other-modern-browser-game-tech&amp;userName=vincent_scheib" /&gt;&lt;param name="allowFullScreen" value="true"/&gt;&lt;param name="allowScriptAccess" value="always"/&gt;&lt;embed name="__sse7208766" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=html5forgamespost-110309152642-phpapp02&amp;stripped_title=html5-and-other-modern-browser-game-tech&amp;userName=vincent_scheib" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"&gt;&lt;/embed&gt; &lt;/object&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8959356083618071167-4561757498913363571?l=beautifulpixels.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/BeautifulPixels?a=LXBCcw5YchQ:bIaq59i9i_Y:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BeautifulPixels?i=LXBCcw5YchQ:bIaq59i9i_Y:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BeautifulPixels?a=LXBCcw5YchQ:bIaq59i9i_Y:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BeautifulPixels?i=LXBCcw5YchQ:bIaq59i9i_Y:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BeautifulPixels?a=LXBCcw5YchQ:bIaq59i9i_Y:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BeautifulPixels?i=LXBCcw5YchQ:bIaq59i9i_Y:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/BeautifulPixels/~4/LXBCcw5YchQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://beautifulpixels.blogspot.com/feeds/4561757498913363571/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://beautifulpixels.blogspot.com/2011/03/gdc2011-presentation-html5-and-other.html#comment-form" title="4 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8959356083618071167/posts/default/4561757498913363571?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8959356083618071167/posts/default/4561757498913363571?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BeautifulPixels/~3/LXBCcw5YchQ/gdc2011-presentation-html5-and-other.html" title="GDC2011 Presentation: HTML5 and Other Modern Browser Game Tech" /><author><name>Vincent Scheib</name><uri>https://profiles.google.com/117022097663427079142</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-ZIw9Jo6_Ag8/AAAAAAAAAAI/AAAAAAAAMLk/qZlGukmKBi8/s512-c/photo.jpg" /></author><thr:total>4</thr:total><feedburner:origLink>http://beautifulpixels.blogspot.com/2011/03/gdc2011-presentation-html5-and-other.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkUBSHw8cCp7ImA9Wx9aF00.&quot;"><id>tag:blogger.com,1999:blog-8959356083618071167.post-3866829111096217086</id><published>2011-03-08T20:54:00.000-08:00</published><updated>2011-03-09T12:57:39.278-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-03-09T12:57:39.278-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="_Articles" /><category scheme="http://www.blogger.com/atom/ns#" term="Game Development" /><title>GDC 2011 Report</title><content type="html">&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-x4Bhh2G5kIg/TXcH2MxAEjI/AAAAAAAAFxM/b4Auexzqd5A/s1600/gdc2011.PNG" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="180" src="http://2.bp.blogspot.com/-x4Bhh2G5kIg/TXcH2MxAEjI/AAAAAAAAFxM/b4Auexzqd5A/s400/gdc2011.PNG" width="24" /&gt;&lt;/a&gt;&lt;/div&gt;Some of my observations from GDC 2011:&lt;br /&gt;
&lt;br /&gt;
I've been mispronouncing &lt;a href="http://en.wikipedia.org/wiki/Bokeh"&gt;Bokeh&lt;/a&gt; for years, and &lt;a href="http://beautifulpixels.blogspot.com/2008/03/higher-fidelity-depth-of-field-effects.html"&gt;posted&lt;/a&gt; &lt;a href="http://beautifulpixels.blogspot.com/2008/11/motivating-depth-of-field-using-bokeh.html"&gt;before&lt;/a&gt; about how there's a lot of room for improvement vs what's common on PS3 and Xbox 360. Well, it's all the rage these days. E.g. check out the &lt;a href="http://www.youtube.com/watch?v=n3XeCHywNYM"&gt;Unreal demo&lt;/a&gt; and &lt;a href="http://www.gameinformer.com/b/news/archive/2011/03/04/epic-shows-off-impressive-unreal-tech.aspx"&gt;stills&lt;/a&gt;. Blur alone was a topic AMD discussed on DX11 day, discussing perf and memory optimizations of the heat distribution method from Kass et al at Pixar.&lt;br /&gt;
&lt;br /&gt;
Tessellation and Displacement Mapping were put to good use in a variety of places too, e.g. terrain in Battlefield 3, character morph in Unreal demo.&lt;br /&gt;
&lt;br /&gt;
On a much different note, I spent most of the rest of my sessions in design and rant topics. Much of that is hard to summarize, but here are some bits:&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://www.neogaf.com/forum/showthread.php?t=423494"&gt;Trip Hawkins quote&lt;/a&gt; from the Social Rant:  "Think more about the browser. The browser will set you free." after he described challenges Nintendo, Apple, etc have presented for game developers in the form of license agreements.&lt;br /&gt;
&lt;br /&gt;
In general I was disappointed by the Social Game Devs Rant back, in that no strong defense was made for social games. Much of what was discussed was the same anti slot machine techniques we've already heard.&lt;br /&gt;
&lt;br /&gt;
The Experimental Game Design session had two games with recursion build in. One spatially, e.g. the level had a model of the level in it, and you can manipulate objects from the different scales. The other “inside a star filled sky” with the player, enemies, and power ups all agents but also levels that can be entered and ascended out of.&lt;br /&gt;
&lt;br /&gt;
[update] I forgot to mention user generated content. Andy Schatz (Pocketwatch Games / Monaco) discussed it and pointed out his site:&amp;nbsp;&lt;a href="http://hellodotdotdotgoodbye.com/"&gt;http://hellodotdotdotgoodbye.com/&lt;/a&gt;&amp;nbsp;(cool, simple idea I keep being drawn back to) and others&amp;nbsp;&lt;a href="http://infiniteblank.com/"&gt;http://infiniteblank.com/&lt;/a&gt;,&amp;nbsp;&lt;a href="http://playpen.farbs.org/"&gt;http://playpen.farbs.org&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
I've not been keen on the 3D wave in cinema, TVs or games. So, I thought I'd better take a good look at the Nintendo 3DS which is the best option I've seen yet. Autostereoscopic works nicely in a personal device like a hand held, and I can't stand glasses. The 3DS works well if it’s  close to your face, not as well at my comfortable playing distance ~1.5 ft. Was very cool to see, but I’m concerned about eye strain. I played a few demos looking for any where the stereo effect really helped them. But none really stood out, and were all just as nice to play with the effect turned off. But, the &lt;a href="http://gizmodo.com/#!5566722/the-3dss-secret-best-upgrade-wireless"&gt;always on wireless&lt;/a&gt; feature to exchange data between games seemed cool.&lt;br /&gt;
&lt;br /&gt;
Google (I work there on Chrome) had a stronger presence than previous years with 2 tutorial days, booth, and some additional appearances. I gave a talk "HTML5 and Other Modern Browser Game Tech" (slides up soon, promise) which was &lt;a href="http://www.informationweek.com/news/internet/google/showArticle.jhtml?articleID=229219535&amp;amp;subSection=All+Stories"&gt;received&lt;/a&gt; &lt;a href="http://www.pcgamer.com/2011/02/28/google-demo-pc-gaming-in-a-browser/"&gt;well&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
I got a chance to meet up with friends, including the guys at &lt;a href="http://activate3d.com/"&gt;Activate 3D&lt;/a&gt;, who had a cool demo running on Kinect. Being able to jump, swing on ropes, zip lines, monkey bars, etc, with video motion capture is pretty cool. They need to update their website's video, they had a nice rooftop race demo running.&lt;br /&gt;
&lt;br /&gt;
David Jaffe pointed out that Consoles are way too slow to resume playing your game -- why can my DS pop back instantly and my plugged into the wall console takes minutes.&lt;br /&gt;
&lt;br /&gt;
And finally, I'm inspired to do more design work and game Jams. Especially Stone Librande's talk 15 Games in 15 years, where he described creating games for himself and children was superb. Build fun in your life.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8959356083618071167-3866829111096217086?l=beautifulpixels.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/BeautifulPixels?a=w3u1gyuEfT0:7Fc7FLjrf-4:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BeautifulPixels?i=w3u1gyuEfT0:7Fc7FLjrf-4:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BeautifulPixels?a=w3u1gyuEfT0:7Fc7FLjrf-4:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BeautifulPixels?i=w3u1gyuEfT0:7Fc7FLjrf-4:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BeautifulPixels?a=w3u1gyuEfT0:7Fc7FLjrf-4:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BeautifulPixels?i=w3u1gyuEfT0:7Fc7FLjrf-4:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/BeautifulPixels/~4/w3u1gyuEfT0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://beautifulpixels.blogspot.com/feeds/3866829111096217086/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://beautifulpixels.blogspot.com/2011/03/gdc-2011-report.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8959356083618071167/posts/default/3866829111096217086?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8959356083618071167/posts/default/3866829111096217086?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BeautifulPixels/~3/w3u1gyuEfT0/gdc-2011-report.html" title="GDC 2011 Report" /><author><name>Vincent Scheib</name><uri>https://profiles.google.com/117022097663427079142</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-ZIw9Jo6_Ag8/AAAAAAAAAAI/AAAAAAAAMLk/qZlGukmKBi8/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-x4Bhh2G5kIg/TXcH2MxAEjI/AAAAAAAAFxM/b4Auexzqd5A/s72-c/gdc2011.PNG" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://beautifulpixels.blogspot.com/2011/03/gdc-2011-report.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEMCQHs-fip7ImA9Wx9bFE4.&quot;"><id>tag:blogger.com,1999:blog-8959356083618071167.post-7769094736581194385</id><published>2011-02-22T20:47:00.000-08:00</published><updated>2011-02-22T20:47:41.556-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-02-22T20:47:41.556-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="_Articles" /><category scheme="http://www.blogger.com/atom/ns#" term="Game Development" /><title>Get Ready for GDC 2011!</title><content type="html">&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/--WNyippRyCM/TWSO5SFcQeI/AAAAAAAAFuM/JV_TVuQQjb8/s1600/HTML5_Logo_128.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/--WNyippRyCM/TWSO5SFcQeI/AAAAAAAAFuM/JV_TVuQQjb8/s1600/HTML5_Logo_128.png" /&gt;&lt;/a&gt;&lt;/div&gt;Here comes GDC!&lt;br /&gt;
&lt;br /&gt;
I'm presenting at GDC this year on &lt;a href="http://schedule.gdconf.com/session/12502"&gt;HTML5 and Other Modern Browser Game Tech&lt;/a&gt;. Still busy getting slides ready, I've a lot of tech I want to cover... WebGL, canvas 2d, svg, web sockets, storage, audio, Native Client, etc. Whew. Well, it deserves a bit logo off on the right. ;)&lt;br /&gt;
&lt;br /&gt;
Google's going to make a good showing this year. Check out our &lt;a href="http://www.google.com/events/gdc/2011/agenda.html"&gt;GDC Agenda&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Here's a &lt;a href="https://www.google.com/calendar/b/0/embed?src=bdsmf82ejdng803qok5mlmsn4s@group.calendar.google.com&amp;ctz=America/Los_Angeles&amp;gsessionid=I2RHuYsUucUbVIfLttHVcg&amp;mode=DAY&amp;&amp;dates=20110228/20110304"&gt;list of sessions&lt;/a&gt; that caught my eye when I skimmed through. Did I miss any awesome session? Let me know in comments. ;)&lt;br /&gt;
&lt;iframe frameborder="0" height="400" scrolling="no" src="https://www.google.com/calendar/b/0/embed?showCalendars=0&amp;amp;mode=AGENDA&amp;amp;height=600&amp;amp;wkst=2&amp;amp;bgcolor=%23FFFFFF&amp;amp;src=bdsmf82ejdng803qok5mlmsn4s%40group.calendar.google.com&amp;amp;color=%232952A3&amp;amp;ctz=America%2FLos_Angeles&amp;amp;dates=20110228%2F20110304" style="border: solid 1px #777;" width="100%"&gt;&lt;/iframe&gt;&lt;br /&gt;
(you can add it to your own calendar view by putting bdsmf82ejdng803qok5mlmsn4s@group.calendar.google.com into your "other calendars")&lt;br /&gt;
&lt;br /&gt;
See you there.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8959356083618071167-7769094736581194385?l=beautifulpixels.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/BeautifulPixels?a=uzrV2iFWW5s:mn3-xd-3AJM:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BeautifulPixels?i=uzrV2iFWW5s:mn3-xd-3AJM:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BeautifulPixels?a=uzrV2iFWW5s:mn3-xd-3AJM:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BeautifulPixels?i=uzrV2iFWW5s:mn3-xd-3AJM:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BeautifulPixels?a=uzrV2iFWW5s:mn3-xd-3AJM:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BeautifulPixels?i=uzrV2iFWW5s:mn3-xd-3AJM:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/BeautifulPixels/~4/uzrV2iFWW5s" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://beautifulpixels.blogspot.com/feeds/7769094736581194385/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://beautifulpixels.blogspot.com/2011/02/get-ready-for-gdc-2011.html#comment-form" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8959356083618071167/posts/default/7769094736581194385?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8959356083618071167/posts/default/7769094736581194385?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BeautifulPixels/~3/uzrV2iFWW5s/get-ready-for-gdc-2011.html" title="Get Ready for GDC 2011!" /><author><name>Vincent Scheib</name><uri>https://profiles.google.com/117022097663427079142</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-ZIw9Jo6_Ag8/AAAAAAAAAAI/AAAAAAAAMLk/qZlGukmKBi8/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/--WNyippRyCM/TWSO5SFcQeI/AAAAAAAAFuM/JV_TVuQQjb8/s72-c/HTML5_Logo_128.png" height="72" width="72" /><thr:total>2</thr:total><feedburner:origLink>http://beautifulpixels.blogspot.com/2011/02/get-ready-for-gdc-2011.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkcNR3Y5fyp7ImA9Wx9bFE4.&quot;"><id>tag:blogger.com,1999:blog-8959356083618071167.post-3423914075300303262</id><published>2011-02-22T20:08:00.000-08:00</published><updated>2011-02-22T20:08:16.827-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-02-22T20:08:16.827-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="_News" /><title>Buzz and Twitter and Reader, oh my</title><content type="html">&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-JJUFazdzcBI/TWSIAi0hf4I/AAAAAAAAFuE/cJ21v-BS2B0/s1600/t.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-JJUFazdzcBI/TWSIAi0hf4I/AAAAAAAAFuE/cJ21v-BS2B0/s1600/t.png" /&gt;&lt;/a&gt;&lt;/div&gt;I write more often on Buzz/Twitter, and not so much here these days.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://www.google.com/profiles/117022097663427079142#buzz"&gt;Follow Me on Buzz&lt;/a&gt; for more frequent short posts.&amp;nbsp;&lt;a href="http://twitter.com/vincent_scheib"&gt;Twitter&lt;/a&gt;&amp;nbsp;and&amp;nbsp;&lt;a href="http://buzz.googleapis.com/feeds/117022097663427079142/public/posted"&gt;RSS Feed&lt;/a&gt;&amp;nbsp;available too if you don't use Buzz.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://www.google.com/reader/shared/11007145012465280398"&gt;Follow me on Reader&lt;/a&gt; to see links and RSS posts I share.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8959356083618071167-3423914075300303262?l=beautifulpixels.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/BeautifulPixels?a=CmVesrkejk0:_jMgD6TW-c0:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BeautifulPixels?i=CmVesrkejk0:_jMgD6TW-c0:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BeautifulPixels?a=CmVesrkejk0:_jMgD6TW-c0:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BeautifulPixels?i=CmVesrkejk0:_jMgD6TW-c0:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BeautifulPixels?a=CmVesrkejk0:_jMgD6TW-c0:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BeautifulPixels?i=CmVesrkejk0:_jMgD6TW-c0:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/BeautifulPixels/~4/CmVesrkejk0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://beautifulpixels.blogspot.com/feeds/3423914075300303262/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://beautifulpixels.blogspot.com/2011/02/buzz-and-twitter-and-reader-oh-my.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8959356083618071167/posts/default/3423914075300303262?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8959356083618071167/posts/default/3423914075300303262?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BeautifulPixels/~3/CmVesrkejk0/buzz-and-twitter-and-reader-oh-my.html" title="Buzz and Twitter and Reader, oh my" /><author><name>Vincent Scheib</name><uri>https://profiles.google.com/117022097663427079142</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-ZIw9Jo6_Ag8/AAAAAAAAAAI/AAAAAAAAMLk/qZlGukmKBi8/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-JJUFazdzcBI/TWSIAi0hf4I/AAAAAAAAFuE/cJ21v-BS2B0/s72-c/t.png" height="72" width="72" /><thr:total>1</thr:total><feedburner:origLink>http://beautifulpixels.blogspot.com/2011/02/buzz-and-twitter-and-reader-oh-my.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0ECQXw_fip7ImA9Wx9UEUg.&quot;"><id>tag:blogger.com,1999:blog-8959356083618071167.post-8663547148954401472</id><published>2011-02-08T01:01:00.000-08:00</published><updated>2011-02-08T01:01:00.246-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-02-08T01:01:00.246-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="_Articles" /><category scheme="http://www.blogger.com/atom/ns#" term="Game Development" /><category scheme="http://www.blogger.com/atom/ns#" term="Chrome" /><category scheme="http://www.blogger.com/atom/ns#" term="Google" /><title>One Year at Google</title><content type="html">&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_EtWpnuFRcjk/S3wb9I8m31I/AAAAAAAABv4/Z5_6RTmeCto/s1600-h/ChromeLogoPixeled.PNG" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_EtWpnuFRcjk/S3wb9I8m31I/AAAAAAAABv4/Z5_6RTmeCto/s320/ChromeLogoPixeled.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;I've been at Google one year.&lt;br /&gt;
&lt;br /&gt;
A lot has happened, but the vision stays the same. I and others are working on improving tech to support great applications on the web. Better performance, use of GPUs, 3D, and much more (audio, connectivity, device access, monetization, discovery, ...).&lt;br /&gt;
&lt;br /&gt;
Google continues to build it's engagement with game developers. We're already engaging on multiple platforms (Android, Chrome, Google TV) and offering useful services (YouTube, AppEngine, Analytics, Ads) and building out great tech.&lt;br /&gt;
&lt;br /&gt;
We've also continued hiring great game developers, and I'm humbled every day by the ones I'm working with. (e.g. people keep doing double takes that Bill Budge is working a few cubes down.) Ian Lewis has hit his stride and is doing a great job driving Game Developer Relations (btw: &lt;a href="http://sites.google.com/site/googdevreljobs/"&gt;hiring&lt;/a&gt;) (and, well, all of Google is hiring really, even back in the Research Triangle NC, drop me a line if you'd like help applying).&lt;br /&gt;
&lt;br /&gt;
Chrome GPU team is my home, though I'm still excited about&amp;nbsp;Chrome OS where I started. There's a lot of core infrastructure for all GPU features, some of which are starting to ship, like &lt;a href="http://www.chromeexperiments.com/webgl/?f=webgl"&gt;WebGL&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
20% time is a great perk at Google. Not everyone uses it, but I take a lot of it to help Game Developer Relations out and also do some game experiments.&lt;br /&gt;
&lt;br /&gt;
Google was the hardest job I've joined yet, though. There's so much to learn, so much great tech and products, tons of&amp;nbsp;fascinating things to look into, and so many rather smart folk. I love the culture, the positive "do the right thing" attitude, and that there are engineers all the way to the top. I'm excited for year 2. ;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8959356083618071167-8663547148954401472?l=beautifulpixels.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/BeautifulPixels?a=-5TOeS0ntps:tEybiEmt5Ks:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BeautifulPixels?i=-5TOeS0ntps:tEybiEmt5Ks:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BeautifulPixels?a=-5TOeS0ntps:tEybiEmt5Ks:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BeautifulPixels?i=-5TOeS0ntps:tEybiEmt5Ks:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BeautifulPixels?a=-5TOeS0ntps:tEybiEmt5Ks:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BeautifulPixels?i=-5TOeS0ntps:tEybiEmt5Ks:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/BeautifulPixels/~4/-5TOeS0ntps" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://beautifulpixels.blogspot.com/feeds/8663547148954401472/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://beautifulpixels.blogspot.com/2011/02/one-year-at-google.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8959356083618071167/posts/default/8663547148954401472?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8959356083618071167/posts/default/8663547148954401472?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BeautifulPixels/~3/-5TOeS0ntps/one-year-at-google.html" title="One Year at Google" /><author><name>Vincent Scheib</name><uri>https://profiles.google.com/117022097663427079142</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-ZIw9Jo6_Ag8/AAAAAAAAAAI/AAAAAAAAMLk/qZlGukmKBi8/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_EtWpnuFRcjk/S3wb9I8m31I/AAAAAAAABv4/Z5_6RTmeCto/s72-c/ChromeLogoPixeled.PNG" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://beautifulpixels.blogspot.com/2011/02/one-year-at-google.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEAESXc6fip7ImA9Wx9WFk8.&quot;"><id>tag:blogger.com,1999:blog-8959356083618071167.post-8060654902618667491</id><published>2011-01-20T21:54:00.000-08:00</published><updated>2011-01-21T08:18:28.916-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-01-21T08:18:28.916-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="_Articles" /><category scheme="http://www.blogger.com/atom/ns#" term="Productivity" /><title>Tools of a Day</title><content type="html">I use these tools daily:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.google.com/chrome/intl/en/landing_chrome.html?hl=en"&gt;Chrome&lt;/a&gt;&lt;/li&gt;
&lt;ul&gt;&lt;li&gt;Profiles (I run multiple, work/personal/spouse with --user-data-dir="C:\example")&lt;/li&gt;
&lt;li&gt;Themes (Easly tell profiles apart) e.g. &lt;a href="https://tools.google.com/chrome/intl/en/themes/theme_at_hedgehoginthefog.html"&gt;A&lt;/a&gt; &lt;a href="https://tools.google.com/chrome/intl/en/themes/theme_at_yulia.html"&gt;B&lt;/a&gt; &lt;a href="https://tools.google.com/chrome/intl/en/themes/theme_at_pukpuk.html"&gt;C&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://chrome.google.com/extensions/detail/oadboiipflhobonjjffjbfekfjcgkhco"&gt;Chrome to Phone&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;li&gt;&lt;a href="https://mail.google.com/"&gt;Gmail&lt;/a&gt;&lt;/li&gt;
&lt;ul&gt;&lt;li&gt;Google Chat with AIM linked&lt;/li&gt;
&lt;li&gt;Buzz (Easiest for quick public posts, but much richer than Twitter, Great for private posts)&lt;/li&gt;
&lt;ul&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;li&gt;&lt;a href="http://docs.google.com/"&gt;Google Docs&lt;/a&gt; (I'm so loving the cloud - any machine, same time, always auto saved, revision history, on my phone, sharable)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://reader.google.com/"&gt;Google Reader&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.google.com/latitude"&gt;Google Latitude&lt;/a&gt; (Friend at work yet? What's the wife up to?)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://listen.googlelabs.com/"&gt;Google Listen&lt;/a&gt; (podcasts)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://maps.google.com/"&gt;Google Maps&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.delicious.com/"&gt;Delicious.com&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://git-scm.com/"&gt;Git&lt;/a&gt; (source control, easy local branches)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.scootersoftware.com/"&gt;Beyond Compare&lt;/a&gt; (file and folder comparison + FTP)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.slickedit.com/"&gt;Slick Edit&lt;/a&gt; (Linux)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://notepad-plus-plus.org/"&gt;Notepad++&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://microsoft.com/VisualStudio"&gt;Visual Studio&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.cygwin.com/"&gt;Cygwin&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://technet.microsoft.com/en-us/sysinternals/bb896653"&gt;Process Explorer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://mixapp.com/"&gt;Mixapp.com&lt;/a&gt;&amp;nbsp;(Music, shared with friends, think Pandora you can control + others)&lt;/li&gt;
&lt;li&gt;Bike ;) the commute is the only&amp;nbsp;exercise&amp;nbsp;I get.&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;How about you, anything interesting?&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8959356083618071167-8060654902618667491?l=beautifulpixels.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/BeautifulPixels?a=fGXjGVtbIbM:BmjHK1EtW00:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BeautifulPixels?i=fGXjGVtbIbM:BmjHK1EtW00:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BeautifulPixels?a=fGXjGVtbIbM:BmjHK1EtW00:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BeautifulPixels?i=fGXjGVtbIbM:BmjHK1EtW00:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BeautifulPixels?a=fGXjGVtbIbM:BmjHK1EtW00:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BeautifulPixels?i=fGXjGVtbIbM:BmjHK1EtW00:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/BeautifulPixels/~4/fGXjGVtbIbM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://beautifulpixels.blogspot.com/feeds/8060654902618667491/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://beautifulpixels.blogspot.com/2011/01/tools-of-day.html#comment-form" title="6 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8959356083618071167/posts/default/8060654902618667491?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8959356083618071167/posts/default/8060654902618667491?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BeautifulPixels/~3/fGXjGVtbIbM/tools-of-day.html" title="Tools of a Day" /><author><name>Vincent Scheib</name><uri>https://profiles.google.com/117022097663427079142</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-ZIw9Jo6_Ag8/AAAAAAAAAAI/AAAAAAAAMLk/qZlGukmKBi8/s512-c/photo.jpg" /></author><thr:total>6</thr:total><feedburner:origLink>http://beautifulpixels.blogspot.com/2011/01/tools-of-day.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0QBRXozfyp7ImA9Wx9SFkw.&quot;"><id>tag:blogger.com,1999:blog-8959356083618071167.post-4585205316263406361</id><published>2010-12-05T23:09:00.000-08:00</published><updated>2010-12-05T23:09:14.487-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-12-05T23:09:14.487-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="_Articles" /><category scheme="http://www.blogger.com/atom/ns#" term="Productivity" /><title>How to Share an Email Address in Gmail</title><content type="html">&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;My wife and I each have our own email addresses. Common, though she is irked by a few friends who don't. They can only be emailed by sending to the joint "family" email, often actually just the husband's name. Trust issues? Anyway...&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;Having a joint account is handy now and then. I want one. They're good for things like that real estate agent who just can't figure out "reply all", or that web site that only allows one email address to be entered you both want to track.&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;Bad news, I didn't find a perfect answer. Good news, I found one good enough... only you and your significant other can mess it up, and only slightly:&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;b&gt;Set up a new gmail account, have it forward to each of you. Set up your gmail account to be able to send as the joint account when you choose.&lt;/b&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;Walk through:&lt;/div&gt;&lt;ul&gt;&lt;li&gt;Create a new gmail account&amp;nbsp;&lt;b&gt;wife.and.i@gmail.com&lt;/b&gt;&amp;nbsp;by going to gmail when you're not logged in. (or use an incognito window in chrome)&lt;/li&gt;
&lt;ul&gt;&lt;li&gt;In&amp;nbsp;&lt;b&gt;Settings/Forwarding&lt;/b&gt;, add forwarding addresses for your existing accounts,&amp;nbsp;&lt;b&gt;wife@gmail.com&lt;/b&gt;&amp;nbsp;and&amp;nbsp;&lt;b&gt;me@gmail.com&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;In&amp;nbsp;&lt;b&gt;Settings/Filters&lt;/b&gt;, add a filter for From: "*" (don't type the quotes), and then select one account to forward to. Repeat, creating a new filter, for the second account.&lt;/li&gt;
&lt;/ul&gt;&lt;li&gt;Configure your personal account (&lt;b&gt;me@gmail.com&lt;/b&gt;, repeat for&amp;nbsp;&lt;b&gt;wife@gmail.com&lt;/b&gt;) to be able to send and reply from the joint account.&lt;/li&gt;
&lt;ul&gt;&lt;li&gt;in&amp;nbsp;&lt;b&gt;Settings/Accounts&lt;/b&gt;&amp;nbsp;in the "Send mail as:" section, add&amp;nbsp;&lt;b&gt;wife.and.i@gmail.com&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;On the same page, select "Reply from the same address the message was sent to"&lt;/li&gt;
&lt;/ul&gt;&lt;/ul&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;It works:&amp;nbsp;&lt;/div&gt;&lt;ul&gt;&lt;ul&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Easily give the shared email address&amp;nbsp;&lt;b&gt;wife.and.i@gmail.com&amp;nbsp;&lt;/b&gt;to anyone and you'll both receive the emails in your personal accounts without needing to ever log into&amp;nbsp;&lt;b&gt;wife.and.i@gmail.com&lt;/b&gt;&amp;nbsp;again.&lt;/li&gt;
&lt;li&gt;Replying to an email sent to the joint account will "just work" and appear to come from the joint account. (But, don't forget to CC your significant other if you want them to see your reply)&lt;/li&gt;
&lt;li&gt;Writing a new email as if it came from the joint account is easy too:&lt;/li&gt;
&lt;ul&gt;&lt;li&gt;Compose a new message, above the&amp;nbsp;&lt;b&gt;To:&lt;/b&gt;&amp;nbsp;is the&amp;nbsp;&lt;b&gt;From:&lt;/b&gt;&amp;nbsp;address, and you can change it to the joint account.&lt;/li&gt;
&lt;li&gt;(But, don't forget to CC your significant other if you want them to see your reply)&lt;/li&gt;
&lt;/ul&gt;&lt;/ul&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;What's tedious is that you must remember to CC your other every time. Now, we're all high and mighty about external people who can't remember to reply-all, so we should be able to remember to CC everyone each time, right? Still... tedious. If you forget, at least the reply from the external people will go back to both of you.&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;Here are the other things I tried:&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Create an outgoing filter to automatically forward to your significant other's account?&lt;/li&gt;
&lt;ul&gt;&lt;li&gt;Nope, you can filter outgoing email (adding labels, say), but you can't forward them.&lt;/li&gt;
&lt;/ul&gt;&lt;li&gt;Create an outgoing filter to label and remind you that you forgot to CC?&lt;/li&gt;
&lt;ul&gt;&lt;li&gt;Nope, you can add a label, but not send it to the inbox also or mark it unread, so no way to get attention.&lt;/li&gt;
&lt;/ul&gt;&lt;li&gt;Create a group on googlegroups.com?&lt;/li&gt;
&lt;ul&gt;&lt;li&gt;Nope, you can send and reply as the shared email, but you must manually CC your significant other's account each time. The group account doesn't appear in a reply all because you're sending as that account. If you're not sending as that account it works, yay, but then you're sending as just you, and replies will not go to the joint account.&lt;/li&gt;
&lt;/ul&gt;&lt;/ul&gt;&lt;div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;Have a better solution? Lemme have it in the comments!&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8959356083618071167-4585205316263406361?l=beautifulpixels.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/BeautifulPixels?a=TtZ1_nIR1H4:QUtwHs_dzk8:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BeautifulPixels?i=TtZ1_nIR1H4:QUtwHs_dzk8:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BeautifulPixels?a=TtZ1_nIR1H4:QUtwHs_dzk8:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BeautifulPixels?i=TtZ1_nIR1H4:QUtwHs_dzk8:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BeautifulPixels?a=TtZ1_nIR1H4:QUtwHs_dzk8:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BeautifulPixels?i=TtZ1_nIR1H4:QUtwHs_dzk8:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/BeautifulPixels/~4/TtZ1_nIR1H4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://beautifulpixels.blogspot.com/feeds/4585205316263406361/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://beautifulpixels.blogspot.com/2010/12/how-to-share-email-address-in-gmail.html#comment-form" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8959356083618071167/posts/default/4585205316263406361?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8959356083618071167/posts/default/4585205316263406361?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BeautifulPixels/~3/TtZ1_nIR1H4/how-to-share-email-address-in-gmail.html" title="How to Share an Email Address in Gmail" /><author><name>Vincent Scheib</name><uri>https://profiles.google.com/117022097663427079142</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-ZIw9Jo6_Ag8/AAAAAAAAAAI/AAAAAAAAMLk/qZlGukmKBi8/s512-c/photo.jpg" /></author><thr:total>3</thr:total><feedburner:origLink>http://beautifulpixels.blogspot.com/2010/12/how-to-share-email-address-in-gmail.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DU8FSX0-fip7ImA9Wx5aFEQ.&quot;"><id>tag:blogger.com,1999:blog-8959356083618071167.post-1783798558508962250</id><published>2010-11-11T09:50:00.000-08:00</published><updated>2010-11-11T09:50:18.356-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-11-11T09:50:18.356-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="_Articles" /><category scheme="http://www.blogger.com/atom/ns#" term="Gamebryo" /><title>Gamebryo / Emergent IP and Assets at Auction</title><content type="html">&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;b&gt;Gamebryo is dead*! Long live Gamebryo!&lt;/b&gt;&lt;/div&gt;&lt;blockquote&gt;* - Well gamebryo may not be dead. The development team is disbanded, and it's highly uncertain if another company will try to reanimate the corpus of code.&lt;/blockquote&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Emergent's assets and IP are being &lt;a href="http://boic.wordpress.com/2010/11/11/emergent-game-technologies-inc-date-certain-ma-of-its-assets-and-intellectual-property/"&gt;auctioned&lt;/a&gt;, closing Dec 10th. The announcement contains some interesting content, which is nice to be able to share publicly.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;The financial profile of the company since 2005 is contained, here it is in handy chart format:&amp;nbsp;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;a href="http://3.bp.blogspot.com/_EtWpnuFRcjk/TNwgyTyJhoI/AAAAAAAAEGY/24jxpePLya8/s1600/emergent.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="197" src="http://3.bp.blogspot.com/_EtWpnuFRcjk/TNwgyTyJhoI/AAAAAAAAEGY/24jxpePLya8/s400/emergent.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;Note that revenue was significantly less when I joined in 2004. We saw big growth in 2005, and that continued solidly through 2007. The peak of &lt;b&gt;12.2 Million in 2009&lt;/b&gt; notes a significant success for a product that started with a small core Gamebryo team of ~15 engineers that I joined in 2004. The excellent growth financially reflects the engineering investment of the previous year or two, plus the more recent sales efforts. 2004 to 2009 were very good years.&lt;br /&gt;
&lt;br /&gt;
There are also updated numbers for the number of titles that used gamebryo:&lt;br /&gt;
&lt;blockquote&gt;...selected by studios around the globe to bring over &lt;b&gt;350 titles&lt;/b&gt; across more than 15 game genres to market. At any given time, Emergent is supporting over 100 projects in development and has &lt;b&gt;sold over 490 licenses&lt;/b&gt; in the past five years.&lt;/blockquote&gt;And the top titles list has some fresh new items, including Epic Mickey:&lt;br /&gt;
&lt;blockquote&gt;Titles using Emergent’s technology &amp;nbsp;include Game of the Year award-winning titles like Fallout 3, The Elder Scrolls IV: Oblivion,as well as critically acclaimed titles like Warhammer Online: Age of Reckoning, Civilization Revolution, QQ Speed, Divinity II – Ego Draconis, Dance on Broadway, LEGO Universe, Epic Mickey, Bully and more.&lt;/blockquote&gt;The amount of investment into Emergent was also listed, "To date, Emergent has secured over &lt;b&gt;$40 million&lt;/b&gt; in equity financing and raised over &lt;b&gt;$4 million&lt;/b&gt; in venture debt financing". (I don't believe that includes the history of NDL, which was founded in 82 and started development of Gamebryo in the late 90s.)&lt;br /&gt;
&lt;br /&gt;
The diversity of Gamebryo is also mentioned. 14% of revenue came from non video game sources, and no one client represented over 10%. Some of the notable customers were:&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Video games: Electronic Arts, Activision, THQ, Ubisoft, Sony, Bethesda, 2K, Atari, Disney&lt;/li&gt;
&lt;li&gt;Online games: Tencent, Shanda, TheNine, NineYou, NC Soft, Kingsisle, EA Mythic, Trion&lt;/li&gt;
&lt;li&gt;Military simulation:  USC ITC, Total Immersion, IP Keys, Lockheed&lt;/li&gt;
&lt;li&gt;Education: USC, University of Pennsylvania, UNC, Nanyang Polytechnic&lt;/li&gt;
&lt;li&gt;Other: Rio Tinto, Tacx, WMS, GTech&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;Among the assets, a data base of over &lt;b&gt;6,200 profiled developers&lt;/b&gt; and 14,775 contacts is listed.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;It also incorrectly lists that "The Company holds on patent for Floodgate." I was one of the inventors that filed the provisional patent, which was left to expire and not filed for full patent status.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;And so it is, the labor of many passionate engineers, sales staff, and support staff is up on the auction block. I have mixed feelings. One one hand, it was a great run, Gamebryo has had a significant impact on the industry, and that's success locked into history. It's also nice to have a change of pace, and the downturn for Gamebryo has seen us move on to interesting new challenges. But it's also sad, because I feel that Gamebryo could have had a different future, one that continued the success we saw from 2004-2009. It's difficult to speculate on how things could have been done differently, and we'll never have an answer about how else it could have played out. We were&amp;nbsp;aggressive&amp;nbsp;and shot for big growth and new products, not just settling for "getting by" or sitting on our mild success. Investors were interested in big returns. And, if world events and industry winds had blown in another direction, we may have been greatly successful.&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;One thing is clear to me, however. When the investors/board decided to cut half of the engineering staff in 2009 they either 1) made an explicit decision to kill the future growth&amp;nbsp;possibilities and attempt to liquidate the investment they had made, or 2) had no comprehension of what a software product such as a game engine is and how much value code without engineers to support it is.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8959356083618071167-1783798558508962250?l=beautifulpixels.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/BeautifulPixels?a=3sb91qDLTxI:u98STrFYCX0:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BeautifulPixels?i=3sb91qDLTxI:u98STrFYCX0:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BeautifulPixels?a=3sb91qDLTxI:u98STrFYCX0:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BeautifulPixels?i=3sb91qDLTxI:u98STrFYCX0:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BeautifulPixels?a=3sb91qDLTxI:u98STrFYCX0:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BeautifulPixels?i=3sb91qDLTxI:u98STrFYCX0:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/BeautifulPixels/~4/3sb91qDLTxI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://beautifulpixels.blogspot.com/feeds/1783798558508962250/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://beautifulpixels.blogspot.com/2010/11/gamebryo-emergent-ip-and-assets-at.html#comment-form" title="20 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8959356083618071167/posts/default/1783798558508962250?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8959356083618071167/posts/default/1783798558508962250?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BeautifulPixels/~3/3sb91qDLTxI/gamebryo-emergent-ip-and-assets-at.html" title="Gamebryo / Emergent IP and Assets at Auction" /><author><name>Vincent Scheib</name><uri>https://profiles.google.com/117022097663427079142</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-ZIw9Jo6_Ag8/AAAAAAAAAAI/AAAAAAAAMLk/qZlGukmKBi8/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_EtWpnuFRcjk/TNwgyTyJhoI/AAAAAAAAEGY/24jxpePLya8/s72-c/emergent.png" height="72" width="72" /><thr:total>20</thr:total><feedburner:origLink>http://beautifulpixels.blogspot.com/2010/11/gamebryo-emergent-ip-and-assets-at.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkENQ3c_fCp7ImA9Wx5aEU0.&quot;"><id>tag:blogger.com,1999:blog-8959356083618071167.post-505117296427313149</id><published>2010-11-06T20:29:00.000-07:00</published><updated>2010-11-06T20:31:32.944-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-11-06T20:31:32.944-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="_Articles" /><category scheme="http://www.blogger.com/atom/ns#" term="Game Development" /><title>IGDA Leadership Forum: Tools Round Table</title><content type="html">&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_EtWpnuFRcjk/TNYcouQQyrI/AAAAAAAAEA8/_GDgZ4AiFIo/s1600/IGDA-LF-2010-toplogo2.gif" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="60" src="http://3.bp.blogspot.com/_EtWpnuFRcjk/TNYcouQQyrI/AAAAAAAAEA8/_GDgZ4AiFIo/s320/IGDA-LF-2010-toplogo2.gif" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;I hosted the Tools Round Table at the IGDA Leadership Forum this year. The group focused primarily on project management and communication. Attendees were producers, tech leads, a software consultant, an agile coach, a Hansoft employee, two localization professionals, and students.&lt;br /&gt;
&lt;br /&gt;
Below I've included my notes from the discussions. Contents are purely in order that they were mentioned.&lt;br /&gt;
&lt;br /&gt;
But before the notes, some quick thoughts on the conference. It was pretty small just a hundred or two people. I missed a lot of people who cut out half way through the second day (I showed up only for the end).&amp;nbsp;There was a dinner with John Romaro interviewing Will Wright, with a goal of capturing designer's thoughts for posterity (&lt;a href="http://planetromero.com/romeroarchives/wordpress/"&gt;romeroarchives&lt;/a&gt;). This is a great idea, though the level of detail covered in the interview only scratched the surface. It was interesting, but was primarily just getting the rough timeline of Wright's early career.&lt;br /&gt;
&lt;br /&gt;
On with the Tools Round table notes:&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Project Management&lt;/b&gt;&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.iteamwork.com/"&gt;iteamwork&lt;/a&gt;&lt;/li&gt;
&lt;ul&gt;&lt;li&gt;online - project management - slightly dated feel - free&lt;/li&gt;
&lt;/ul&gt;&lt;li&gt;&lt;a href="http://www.atlassian.com/software/greenhopper/"&gt;jira with greenhopper&lt;/a&gt; front end&lt;/li&gt;
&lt;ul&gt;&lt;li&gt;good for short term sprint plans, limiting for long term projects&lt;/li&gt;
&lt;li&gt;some web-app style hiccups&lt;/li&gt;
&lt;/ul&gt;&lt;li&gt;(in follow up for long term:)&lt;/li&gt;
&lt;ul&gt;&lt;li&gt;MS project&lt;/li&gt;
&lt;li&gt;pen-paper&lt;/li&gt;
&lt;li&gt;spreadsheets&lt;/li&gt;
&lt;ul&gt;&lt;li&gt;hard for a wider team to use, OK for the single producer working with it&lt;/li&gt;
&lt;/ul&gt;&lt;/ul&gt;&lt;li&gt;&lt;a href="http://www.pivotaltracker.com/"&gt;pivotal tracker&lt;/a&gt;&lt;/li&gt;
&lt;ul&gt;&lt;li&gt;good for scrum&lt;/li&gt;
&lt;li&gt;nice 'index card' like view&lt;/li&gt;
&lt;li&gt;not a database&lt;/li&gt;
&lt;/ul&gt;&lt;li&gt;&lt;a href="http://www.techexcel.com/products/devsuite/devtrack.html"&gt;devtrack&lt;/a&gt;&lt;/li&gt;
&lt;ul&gt;&lt;li&gt;often pushed by publishers&lt;/li&gt;
&lt;li&gt;database backend&lt;/li&gt;
&lt;li&gt;not great out of box, lots of work needed to setup for a team's process&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;&lt;li&gt;&lt;a href="http://basecamphq.com/"&gt;base camp&lt;/a&gt;&lt;/li&gt;
&lt;ul&gt;&lt;li&gt;good for small teams&lt;/li&gt;
&lt;li&gt;day to day level workers annoyed at it, though higher levels liked it&lt;/li&gt;
&lt;li&gt;didn't scale up as well&lt;/li&gt;
&lt;/ul&gt;&lt;li&gt;&lt;a href="http://danube.com/scrumworks"&gt;scrum works&lt;/a&gt;&lt;/li&gt;
&lt;ul&gt;&lt;li&gt;smaller teams, medium teams, good for burndown charts&lt;/li&gt;
&lt;li&gt;free and paid versions&lt;/li&gt;
&lt;/ul&gt;&lt;li&gt;&lt;a href="http://www.getsmartq.com/"&gt;smart q&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.5pmweb.com/"&gt;5 pm web&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;Transitioning between long term planning and fine grained issue tracking remains the largest problem.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Communication&lt;/b&gt;&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href="https://www.yammer.com/"&gt;yammer&lt;/a&gt;&lt;/li&gt;
&lt;ul&gt;&lt;li&gt;like an internal twitter&lt;/li&gt;
&lt;li&gt;threaded views&lt;/li&gt;
&lt;li&gt;third party tools good&lt;/li&gt;
&lt;/ul&gt;&lt;li&gt;&lt;a href="http://wave.google.com/"&gt;google wave&lt;/a&gt;&lt;/li&gt;
&lt;ul&gt;&lt;li&gt;threading issues&lt;/li&gt;
&lt;li&gt;recommended using RSS updates of a wave to track it&lt;/li&gt;
&lt;/ul&gt;&lt;li&gt;&lt;a href="http://docs.google.com/"&gt;google docs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.gotomeeting.com/"&gt;gotomeeting&lt;/a&gt;&lt;/li&gt;
&lt;ul&gt;&lt;li&gt;great screen sharing, not so great web cam&lt;/li&gt;
&lt;/ul&gt;&lt;li&gt;&lt;a href="http://www.mikogo.com/"&gt;mikogo&lt;/a&gt;&lt;/li&gt;
&lt;ul&gt;&lt;li&gt;similar to gotomeeting - free&lt;/li&gt;
&lt;/ul&gt;&lt;li&gt;&lt;a href="http://www.webex.com/"&gt;webex&lt;/a&gt;&lt;/li&gt;
&lt;ul&gt;&lt;li&gt;too heavyweight&lt;/li&gt;
&lt;/ul&gt;&lt;li&gt;&lt;a href="http://www.skype.com/"&gt;skype&lt;/a&gt;&lt;/li&gt;
&lt;ul&gt;&lt;li&gt;great webcam sharing, so-so screen sharing&lt;/li&gt;
&lt;/ul&gt;&lt;li&gt;&lt;a href="http://www.cisco.com/en/US/products/sw/ps5664/ps5669/index.html"&gt;meetingplace&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://en.wikipedia.org/wiki/Active_Desktop"&gt;active desktop&lt;/a&gt;&lt;/li&gt;
&lt;ul&gt;&lt;li&gt;HTML on desktop with team specific information, e.g. bug counts&lt;/li&gt;
&lt;/ul&gt;&lt;li&gt;design docs placed in source control shadowed to a web server for ease of access&lt;/li&gt;
&lt;li&gt;wiki&lt;/li&gt;
&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8959356083618071167-505117296427313149?l=beautifulpixels.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/BeautifulPixels?a=deyMTIHDZ8c:u-a6bGFQnn8:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BeautifulPixels?i=deyMTIHDZ8c:u-a6bGFQnn8:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BeautifulPixels?a=deyMTIHDZ8c:u-a6bGFQnn8:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BeautifulPixels?i=deyMTIHDZ8c:u-a6bGFQnn8:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BeautifulPixels?a=deyMTIHDZ8c:u-a6bGFQnn8:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BeautifulPixels?i=deyMTIHDZ8c:u-a6bGFQnn8:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/BeautifulPixels/~4/deyMTIHDZ8c" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://beautifulpixels.blogspot.com/feeds/505117296427313149/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://beautifulpixels.blogspot.com/2010/11/igda-leadership-forum-tools-round-table.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8959356083618071167/posts/default/505117296427313149?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8959356083618071167/posts/default/505117296427313149?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BeautifulPixels/~3/deyMTIHDZ8c/igda-leadership-forum-tools-round-table.html" title="IGDA Leadership Forum: Tools Round Table" /><author><name>Vincent Scheib</name><uri>https://profiles.google.com/117022097663427079142</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-ZIw9Jo6_Ag8/AAAAAAAAAAI/AAAAAAAAMLk/qZlGukmKBi8/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_EtWpnuFRcjk/TNYcouQQyrI/AAAAAAAAEA8/_GDgZ4AiFIo/s72-c/IGDA-LF-2010-toplogo2.gif" height="72" width="72" /><thr:total>1</thr:total><feedburner:origLink>http://beautifulpixels.blogspot.com/2010/11/igda-leadership-forum-tools-round-table.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0YFQ3w5eyp7ImA9Wx5UFUQ.&quot;"><id>tag:blogger.com,1999:blog-8959356083618071167.post-8594030303780866310</id><published>2010-10-18T21:28:00.000-07:00</published><updated>2010-10-20T09:11:52.223-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-10-20T09:11:52.223-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="_Articles" /><category scheme="http://www.blogger.com/atom/ns#" term="Game Jam" /><category scheme="http://www.blogger.com/atom/ns#" term="Game Development" /><title>LootGrab: HTML5 Game from Triangle Game Jam 2010</title><content type="html">&lt;iframe frameborder="0" height="300" src="http://player.vimeo.com/video/15449134" width="400"&gt;&lt;/iframe&gt;&lt;br /&gt;
&lt;b&gt;Spoilers in the Video! Consider&amp;nbsp;&lt;/b&gt;&lt;a href="http://game-jam-2010-09-03.googlecode.com/hg/lootgrab/index.html"&gt;&lt;b&gt;Playing LootGrab&lt;/b&gt;&lt;/a&gt;&amp;nbsp;&lt;b&gt;first&lt;/b&gt;.&amp;nbsp;(As of Sept 2010,&amp;nbsp;&lt;a href="http://www.google.com/chrome"&gt;Chrome&lt;/a&gt;&amp;nbsp;was definitely the best option since Firefox and IE struggled, you can give your smart phone a try too).&lt;br /&gt;
&lt;br /&gt;
2010 Triangle Game Jam game: &lt;a href="http://www.youtube.com/user/aancsiid#p/a/u/0/KgwtBVkGvEw"&gt;LootGrab Video&lt;/a&gt;&amp;nbsp;on youtube, or &lt;a href="http://www.vimeo.com/15449134"&gt;LootGrab Video&lt;/a&gt;&amp;nbsp;on vimeo.&lt;br /&gt;
&lt;br /&gt;
This year brought changes from the Game Jams of past:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href="http://beautifulpixels.blogspot.com/2008/05/pre-triangle-game-jam-may-2008.html"&gt;2007: Shape Slasher&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://beautifulpixels.blogspot.com/2009/10/pixelated-martini-roller-game-jam-video.html"&gt;2008: Pixelated Martini Roller&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://beautifulpixels.blogspot.com/2008/11/beautiful-pixels-game-api-connexus.html"&gt;(2008: Beautiful Pixels Game Jam concept)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://beautifulpixels.blogspot.com/2009/02/global-game-jam-robot-love.html"&gt;2009: Robot Love&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://beautifulpixels.blogspot.com/2009/07/diving-triangle-game-jam-3-music-game.html"&gt;2009: Diving&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;First, I moved from the Research Triangle and now work at Google, and Adrienne came too (we've worked together on 5 of the game jam projects now). So, we got some fresh blood at Google to join us and ran a game jam in parallel with the 2010 Triangle Game Jam.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
Second, instead of using C# we used HTML5 this year:&lt;br /&gt;
&lt;br /&gt;
Third, you can&amp;nbsp;&lt;a href="http://game-jam-2010-09-03.googlecode.com/hg/lootgrab/index.html"&gt;Play LootGrab&lt;/a&gt;&amp;nbsp;with a click of a button - ridiculously easy compared to all previous Jams where I didn't even bother giving you the gazillion prerequisites&amp;nbsp;required.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;Theme and Game Ideas&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;The theme this year was, "Placing Blocks". Here is my game concept, which didn't make the cut::&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;iframe frameborder="0" height="342" src="https://docs.google.com/present/embed?id=ddc4dccp_183gkd4rsfv&amp;amp;interval=1" width="410"&gt;&lt;/iframe&gt;&lt;br /&gt;
(someone pointed out it would be great from the side too, with ballistic arcs.)&lt;br /&gt;
&lt;br /&gt;
We voted up ideas, and Adrienne's one out: LootGrab is about placing down blocks in a dungeon to influence the hero, instead of controlling the hero directly. The greedy guy runs for the closest loot, food, or exit ... without care for monsters or traps.&lt;br /&gt;
&lt;br /&gt;
We figured we'd need a map editor, the runtime, and perhaps a level sharing system online via AppEngine. I was particularly attached to an idea of allowing user contributed game object&amp;nbsp;definitions. Allow a user to upload an image and a snippit of javascript that defines it's behavior. How cool would a mod-able game jam game be? :) That was stretching a bit far though.&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;&lt;b&gt;HTML5&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://en.wikipedia.org/wiki/HTML5"&gt;HTML5&lt;/a&gt; is a grab bag of new functionality in browsers. Some of it is pretty cool (peer to peer networking, local storage, video and audio tags). We focused on two simple components, &lt;b&gt;canvas 2d&amp;nbsp;&lt;/b&gt;to draw and &lt;b&gt;audio &lt;/b&gt;for sound effects.&lt;br /&gt;
&lt;br /&gt;
In my day job I'm working to accelerate canvas with GPUs, as are others at Microsoft, Mozilla, and Apple. It's fairly fast even in software, and LootGrab runs fine without GPU acceleration. In fact, it runs on phones pretty well, such as my Nexus One Android phone. That's pretty cool, all we did to support mobile was to make sure we handled low frame rates without changing gameplay. To do that we used fixed time step gameplay logic (tick based), and just run as many ticks as needed to cover the amount of time elapsed.&lt;br /&gt;
&lt;br /&gt;
Our use of canvas is basically clearing it, drawing a pile of sprites (via sub-rectangles of larger images), and also a line to show where the player is moving. Actually, we have a few layers of canvas stacked on top of each other. Theoretically we could have saved performance by not redrawing non animating tiles - just compositing them underneath.&lt;br /&gt;
&lt;br /&gt;
Adrienne took on audio for sound effects, and did run into a bit of trouble. The sound effects were very short, and had to be padded out to longer audio lengths to trigger properly. Also, multiple instances needed to be created in case the sound was played more than once.&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;&lt;b&gt;Javascript&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Several of us hadn't done anything substantial in Javascript before. Certainly not an object oriented game entity system that can factory from user created levels. Some complicated flurry of activity by Glen, Ian, Nat, and Gregg made that happen. The result could be cleaner, but worked well. We have JSON data blobs, e.g. for the &lt;a href="http://code.google.com/p/game-jam-2010-09-03/source/browse/json/tiles.js"&gt;tile definitions&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Things I loved:&lt;/b&gt;&lt;br /&gt;
Need to add extra data to your level components of game object definitons? Perhaps only to particular items? No problem! Just start typing. At runtime it is trivial to just check if the data is there and use it if so.&lt;br /&gt;
&lt;br /&gt;
Writing some code and wish you could hang more data off an object? Just set that value! Check to see if it's === "undefined" later and you can pick up &amp;nbsp;your special data easily. Object definitions don't have to worry about implementation details of other systems, and those other systems don't need extra book keeping kept in parallel. e.g.:&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;try {&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;ctx.drawImage(this.img, ...&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;);&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;} catch(e) {&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;if(&lt;b&gt;this.error_printed === undefined&lt;/b&gt;) {&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;tdl.log("problem with image " + this.entDefID);&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;b&gt;this.error_printed = true;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;};&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Development tools: Logging. Resource load timeline.&amp;nbsp;Immediate mode editor:&amp;nbsp;Hit a breakpoint, and just execute some code at the Javascript console.&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_EtWpnuFRcjk/TKq85Sqt_AI/AAAAAAAADes/rXTr56LRy7s/s1600/2010-09-05_12-35.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="250" src="http://2.bp.blogspot.com/_EtWpnuFRcjk/TKq85Sqt_AI/AAAAAAAADes/rXTr56LRy7s/s320/2010-09-05_12-35.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
Fast iteration time, though C# was great for that too.&lt;br /&gt;
&lt;br /&gt;
Instant continuous "build"! Glen installed an &lt;a href="https://chrome.google.com/extensions/detail/ofojbjgaaddibdfpmmjeonahgbacejid"&gt;Auto Reload&lt;/a&gt;&amp;nbsp;Chrome extension and put the game up on a projector. Check in some code and see the game running it in 20 seconds. ;) Helps to have a game that can play its self.&lt;br /&gt;
&lt;br /&gt;
Libraires such as&amp;nbsp;&lt;a href="http://code.google.com/p/webglsamples/source/browse/tdl/?r=a0cff846a783efc8494d4039978208a1c4c8ec4f"&gt;TDL&lt;/a&gt;, and JQuery: some helper code for Javascript. It's not so important what you use, but you definitely want to not worry about the minutia.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Not so great?&lt;/b&gt;&lt;br /&gt;
I didn't use an IDE that had code analysis, and that's a very convenient feature of MSVC. Though, Ian had good things to say about &lt;a href="http://www.jetbrains.com/webstorm/"&gt;WebStorm&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Also "classes" in javascript are syntactically very sad, and inheritance to my novice eyes looks &lt;a href="http://robertnyman.com/2008/10/06/javascript-inheritance-how-and-why/"&gt;messy&lt;/a&gt;. And variable "&lt;a href="http://www.adequatelygood.com/2010/2/JavaScript-Scoping-and-Hoisting"&gt;scoping&lt;/a&gt;" is dicey.&lt;br /&gt;
&lt;br /&gt;
Debugging is functional and GUI, which is better than what most programmers use around my on linux. But it falls short of a modern debugger such as MSVC with C++ or C#.&lt;br /&gt;
&lt;br /&gt;
Also, deciphering a web page via HTML, script, HTML&amp;nbsp;embedded&amp;nbsp;in script, CSS files, and dynamic changes to styles? ... yikes.&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;&lt;b&gt;Things for Next Time&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: medium; font-weight: normal;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
Would be nice to have some basics already written:&lt;br /&gt;
- Factory that will created entities from JSON data packs&lt;br /&gt;
- Cleaner audio solution&lt;br /&gt;
- Sprite system for canvas&lt;br /&gt;
&lt;br /&gt;
Smaller teams. We had six on this project, and that's a bit much for a game jam game. Several were first time jammers, and several Javascript newbies, so it did really help to share know-how. But we wasted a lot of time getting started, coming to&amp;nbsp;consensus&amp;nbsp;on implementation choices, and stepping on each other's code.&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: x-large; font-weight: normal;"&gt;&lt;b&gt;The End&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;And now I leave you with some screen shots:&lt;br /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_EtWpnuFRcjk/TL0dykOahZI/AAAAAAAADzY/8agdm1fFqjY/s1600/Fullscreen-capture-9302010-103955-PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="188" src="http://1.bp.blogspot.com/_EtWpnuFRcjk/TL0dykOahZI/AAAAAAAADzY/8agdm1fFqjY/s320/Fullscreen-capture-9302010-103955-PM.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_EtWpnuFRcjk/TL0dykOahZI/AAAAAAAADzY/8agdm1fFqjY/s1600/Fullscreen-capture-9302010-103955-PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_EtWpnuFRcjk/TL0dftkidLI/AAAAAAAADy8/rcmNsA0oFhE/s1600/Fullscreen-capture-9302010-103124-PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="188" src="http://3.bp.blogspot.com/_EtWpnuFRcjk/TL0dftkidLI/AAAAAAAADy8/rcmNsA0oFhE/s320/Fullscreen-capture-9302010-103124-PM.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_EtWpnuFRcjk/TL0dfwhJm6I/AAAAAAAADzA/w1aU7V0abas/s1600/Fullscreen-capture-9302010-103321-PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="188" src="http://2.bp.blogspot.com/_EtWpnuFRcjk/TL0dfwhJm6I/AAAAAAAADzA/w1aU7V0abas/s320/Fullscreen-capture-9302010-103321-PM.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_EtWpnuFRcjk/TL0dfKtDNmI/AAAAAAAADy4/L9QA0K-9IN4/s1600/Fullscreen-capture-9302010-103344-PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="188" src="http://3.bp.blogspot.com/_EtWpnuFRcjk/TL0dfKtDNmI/AAAAAAAADy4/L9QA0K-9IN4/s320/Fullscreen-capture-9302010-103344-PM.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_EtWpnuFRcjk/TL0drhYt2hI/AAAAAAAADzE/I8Kujw-Kflw/s1600/Fullscreen-capture-9302010-103437-PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="188" src="http://3.bp.blogspot.com/_EtWpnuFRcjk/TL0drhYt2hI/AAAAAAAADzE/I8Kujw-Kflw/s320/Fullscreen-capture-9302010-103437-PM.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_EtWpnuFRcjk/TL0dsPl5RnI/AAAAAAAADzI/mFIxf-6gTPo/s1600/Fullscreen-capture-9302010-103358-PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="188" src="http://4.bp.blogspot.com/_EtWpnuFRcjk/TL0dsPl5RnI/AAAAAAAADzI/mFIxf-6gTPo/s320/Fullscreen-capture-9302010-103358-PM.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_EtWpnuFRcjk/TL0dsR8_erI/AAAAAAAADzM/X7uySoDSMkc/s1600/Fullscreen-capture-9302010-103412-PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="188" src="http://1.bp.blogspot.com/_EtWpnuFRcjk/TL0dsR8_erI/AAAAAAAADzM/X7uySoDSMkc/s320/Fullscreen-capture-9302010-103412-PM.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_EtWpnuFRcjk/TL0dx0LYibI/AAAAAAAADzQ/I-6JgjMi6Rg/s1600/Fullscreen-capture-9302010-103439-PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="188" src="http://1.bp.blogspot.com/_EtWpnuFRcjk/TL0dx0LYibI/AAAAAAAADzQ/I-6JgjMi6Rg/s320/Fullscreen-capture-9302010-103439-PM.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div&gt;&lt;div&gt;And, the code:&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;a href="http://code.google.com/p/game-jam-2010-09-03/source/browse/#hg/lootgrab"&gt;http://code.google.com/p/game-jam-2010-09-03/source/browse/#hg/lootgrab&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;And a thanks to whoever &lt;b&gt;oryx&lt;/b&gt;&amp;nbsp;is, who created the sprites we used:&lt;/div&gt;&lt;div&gt;&lt;a href="http://forums.tigsource.com/index.php?topic=8970.0"&gt;http://forums.tigsource.com/index.php?topic=8970.0&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Edit:&lt;br /&gt;
gman has a post too:&amp;nbsp;&lt;a href="http://games.greggman.com/game/my-first-game-jam/"&gt;http://games.greggman.com/game/my-first-game-jam/&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8959356083618071167-8594030303780866310?l=beautifulpixels.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/BeautifulPixels?a=NKJ-t6x2zk0:AAmk0T-QdUM:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BeautifulPixels?i=NKJ-t6x2zk0:AAmk0T-QdUM:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BeautifulPixels?a=NKJ-t6x2zk0:AAmk0T-QdUM:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BeautifulPixels?i=NKJ-t6x2zk0:AAmk0T-QdUM:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BeautifulPixels?a=NKJ-t6x2zk0:AAmk0T-QdUM:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BeautifulPixels?i=NKJ-t6x2zk0:AAmk0T-QdUM:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/BeautifulPixels/~4/NKJ-t6x2zk0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://beautifulpixels.blogspot.com/feeds/8594030303780866310/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://beautifulpixels.blogspot.com/2010/10/lootgrab-html5-game-from-triangle-game.html#comment-form" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8959356083618071167/posts/default/8594030303780866310?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8959356083618071167/posts/default/8594030303780866310?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BeautifulPixels/~3/NKJ-t6x2zk0/lootgrab-html5-game-from-triangle-game.html" title="LootGrab: HTML5 Game from Triangle Game Jam 2010" /><author><name>Vincent Scheib</name><uri>https://profiles.google.com/117022097663427079142</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-ZIw9Jo6_Ag8/AAAAAAAAAAI/AAAAAAAAMLk/qZlGukmKBi8/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_EtWpnuFRcjk/TKq85Sqt_AI/AAAAAAAADes/rXTr56LRy7s/s72-c/2010-09-05_12-35.png" height="72" width="72" /><thr:total>3</thr:total><feedburner:origLink>http://beautifulpixels.blogspot.com/2010/10/lootgrab-html5-game-from-triangle-game.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ak8MQXgzeyp7ImA9Wx5VEkg.&quot;"><id>tag:blogger.com,1999:blog-8959356083618071167.post-2551470727738324455</id><published>2010-10-04T23:08:00.000-07:00</published><updated>2010-10-04T23:08:00.683-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-10-04T23:08:00.683-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="_Articles" /><category scheme="http://www.blogger.com/atom/ns#" term="Programming" /><category scheme="http://www.blogger.com/atom/ns#" term="Game Development" /><title>Scriptcode: misc batch files and visual studio macros</title><content type="html">Here are the random macros I use in Visual Studio and windows batch files. Nothing monumental, but I find them useful often enough.&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;scheib.vb&lt;/li&gt;

&lt;ul&gt;&lt;li&gt;The general purpose Visual Studio macros I use, particularly useful to me are:&lt;/li&gt;

&lt;ul&gt;&lt;li&gt;FindActiveFileInSolution&lt;/li&gt;
&lt;li&gt;HeaderFlip (though the &lt;a href="http://code.google.com/p/chromium/wiki/WindowsVisualStudioMacros"&gt;chromium header flip&lt;/a&gt; is good too)&lt;/li&gt;
&lt;li&gt;&lt;br /&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;/ul&gt;
&lt;li&gt;addpath.bat&lt;/li&gt;

&lt;ul&gt;&lt;li&gt;Eases adding more directories to your path environment variable.&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;cmd_here.bat&lt;/li&gt;

&lt;ul&gt;&lt;li&gt;Right click any directory or file in windows explorer or a file save/open dialog and get a command prompt at that location.&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;copy-certain-files.pl&lt;/li&gt;

&lt;ul&gt;&lt;li&gt;Assists automation to copy certain files from one directory to another, e.g. just the .html files but not the images.&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;remove_empty_directories.bat&lt;/li&gt;

&lt;ul&gt;&lt;li&gt;Cleans up a directory tree to not have empty directories.&lt;/li&gt;
&lt;/ul&gt;&lt;/ul&gt;&lt;div&gt;The following are useful to have when writing a batch file:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;isadirectory.bat&lt;/li&gt;
&lt;li&gt;isafile.bat&lt;/li&gt;
&lt;li&gt;isemptydirectory.bat&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;Files can be downloaded here:&lt;br /&gt;
&lt;a href="http://gist.github.com/582050"&gt;http://gist.github.com/582050&lt;/a&gt;&amp;nbsp;- visual studio macros&lt;br /&gt;
&lt;a href="http://gist.github.com/582036"&gt;http://gist.github.com/582036&lt;/a&gt;&amp;nbsp;- batch files&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;br /&gt;
&lt;script src="http://gist.github.com/582050.js"&gt;
 
&lt;/script&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;script src="http://gist.github.com/582036.js"&gt;
 
&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8959356083618071167-2551470727738324455?l=beautifulpixels.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/BeautifulPixels?a=5UA_kJOZYJc:s2jbH_13RD8:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BeautifulPixels?i=5UA_kJOZYJc:s2jbH_13RD8:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BeautifulPixels?a=5UA_kJOZYJc:s2jbH_13RD8:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BeautifulPixels?i=5UA_kJOZYJc:s2jbH_13RD8:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BeautifulPixels?a=5UA_kJOZYJc:s2jbH_13RD8:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BeautifulPixels?i=5UA_kJOZYJc:s2jbH_13RD8:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/BeautifulPixels/~4/5UA_kJOZYJc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://beautifulpixels.blogspot.com/feeds/2551470727738324455/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://beautifulpixels.blogspot.com/2010/10/scriptcode-misc-batch-files-and-visual.html#comment-form" title="7 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8959356083618071167/posts/default/2551470727738324455?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8959356083618071167/posts/default/2551470727738324455?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BeautifulPixels/~3/5UA_kJOZYJc/scriptcode-misc-batch-files-and-visual.html" title="Scriptcode: misc batch files and visual studio macros" /><author><name>Vincent Scheib</name><uri>https://profiles.google.com/117022097663427079142</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-ZIw9Jo6_Ag8/AAAAAAAAAAI/AAAAAAAAMLk/qZlGukmKBi8/s512-c/photo.jpg" /></author><thr:total>7</thr:total><feedburner:origLink>http://beautifulpixels.blogspot.com/2010/10/scriptcode-misc-batch-files-and-visual.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUIGQ385fCp7ImA9Wx9WFUU.&quot;"><id>tag:blogger.com,1999:blog-8959356083618071167.post-1374847853687818571</id><published>2010-09-15T09:37:00.000-07:00</published><updated>2011-01-20T21:25:22.124-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-01-20T21:25:22.124-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="_Articles" /><category scheme="http://www.blogger.com/atom/ns#" term="Google" /><title>Leadership by Influence</title><content type="html">&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_EtWpnuFRcjk/TJD10TCVmMI/AAAAAAAADXw/gjKcTaucB8g/s1600/cats.PNG" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_EtWpnuFRcjk/TJD10TCVmMI/AAAAAAAADXw/gjKcTaucB8g/s320/cats.PNG" /&gt;&lt;/a&gt;&lt;/div&gt;Leadership is an interesting skill; here are a few thoughts I've had recently at Google.&lt;br /&gt;
&lt;br /&gt;
Skills are honed by practice, but leadership is a daunting skill to try before you have your confidence. Some skills you build up little by little, and often you can learn about them before you try them. But leading is one of those skills that you need to learn by doing and then thinking. It can be intimidating to try, like public speaking. But that's the pattern to follow: try leading a little bit at a time, and growing. &lt;br /&gt;
&lt;br /&gt;
Finding opportunities to improve leadership is also different than many skills. Learning how to program? Start writing some code. Learning how to lead? You need some people to (possibly) follow, and an appropriate time and place. That's a good segue into some of my experiences.&lt;br /&gt;
&lt;br /&gt;
At Emergent I spent the last few years as a software architect. My role was varied, but essentially was influencing the direction of our product and business. I did that by understanding technical issues, building compelling explanations, and influencing the decisions of others. Those others ranged from software engineers on our product, managers and executives, and external game teams considering tech. The key point is that I had no authority or decision power myself, even over our own engineers.&lt;br /&gt;
&lt;br /&gt;
My situation was different than some of my peers. A few of us rose into senior positions at the same time. Some of my friends ended up as technical leads over groups of engineers. While they didn't have "personnel management" responsibilities, they did have direct technical management. Teams collaborated on the work that they did, but generally speaking these technical leads defined tasks onto their team members. If they needed to they could specifically direct a given engineer. I contrasted this against my role, with no reports and only the ability to influence engineers. &lt;br /&gt;
&lt;br /&gt;
Gathering information from groups was novel as well. The technical leads' smaller groups met regularly and shared information. Spanning the engineering department I couldn't gather information directly from all engineers. I relied on meeting notes, speaking with team leads, and most importantly individuals coming to me for relevant topics. Some engineers did this voluntarily , "Vince, I've got an idea to bounce off you." Other's work I wouldn't have heard about unless I stopped by and asked them about it. &lt;br /&gt;
&lt;br /&gt;
Moving back in time, I recall developing a game during my undergraduate degree. We had some initial meetings with dozens of interested students. A smaller group moved forward to create a game. But, being entirely volunteer work there was no certainty that anything would get done. In the end, only a couple of us made much progress, and we were left with many good intentions of others, but no work done.&lt;br /&gt;
&lt;br /&gt;
And that brings me back to Google, where the internal engineering structure is decidedly bottom up. Engineers self organize, recognize issues, and address them. Leadership at Google is more similar to my experience as a software architect at Emergent than the tech leads there. Engineers aren't assigned tasks, they generate them or adopt them. The top down influence comes in two parts: influential direction, and team allocations. The technical influence is something anyone at Google can, and is expected, to do. And that's what motivated me to write out these thoughts. &lt;br /&gt;
&lt;br /&gt;
This is also my first time contributing to open source projects. And I can see they follow similar patterns. There is decentralized control, and often no specific hierarchy of technical authority. Rather, the community relies on those individuals who've proven the kind of influential leadership I've described here.&lt;br /&gt;
&lt;br /&gt;
So, what's your takeaway, dear reader? How about a few answers to questions I asked myself in the past:&lt;br /&gt;
&lt;br /&gt;
How does one gather more influence? &lt;br /&gt;
By recognizing when something needs doing, making compelling explanations for why and how, and showing others how it can be done by doing it. By doing so you build respect as someone who will make things better and solve problems.&lt;br /&gt;
&lt;br /&gt;
How do you get an opportunity to try leading?&lt;br /&gt;
Everything you do is an opportunity, and you have to grow by taking small steps. It is rare that you'll be given the responsibility without first having demonstrated that you can lead. Don't wait for someone to decide that you can try leading. Just offer your contributions and thoughts, lead by doing, and be sensitive to what the group needs.&lt;br /&gt;
&lt;br /&gt;
And, a final thought. At Emergent, we frequently used the phrase, "Managing engineers is like herding cats." The statement has a changed meaning for me now. If you manage engineers by herding them, you'll be as frustrated as if you were herding cats. But, all the cats will run to tasty food. Perhaps that's why Google invests so much in it's cafes ;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8959356083618071167-1374847853687818571?l=beautifulpixels.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/BeautifulPixels?a=mzwg-3OPnBs:g8mzl0dJNkQ:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BeautifulPixels?i=mzwg-3OPnBs:g8mzl0dJNkQ:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BeautifulPixels?a=mzwg-3OPnBs:g8mzl0dJNkQ:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BeautifulPixels?i=mzwg-3OPnBs:g8mzl0dJNkQ:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BeautifulPixels?a=mzwg-3OPnBs:g8mzl0dJNkQ:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BeautifulPixels?i=mzwg-3OPnBs:g8mzl0dJNkQ:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/BeautifulPixels/~4/mzwg-3OPnBs" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://beautifulpixels.blogspot.com/feeds/1374847853687818571/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://beautifulpixels.blogspot.com/2010/09/leadership-by-influence.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8959356083618071167/posts/default/1374847853687818571?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8959356083618071167/posts/default/1374847853687818571?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BeautifulPixels/~3/mzwg-3OPnBs/leadership-by-influence.html" title="Leadership by Influence" /><author><name>Vincent Scheib</name><uri>https://profiles.google.com/117022097663427079142</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-ZIw9Jo6_Ag8/AAAAAAAAAAI/AAAAAAAAMLk/qZlGukmKBi8/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_EtWpnuFRcjk/TJD10TCVmMI/AAAAAAAADXw/gjKcTaucB8g/s72-c/cats.PNG" height="72" width="72" /><thr:total>1</thr:total><feedburner:origLink>http://beautifulpixels.blogspot.com/2010/09/leadership-by-influence.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkYBSXgzfSp7ImA9Wx5TGU4.&quot;"><id>tag:blogger.com,1999:blog-8959356083618071167.post-2548303552491901309</id><published>2010-08-03T21:55:00.000-07:00</published><updated>2010-08-04T08:02:38.685-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-08-04T08:02:38.685-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="_Articles" /><category scheme="http://www.blogger.com/atom/ns#" term="Graphics" /><title>QR Code hacks: modifying and altering for artistic fun</title><content type="html">&lt;div&gt;&lt;a href="http://en.wikipedia.org/wiki/QR_Code"&gt;QR Codes&lt;/a&gt; are a quick way to get information with a camera. (Think modern evolution of a UPC Bar Code). Smart phones will scan them for you to quickly get information into your phone, such as a URL to browse, a&amp;nbsp;business card,&amp;nbsp;etc.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;I was inspired by the BBC QR Code that intentionally distorts the image to insert the letters "BBC" in the middle. QR Codes have redundant information to offer error correction, and I am amused at the different ways you can abuse this.&lt;br /&gt;
&lt;br /&gt;
First, this is what a QR Code for "http://beautifulpixels.blogspot.com/" looks like unmodified:&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;"Pure" QR Code:&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_EtWpnuFRcjk/TFjys3kkazI/AAAAAAAADBM/nvn8pG9BKxc/s1600/QRCode.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://2.bp.blogspot.com/_EtWpnuFRcjk/TFjys3kkazI/AAAAAAAADBM/nvn8pG9BKxc/s320/QRCode.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Now, the experiments:&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;Simple pixelated&amp;nbsp;distortion&amp;nbsp;in the center (similar to BBC code):&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_EtWpnuFRcjk/TD_l_0kjpFI/AAAAAAAAC74/7slNYWcEuQ4/s1600/QRCodeInset.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://4.bp.blogspot.com/_EtWpnuFRcjk/TD_l_0kjpFI/AAAAAAAAC74/7slNYWcEuQ4/s400/QRCodeInset.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Any image could have just been overlaid, just like plopping a sticker in the middle, but doing it in the pixel grid feels nice.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;The idea I like most is using a collage of images that form the QR Code. Where the collage gets the pattern right, there's no need for error correction. But there's slack for the collage to be off a bit. It's very tedious to do, so I only have this partial version, but I'm certain with patience a fully collaged version could be made:&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;Collage:&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_EtWpnuFRcjk/TFjxriXuoMI/AAAAAAAADBE/8KYBi_u4sro/s1600/QRHighContrastImages.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://3.bp.blogspot.com/_EtWpnuFRcjk/TFjxriXuoMI/AAAAAAAADBE/8KYBi_u4sro/s400/QRHighContrastImages.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;The collage might be automated too. Do an image search and then paste in images "fit" to the QR Code target.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;There are several ways to play with color, as the scanners will just care about the luminance.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;Pixel grid colorization:&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_EtWpnuFRcjk/TD_l9YKj_FI/AAAAAAAAC7g/nq3ZPJDOjD8/s1600/QRCodeColored2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://2.bp.blogspot.com/_EtWpnuFRcjk/TD_l9YKj_FI/AAAAAAAAC7g/nq3ZPJDOjD8/s400/QRCodeColored2.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;Gradient:&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_EtWpnuFRcjk/TD_l88vm0YI/AAAAAAAAC7Y/Xq_Ibk63dSg/s1600/QRCodeColored1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://3.bp.blogspot.com/_EtWpnuFRcjk/TD_l88vm0YI/AAAAAAAAC7Y/Xq_Ibk63dSg/s400/QRCodeColored1.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_EtWpnuFRcjk/TD_l88vm0YI/AAAAAAAAC7Y/Xq_Ibk63dSg/s1600/QRCodeColored1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;/a&gt;High resolution image colorization:&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_EtWpnuFRcjk/TD_l-hS2WYI/AAAAAAAAC7o/64KStiUpHns/s1600/QRCodeColoredTextured.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://2.bp.blogspot.com/_EtWpnuFRcjk/TD_l-hS2WYI/AAAAAAAAC7o/64KStiUpHns/s400/QRCodeColoredTextured.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;There are several ways to play with the QR Code as conceptually just "dots".&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;Dots:&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_EtWpnuFRcjk/TD_mB5jmI2I/AAAAAAAAC8A/uYXxC_XzG34/s1600/QRDots1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://3.bp.blogspot.com/_EtWpnuFRcjk/TD_mB5jmI2I/AAAAAAAAC8A/uYXxC_XzG34/s400/QRDots1.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;Dots merging:&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_EtWpnuFRcjk/TD_mDCSwa9I/AAAAAAAAC8I/G_zgp9wNKTU/s1600/QRDots2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://2.bp.blogspot.com/_EtWpnuFRcjk/TD_mDCSwa9I/AAAAAAAAC8I/G_zgp9wNKTU/s400/QRDots2.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;Dots as images:&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_EtWpnuFRcjk/TD_mEpMFiDI/AAAAAAAAC8Q/svNgf8-eeIs/s1600/QRDots3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://1.bp.blogspot.com/_EtWpnuFRcjk/TD_mEpMFiDI/AAAAAAAAC8Q/svNgf8-eeIs/s400/QRDots3.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;And on we go, a few more ideas:&amp;nbsp;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;Rounded corners:&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_EtWpnuFRcjk/TD_l_KiYgQI/AAAAAAAAC7w/czytfB-rqP4/s1600/QRCodeCurves.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://2.bp.blogspot.com/_EtWpnuFRcjk/TD_l_KiYgQI/AAAAAAAAC7w/czytfB-rqP4/s400/QRCodeCurves.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;Perspective:&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_EtWpnuFRcjk/TFXSBN_S3EI/AAAAAAAADA8/h4Vv7S19z8o/s1600/QRPerspective.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://2.bp.blogspot.com/_EtWpnuFRcjk/TFXSBN_S3EI/AAAAAAAADA8/h4Vv7S19z8o/s400/QRPerspective.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;I wasn't able to change the perspective to something as extreme as I thought, this was about as far as I could get it.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;I also didn't have the patience to create several "natural media" QR Codes. But I thought sand art, pebbles, leaves, etc, done with real world materials would be great. Here's a synthetic Go board (the gaps maintain a valid game state, ;):&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;Go Board:&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_EtWpnuFRcjk/TD_l_KiYgQI/AAAAAAAAC7w/czytfB-rqP4/s1600/QRCodeCurves.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;/a&gt;&lt;a href="http://2.bp.blogspot.com/_EtWpnuFRcjk/TFW3KfLhEaI/AAAAAAAADA0/34Z3ZYh9Naw/s1600/GoBoard.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://2.bp.blogspot.com/_EtWpnuFRcjk/TFW3KfLhEaI/AAAAAAAADA0/34Z3ZYh9Naw/s400/GoBoard.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;And I should show failures too. I had high hopes for a pen sketch, but it doesn't scan. :( I'm convinced it could work, though I think a more even contrast would need to be used.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;Ink Sketch:&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_EtWpnuFRcjk/TFW3IB_GGAI/AAAAAAAADAs/-3QdmkiZkO0/s1600/HandDrawn.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="400" src="http://2.bp.blogspot.com/_EtWpnuFRcjk/TFW3IB_GGAI/AAAAAAAADAs/-3QdmkiZkO0/s400/HandDrawn.jpg" width="390" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Except for the last, all of these scanned correctly for me using the &lt;a href="http://code.google.com/p/zxing/wiki/GetTheReader"&gt;ZXing Barcode Scanner&lt;/a&gt; 3.3 on my Android phone. Collage clip art included elements from&amp;nbsp;flicker users greekadman, bombardier.&amp;nbsp;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;[Edit:] A Link from the comments that shows a good 'natural media' example:&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, sans-serif; font-size: 11px; line-height: 17px;"&gt;&lt;a href="http://www.youtube.com/watch?v=M5lAT3gVzFc"&gt;http://www.youtube.com/watch?v=M5lAT3gVzFc&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8959356083618071167-2548303552491901309?l=beautifulpixels.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/BeautifulPixels?a=gForRo5a8Mc:9Of_nMLQYhk:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BeautifulPixels?i=gForRo5a8Mc:9Of_nMLQYhk:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BeautifulPixels?a=gForRo5a8Mc:9Of_nMLQYhk:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BeautifulPixels?i=gForRo5a8Mc:9Of_nMLQYhk:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BeautifulPixels?a=gForRo5a8Mc:9Of_nMLQYhk:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BeautifulPixels?i=gForRo5a8Mc:9Of_nMLQYhk:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/BeautifulPixels/~4/gForRo5a8Mc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://beautifulpixels.blogspot.com/feeds/2548303552491901309/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://beautifulpixels.blogspot.com/2010/08/qr-code-hacks-modifying-and-altering.html#comment-form" title="32 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8959356083618071167/posts/default/2548303552491901309?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8959356083618071167/posts/default/2548303552491901309?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BeautifulPixels/~3/gForRo5a8Mc/qr-code-hacks-modifying-and-altering.html" title="QR Code hacks: modifying and altering for artistic fun" /><author><name>Vincent Scheib</name><uri>https://profiles.google.com/117022097663427079142</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-ZIw9Jo6_Ag8/AAAAAAAAAAI/AAAAAAAAMLk/qZlGukmKBi8/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_EtWpnuFRcjk/TFjys3kkazI/AAAAAAAADBM/nvn8pG9BKxc/s72-c/QRCode.png" height="72" width="72" /><thr:total>32</thr:total><feedburner:origLink>http://beautifulpixels.blogspot.com/2010/08/qr-code-hacks-modifying-and-altering.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0ICQX09eip7ImA9WxFVFUo.&quot;"><id>tag:blogger.com,1999:blog-8959356083618071167.post-6494034766245234016</id><published>2010-06-14T22:26:00.000-07:00</published><updated>2010-06-14T22:26:00.362-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-06-14T22:26:00.362-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="_Articles" /><category scheme="http://www.blogger.com/atom/ns#" term="Game Development" /><title>Games for Infants</title><content type="html">&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_EtWpnuFRcjk/S_yxQ0S0OaI/AAAAAAAACVU/PvUZ56I5FOY/s1600/infant-game.GIF" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_EtWpnuFRcjk/S_yxQ0S0OaI/AAAAAAAACVU/PvUZ56I5FOY/s320/infant-game.GIF" /&gt;&lt;/a&gt;&lt;/div&gt;Games for infants. A noble cause. But they're tricky customers. And in the end, so easy to please.&lt;br /&gt;
&lt;br /&gt;
Once upon a time I thought, "I shall make a game for infants, it shall be easy and quick." So, I thought to myself, what do infants like to do? Whap their grasping tentacles at things. Yes, such as keyboards. And they like it when things do things, but they're not very sophisticated.. so simple reactions should be just fine.&lt;br /&gt;
&lt;br /&gt;
So, I sat down and made a simple program to change the color on the screen when keys were pressed.&lt;br /&gt;
&lt;br /&gt;
Fail.&lt;br /&gt;
&lt;br /&gt;
First, infants seem to like all buttons, especially the windows key, Alt key, etc. All sorts of ways to make an application loose focus. Second, they like to mash buttons. To grind them down. As if pinning the machine and asserting, "I AM YOUR MASTER!"&lt;br /&gt;
&lt;br /&gt;
So, let's see.. easy things first. Holding buttons down can change the color of the screen too. How about a key press causes a flash in green that fades away quickly, and the intensity of blue ramps up the longer you hold keys. Ok, working well, let's try it out. Ah, it works, but again, infant seems rather determined to exit the app, launch new applications, all sorts of not intended things.&lt;br /&gt;
&lt;br /&gt;
Most of a Saturday later, I've learned about windows hooks. How thoughtful of Microsoft to give me a way to catch and handle the key presses before Windows interprets them. I'd like to do this from C# and XNA, so that was a bit of searching and tinkering, but Bnoerj.Winshoked seems to work. Yeah, that works fairly well, gimme your kid again, lemme try.&lt;br /&gt;
&lt;br /&gt;
Fail.&lt;br /&gt;
&lt;br /&gt;
Yup, infants are dutiful testers, seems to reliably mess things up. How much time do I really want to spend on this? Let's try searching the Internet again... nope, nothing really good out there. Hmm, except... &lt;br /&gt;
&lt;br /&gt;
Ah-HA!&lt;br /&gt;
&lt;br /&gt;
Windows log-in screen should do nicely. If anything in windows can stand up to button mashing it'll be the log-in screen. Whap keys, see dots show up, hear beeping noises as the length limit is hit, that should entertain the kiddo. Give that a shot.&lt;br /&gt;
&lt;br /&gt;
Blue screen.&lt;br /&gt;
&lt;br /&gt;
Really? Had to have been a fluke. Try again. See, it works, happy kid. Blue screen.&lt;br /&gt;
&lt;br /&gt;
Hmm.&lt;br /&gt;
&lt;br /&gt;
Well, I've learned something. Why build a game when an infant can be entertained with just the log-in screen. And, how disconcerting is it that sustained mashing of keyboard keys can cause a blue screen?&lt;br /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8959356083618071167-6494034766245234016?l=beautifulpixels.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/BeautifulPixels?a=9JTbXTiPthA:6k_9jxXHyck:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BeautifulPixels?i=9JTbXTiPthA:6k_9jxXHyck:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BeautifulPixels?a=9JTbXTiPthA:6k_9jxXHyck:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BeautifulPixels?i=9JTbXTiPthA:6k_9jxXHyck:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BeautifulPixels?a=9JTbXTiPthA:6k_9jxXHyck:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BeautifulPixels?i=9JTbXTiPthA:6k_9jxXHyck:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/BeautifulPixels/~4/9JTbXTiPthA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://beautifulpixels.blogspot.com/feeds/6494034766245234016/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://beautifulpixels.blogspot.com/2010/06/games-for-infants.html#comment-form" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8959356083618071167/posts/default/6494034766245234016?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8959356083618071167/posts/default/6494034766245234016?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BeautifulPixels/~3/9JTbXTiPthA/games-for-infants.html" title="Games for Infants" /><author><name>Vincent Scheib</name><uri>https://profiles.google.com/117022097663427079142</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-ZIw9Jo6_Ag8/AAAAAAAAAAI/AAAAAAAAMLk/qZlGukmKBi8/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_EtWpnuFRcjk/S_yxQ0S0OaI/AAAAAAAACVU/PvUZ56I5FOY/s72-c/infant-game.GIF" height="72" width="72" /><thr:total>3</thr:total><feedburner:origLink>http://beautifulpixels.blogspot.com/2010/06/games-for-infants.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ck8HSHY8fSp7ImA9WxFXFkk.&quot;"><id>tag:blogger.com,1999:blog-8959356083618071167.post-627542087069619626</id><published>2010-05-23T11:25:00.003-07:00</published><updated>2010-05-23T11:53:59.875-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-05-23T11:53:59.875-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="_Articles" /><category scheme="http://www.blogger.com/atom/ns#" term="Graphics" /><title>HTML Canvas Lines Toy</title><content type="html">&lt;iframe frameborder="0" height="320" marginheight="0" marginwidth="0" scrolling="no" src="http://www.scheib.net/2010-05-22-Lines-HTML-Canvas/lines-08-embed1.html" width="320"&gt;&amp;lt;p&amp;gt;Error: No iframe support&amp;lt;/p&amp;gt;&lt;/iframe&gt;&lt;br /&gt;
&lt;br /&gt;
Karl Hillesland and I toyed around with the Canvas HTML/Javascript API this weekend. We remade an old program I noodled around with in highschool. The heart of it is just drawing lines between curves made with trig functions (the "offset" constants are continuously changing every frame via their own sin waves):&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&amp;nbsp;var x1 = Math.sin(2*Math.PI*(t+offsetInner1)*periods1x+offsetOuter1);&lt;br /&gt;
&amp;nbsp;var y1 = Math.cos(2*Math.PI*(t+offsetInner2)*periods1y+offsetOuter2);&lt;br /&gt;
&amp;nbsp;var x2 = Math.sin(2*Math.PI*(t+offsetInner3)*periods2x+offsetOuter3);&lt;br /&gt;
&amp;nbsp;var y2 = Math.cos(2*Math.PI*(t+offsetInner4)*periods2y+offsetOuter4);&lt;/span&gt;&lt;/span&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;// line from (x1,y1) to (x2,y2)&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;If you're using a browser that supports Canvas, you'll see it above. Internet Explorer doesn't support it as I'm writing this - so use Chrome or Firefox or ... wait for Microsoft to catch up.&lt;br /&gt;
&lt;br /&gt;
It's not exactly "done", but who knows if we'll clean it up. ;) If you'd like to experiment with it, here's a version with debug mode sliders you can drag around:&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://www.scheib.net/2010-05-22-Lines-HTML-Canvas/lines-07.html"&gt;&lt;b&gt;lines-07.html&lt;/b&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Changing the periods (last 4 options) results in very different effects.&lt;/li&gt;
&lt;li&gt;Use Chrome for slider input support - sliders are nice. Firefox just displays input boxes ;(.&lt;/li&gt;
&lt;li&gt;Resize your browser's width for the desired aspect ratio -- that page auto-letterboxes.&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;For sad people with no capable browser, here's a still image:&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_EtWpnuFRcjk/S_l3doz84CI/AAAAAAAACU0/4Mcn3Z0mscQ/s1600/lines.GIF" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_EtWpnuFRcjk/S_l3doz84CI/AAAAAAAACU0/4Mcn3Z0mscQ/s320/lines.GIF" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8959356083618071167-627542087069619626?l=beautifulpixels.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/BeautifulPixels?a=NcQVjqr-iGo:J-Vrrb-wJ7A:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BeautifulPixels?i=NcQVjqr-iGo:J-Vrrb-wJ7A:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BeautifulPixels?a=NcQVjqr-iGo:J-Vrrb-wJ7A:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BeautifulPixels?i=NcQVjqr-iGo:J-Vrrb-wJ7A:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BeautifulPixels?a=NcQVjqr-iGo:J-Vrrb-wJ7A:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BeautifulPixels?i=NcQVjqr-iGo:J-Vrrb-wJ7A:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/BeautifulPixels/~4/NcQVjqr-iGo" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://beautifulpixels.blogspot.com/feeds/627542087069619626/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://beautifulpixels.blogspot.com/2010/05/html-canvas-lines-toy.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8959356083618071167/posts/default/627542087069619626?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8959356083618071167/posts/default/627542087069619626?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BeautifulPixels/~3/NcQVjqr-iGo/html-canvas-lines-toy.html" title="HTML Canvas Lines Toy" /><author><name>Vincent Scheib</name><uri>https://profiles.google.com/117022097663427079142</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-ZIw9Jo6_Ag8/AAAAAAAAAAI/AAAAAAAAMLk/qZlGukmKBi8/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_EtWpnuFRcjk/S_l3doz84CI/AAAAAAAACU0/4Mcn3Z0mscQ/s72-c/lines.GIF" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://beautifulpixels.blogspot.com/2010/05/html-canvas-lines-toy.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUMGQX85cCp7ImA9WxBbF0Q.&quot;"><id>tag:blogger.com,1999:blog-8959356083618071167.post-1659278917192163162</id><published>2010-03-16T20:34:00.002-07:00</published><updated>2010-03-16T20:43:40.128-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-03-16T20:43:40.128-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="_Articles" /><category scheme="http://www.blogger.com/atom/ns#" term="Game Development" /><title>GDC 2010: Conference Report</title><content type="html">&lt;table&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: 16px; font-weight: bold;"&gt;Game Developers Conference 2010&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_EtWpnuFRcjk/S6BJjUWeW8I/AAAAAAAABzw/JDXwT2PYO7w/s1600-h/IMG_7065.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="195" src="http://2.bp.blogspot.com/_EtWpnuFRcjk/S6BJjUWeW8I/AAAAAAAABzw/JDXwT2PYO7w/s200/IMG_7065.jpg" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;b&gt;Real-world UV Texture Mapping of a Car.&amp;nbsp;Found on the side of a building just outside GDC.&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Arial, sans-serif, sans; font-size: 13px;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: medium;"&gt;&lt;span class="Apple-style-span" style="font-size: 15px;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Arial, sans-serif, sans; font-size: 13px;"&gt; &lt;span style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; text-decoration: none; vertical-align: baseline;"&gt;Themes&lt;/span&gt;&lt;span style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;ul&gt;&lt;li style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; list-style-type: disc; text-decoration: none; vertical-align: baseline;"&gt;&lt;span style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;Social Games&lt;/span&gt;&lt;/li&gt;

&lt;ul&gt;&lt;li style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; list-style-type: circle; text-decoration: none; vertical-align: baseline;"&gt;&lt;span style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;High growth area, many publishers and developers looking to take advantage of social games. Investors looking to... invest. Designers considering how to make their games more social. &lt;br /&gt;
Note: Social had a spectrum of meaning to people, from viral marketing games with little multiplayer, to games played with friends, or random strangers.&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;li style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; list-style-type: disc; text-decoration: none; vertical-align: baseline;"&gt;&lt;span style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;Indie Games&lt;/span&gt;&lt;/li&gt;

&lt;ul&gt;&lt;li style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; list-style-type: circle; text-decoration: none; vertical-align: baseline;"&gt;&lt;span style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;Indie games have established a significant movement now. They are becoming more influential, with significant number of sessions devoted to them, and references to them from non-indie.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;li style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; list-style-type: disc; text-decoration: none; vertical-align: baseline;"&gt;&lt;span style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;Digital Distribution&lt;/span&gt;&lt;/li&gt;

&lt;ul&gt;&lt;li style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; list-style-type: circle; text-decoration: none; vertical-align: baseline;"&gt;&lt;span style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;Major impact to publisher/developer relationships; enabling indie movement; changing design and productization strategies. Also requiring different marketing strategies. Also tied to social games and viral games.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;li style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; list-style-type: disc; text-decoration: none; vertical-align: baseline;"&gt;&lt;span style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;Design, Psychology, Achievements&lt;/span&gt;&lt;/li&gt;

&lt;ul&gt;&lt;li style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; list-style-type: circle; text-decoration: none; vertical-align: baseline;"&gt;&lt;span style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;Achievements discussed&amp;nbsp;often&amp;nbsp;(disliked). Common theme that designers need to understand psychology well to build successful games.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;li style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; list-style-type: disc; text-decoration: none; vertical-align: baseline;"&gt;&lt;span style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;Mobile / Android&lt;/span&gt;&lt;/li&gt;

&lt;ul&gt;&lt;li style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; list-style-type: circle; text-decoration: none; vertical-align: baseline;"&gt;&lt;span style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;Google distributed phones with 12 month service - Lots of buzz about this.&lt;/span&gt;&lt;/li&gt;
&lt;li style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; list-style-type: circle; text-decoration: none; vertical-align: baseline;"&gt;&lt;span style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;Unity announced Android support.&lt;/span&gt;&lt;/li&gt;
&lt;li style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; list-style-type: circle; text-decoration: none; vertical-align: baseline;"&gt;&lt;span style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;iPhone discussed in many sessions, but Apple wasn't courting developers.&lt;/span&gt;&lt;/li&gt;
&lt;li style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; list-style-type: circle; text-decoration: none; vertical-align: baseline;"&gt;&lt;span style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;Little to no mention of Microsoft.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;li style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; list-style-type: disc; text-decoration: none; vertical-align: baseline;"&gt;&lt;span style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;Cloud based Games&lt;/span&gt;&lt;/li&gt;

&lt;ul&gt;&lt;li style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; list-style-type: circle; text-decoration: none; vertical-align: baseline;"&gt;&lt;span style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;OnLive, Gaikai, and OToy are products announced to enter cloud serving of games (and apps) via compressed video to clients. They were news in 2009, in 2010 we will see some of these services ship (OnLive has a June 17 date).&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;li style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; list-style-type: disc; text-decoration: none; vertical-align: baseline;"&gt;&lt;span style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;Uncharted 2 drake's fortune (ps3 game)&lt;/span&gt;&lt;/li&gt;

&lt;ul&gt;&lt;li style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; list-style-type: circle; text-decoration: none; vertical-align: baseline;"&gt;&lt;span style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;Several sessions from Naughty Dog, well attended, represented the quality bar developers are after.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;li style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; list-style-type: disc; text-decoration: none; vertical-align: baseline;"&gt;&lt;span style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;Gamification&lt;/span&gt;&lt;/li&gt;

&lt;ul&gt;&lt;li style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; list-style-type: circle; text-decoration: none; vertical-align: baseline;"&gt;&lt;span style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;Companies are seeking to add “gameplay” to their products to succeed with the increasing adoption of games in culture. E.g. adding game aspects to taxes, health-care, or training.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/ul&gt;&lt;br /&gt;
&lt;span style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; text-decoration: none; vertical-align: baseline;"&gt;Android&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;Handing out hundreds of phones got Google attention. Developers felt that Android needs better games, that they’re a “killer-app”, and that iPhone’s successf is tightly linked with the app market and games.&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;iPhone sessions were well attended. Unity is a middleware engine offering iPhone support and is apparently quite successful by counting licenses sold. Unreal has been ported to iPhone.&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;Microsoft win 7 phones will run XNA games and silverlight, popular technologies among “small” game developers.&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Arial; font-size: medium;"&gt;&lt;span class="Apple-style-span" style="font-size: 15px;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; text-decoration: none; vertical-align: baseline;"&gt;Social &amp;amp; Facebook&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;Facebook and Zynga received much attention.&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;Facebook exposes the social graph to app developers for fun and profit -- to great commercial success for some of those developers. Much of this success is tied to the spamming / viral marketing done by these games. And most seemed to have you play with strangers, not friends. Facebook has changed the permissions for apps, which will reduce the previous spam methods, interesting to see how this affects games.&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Arial; font-size: 15px;"&gt;Asian markets have years of experience in monetizing virtual goods and building social games. These methods are of high interest now in western games. 2009 Asian market had $7 Billion in virtual goods, compared to ~ $500 Million of social games in western markets just starting to move towards virtual goods or social monitization.&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Arial; font-size: 15px;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_EtWpnuFRcjk/S6BJmPhO1_I/AAAAAAAABz4/r8tnsqq6RwQ/s1600-h/IMG_7068.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_EtWpnuFRcjk/S6BJmPhO1_I/AAAAAAAABz4/r8tnsqq6RwQ/s320/IMG_7068.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; text-decoration: none; vertical-align: baseline;"&gt;Notes From the Expo Floor&lt;/span&gt;&lt;span style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;&lt;/span&gt;&lt;br /&gt;
&lt;ul&gt;&lt;li style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; list-style-type: disc; text-decoration: none; vertical-align: baseline;"&gt;Human Hamster Ball demoed, allowing Virtual Reality with walking in any direction. Single user enters large plastic ball through access hatch. Ball is on wheels, and tracks movement. User wears VR headset. Targeting instalation at entertainment venues, malls, etc.&lt;/li&gt;
&lt;li style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; list-style-type: disc; text-decoration: none; vertical-align: baseline;"&gt;Mono will ship full compatibility with C# 4.0 when Microsoft does&lt;/li&gt;
&lt;li style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; list-style-type: disc; text-decoration: none; vertical-align: baseline;"&gt;&lt;span style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;Sony’s WiiMote competitor, “Move”. A combination of accelerometers, gyroscopes, and optical tracking makes this “WiiMote with a light bulb on the end” very accurate for location tracking. It’s still very poor for pointing at the screen (worse than WiiMote?), and rather laggy, maybe .1 second of lag or more. The need to be in the EyeToy web-camera view frustum will also limit the use of this device.&lt;/span&gt;&lt;/li&gt;
&lt;li style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; list-style-type: disc; text-decoration: none; vertical-align: baseline;"&gt;&lt;span style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;There was a great eye tracker that worked from 6 feet away, just sit in a chair and it finds you.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;
&lt;span style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; text-decoration: none; vertical-align: baseline;"&gt;Presentations&lt;/span&gt;&lt;br /&gt;
&lt;ul&gt;&lt;li style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; list-style-type: disc; text-decoration: none; vertical-align: baseline;"&gt;&lt;span style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; text-decoration: none; vertical-align: baseline;"&gt;Indies and Publishers: Fixing a System That Never Worked&lt;/span&gt;&lt;/li&gt;

&lt;ul&gt;&lt;li style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; list-style-type: circle; text-decoration: none; vertical-align: baseline;"&gt;&lt;span style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;Ron Carmel (2D Boy) discussed 2 main points: The classic model of publishers doesn't seem relevant with digital distribution, and the remaining need is just funding. Cue introducing the&lt;/span&gt;&lt;a href="http://www.indie-fund.com/"&gt;&lt;span style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;&lt;/span&gt;&lt;span style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline;"&gt;Indie Fund&lt;/span&gt;&lt;/a&gt;&lt;span style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;. There weren’t any new details on that. There were some tidbits of World of Goo costing $120,000 and Braid $180,000.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; list-style-type: disc; text-decoration: none; vertical-align: baseline;"&gt;&lt;span style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; text-decoration: none; vertical-align: baseline;"&gt;Case Studies: AI in Recent Games&lt;/span&gt;&lt;span style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;&lt;/span&gt;&lt;/li&gt;

&lt;ul&gt;&lt;li style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; list-style-type: circle; text-decoration: none; vertical-align: baseline;"&gt;&lt;span style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;My takeaway was that the future of AI is in handling specialized cases without requiring explicit coding to set them up. That calls for generative AI instead of just expert systems. With online games pouring in huge amounts of human game play data, there's good opportunity for training AI.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;li style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; list-style-type: disc; text-decoration: none; vertical-align: baseline;"&gt;&lt;span style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; text-decoration: none; vertical-align: baseline;"&gt;The State of Social Gaming: Industry Overview and Update&lt;/span&gt;&lt;span style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;&lt;/span&gt;&lt;/li&gt;

&lt;ul&gt;&lt;li style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; list-style-type: circle; text-decoration: none; vertical-align: baseline;"&gt;&lt;span style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;More (mostly for a fee) info at http://insidenetwork.com&lt;/span&gt;&lt;/li&gt;
&lt;li style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; list-style-type: circle; text-decoration: none; vertical-align: baseline;"&gt;&lt;span style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;Asia had $7 Billion in virtual goods business in 2009. In the West social games are growing fast, but still only $.5 Billion last year.&lt;/span&gt;&lt;/li&gt;
&lt;li style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; list-style-type: circle; text-decoration: none; vertical-align: baseline;"&gt;&lt;span style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;Zynga is over 700 employees now, and is overtaking Facebook in headcount! (Oh, and $200 Million for them last year)&lt;/span&gt;&lt;/li&gt;
&lt;li style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; list-style-type: circle; text-decoration: none; vertical-align: baseline;"&gt;&lt;span style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;Facebook will be introducing their own currency "Facebook Credits", but with a 30% tax.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;li style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; list-style-type: disc; text-decoration: none; vertical-align: baseline;"&gt;&lt;span style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; text-decoration: none; vertical-align: baseline;"&gt;Bringing UE3 to Apple's iPhone Platform&lt;/span&gt;&lt;/li&gt;

&lt;ul&gt;&lt;li style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; list-style-type: circle; text-decoration: none; vertical-align: baseline;"&gt;&lt;span style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;They moved as much of the build to Windows as possible, running commands on the mac over PuTTY.&lt;/span&gt;&lt;/li&gt;
&lt;li style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; list-style-type: circle; text-decoration: none; vertical-align: baseline;"&gt;&lt;span style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;Executables still in “teens” of megabytes.&lt;/span&gt;&lt;/li&gt;
&lt;li style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; list-style-type: circle; text-decoration: none; vertical-align: baseline;"&gt;&lt;span style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;Materials are rendered offline and only a small set of shaders used at runtime. This is due to required compiling of shaders at runtime, and memory constraints making multi-texture materials too costly.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;li style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; list-style-type: disc; text-decoration: none; vertical-align: baseline;"&gt;&lt;span style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; text-decoration: none; vertical-align: baseline;"&gt;Advanced Visual Effects ... [Full day session]&lt;/span&gt;&lt;/li&gt;

&lt;ul&gt;&lt;li style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; list-style-type: circle; text-decoration: none; vertical-align: baseline;"&gt;&lt;span style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; text-decoration: none; vertical-align: baseline;"&gt;Order Independent Transparency (AMD)&lt;/span&gt;&lt;/li&gt;

&lt;ul&gt;&lt;li style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; list-style-type: square; text-decoration: none; vertical-align: baseline;"&gt;&lt;span style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;The framebuffer is simply a list of linked-list targets per pixel, and another buffer is used to store many samples. There is a demo released 2009 that shows this. Multisampling of course is an issue, and it’s clearly an expensive effect and requires guessing how many transparent fragments you’ll need to store.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;li style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; list-style-type: circle; text-decoration: none; vertical-align: baseline;"&gt;&lt;span style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; text-decoration: none; vertical-align: baseline;"&gt;[Indirect lighting with blockers]&lt;/span&gt;&lt;/li&gt;

&lt;ul&gt;&lt;li style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; list-style-type: square; text-decoration: none; vertical-align: baseline;"&gt;&lt;span style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;Linked lists used again, sourcing from a 3D grid of the entire scene to look up blockers of indirect light used with reflective shadow mapping.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/ul&gt;
&lt;li style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; list-style-type: disc; text-decoration: none; vertical-align: baseline;"&gt;&lt;span style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; text-decoration: none; vertical-align: baseline;"&gt;V-Con 2010: David Perry Keynote&lt;/span&gt;&lt;/li&gt;

&lt;ul&gt;&lt;li style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; list-style-type: circle; text-decoration: none; vertical-align: baseline;"&gt;&lt;span style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;Dave convinced me that the critical feature from cloud streaming services such as Gaikai, OnLive, and O-Toy will be frictionless entry. How many clicks does it take to get someone a demo of your game? Gaikai will do it in 1. Just 1 click and you're in the demo.&lt;/span&gt;&lt;/li&gt;
&lt;li style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; list-style-type: circle; text-decoration: none; vertical-align: baseline;"&gt;&lt;span style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;Gaikai is targeting 300 data centers, he claims OnLive 5, and OToy 2&lt;/span&gt;&lt;/li&gt;
&lt;li style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; list-style-type: circle; text-decoration: none; vertical-align: baseline;"&gt;&lt;span style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;WOW takes 30+ clicks to enter into gameplay. ;) Multiple EULAs.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;li style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; list-style-type: disc; text-decoration: none; vertical-align: baseline;"&gt;&lt;span style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; text-decoration: none; vertical-align: baseline;"&gt;Designing for Performance, Scalability &amp;amp; Reliability: StarCraft II's Approach&lt;/span&gt;&lt;/li&gt;

&lt;ul&gt;&lt;li style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; list-style-type: circle; text-decoration: none; vertical-align: baseline;"&gt;&lt;span style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;Starcraft scalability and perf discussed how they felt custom built profiling tools were necessary. They did have nice features:&lt;/span&gt;&lt;/li&gt;

&lt;ul&gt;&lt;li style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; list-style-type: square; text-decoration: none; vertical-align: baseline;"&gt;&lt;span style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;Historical frame perf data&lt;/span&gt;&lt;/li&gt;
&lt;li style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; list-style-type: square; text-decoration: none; vertical-align: baseline;"&gt;&lt;span style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;Single button press to sent data to engineers from QA&lt;/span&gt;&lt;/li&gt;
&lt;li style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; list-style-type: square; text-decoration: none; vertical-align: baseline;"&gt;&lt;span style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;Butterfly view for CPU time &amp;amp; Memory too&lt;/span&gt;&lt;/li&gt;
&lt;li style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; list-style-type: square; text-decoration: none; vertical-align: baseline;"&gt;&lt;span style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;Post game results with worst frames sorted out and worst “moments” spanning multiple frames.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/ul&gt;
&lt;li style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; list-style-type: disc; text-decoration: none; vertical-align: baseline;"&gt;&lt;span style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; text-decoration: none; vertical-align: baseline;"&gt;Data is a Four Letter Word [Brutal Legend]&lt;/span&gt;&lt;/li&gt;

&lt;ul&gt;&lt;li style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; list-style-type: circle; text-decoration: none; vertical-align: baseline;"&gt;&lt;span style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;They built directed graphs for data dependencies offline. These were processed into indices that could easily locate the needed assets. They were also used to build disk layout information to reduce seek times.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;li style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; list-style-type: disc; text-decoration: none; vertical-align: baseline;"&gt;&lt;span style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; text-decoration: none; vertical-align: baseline;"&gt;Physics Meets Animation : Character Stunts in Just Cause 2&lt;/span&gt;&lt;/li&gt;

&lt;ul&gt;&lt;li style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; list-style-type: circle; text-decoration: none; vertical-align: baseline;"&gt;&lt;span style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;They have highly coupled physics, character movement from animation and gameplay code, and IK. The results looked good, but also very delicate to work with. Some tidbits:&lt;/span&gt;&lt;/li&gt;

&lt;ul&gt;&lt;li style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; list-style-type: square; text-decoration: none; vertical-align: baseline;"&gt;&lt;span style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;Start with gameplay code driven movement of character&lt;/span&gt;&lt;/li&gt;
&lt;li style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; list-style-type: square; text-decoration: none; vertical-align: baseline;"&gt;&lt;span style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;Use physical simulation data to drive blending of animation tracks (e.g. rotational acceleration of car influences “hang on leaning left” blend weight)&lt;/span&gt;&lt;/li&gt;
&lt;li style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; list-style-type: square; text-decoration: none; vertical-align: baseline;"&gt;&lt;span style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;Use ragdolls to add physicality to animations&lt;/span&gt;&lt;/li&gt;
&lt;li style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; list-style-type: square; text-decoration: none; vertical-align: baseline;"&gt;&lt;span style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;Use IK to correct everything that went wrong. ;)&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/ul&gt;
&lt;li style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; list-style-type: disc; text-decoration: none; vertical-align: baseline;"&gt;&lt;span style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; text-decoration: none; vertical-align: baseline;"&gt;GDC Microtalks 2010&lt;/span&gt;&lt;/li&gt;

&lt;ul&gt;&lt;li style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; list-style-type: circle; text-decoration: none; vertical-align: baseline;"&gt;&lt;span style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;Many speakers, mostly touching on design elements. A good view on GDCVault if you’d like a bit of inspiration.&lt;/span&gt;&lt;/li&gt;
&lt;li style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; list-style-type: circle; text-decoration: none; vertical-align: baseline;"&gt;&lt;span style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;Random data: TV Ads have gone from 13% to 36% of programming time over the last 60 years.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;li style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; list-style-type: disc; text-decoration: none; vertical-align: baseline;"&gt;&lt;span style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; text-decoration: none; vertical-align: baseline;"&gt;Nuevo Sessions&lt;/span&gt;&lt;/li&gt;

&lt;ul&gt;&lt;li style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; list-style-type: circle; text-decoration: none; vertical-align: baseline;"&gt;&lt;span style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;Several indie developers discussing their games&lt;/span&gt;&lt;/li&gt;
&lt;li style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; list-style-type: circle; text-decoration: none; vertical-align: baseline;"&gt;&lt;span style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;Hazard - Artsie First Person (non)shooter. Heavily abstract and metaphor puzzle based&lt;/span&gt;&lt;/li&gt;
&lt;li style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; list-style-type: circle; text-decoration: none; vertical-align: baseline;"&gt;&lt;span style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;Interesting to see on GDCVault if you’re interested in indie games.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;li style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; list-style-type: disc; text-decoration: none; vertical-align: baseline;"&gt;&lt;span style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; text-decoration: none; vertical-align: baseline;"&gt;The Implementation of Rewind in Braid&lt;/span&gt;&lt;/li&gt;

&lt;ul&gt;&lt;li style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; list-style-type: circle; text-decoration: none; vertical-align: baseline;"&gt;&lt;span style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;Encoding similar to video:&lt;/span&gt;&lt;/li&gt;

&lt;ul&gt;&lt;li style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; list-style-type: square; text-decoration: none; vertical-align: baseline;"&gt;&lt;span style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;initial state&lt;/span&gt;&lt;/li&gt;
&lt;li style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; list-style-type: square; text-decoration: none; vertical-align: baseline;"&gt;&lt;span style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;key frames&lt;/span&gt;&lt;/li&gt;
&lt;li style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; list-style-type: square; text-decoration: none; vertical-align: baseline;"&gt;&lt;span style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;delta frames&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/ul&gt;
&lt;li style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; list-style-type: disc; text-decoration: none; vertical-align: baseline;"&gt;&lt;span style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; text-decoration: none; vertical-align: baseline;"&gt;Animation and Player Control in Uncharted: ...&lt;/span&gt;&lt;/li&gt;

&lt;ul&gt;&lt;li style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; list-style-type: circle; text-decoration: none; vertical-align: baseline;"&gt;&lt;span style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;Strong use of blending and layering to achieve desired effects, but primarily to reduce memory.&lt;/span&gt;&lt;/li&gt;
&lt;li style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; list-style-type: circle; text-decoration: none; vertical-align: baseline;"&gt;&lt;span style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;3000 to 4000 animations for main character in a given level.&lt;/span&gt;&lt;/li&gt;

&lt;ul&gt;&lt;li style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; list-style-type: square; text-decoration: none; vertical-align: baseline;"&gt;&lt;span style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;20%-40% level data is animation, 15-30MB&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;li style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; list-style-type: circle; text-decoration: none; vertical-align: baseline;"&gt;&lt;span style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;10Hz sampled animation data (except where artist overridden). Engine runs at 30FPS.&lt;/span&gt;&lt;/li&gt;
&lt;li style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; list-style-type: circle; text-decoration: none; vertical-align: baseline;"&gt;&lt;span style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;Additive animation layers, partial animation sets, pose based root animations.&lt;/span&gt;&lt;/li&gt;

&lt;ul&gt;&lt;li style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; list-style-type: square; text-decoration: none; vertical-align: baseline;"&gt;&lt;span style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;E.g. one idle animation that is additively blended onto simple standing poses, those poses can easily be changed to have new idle effects.&lt;/span&gt;&lt;/li&gt;
&lt;li style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; list-style-type: square; text-decoration: none; vertical-align: baseline;"&gt;&lt;span style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;Variation animation 10 times as long as most run cycles adds variation to different runs etc and can be reused to give lots of variation.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;li style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; list-style-type: circle; text-decoration: none; vertical-align: baseline;"&gt;&lt;span style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;Mixture of gameplay code driven movement and animation data movement, IK.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;li style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; list-style-type: disc; text-decoration: none; vertical-align: baseline;"&gt;&lt;span style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; text-decoration: none; vertical-align: baseline;"&gt;Metaphysics of Game Design - Will Wright&lt;/span&gt;&lt;/li&gt;

&lt;ul&gt;&lt;li style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; list-style-type: circle; text-decoration: none; vertical-align: baseline;"&gt;&lt;span style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;(unannounced presentation by Will Wright)&lt;/span&gt;&lt;/li&gt;
&lt;li style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; list-style-type: circle; text-decoration: none; vertical-align: baseline;"&gt;&lt;span style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;Will packed a dense and sprawling presentation into the hour. It’s not really summizable into a few points.&lt;/span&gt;&lt;/li&gt;
&lt;li style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; list-style-type: circle; text-decoration: none; vertical-align: baseline;"&gt;&lt;span style="color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"&gt;You’re best to seek video on GDCVault - it’s a treat.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/ul&gt;&lt;ul&gt;&lt;ul&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8959356083618071167-1659278917192163162?l=beautifulpixels.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/BeautifulPixels?a=fAUTDffaHQI:YQmG8Kdr9nA:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BeautifulPixels?i=fAUTDffaHQI:YQmG8Kdr9nA:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BeautifulPixels?a=fAUTDffaHQI:YQmG8Kdr9nA:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BeautifulPixels?i=fAUTDffaHQI:YQmG8Kdr9nA:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BeautifulPixels?a=fAUTDffaHQI:YQmG8Kdr9nA:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BeautifulPixels?i=fAUTDffaHQI:YQmG8Kdr9nA:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/BeautifulPixels/~4/fAUTDffaHQI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://beautifulpixels.blogspot.com/feeds/1659278917192163162/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://beautifulpixels.blogspot.com/2010/03/gdc-2010-conference-report.html#comment-form" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8959356083618071167/posts/default/1659278917192163162?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8959356083618071167/posts/default/1659278917192163162?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BeautifulPixels/~3/fAUTDffaHQI/gdc-2010-conference-report.html" title="GDC 2010: Conference Report" /><author><name>Vincent Scheib</name><uri>https://profiles.google.com/117022097663427079142</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-ZIw9Jo6_Ag8/AAAAAAAAAAI/AAAAAAAAMLk/qZlGukmKBi8/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_EtWpnuFRcjk/S6BJjUWeW8I/AAAAAAAABzw/JDXwT2PYO7w/s72-c/IMG_7065.jpg" height="72" width="72" /><thr:total>2</thr:total><feedburner:origLink>http://beautifulpixels.blogspot.com/2010/03/gdc-2010-conference-report.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0cNQH07eip7ImA9WxBbEU0.&quot;"><id>tag:blogger.com,1999:blog-8959356083618071167.post-4872260441155749589</id><published>2010-03-08T18:15:00.001-08:00</published><updated>2010-03-08T18:18:11.302-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-03-08T18:18:11.302-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Game Development" /><category scheme="http://www.blogger.com/atom/ns#" term="_News" /><title>GDC 2010 - What to attend?</title><content type="html">&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://www.google.com/calendar/embed?src=google.com_vidi98up7le8s2bor80jd8hmh8%40group.calendar.google.com&amp;ctz=America/Los_Angeles" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="214" src="http://1.bp.blogspot.com/_EtWpnuFRcjk/S5Wt6RuoiJI/AAAAAAAABzI/E3e6pCimt4o/s320/GDCcal.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;Time for Game Developers Conference! I'm attending sessions, which I haven't done for years when working the show. If you have any session suggestions, please comment! Here are the &lt;a href="http://www.google.com/calendar/embed?src=google.com_vidi98up7le8s2bor80jd8hmh8%40group.calendar.google.com&amp;ctz=America/Los_Angeles"&gt;GDC sessions that look interesting&lt;/a&gt; to me so far.&lt;br /&gt;
&lt;br /&gt;
I'll probably post notes from GDC to &lt;a href="http://scatteredpixels.blogspot.com/"&gt;Scattered Pixels&lt;/a&gt;, we'll see if I have time for a post conference report here... ;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8959356083618071167-4872260441155749589?l=beautifulpixels.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/BeautifulPixels?a=hASyHpA50jA:FnPskMvtiOI:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BeautifulPixels?i=hASyHpA50jA:FnPskMvtiOI:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BeautifulPixels?a=hASyHpA50jA:FnPskMvtiOI:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BeautifulPixels?i=hASyHpA50jA:FnPskMvtiOI:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BeautifulPixels?a=hASyHpA50jA:FnPskMvtiOI:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BeautifulPixels?i=hASyHpA50jA:FnPskMvtiOI:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/BeautifulPixels/~4/hASyHpA50jA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://beautifulpixels.blogspot.com/feeds/4872260441155749589/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://beautifulpixels.blogspot.com/2010/03/gdc-2010-what-to-attend.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8959356083618071167/posts/default/4872260441155749589?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8959356083618071167/posts/default/4872260441155749589?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BeautifulPixels/~3/hASyHpA50jA/gdc-2010-what-to-attend.html" title="GDC 2010 - What to attend?" /><author><name>Vincent Scheib</name><uri>https://profiles.google.com/117022097663427079142</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh6.googleusercontent.com/-ZIw9Jo6_Ag8/AAAAAAAAAAI/AAAAAAAAMLk/qZlGukmKBi8/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_EtWpnuFRcjk/S5Wt6RuoiJI/AAAAAAAABzI/E3e6pCimt4o/s72-c/GDCcal.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://beautifulpixels.blogspot.com/2010/03/gdc-2010-what-to-attend.html</feedburner:origLink></entry></feed>

