<?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:blogger="http://schemas.google.com/blogger/2008" 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;DUMDRX0_cSp7ImA9WhBQF04.&quot;"><id>tag:blogger.com,1999:blog-8959356083618071167</id><updated>2013-03-19T16:57:54.349-07: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="Pointer Lock" /><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" /><category term="WebTech" /><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://plus.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/AAAAAAAAtCU/16iOgxta5OE/s512-c/photo.jpg" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>101</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;CUcNRnsyfCp7ImA9WhBQF04.&quot;"><id>tag:blogger.com,1999:blog-8959356083618071167.post-412612353823824223</id><published>2013-03-19T15:44:00.000-07:00</published><updated>2013-03-19T15:44:57.594-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-03-19T15:44:57.594-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="_Articles" /><category scheme="http://www.blogger.com/atom/ns#" term="WebTech" /><category scheme="http://www.blogger.com/atom/ns#" term="Game Development" /><category scheme="http://www.blogger.com/atom/ns#" term="Google" /><title>GDC Sessions for HTML5 games on web and mobile</title><content type="html">&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/-sT1_WKG_Qpw/UUjhf7V5hJI/AAAAAAAA7nI/7yu4fzulWQw/s1600/gdc13.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="144" src="http://4.bp.blogspot.com/-sT1_WKG_Qpw/UUjhf7V5hJI/AAAAAAAA7nI/7yu4fzulWQw/s320/gdc13.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
GDC sessions that caught my eye related to building games on web tech:&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://schedule2013.gdconf.com/session-id/824263" target="_blank"&gt;Native Apps? With HTML5? Yes You Can! (Presented by Google)&lt;/a&gt;&lt;br /&gt;
&lt;i&gt;Joe Marini &amp;nbsp;| &amp;nbsp;Developer Advocate, &lt;b&gt;Google&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;
... Chrome Packaged Apps platform allows the creation of native app experiences using HTML5 technologies that work offline by default, have access to native platform features, and can run across a variety of operating systems.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://schedule2013.gdconf.com/session-id/824220" target="_blank"&gt;﻿Fast and Awesome HTML5 Games (Presented by Mozilla)&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;Vladimir Vukicevic &amp;nbsp;| &amp;nbsp;Engineering Director, &lt;b&gt;Mozilla&lt;/b&gt; Corporation&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;Alon Zakai &amp;nbsp;| &amp;nbsp;Senior Researcher, &lt;b&gt;Mozilla&lt;/b&gt; Corporation&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
... JavaScript tooling and execution allow near-native-code speeds. Combined with standards such as WebGL, Web Audio, and the rest of the HTML5 stack, the modern web is emerging as a platform for high-quality games ...&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://schedule2013.gdconf.com/session-id/822672" target="_blank"&gt;Multiplatform C++ on The Web with Emscripten&lt;/a&gt;&lt;br /&gt;
&lt;i&gt;Chad Austin &amp;nbsp;| &amp;nbsp;Technical Director, &lt;b&gt;IMVU&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;
Emscripten is a compiler of LLVM bitcode into JavaScript. With Emscripten, programs written in C++ can run straight from your web browser, and no plug-ins are required. ... why IMVU has chosen Emscripten as part of its multi-platform engine strategy ...&lt;br /&gt;
&lt;i&gt;(Tragically, a time conflict with 'Fast and Awesome HTML5 Games' by Mozilla, which overlaps content wise)!&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://schedule2013.gdconf.com/session-id/824119" target="_blank"&gt;Nintendo Wii U Application Development with HTML and JavaScript&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;Ryan Lynd &amp;nbsp;| &amp;nbsp;Senior Software Engineer (NST), &lt;b&gt;Nintendo&lt;/b&gt; Software Technology&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;Kevin McCullough &amp;nbsp;| &amp;nbsp;Software Engineer, &lt;b&gt;Nintendo&lt;/b&gt; of America&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;Takeshi Shimada &amp;nbsp;| &amp;nbsp;Deputy General Manager, Software Environment Development&amp;nbsp;&lt;/i&gt;&lt;br /&gt;
... HTML and JavaScript have empowered a whole new wave of developers that have previously been excluded from Nintendo console development - until now! This session will introduce a new way of rapidly developing Wii U applications that takes full advantage of unique Wii U features while reducing development times significantly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://schedule2013.gdconf.com/session-id/824244" target="_blank"&gt;Game Development with Google Cloud Platform (Presented by Google)&lt;/a&gt;&lt;br /&gt;
&lt;div&gt;
&lt;div&gt;
&lt;i&gt;Yanick Belanger &amp;nbsp;| &amp;nbsp;Server Architecture Lead,&lt;b&gt; Electronic Arts&lt;/b&gt;&lt;/i&gt;&lt;/div&gt;
&lt;div&gt;
&lt;i&gt;Ryan Boyd &amp;nbsp;| &amp;nbsp;Developer Advocate, &lt;b&gt;Google&lt;/b&gt;&lt;/i&gt;&lt;/div&gt;
&lt;div&gt;
&lt;i&gt;Chris Elliott &amp;nbsp;| &amp;nbsp;Solutions Architect, &lt;b&gt;Google&lt;/b&gt;&lt;/i&gt;&lt;/div&gt;
&lt;div&gt;
&lt;i&gt;Dan Holevoet &amp;nbsp;| &amp;nbsp;Developer Programs Engineer, &lt;b&gt;Google&lt;/b&gt;&lt;/i&gt;&lt;/div&gt;
&lt;div&gt;
&lt;i&gt;Momchil Kyurkchiev &amp;nbsp;| &amp;nbsp;CEO, &lt;b&gt;Leanplum&lt;/b&gt;&lt;/i&gt;&lt;/div&gt;
&lt;div&gt;
&lt;i&gt;Michael Manoochehri &amp;nbsp;| &amp;nbsp;Developer Programs Engineer, &lt;b&gt;Google&lt;/b&gt;&lt;/i&gt;&lt;/div&gt;
&lt;div&gt;
&lt;i&gt;Luca Martinetti &amp;nbsp;| &amp;nbsp;Founder and CTO, &lt;b&gt;Staq&lt;/b&gt; Inc.&lt;/i&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
Google Cloud Platform provides everything you need to build, run, and scale social, mobile, and online games. Already, tens of thousands of popular applications like SongPop, Angry Birds, SnapChat, and Legend of Monsters ...&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;a href="http://schedule2013.gdconf.com/session-id/824373" target="_blank"&gt;Supercharge Your Game With YouTube (Presented by YouTube)&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;Satyajeet Salgar &amp;nbsp;| &amp;nbsp;Product Manager, &lt;b&gt;YouTube&lt;/b&gt; Live &amp;amp; Sports&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;Ibrahim Ulukaya &amp;nbsp;| &amp;nbsp;Developer Programs Engineer, &lt;b&gt;YouTube&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;Jarek Wilkiewicz &amp;nbsp;| &amp;nbsp;Developer Advocate, &lt;b&gt;YouTube&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;
... By integrating your game with YouTube, you can share rich and authentic game experiences that are more likely to convert viewers into gamers than any other medium. In this session, we will highlight integration examples and best practices with special focus on mobile. We will also give you a sneak peek at our latest live streaming platform APIs. ...&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://schedule2013.gdconf.com/session-id/824374" target="_blank"&gt;HTML5 Cross-Platform Game Development: The Future is Today (Presented by Ludei)&lt;/a&gt;&lt;br /&gt;
&lt;i&gt;Ibon Tolosana &amp;nbsp;| &amp;nbsp;CTO, &lt;b&gt;Ludei&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;
HTML5 is finally ready for cross-platform game development. We'll explain best practices for HTML5 game development, case studies and how to overcome issues to make HTML5 games work.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://schedule2013.gdconf.com/session-id/822458" target="_blank"&gt;Rapid Development of High Performance Games for Mobile and Web&lt;/a&gt;&lt;br /&gt;
&lt;i&gt;Ricardo Quesada &amp;nbsp;| &amp;nbsp;Software Architect, &lt;b&gt;Zynga&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;
This talk will be about the cocos2d JS, a complete toolchain for developing multi-platform games for both the Web and Mobile, which goes all the way from rapid prototyping to a finished high performing game. There are three main components: a game engine (cocos2d), a physics engine (Chipmunk), and a visual editor (CocosBuilder). For the web, no plugins are required. For mobile, it uses JavaScript bindings for the C/C++ version of cocos2d and Chipmunk, and achieves a performance 10 times faster than other JS engines/JS accelerators. ...&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://schedule2013.gdconf.com/session-id/823991" target="_blank"&gt;HTML5 Audio: Coming to a Mobile Game Near You!&lt;/a&gt;&lt;br /&gt;
&lt;i&gt;Jory Prum &amp;nbsp;| &amp;nbsp;Sound Guy, studio.jory.org&lt;/i&gt;&lt;br /&gt;
... possibilities the new Web Audio API enables audio developers when building games for the web. ... With the adoption of the new W3C's new Web Audio API (available in Chrome, Safari, and iOS 6), tremendous possibilities exist, ranging from simple audio playback to object- and event-triggered audio. There are advanced filtering and reverb capabilities built in, 3D positional panning, and all available with extremely low latency. ...&lt;br /&gt;
&lt;br /&gt;
Have fun at GDC!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/BeautifulPixels?a=RfbSAqUglNo:N4KlWqgRIJ4:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BeautifulPixels?i=RfbSAqUglNo:N4KlWqgRIJ4:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BeautifulPixels?a=RfbSAqUglNo:N4KlWqgRIJ4:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BeautifulPixels?i=RfbSAqUglNo:N4KlWqgRIJ4:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BeautifulPixels?a=RfbSAqUglNo:N4KlWqgRIJ4:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BeautifulPixels?i=RfbSAqUglNo:N4KlWqgRIJ4:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/BeautifulPixels/~4/RfbSAqUglNo" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://beautifulpixels.blogspot.com/feeds/412612353823824223/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://beautifulpixels.blogspot.com/2013/03/gdc-sessions-for-html5-games-on-web-and.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8959356083618071167/posts/default/412612353823824223?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8959356083618071167/posts/default/412612353823824223?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BeautifulPixels/~3/RfbSAqUglNo/gdc-sessions-for-html5-games-on-web-and.html" title="GDC Sessions for HTML5 games on web and mobile" /><author><name>Vincent Scheib</name><uri>https://plus.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/AAAAAAAAtCU/16iOgxta5OE/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-sT1_WKG_Qpw/UUjhf7V5hJI/AAAAAAAA7nI/7yu4fzulWQw/s72-c/gdc13.png" height="72" width="72" /><thr:total>1</thr:total><feedburner:origLink>http://beautifulpixels.blogspot.com/2013/03/gdc-sessions-for-html5-games-on-web-and.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUcCSXoyfip7ImA9WhBQF04.&quot;"><id>tag:blogger.com,1999:blog-8959356083618071167.post-2763947683869559637</id><published>2013-03-12T11:43:00.001-07:00</published><updated>2013-03-19T15:44:28.496-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-03-19T15:44:28.496-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="Chrome" /><title>Chrome's FPS Histogram</title><content type="html">&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/-SRNfdKrOwLo/UMJ6YhMlNPI/AAAAAAAAc3I/e3Rf4ns5A1c/s1600/fps-histogram.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="250" src="http://4.bp.blogspot.com/-SRNfdKrOwLo/UMJ6YhMlNPI/AAAAAAAAc3I/e3Rf4ns5A1c/s320/fps-histogram.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
Eberhard Gräther has improved the FPS meter in Chrome. I particularly like the histogram added on the right hand side. It allows you to easily see how long your frames are taking, and if your frame rate is bouncing around between different values.&lt;br /&gt;
&lt;br /&gt;
You can check it out by&lt;br /&gt;
&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;Opening up Chrome's developer tools (3 bar menu in upper right, Tools, Developer Tools)&lt;/li&gt;
&lt;li&gt;Opening up the options (gear menu in bottom right)&lt;/li&gt;
&lt;li&gt;Enabling 'Show FPS Meter' in the rendering section.&lt;/li&gt;
&lt;/ol&gt;
&lt;br /&gt;
Or, in about:flags you can enable it always.&lt;br /&gt;
&lt;br /&gt;
It's handy to see, e.g. when you are missing some frames and oscillating&amp;nbsp;between 30 and 60fps:&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/-zgvQAY4PoK4/UT-X5NQCPMI/AAAAAAAA7dg/pi4f6DgSOUo/s1600/FPS-bouncing.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-zgvQAY4PoK4/UT-X5NQCPMI/AAAAAAAA7dg/pi4f6DgSOUo/s1600/FPS-bouncing.png" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/BeautifulPixels?a=XKHO3hOL9vc:-YUU-ne9SEM:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BeautifulPixels?i=XKHO3hOL9vc:-YUU-ne9SEM:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BeautifulPixels?a=XKHO3hOL9vc:-YUU-ne9SEM:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BeautifulPixels?i=XKHO3hOL9vc:-YUU-ne9SEM:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BeautifulPixels?a=XKHO3hOL9vc:-YUU-ne9SEM:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BeautifulPixels?i=XKHO3hOL9vc:-YUU-ne9SEM:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/BeautifulPixels/~4/XKHO3hOL9vc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://beautifulpixels.blogspot.com/feeds/2763947683869559637/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://beautifulpixels.blogspot.com/2013/03/chromes-fps-histogram.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8959356083618071167/posts/default/2763947683869559637?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8959356083618071167/posts/default/2763947683869559637?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BeautifulPixels/~3/XKHO3hOL9vc/chromes-fps-histogram.html" title="Chrome's FPS Histogram" /><author><name>Vincent Scheib</name><uri>https://plus.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/AAAAAAAAtCU/16iOgxta5OE/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-SRNfdKrOwLo/UMJ6YhMlNPI/AAAAAAAAc3I/e3Rf4ns5A1c/s72-c/fps-histogram.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://beautifulpixels.blogspot.com/2013/03/chromes-fps-histogram.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUQARHk5cCp7ImA9WhJaGEw.&quot;"><id>tag:blogger.com,1999:blog-8959356083618071167.post-7606866282462539002</id><published>2012-10-09T13:09:00.000-07:00</published><updated>2012-10-09T13:09:05.728-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-10-09T13:09:05.728-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="Chrome" /><title>State charts</title><content type="html">&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/-NR3pG9xVPak/UHSD6eLWEZI/AAAAAAAAaSw/eQO-CiPWzzs/s1600/statechart.gif" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-NR3pG9xVPak/UHSD6eLWEZI/AAAAAAAAaSw/eQO-CiPWzzs/s1600/statechart.gif" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;span style="background-color: white; color: #333333; font-family: Arial, sans-serif; font-size: 13px; line-height: 18px;"&gt;Thanks to Bill Budge for pointing me to&amp;nbsp;&lt;a href="http://jcsites.juniata.edu/faculty/rhodes/smui/statechart.htm" target="_blank"&gt;State Charts&lt;/a&gt;.&lt;/span&gt;&lt;br /&gt;
&lt;span style="background-color: white; color: #333333; font-family: Arial, sans-serif; font-size: 13px; line-height: 18px;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="background-color: white; color: #333333; font-family: Arial, sans-serif; font-size: 13px; line-height: 18px;"&gt;I've been carefully sussing out the logic of Chrome's Fullscreen controller into a finite state machine, mainly so that we can get a group to agree on exactly what we think it should be doing. Chrome can go fullscreen in numerous ways: users entering and exiting via a menu or button, web pages making the transition (e.g. when you make a video fullscreen by clicking on it in a page), extensions, a special mode on Mac, and Windows 8 Metro Snap. Most of these include asynchronous transitions, and all API initiated transitions must be serviced (even if we're 'in the middle' of another transition).&lt;/span&gt;&lt;br /&gt;
&lt;span style="background-color: white; color: #333333; font-family: Arial, sans-serif; font-size: 13px; line-height: 18px;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="background-color: white; color: #333333; font-family: Arial, sans-serif; font-size: 13px; line-height: 18px;"&gt;Initially the diagram resembled a flying spaghetti monster, I've been winnowing it down discarding states we can design out of the naive total possibility space. But, it's also much simpler to notate using &lt;a href="http://jcsites.juniata.edu/faculty/rhodes/smui/statechart.htm#clustering" target="_blank"&gt;clustering&lt;/a&gt; and &lt;a href="http://jcsites.juniata.edu/faculty/rhodes/smui/statechart.htm#history" target="_blank"&gt;history&lt;/a&gt; offered in state charts.&lt;/span&gt;&lt;br /&gt;
&lt;span style="background-color: white; color: #333333; font-family: Arial, sans-serif; font-size: 13px; line-height: 18px;"&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style="background-color: white; color: #333333; font-family: Arial, sans-serif; font-size: 13px; line-height: 18px;"&gt;BTW, state charts are also included in &lt;a href="http://en.wikipedia.org/wiki/UML_state_machine" target="_blank"&gt;UML state machines&lt;/a&gt;.&lt;/span&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/BeautifulPixels?a=BmJzoQGel7s:Us5I5amo6QQ:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BeautifulPixels?i=BmJzoQGel7s:Us5I5amo6QQ:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BeautifulPixels?a=BmJzoQGel7s:Us5I5amo6QQ:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BeautifulPixels?i=BmJzoQGel7s:Us5I5amo6QQ:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BeautifulPixels?a=BmJzoQGel7s:Us5I5amo6QQ:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BeautifulPixels?i=BmJzoQGel7s:Us5I5amo6QQ:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/BeautifulPixels/~4/BmJzoQGel7s" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://beautifulpixels.blogspot.com/feeds/7606866282462539002/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://beautifulpixels.blogspot.com/2012/10/state-charts.html#comment-form" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8959356083618071167/posts/default/7606866282462539002?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8959356083618071167/posts/default/7606866282462539002?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BeautifulPixels/~3/BmJzoQGel7s/state-charts.html" title="State charts" /><author><name>Vincent Scheib</name><uri>https://plus.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/AAAAAAAAtCU/16iOgxta5OE/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-NR3pG9xVPak/UHSD6eLWEZI/AAAAAAAAaSw/eQO-CiPWzzs/s72-c/statechart.gif" height="72" width="72" /><thr:total>2</thr:total><feedburner:origLink>http://beautifulpixels.blogspot.com/2012/10/state-charts.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEYGQH88eip7ImA9WhJbFUQ.&quot;"><id>tag:blogger.com,1999:blog-8959356083618071167.post-3258437546685919694</id><published>2012-09-25T11:02:00.000-07:00</published><updated>2012-09-25T11:02:01.172-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-09-25T11:02:01.172-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="_Articles" /><category scheme="http://www.blogger.com/atom/ns#" term="Pointer Lock" /><category scheme="http://www.blogger.com/atom/ns#" term="Chrome" /><title>Pointer Lock (Mouse Lock) shipped in Chrome</title><content type="html">&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://2.bp.blogspot.com/-c5TP6I_i5Yc/UGEhTZwxn-I/AAAAAAAAaGo/swdOwSfisXU/s1600/pointer-lock.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-c5TP6I_i5Yc/UGEhTZwxn-I/AAAAAAAAaGo/swdOwSfisXU/s1600/pointer-lock.png" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;b&gt;Pointer lock&lt;/b&gt; has &lt;a href="http://blog.chromium.org/2012/09/enabling-new-classes-of-applications.html" target="_blank"&gt;shipped with Chrome 22&lt;/a&gt;, it's out of Beta and releasing on time! Fancy demo first, check out&amp;nbsp;Mozilla's&amp;nbsp;&lt;a href="https://developer.mozilla.org/en-US/demos/detail/bananabread" target="_blank"&gt;&lt;b&gt;First Person Shooter Demo&lt;/b&gt;&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Pointer lock offers the ability to hide the mouse cursor and use movement for controlling the camera without bumping into the edge of the screen or moving off the browser window. I've been working on it for some time, including writing the &lt;a href="http://dvcs.w3.org/hg/pointerlock/raw-file/default/index.html" target="_blank"&gt;Pointer Lock specification&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
It's been a long path. Things started with early prototypes and &lt;a href="http://www.w3.org/Search/Mail/Public/advanced_search?hdr-1-name=subject&amp;amp;hdr-1-query=Mouse%20Lock&amp;amp;hdr-2-name=from&amp;amp;hdr-3-name=message-id&amp;amp;index-grp=Public__FULL&amp;amp;index-type=t&amp;amp;type-index=public-webevents%20public-webapps&amp;amp;resultsperpage=100&amp;amp;sortby=date-asc&amp;amp;page=2" target="_blank"&gt;discussions of mouse lock in standards lists&lt;/a&gt;&amp;nbsp;(and &lt;a href="http://www.w3.org/Search/Mail/Public/advanced_search?keywords=&amp;amp;hdr-1-name=subject&amp;amp;hdr-1-query=Pointer+Lock&amp;amp;hdr-2-name=from&amp;amp;hdr-2-query=&amp;amp;hdr-3-name=message-id&amp;amp;hdr-3-query=&amp;amp;period_month=&amp;amp;period_year=&amp;amp;index-grp=Public__FULL&amp;amp;index-type=t&amp;amp;type-index=public-webevents+public-webapps&amp;amp;resultsperpage=100&amp;amp;sortby=date-asc" target="_blank"&gt;more, as it was renamed to pointer lock&lt;/a&gt;). Not everyone in the browser community was ready to just jump on board. It took some explaining, and still there were the those who think "Browsers are for looking at static documents, not web applications! This API is too powerful for the web." Also, people who wanted more, to the point of impracticality.&lt;br /&gt;
&lt;br /&gt;
One challenge of specification was that I limited the resolution to be the same as mouse movement events without pointer lock. A direct connection to a high resolution mouse offers higher precision unaltered by an operating systems acceleration, or 'ballistic' algorithms. Sounds great, but how can this be specified, calibrated, and offered across browser vendors and operating systems? I stuck with keeping it simple and producing the exact same mouse movements received today, but without the limits of screen boarders or moving out of an application's focus area. More details in the spec &lt;a href="http://dvcs.w3.org/hg/pointerlock/raw-file/default/index.html#high-resolution-deltas---high-frequency-updates" target="_blank"&gt;FAQ&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
I was pleased when David&amp;nbsp;Humphrey jumped onto the &lt;a href="https://bugzilla.mozilla.org/show_bug.cgi?id=633602#c12" target="_blank"&gt;Mozilla Issue&lt;/a&gt;.&amp;nbsp;He is a&amp;nbsp;professor at Seneca College and &lt;a href="http://vocamus.net/dave/?p=1354" target="_blank"&gt;implemented Pointer Lock in Mozilla as a class project&lt;/a&gt;. They did great work, and eventually shipped to Firefox 14 a bit before Chrome.&lt;br /&gt;
&lt;br /&gt;
One of the differences is that Firefox only allows pointer lock when pages have made an element full screen. This provides good security shelter, as Fullscreen had already been rigorously designed, implemented, and tested due to a real security threat (tricking a user to enter data into a website pretending to be another application). It was important to me to ship Chrome with non-fullscreen support on day 1, as I believe it to be a real need and wanted to discover security issues up front. The security policy in Chrome is split between the Chromium and WebKit open source projects, adding to that complexity.&lt;br /&gt;
&lt;br /&gt;
On the topic of Fullscreen, there was a significant Pointer Lock API re-write in order to be as consistent as possible with the&amp;nbsp;Fullscreen API. They do have many similarities, and are likely to be used at the same time by developers. However, I do lament using the Fullscreen style pointerlockchange and pointerlockerror events to notify a developer of success or failure. In my original specification I used callbacks. The advantage of callbacks is a guaranteed 1 to 1 correspondence of request and response. The events allow for cross talk between different bits code using the API, and are more fragile. On every event, code must validate if the event was due to a related request it had made (which it must keep track of).&lt;br /&gt;
&lt;br /&gt;
With the help of Yuzhu Shen and others, we shipped an early version of Mouse Lock to Pepper plugins much earlier, including Native Client games. There security concerns were somewhat more relaxed as content using the API had to be published in the Chrome Web Store, as opposed to the open web. Via the store, we could have more control to remove content if it were misbehaving.&lt;br /&gt;
&lt;br /&gt;
I'm looking forward to seeing new classes of applications implemented on the web using this API. ;)&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/BeautifulPixels?a=pOb9nZE0byE:pb2z6zduzWI:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BeautifulPixels?i=pOb9nZE0byE:pb2z6zduzWI:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BeautifulPixels?a=pOb9nZE0byE:pb2z6zduzWI:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BeautifulPixels?i=pOb9nZE0byE:pb2z6zduzWI:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BeautifulPixels?a=pOb9nZE0byE:pb2z6zduzWI:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BeautifulPixels?i=pOb9nZE0byE:pb2z6zduzWI:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/BeautifulPixels/~4/pOb9nZE0byE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://beautifulpixels.blogspot.com/feeds/3258437546685919694/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://beautifulpixels.blogspot.com/2012/09/pointer-lock-mouse-lock-shipped-in.html#comment-form" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8959356083618071167/posts/default/3258437546685919694?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8959356083618071167/posts/default/3258437546685919694?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BeautifulPixels/~3/pOb9nZE0byE/pointer-lock-mouse-lock-shipped-in.html" title="Pointer Lock (Mouse Lock) shipped in Chrome" /><author><name>Vincent Scheib</name><uri>https://plus.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/AAAAAAAAtCU/16iOgxta5OE/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-c5TP6I_i5Yc/UGEhTZwxn-I/AAAAAAAAaGo/swdOwSfisXU/s72-c/pointer-lock.png" height="72" width="72" /><thr:total>3</thr:total><feedburner:origLink>http://beautifulpixels.blogspot.com/2012/09/pointer-lock-mouse-lock-shipped-in.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUENRHc7fCp7ImA9WhVVE0g.&quot;"><id>tag:blogger.com,1999:blog-8959356083618071167.post-2477649531617943713</id><published>2012-05-06T19:24:00.001-07:00</published><updated>2012-05-06T19:28:15.904-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-05-06T19:28:15.904-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="_Articles" /><title>What!? I had kids?</title><content type="html">&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://what-i-had-kids.blogspot.com/" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="238" src="http://1.bp.blogspot.com/-jDcriWiorWE/T6ctomhIloI/AAAAAAAATbA/Jf7D5HyqvI0/s320/what-i-had-kids.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
I started a new blog, &lt;a href="http://what-i-had-kids.blogspot.com/"&gt;What!? I had kids?&lt;/a&gt;, because the world needed another blog. And though I love my job I've had less ideas and/or motivation to write them up on Beautiful Pixels recently. I've been spending more time planning on how to have fun with the kids.&lt;br /&gt;
&lt;br /&gt;
The current article, &lt;a href="http://what-i-had-kids.blogspot.com/2012/05/stroller-on-steps.html"&gt;Strollers on Steps?&lt;/a&gt;&amp;nbsp;is proper geekery of a topic at the levels you've come to expect from Beautiful Pixels. If you're more into color, try &lt;a href="http://what-i-had-kids.blogspot.com/2012/03/colored-rice.html"&gt;Colored Rice&lt;/a&gt;, or &lt;a href="http://what-i-had-kids.blogspot.com/2012/03/food-colors-in-bathtub.html"&gt;Food Colors in the Bathtub&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Perhaps some day there will be a magical post about both children and pixels.&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/BeautifulPixels?a=0byP670RDwM:uNexEP1ZMIM:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BeautifulPixels?i=0byP670RDwM:uNexEP1ZMIM:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BeautifulPixels?a=0byP670RDwM:uNexEP1ZMIM:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BeautifulPixels?i=0byP670RDwM:uNexEP1ZMIM:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BeautifulPixels?a=0byP670RDwM:uNexEP1ZMIM:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BeautifulPixels?i=0byP670RDwM:uNexEP1ZMIM:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/BeautifulPixels/~4/0byP670RDwM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://beautifulpixels.blogspot.com/feeds/2477649531617943713/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://beautifulpixels.blogspot.com/2012/05/what-i-had-kids.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8959356083618071167/posts/default/2477649531617943713?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8959356083618071167/posts/default/2477649531617943713?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BeautifulPixels/~3/0byP670RDwM/what-i-had-kids.html" title="What!? I had kids?" /><author><name>Vincent Scheib</name><uri>https://plus.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/AAAAAAAAtCU/16iOgxta5OE/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-jDcriWiorWE/T6ctomhIloI/AAAAAAAATbA/Jf7D5HyqvI0/s72-c/what-i-had-kids.JPG" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://beautifulpixels.blogspot.com/2012/05/what-i-had-kids.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEUCSXg_fSp7ImA9WhVSFUU.&quot;"><id>tag:blogger.com,1999:blog-8959356083618071167.post-93933224957162028</id><published>2012-03-12T14:00:00.002-07:00</published><updated>2012-03-12T14:04:28.645-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-03-12T14:04:28.645-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="_Articles" /><category scheme="http://www.blogger.com/atom/ns#" term="WebTech" /><category scheme="http://www.blogger.com/atom/ns#" term="Game Development" /><category scheme="http://www.blogger.com/atom/ns#" term="Presentation" /><category scheme="http://www.blogger.com/atom/ns#" term="Chrome" /><title>Game Developers Conference 2012 presentation: The Bleeding Edge of Open Web Tech</title><content type="html">&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;object width="320" height="266" class="BLOGGER-youtube-video" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" data-thumbnail-src="http://1.gvt0.com/vi/_adMEEAtDwE/0.jpg"&gt;&lt;param name="movie" value="http://www.youtube.com/v/_adMEEAtDwE&amp;fs=1&amp;source=uds" /&gt;
&lt;param name="bgcolor" value="#FFFFFF" /&gt;
&lt;embed width="320" height="266"  src="http://www.youtube.com/v/_adMEEAtDwE&amp;fs=1&amp;source=uds" type="application/x-shockwave-flash"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;
&lt;br /&gt;
I presented at GDC last week, and it went well. Here is a &lt;a href="http://www.youtube.com/watch?v=_adMEEAtDwE"&gt;pre-recorded version&lt;/a&gt; of the talk. You can also check out the &lt;a href="http://goo.gl/RbJOX"&gt;notes for the presentation&lt;/a&gt;.&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/BeautifulPixels?a=UnLsQdyFr1Q:2_8FgCn_aho:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BeautifulPixels?i=UnLsQdyFr1Q:2_8FgCn_aho:4cEx4HpKnUU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BeautifulPixels?a=UnLsQdyFr1Q:2_8FgCn_aho:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BeautifulPixels?i=UnLsQdyFr1Q:2_8FgCn_aho:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/BeautifulPixels?a=UnLsQdyFr1Q:2_8FgCn_aho:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/BeautifulPixels?i=UnLsQdyFr1Q:2_8FgCn_aho:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/BeautifulPixels/~4/UnLsQdyFr1Q" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://beautifulpixels.blogspot.com/feeds/93933224957162028/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://beautifulpixels.blogspot.com/2012/03/game-developers-conference-2012.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8959356083618071167/posts/default/93933224957162028?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8959356083618071167/posts/default/93933224957162028?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BeautifulPixels/~3/UnLsQdyFr1Q/game-developers-conference-2012.html" title="Game Developers Conference 2012 presentation: The Bleeding Edge of Open Web Tech" /><author><name>Vincent Scheib</name><uri>https://plus.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/AAAAAAAAtCU/16iOgxta5OE/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://beautifulpixels.blogspot.com/2012/03/game-developers-conference-2012.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUcNR34zcCp7ImA9WhJbFUk.&quot;"><id>tag:blogger.com,1999:blog-8959356083618071167.post-1107163166711268564</id><published>2012-01-29T00:23:00.000-08:00</published><updated>2012-09-24T20:18:16.088-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-09-24T20:18:16.088-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="_Articles" /><category scheme="http://www.blogger.com/atom/ns#" term="Pointer Lock" /><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="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://plus.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/AAAAAAAAtCU/16iOgxta5OE/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;A0QMQnkyeCp7ImA9WhJRFk4.&quot;"><id>tag:blogger.com,1999:blog-8959356083618071167.post-2841794523323157559</id><published>2012-01-17T22:27:00.000-08:00</published><updated>2012-07-18T12:23:03.790-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-07-18T12:23:03.790-07: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 ("To create ^[, which is escape, you need to enter CTRL+V &amp;lt; Esc"):&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;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="2 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://plus.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/AAAAAAAAtCU/16iOgxta5OE/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>2</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="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://plus.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/AAAAAAAAtCU/16iOgxta5OE/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="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://plus.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/AAAAAAAAtCU/16iOgxta5OE/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="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="5 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://plus.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/AAAAAAAAtCU/16iOgxta5OE/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>5</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;DUcDQ3s8eCp7ImA9WhVQFEU.&quot;"><id>tag:blogger.com,1999:blog-8959356083618071167.post-2709562774209185287</id><published>2011-10-09T22:38:00.000-07:00</published><updated>2012-04-03T14:04:32.570-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-04-03T14:04:32.570-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;&lt;b&gt;Follow Up script&lt;/b&gt;&lt;/a&gt; doc.&lt;br /&gt;
&lt;br /&gt;
With follow up you can:&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Get emails out of your inbox, and out of sight, for a specified amount of time, and then have them return.&lt;/li&gt;
&lt;li&gt;Send emails you want to make sure you get a response on, flag them for follow up and have them resurface in your inbox again after a given amount of time to ensure they were handled.&lt;/li&gt;
&lt;/ul&gt;
&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. Check it out:&amp;nbsp;&lt;a href="http://goo.gl/Cj47u"&gt;&lt;b&gt;Follow Up script&lt;/b&gt;&lt;/a&gt;&lt;/div&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="9 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://plus.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/AAAAAAAAtCU/16iOgxta5OE/s512-c/photo.jpg" /></author><thr:total>9</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="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://plus.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/AAAAAAAAtCU/16iOgxta5OE/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="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://plus.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/AAAAAAAAtCU/16iOgxta5OE/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="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://plus.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/AAAAAAAAtCU/16iOgxta5OE/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="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://plus.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/AAAAAAAAtCU/16iOgxta5OE/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="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://plus.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/AAAAAAAAtCU/16iOgxta5OE/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="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://plus.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/AAAAAAAAtCU/16iOgxta5OE/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="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://plus.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/AAAAAAAAtCU/16iOgxta5OE/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="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://plus.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/AAAAAAAAtCU/16iOgxta5OE/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;DEIDQHk4eyp7ImA9WhNREU4.&quot;"><id>tag:blogger.com,1999:blog-8959356083618071167.post-4585205316263406361</id><published>2010-12-05T23:09:00.000-08:00</published><updated>2012-11-05T09:29:31.733-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-11-05T09:29:31.733-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 to match everything. This is a &lt;a href="http://productforums.google.com/forum/#!topic/gmail/ugBCu8aty0U" target="_blank"&gt;tad tricky&lt;/a&gt;, you can't just use&amp;nbsp;From: *. So, create a filter that &lt;b&gt;Doesn't have: some_long_random_string_sldkfjslkdjfsdfkjsdf&lt;/b&gt; 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="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://plus.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/AAAAAAAAtCU/16iOgxta5OE/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="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://plus.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/AAAAAAAAtCU/16iOgxta5OE/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="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://plus.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/AAAAAAAAtCU/16iOgxta5OE/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="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://plus.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/AAAAAAAAtCU/16iOgxta5OE/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="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://plus.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/AAAAAAAAtCU/16iOgxta5OE/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></feed>
