<?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/opensearchrss/1.0/" xmlns:georss="http://www.georss.org/georss"><id>tag:blogger.com,1999:blog-3717133688018454834</id><updated>2009-11-12T16:44:33.649Z</updated><title type="text">Iain Lobb</title><subtitle type="html">on creating Flash games</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://blog.iainlobb.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://blog.iainlobb.com/" /><link rel="hub" href="http://pubsubhubbub.appspot.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/3717133688018454834/posts/default?start-index=26&amp;max-results=25" /><author><name>Iain</name><email>noreply@blogger.com</email></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>44</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><link rel="self" href="http://feeds.feedburner.com/iainlobb" type="application/atom+xml" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><entry><id>tag:blogger.com,1999:blog-3717133688018454834.post-84140314020839758</id><published>2009-11-12T10:17:00.004Z</published><updated>2009-11-12T10:55:19.140Z</updated><category scheme="http://www.blogger.com/atom/ns#" term="git" /><category scheme="http://www.blogger.com/atom/ns#" term="github" /><category scheme="http://www.blogger.com/atom/ns#" term="svn" /><category scheme="http://www.blogger.com/atom/ns#" term="source control" /><title type="text">Using Git and Github on Windows</title><content type="html">Github is all the rage for source control / hosting OpenSource projects right now - which is a great thing, because for end-users who just want to grab a .zip file of the code or report an issue, it's really easy to use. If you want to check your code in to Git though, and you're on Windows, it can be hard to know where to start. I just went through the process of setting it up, so I thought others might find this useful. Here's the steps I took:&lt;div&gt;&lt;ol&gt;&lt;li&gt;Download and install "msysgit" from &lt;a href="http://code.google.com/p/msysgit/"&gt;http://code.google.com/p/msysgit/&lt;/a&gt; (from "featured downloads" on the right of the screen). This provides the core command-line Git functionality.&lt;/li&gt;&lt;li&gt;To make life easier, download and install Tortoise Git from &lt;a href="http://code.google.com/p/tortoisegit/"&gt;http://code.google.com/p/tortoisegit/&lt;/a&gt; which is just like Tortoise SVN, which I use for SVN, and works great. It's completely visual and feels like native part of Windows.&lt;/li&gt;&lt;li&gt;Download and install Putty and PuttyGen (I selected the installer for the full suite because I'm not sure exactly which things you might need) - you'll need this to generate an SSH key. &lt;a href="http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html"&gt;http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Create an account on GitHub - &lt;a href="https://github.com/"&gt;https://github.com/&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Create a repository on GitHub.&lt;/li&gt;&lt;li&gt;In "Account Settings" on GitHub, click on "SSH Public Keys" and add a new key. The title should be your email address. To generate the key itself, use PuttyGen, which you downloaded earlier, and copy-paste it in.&lt;/li&gt;&lt;li&gt;Right click in the folder which you want to check-in to Git. Select Git Create repository here. Create it.&lt;/li&gt;&lt;li&gt;Right click in the folder again. From the right-click menu, select Tortoise Git - Settings.&lt;/li&gt;&lt;li&gt;Make sure Tortoise Git has found MSysGit.&lt;/li&gt;&lt;li&gt;In Git - Config, add your name and email address - this should match your GitHub settings.&lt;/li&gt;&lt;li&gt;In Git - Remote, select Add New. Add the private key from Putty that you generated earlier. The private key is a file rather than something you copy-paste. Get the URL and name from the "Source" or "Admin" tabs of your repo on the github website.&lt;/li&gt;&lt;li&gt;Select all the files you want to check-in, right-click and select Tortoise Git - Add...&lt;/li&gt;&lt;li&gt;Right click again and select Tortoise Git - Commit -&gt; Master.&lt;/li&gt;&lt;li&gt;Hopefully it should all upload and you're done!&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;Don't ask me any difficult questions, because I'm surprised I got this working myself, but good luck! I'm liking Git so far.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3717133688018454834-84140314020839758?l=blog.iainlobb.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.iainlobb.com/feeds/84140314020839758/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=3717133688018454834&amp;postID=84140314020839758&amp;isPopup=true" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3717133688018454834/posts/default/84140314020839758" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3717133688018454834/posts/default/84140314020839758" /><link rel="alternate" type="text/html" href="http://blog.iainlobb.com/2009/11/using-git-and-github-on-windows.html" title="Using Git and Github on Windows" /><author><name>Iain</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="03008713953415735669" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3717133688018454834.post-7342174298866655294</id><published>2009-11-11T01:52:00.003Z</published><updated>2009-11-11T02:02:48.784Z</updated><category scheme="http://www.blogger.com/atom/ns#" term="games" /><category scheme="http://www.blogger.com/atom/ns#" term="oldschool" /><category scheme="http://www.blogger.com/atom/ns#" term="atari" /><category scheme="http://www.blogger.com/atom/ns#" term="amiga" /><title type="text">Game Review: Bloodwych (Amiga, Atari ST)</title><content type="html">&lt;div&gt;Like most things, RPGs were better in the 1980s. Take Bloodwych; I re-read the review of this game in &lt;i&gt;ST Format&lt;/i&gt; about a hundred times because I didn't believe anything could be so brilliant. I bought it "mail-order": this meant that for no good reason it took 28 days to turn up, and you couldn't even complain about it on Twitter because it hadn't been invented.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;&lt;img id="BLOGGER_PHOTO_ID_5068632884895175154" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://bp0.blogger.com/_fVgLlWCN4Uc/RldmwQkKUfI/AAAAAAAAADY/h5vMCQ-p1-c/s400/bloodwych.jpg" border="0" /&gt;&lt;span&gt;Two people could play it at once, which was revolutionary at the time, and stopped my brother just punching me until I gave him the joystick. 2-player RPGs are brilliant (my wife and I had a blast playing through Balder's Gate Dark Alliance - certainly more fun than watching me ride my horse around Oblivion for hours at a time).&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;img id="BLOGGER_PHOTO_ID_5068632442513543634" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://bp1.blogger.com/_fVgLlWCN4Uc/RldmWgkKUdI/AAAAAAAAADI/043KUPY-_Ik/s400/bloodwych_16.gif" border="0" /&gt;&lt;span&gt;This is the bit where you choose your characters. My brother, of course, took the cool looking knight guy, the cool hooded wizard guy, the hot blonde chick and the cool looking ninja guy. That left me with a blue hermaphrodite thing, Sinbad, a smurf and a f***ing lizard. I didn't care though - this was the coolest thing I'd ever seen!&lt;/span&gt;&lt;/p&gt;&lt;div&gt;&lt;/div&gt;&lt;p&gt;&lt;img id="BLOGGER_PHOTO_ID_5068632618607202786" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://bp2.blogger.com/_fVgLlWCN4Uc/RldmgwkKUeI/AAAAAAAAADQ/gbnYsmJXELY/s400/adeux.png" border="0" /&gt;You can scoff at the graphics all you want, but most people were still playing 8 colour C64 games, so this is basically the f***ing Matrix. My brother soon found that he could threaten to beat me up &lt;strong&gt;inside the game&lt;/strong&gt; unless I gave him all the best loot: basically he invented cyber-bullying 10 years before there was a word for it. I specifically remember one of my guys having to fight with a chicken drum stick.&lt;br /&gt;&lt;img id="BLOGGER_PHOTO_ID_5068651314599842306" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://bp3.blogger.com/_fVgLlWCN4Uc/Rld3hAkKUgI/AAAAAAAAADg/-GE9BQ29EFs/s400/atari_1040_ste_with_box.jpg" border="0" /&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;We played Bloodwych every day and within a few months we had completely worn out the disk and both of the Atari's notorious joystick ports, so we never got to see the cool looking monster on the cover art, which probably wasn't even in the game because cover art was just lies back then. &lt;/p&gt;&lt;div&gt;&lt;div&gt;Of course, because it's dead old you can play it free now by finding a ROM and an Amiga emulator. Enjoy!&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3717133688018454834-7342174298866655294?l=blog.iainlobb.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.iainlobb.com/feeds/7342174298866655294/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=3717133688018454834&amp;postID=7342174298866655294&amp;isPopup=true" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3717133688018454834/posts/default/7342174298866655294" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3717133688018454834/posts/default/7342174298866655294" /><link rel="alternate" type="text/html" href="http://blog.iainlobb.com/2009/11/game-review-bloodwych-amiga-atari-st.html" title="Game Review: Bloodwych (Amiga, Atari ST)" /><author><name>Iain</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="03008713953415735669" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://bp0.blogger.com/_fVgLlWCN4Uc/RldmwQkKUfI/AAAAAAAAADY/h5vMCQ-p1-c/s72-c/bloodwych.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3717133688018454834.post-4799495082251938696</id><published>2009-11-02T19:23:00.007Z</published><updated>2009-11-02T19:49:25.529Z</updated><category scheme="http://www.blogger.com/atom/ns#" term="podcasts" /><category scheme="http://www.blogger.com/atom/ns#" term="opinion" /><category scheme="http://www.blogger.com/atom/ns#" term="games" /><category scheme="http://www.blogger.com/atom/ns#" term="iain" /><category scheme="http://www.blogger.com/atom/ns#" term="game design" /><category scheme="http://www.blogger.com/atom/ns#" term="flash" /><title type="text">Game Developers Radio podcast - Flash game design special (with me!)</title><content type="html">I was recently on a special 2 hour edition of &lt;a href="http://www.gamedevradio.net/?p=59"&gt;The Game Developers Radio&lt;/a&gt; podcast with host &lt;a href="http://josephburchett.net/"&gt;Joseph Burchett&lt;/a&gt;, &lt;a href="http://www.untoldentertainment.com/"&gt;Ryan Henson Creighton of Untold Entertainment&lt;/a&gt;, &lt;a href="http://lostgarden.com/"&gt;Daniel Cook of Lost Garden&lt;/a&gt; and &lt;a href="http://edmundm.com/"&gt;indie developer Edmund McMillen&lt;/a&gt;. It was a great laugh to record and has some great pointers about making Flash games too - I learnt a lot recording it, hope you get just as much from listening, so &lt;a href="http://www.gamedevradio.net/?p=59"&gt;listen here&lt;/a&gt;.&lt;div&gt;&lt;br /&gt;&lt;div&gt;&lt;a href="http://edmundm.com/"&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.gamedevradio.net/?p=59"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 301px; height: 300px;" src="http://3.bp.blogspot.com/_fVgLlWCN4Uc/Su820RMUO0I/AAAAAAAAAO0/y2xqUslwB3U/s400/nightfly.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5399594749836671810" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3717133688018454834-4799495082251938696?l=blog.iainlobb.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.iainlobb.com/feeds/4799495082251938696/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=3717133688018454834&amp;postID=4799495082251938696&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3717133688018454834/posts/default/4799495082251938696" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3717133688018454834/posts/default/4799495082251938696" /><link rel="alternate" type="text/html" href="http://blog.iainlobb.com/2009/11/game-developers-radio-podcast-flash.html" title="Game Developers Radio podcast - Flash game design special (with me!)" /><author><name>Iain</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="03008713953415735669" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_fVgLlWCN4Uc/Su820RMUO0I/AAAAAAAAAO0/y2xqUslwB3U/s72-c/nightfly.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3717133688018454834.post-8334372146158165556</id><published>2009-11-02T19:12:00.005Z</published><updated>2009-11-02T19:20:00.038Z</updated><category scheme="http://www.blogger.com/atom/ns#" term="opinion" /><category scheme="http://www.blogger.com/atom/ns#" term="games" /><category scheme="http://www.blogger.com/atom/ns#" term="iain" /><category scheme="http://www.blogger.com/atom/ns#" term="flash on the beach" /><category scheme="http://www.blogger.com/atom/ns#" term="speaking" /><category scheme="http://www.blogger.com/atom/ns#" term="fotb" /><category scheme="http://www.blogger.com/atom/ns#" term="flash" /><title type="text">Video of my talk from Flash On The Beach</title><content type="html">As I &lt;a href="http://blog.iainlobb.com/2009/09/3-minute-lesson-in-game-design-my-talk.html"&gt;blogged previously&lt;/a&gt;, I gave a 3 minute "elevator pitch" at Flash on The Beach this year. I've already posted my &lt;a href="http://blog.iainlobb.com/2009/09/3-minute-lesson-in-game-design-my-talk.html"&gt;notes and slides&lt;/a&gt;, and now for your viewing pleasure, here is the video:&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;object width="400" height="220"&gt;&lt;param name="allowfullscreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=7286186&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=0&amp;amp;show_portrait=0&amp;amp;color=ffffff&amp;amp;fullscreen=1"&gt;&lt;embed src="http://vimeo.com/moogaloop.swf?clip_id=7286186&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=0&amp;amp;show_portrait=0&amp;amp;color=ffffff&amp;amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="220"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;p&gt;&lt;a href="http://vimeo.com/7286186"&gt;FOTB09 - Elevator Pitch - Iain Lobb&lt;/a&gt; from &lt;a href="http://vimeo.com/flashonthebeach"&gt;John Davey&lt;/a&gt; on &lt;a href="http://vimeo.com/"&gt;Vimeo&lt;/a&gt;.&lt;/p&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;You can see more elevator pitches and some other great talks by the likes of Grant Skinner and Mario Klingemann at:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.flashonthebeach.com/"&gt;http://www.flashonthebeach.com/&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3717133688018454834-8334372146158165556?l=blog.iainlobb.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.iainlobb.com/feeds/8334372146158165556/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=3717133688018454834&amp;postID=8334372146158165556&amp;isPopup=true" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3717133688018454834/posts/default/8334372146158165556" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3717133688018454834/posts/default/8334372146158165556" /><link rel="alternate" type="text/html" href="http://blog.iainlobb.com/2009/11/video-of-my-talk-from-flash-on-beach.html" title="Video of my talk from Flash On The Beach" /><author><name>Iain</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="03008713953415735669" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3717133688018454834.post-5968199811886705334</id><published>2009-10-14T12:20:00.004+01:00</published><updated>2009-10-14T12:24:20.766+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="opinion" /><category scheme="http://www.blogger.com/atom/ns#" term="flash" /><category scheme="http://www.blogger.com/atom/ns#" term="iphone" /><title type="text">My thoughts on Flash for iPhone</title><content type="html">Keith over at bit-101 just published &lt;a href="http://www.bit-101.com/blog/?p=2410"&gt;a very thoughtful post on the newly announced Flash to iPhone publishing&lt;/a&gt;. I wrote a reasonably long comment, so I thought I'd just do a quick republish here. These are my thoughts:&lt;br /&gt;&lt;br /&gt;I was definitely in the “this is neat” camp when I heard the announcement – and here’s the reason: I’m maxed out. I have a list of over 40 ideas for new Flash games, plus probably another 40 old engines that I just need to &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;reskin&lt;/span&gt; and launch. This is in addition to all my client work. Then there’s Unity3D which I have been investigating as a route into 3D games, which also requires that I brush up on my 3&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;DS&lt;/span&gt; Max skills and C#. On top of all that there’s keeping up with Flash, updating my blog, giving talks etc, and that’s before I even consider my family life and anything resembling a social life. So really learning real iPhone development for the sake of joining the gold rush &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;isn&lt;/span&gt;’t even an option or choice for me. But I do have the time to &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;resize&lt;/span&gt; the odd game and test it for iPhone, and that’s what I’m going to do. Apple haven’t lost any business from me.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3717133688018454834-5968199811886705334?l=blog.iainlobb.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.iainlobb.com/feeds/5968199811886705334/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=3717133688018454834&amp;postID=5968199811886705334&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3717133688018454834/posts/default/5968199811886705334" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3717133688018454834/posts/default/5968199811886705334" /><link rel="alternate" type="text/html" href="http://blog.iainlobb.com/2009/10/my-thoughts-on-flash-for-iphone.html" title="My thoughts on Flash for iPhone" /><author><name>Iain</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="03008713953415735669" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3717133688018454834.post-8295946574516457797</id><published>2009-09-28T13:16:00.019+01:00</published><updated>2009-11-03T14:39:15.363Z</updated><category scheme="http://www.blogger.com/atom/ns#" term="opinion" /><category scheme="http://www.blogger.com/atom/ns#" term="games" /><category scheme="http://www.blogger.com/atom/ns#" term="tips" /><category scheme="http://www.blogger.com/atom/ns#" term="iain" /><category scheme="http://www.blogger.com/atom/ns#" term="speaking" /><category scheme="http://www.blogger.com/atom/ns#" term="flash" /><title type="text">A 3 minute lesson in game design (my talk from Flash on the Beach 09)</title><content type="html">&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://blog.iainlobb.com/2009/09/3-minute-lesson-in-game-design-my-talk.html"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 266px;" src="http://4.bp.blogspot.com/_fVgLlWCN4Uc/SsCvJOzhmJI/AAAAAAAAANg/PfEOBL_mXCI/s400/Untitled-1.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5386497727463004306" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;Update: You can now &lt;a href="http://blog.iainlobb.com/2009/11/video-of-my-talk-from-flash-on-beach.html"&gt;watch the video here&lt;/a&gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I'm back from Flash on the Beach in Brighton. There are loads of great write-ups of the conference coming out, so you don't need another from me, but here are my slides and notes from my 3 minute "elevator pitch". While I'm writing I will just say it was great to meet all my fellow pitchers, and I think we gave a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;rockin&lt;/span&gt;' session - in the main theatre no less, so probably about 600(?) people saw it. Here's my slides (click on slide to advance):&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0" id="Welcome" width="400" align="middle" height="225"&gt;&lt;param name="allowScriptAccess" value="sameDomain"&gt;&lt;param name="movie" value="http://www.iainlobb.com/fotb.swf"&gt;&lt;param name="quality" value="high"&gt;&lt;param name="bgcolor" value="#ffffff"&gt;&lt;embed src="http://www.iainlobb.com/fotb.swf" quality="high" bgcolor="#ffffff" name="Welcome" allowscriptaccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" width="400" align="middle" height="225"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt; Here's what I said:&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;I'm Iain, I make Flash games. Here are my tips for making Flash games, but hopefully you can apply them to whatever it is you do.&lt;/div&gt;&lt;br /&gt;&lt;b&gt;Make it fun.&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;When you're making games it's easy to get side-tracked by your awesome code framework or particle effect or whatever,&lt;/li&gt;&lt;li&gt;but if you don't make a fun experience for players, what's the point?&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;b&gt;Make it obvious.&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;If you need to have an instructions screen on your game, you've already kinda failed.&lt;/li&gt;&lt;li&gt;Talk to your players through the language of games.&lt;/li&gt;&lt;li&gt;When you get the power-pill in &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;PacMan&lt;/span&gt;, the ghosts go blue, their mouths go wobbly, they start running away.&lt;/li&gt;&lt;li&gt;The player thinks – ah that's different, maybe I can eat ghosts now – ah yes I can. No instructions necessary.&lt;/li&gt;&lt;/ul&gt;&lt;b&gt;You've got 10 seconds to sell your game.&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Players browse web games like they're flipping channels on cable TV.&lt;/li&gt;&lt;li&gt;If they're on a site like &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;Kongregate&lt;/span&gt; they've got the choice of 18 thousand games.&lt;/li&gt;&lt;li&gt;So forget all the cut-scenes, menus and tutorials, get straight in to the action.&lt;/li&gt;&lt;/ul&gt;&lt;b&gt;Match your control scheme to your audience.&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Try not to mix mouse and keys. Pick one.&lt;/li&gt;&lt;li&gt;If you're making a casual puzzle game, just use the mouse.&lt;/li&gt;&lt;li&gt;If it's a platform game, stick to just arrow keys and &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;spacebar&lt;/span&gt;.&lt;/li&gt;&lt;li&gt;Only if you're going for a pretty hardcore audience is it safe to use mouse and keys together.&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;b&gt;Evolve your game.&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;I've worked on far too many projects that had months of planning, emails to clients, design documents, wire frames, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;PhotoShop&lt;/span&gt; mock-ups.&lt;/li&gt;&lt;li&gt;Not until two weeks before the deadline, you actually start developing.&lt;/li&gt;&lt;li&gt;The day before the deadline you finally finish it and play it through. Is it fun? No. But it's too late change it.&lt;/li&gt;&lt;li&gt;So throughout the process, make prototypes, iterate.&lt;/li&gt;&lt;/ul&gt;&lt;b&gt;Stick a face on it.&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;There aren't many games that can survive without characters,&lt;/li&gt;&lt;li&gt;so even if you're making an abstract physics puzzle, you should be thinking about how you can make it feel human and approachable.&lt;/li&gt;&lt;/ul&gt;&lt;b&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;Playtest&lt;/span&gt;!&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;While there's still time to make changes, put your game in front of real players.&lt;/li&gt;&lt;li&gt;If you think you've got intuitive controls, players will be mashing the keyboard going “what do I do”?&lt;/li&gt;&lt;li&gt;If you think it's too easy, to a new player it's probably impossibly hard.&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Respect the medium.&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Don't just make games &lt;b&gt;with &lt;/b&gt;Flash, make games &lt;b&gt;for &lt;/b&gt;Flash.&lt;/li&gt;&lt;li&gt;Flash games have there own genres, like physics puzzles and tower defence that have evolved to suit the medium.&lt;/li&gt;&lt;li&gt;Don't copy other games, but work out what makes them fun.&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3717133688018454834-8295946574516457797?l=blog.iainlobb.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.iainlobb.com/feeds/8295946574516457797/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=3717133688018454834&amp;postID=8295946574516457797&amp;isPopup=true" title="6 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3717133688018454834/posts/default/8295946574516457797" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3717133688018454834/posts/default/8295946574516457797" /><link rel="alternate" type="text/html" href="http://blog.iainlobb.com/2009/09/3-minute-lesson-in-game-design-my-talk.html" title="A 3 minute lesson in game design (my talk from Flash on the Beach 09)" /><author><name>Iain</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="03008713953415735669" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_fVgLlWCN4Uc/SsCvJOzhmJI/AAAAAAAAANg/PfEOBL_mXCI/s72-c/Untitled-1.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3717133688018454834.post-7374924245725011149</id><published>2009-09-07T14:19:00.002+01:00</published><updated>2009-09-07T14:39:44.989+01:00</updated><title type="text">I'm doing 2 talks in Brighton</title><content type="html">Thanks to the tireless work of &lt;a href="http://www.flashbrighton.org/wordpress/"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;Seb&lt;/span&gt; Lee &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;Delisle&lt;/span&gt;, Jo Summers&lt;/a&gt; and &lt;a href="http://www.flashonthebeach.com"&gt;John Davey&lt;/a&gt;, Brighton is totally Flash seminar central these days, and I'm giving two talks very soon in Brighton:&lt;div&gt;&lt;ol&gt;&lt;li&gt;Tuesday September 8&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;th&lt;/span&gt; 2009 - &lt;b&gt;The Flash Game School of Wizardry&lt;/b&gt;, a &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_3"&gt;mammoth&lt;/span&gt; 2 hour live-coding session, where I will be going through my personal philosophy and methodology for creating games. Free! &lt;a href="http://upcoming.yahoo.com/event/4407167/"&gt;Sign-up at &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;FlashBrighton&lt;/span&gt; user group.&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Tuesday September 22&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;nd&lt;/span&gt; 2009 - &lt;b&gt;Wizard Needs Food Badly: A 3-minute lesson in game design&lt;/b&gt;, a lightning fast top 10 countdown of game design tips. &lt;a href="http://www.flashonthebeach.com/sessions/index.php?pageid=2999"&gt;Get tickets from Flash on the Beach.&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;Looking forward to both of these. If you'd like a Wizard/Flash related talk at your user-group or conference, drop me an email: iainlobb@googlemail.com&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;See you there! &lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3717133688018454834-7374924245725011149?l=blog.iainlobb.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.iainlobb.com/feeds/7374924245725011149/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=3717133688018454834&amp;postID=7374924245725011149&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3717133688018454834/posts/default/7374924245725011149" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3717133688018454834/posts/default/7374924245725011149" /><link rel="alternate" type="text/html" href="http://blog.iainlobb.com/2009/09/im-doing-2-talks-in-brighton.html" title="I'm doing 2 talks in Brighton" /><author><name>Iain</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="03008713953415735669" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3717133688018454834.post-1066378823497318196</id><published>2009-08-27T17:54:00.001+01:00</published><updated>2009-08-27T18:20:23.293+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="podcasts" /><category scheme="http://www.blogger.com/atom/ns#" term="development" /><category scheme="http://www.blogger.com/atom/ns#" term="design" /><category scheme="http://www.blogger.com/atom/ns#" term="flash" /><title type="text">Podcasts for designers and developers</title><content type="html">&lt;div&gt;A good way to learn something while you would otherwise be bored commuting or doing the dishes is to listen to &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;&lt;b&gt;podcasts&lt;/b&gt;&lt;/span&gt;&lt;b&gt; &lt;/b&gt;by other designers and developers. There aren't a huge number devoted entirely to Flash, but you can also learn a lot by listening to how people do things in other technologies, so here are some good &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;podcasts&lt;/span&gt; grouped by theme. All these &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;podcasts&lt;/span&gt; are &lt;b&gt;free&lt;/b&gt;; the best way to listen to them is to subscribe in &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;&lt;b&gt;iTunes&lt;/b&gt;&lt;/span&gt;. You can find most of these &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;podcasts&lt;/span&gt; on the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;iTunes&lt;/span&gt; music store, or failing that in &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;iTunes&lt;/span&gt; go to "Advanced / Subscribe to Podcast" and paste in the feed URL. &lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;Specifically &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;focussed&lt;/span&gt; on the &lt;b&gt;Flash &lt;/b&gt;Platform, there is only really &lt;a href="http://www.theflexshow.com/blog/subscribe.cfm"&gt;The Flex Show&lt;/a&gt; and (I'm guessing for a limited time) also &lt;a href="http://www.leifwells.com/page.cfm/sof"&gt;Summer of Flash&lt;/a&gt;. We have a great blogging community, so there should really be more. For Rich Internet Applications in general, there is also &lt;a href="http://feeds.feedburner.com/riaweekly"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;RIA&lt;/span&gt; weekly&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;The &lt;b&gt;.NET&lt;/b&gt; world is frankly spoiled for decent &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;podcasts&lt;/span&gt;, with &lt;a href="http://elegantcode.com/"&gt;Elegant Code&lt;/a&gt;, &lt;a href="http://www.hanselminutes.com/"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;Hanselminutes&lt;/span&gt;&lt;/a&gt;, &lt;a href="http://herdingcode.com/"&gt;Herding Code&lt;/a&gt;, &lt;a href="http://www.dotnetrocks.com/"&gt;.NET Rocks!&lt;/a&gt;, &lt;a href="http://feeds2.feedburner.com/SpaghettiCodePodcasts"&gt;Spaghetti Code&lt;/a&gt; and &lt;a href="http://thirstydeveloper.com/"&gt;The Thirsty Developer&lt;/a&gt;. I normally skip the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;epsiodes&lt;/span&gt; devoted to the minutiae of .NET and listen to the more general chats about programming techniques, best practices etc.&lt;/li&gt;&lt;li&gt;For &lt;b&gt;Java&lt;/b&gt;, I've only really come across &lt;a href="http://www.javaposse.com/"&gt;Java Posse&lt;/a&gt;, but it is excellent, and covers a broad range of topics, not just Java.&lt;/li&gt;&lt;li&gt;&lt;a href="http://boagworld.com/podcast"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;Boagworld&lt;/span&gt;&lt;/a&gt; is really the one and only listenable podcast I've found about &lt;b&gt;web design&lt;/b&gt; - like Flash this is a topic that I thought would generate more content.&lt;/li&gt;&lt;li&gt;About &lt;b&gt;programming&lt;/b&gt; in the general, there is the excellent &lt;a href="http://blog.stackoverflow.com/category/podcasts/"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;Stackoverflow&lt;/span&gt; podcast&lt;/a&gt; with Jeff Atwood and Joel &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;Spolsky&lt;/span&gt;, two very smart and funny developers.&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;Well, that's all the ones on my battered old &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_15"&gt;iPod&lt;/span&gt; - I recommend checking a few of them out. Any suggestions for me? Stick them in the comments...&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3717133688018454834-1066378823497318196?l=blog.iainlobb.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.iainlobb.com/feeds/1066378823497318196/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=3717133688018454834&amp;postID=1066378823497318196&amp;isPopup=true" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3717133688018454834/posts/default/1066378823497318196" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3717133688018454834/posts/default/1066378823497318196" /><link rel="alternate" type="text/html" href="http://blog.iainlobb.com/2009/02/podcasts-for-designers-and-developers.html" title="Podcasts for designers and developers" /><author><name>Iain</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="03008713953415735669" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3717133688018454834.post-4931344937352956503</id><published>2009-08-25T22:01:00.000+01:00</published><updated>2009-08-25T22:05:32.559+01:00</updated><title type="text">Are you a Flash outlier?</title><content type="html">Just finished &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;Malcom&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;Gladwell's&lt;/span&gt; book Outliers (in audio form - you think I have time to read a book!?). The book is about success, and how external factors converge to give some people an advantage for success in a particular field. The best example in the book is the fact that in the late 1960s Bill Gates was probably the only teenager in the world to have unlimited access to a computer terminal, thus giving him a massive head-start on everyone else his age. So this got me thinking - what factors give one Flash designer or developer an advantage over another? Obviously no single factor can determine success, but I think the examples listed below don't hurt.&lt;div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;Age. What's the ideal age to be a successful Flash developer? From my observations, most the well known developers in the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;blogosphere&lt;/span&gt; and conference circuit are between about 32-38, meaning they were born between about 1971-1977. This is also the age range of most the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;CEOs&lt;/span&gt;, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;CTOs&lt;/span&gt; and Creative Directors of Flash shops, that I have met. Why is this the case? Well, these people were in their mid-twenties when Flash became popular. They had the skills and the life experience &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;neccessary&lt;/span&gt; to grab chance, and establish themselves as experts.&lt;/li&gt;&lt;li&gt;Mix of design and development skills. In the early days, there weren't really designers and developers in the Flash world, there were just "Flashers", so to have a mix of both skills was a definitely advantage. I'd argue that Flex changed all that, and largely for the worse.&lt;/li&gt;&lt;li&gt;Able to work in Western Europe or North America. Flashers seem to congregate in certain geographical areas, such as California, South East England and Toronto. While there are Flashers in many other places, these areas are a great place to start your career because it's much easier to find work.&lt;/li&gt;&lt;li&gt;Education. Happily I don't think it makes a huge difference where or even if you went to college. Flash is a real meritocracy in this respect.&lt;/li&gt;&lt;li&gt;Able to write English well. Many of the most well-known Flashers are probably not the greatest developers out there, but they are able to communicate what they know effectively and this brings it's own rewards.&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;Anyone else read this book? Can you think of any more factors that come into play? Suggest them in the comments!&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3717133688018454834-4931344937352956503?l=blog.iainlobb.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.iainlobb.com/feeds/4931344937352956503/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=3717133688018454834&amp;postID=4931344937352956503&amp;isPopup=true" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3717133688018454834/posts/default/4931344937352956503" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3717133688018454834/posts/default/4931344937352956503" /><link rel="alternate" type="text/html" href="http://blog.iainlobb.com/2009/08/are-you-flash-outlier.html" title="Are you a Flash outlier?" /><author><name>Iain</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="03008713953415735669" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3717133688018454834.post-3343575957011122189</id><published>2009-07-07T12:21:00.002+01:00</published><updated>2009-07-07T12:35:53.644+01:00</updated><title type="text">C# envy: properties</title><content type="html">Recently I found out that in c#, if you want to put a variable behind a public getter and private setter, so that it can be read but not changed, you can do it on one line! Here it is:&lt;br /&gt;&lt;br /&gt;&lt;pre style="font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; color: #000000; background-color: #eee;font-size: 12px;border: 1px dashed #999999;line-height: 14px;padding: 5px; overflow: auto; width: 100%"&gt;&lt;code&gt;public int x { get; private set; }&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;Or if you want both public, it would be:&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;pre style="font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; color: #000000; background-color: #eee;font-size: 12px;border: 1px dashed #999999;line-height: 14px;padding: 5px; overflow: auto; width: 100%"&gt;&lt;code&gt;public int x { get; set; }&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;In ActionScript3 this would be:&lt;br /&gt;&lt;pre style="font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; color: #000000; background-color: #eee;font-size: 12px;border: 1px dashed #999999;line-height: 14px;padding: 5px; overflow: auto; width: 100%"&gt;&lt;code&gt;private var _x:int;&lt;br /&gt;    &lt;br /&gt;public function get x():int&lt;br /&gt;{&lt;br /&gt;  return _x;&lt;br /&gt;}&lt;br /&gt;    &lt;br /&gt;public function set x(_x:int):void&lt;br /&gt;{&lt;br /&gt;  this._x = _x;&lt;br /&gt;}&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;The c# way is so much nicer - feature request Adobe!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3717133688018454834-3343575957011122189?l=blog.iainlobb.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.iainlobb.com/feeds/3343575957011122189/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=3717133688018454834&amp;postID=3343575957011122189&amp;isPopup=true" title="7 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3717133688018454834/posts/default/3343575957011122189" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3717133688018454834/posts/default/3343575957011122189" /><link rel="alternate" type="text/html" href="http://blog.iainlobb.com/2009/07/c-envy-properties.html" title="C# envy: properties" /><author><name>Iain</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="03008713953415735669" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3717133688018454834.post-5889152859791134339</id><published>2009-07-06T14:08:00.004+01:00</published><updated>2009-07-06T14:24:30.735+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="games" /><category scheme="http://www.blogger.com/atom/ns#" term="blogs" /><category scheme="http://www.blogger.com/atom/ns#" term="monetisation" /><category scheme="http://www.blogger.com/atom/ns#" term="flash" /><title type="text">A new manifesto for Flash games</title><content type="html">&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://lostgarden.com/2009/07/flash-love-letter-2009-part-1.html"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 208px;" src="http://2.bp.blogspot.com/_fVgLlWCN4Uc/SlH6zgb4fLI/AAAAAAAAANY/gJA01yzLU-0/s400/grpah.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5355337194707385522" /&gt;&lt;/a&gt;&lt;br /&gt;Danc over at Lost Garden has just released &lt;a href="http://lostgarden.com/2009/07/flash-love-letter-2009-part-1.html"&gt;an inspiring call to action for Flash games developers&lt;/a&gt;. This is probably the most important thing I have read about Flash games, ever. In it he makes a good case for something I've known for a while - that the ad-funded Flash games business model undervalues developers efforts by a factor of 100! If you don't want to read it, the jist is that indie Flash games creators need to grow a pair and start asking for some money. But I suggest you &lt;a href="http://lostgarden.com/2009/07/flash-love-letter-2009-part-1.html"&gt;read it.&lt;/a&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3717133688018454834-5889152859791134339?l=blog.iainlobb.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.iainlobb.com/feeds/5889152859791134339/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=3717133688018454834&amp;postID=5889152859791134339&amp;isPopup=true" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3717133688018454834/posts/default/5889152859791134339" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3717133688018454834/posts/default/5889152859791134339" /><link rel="alternate" type="text/html" href="http://blog.iainlobb.com/2009/07/new-manifesto-for-flash-games.html" title="A new manifesto for Flash games" /><author><name>Iain</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="03008713953415735669" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_fVgLlWCN4Uc/SlH6zgb4fLI/AAAAAAAAANY/gJA01yzLU-0/s72-c/grpah.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3717133688018454834.post-1066454376129780755</id><published>2009-06-25T20:45:00.004+01:00</published><updated>2009-06-25T21:01:27.337+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="games" /><category scheme="http://www.blogger.com/atom/ns#" term="blogs" /><category scheme="http://www.blogger.com/atom/ns#" term="flash" /><category scheme="http://www.blogger.com/atom/ns#" term="rss" /><title type="text">Suggestions for RSS feed of Flash game developer blogs, and a look a Yahoo! pipes</title><content type="html">&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_fVgLlWCN4Uc/SkPUsEGwM9I/AAAAAAAAANQ/iPfXpZ8WF18/s1600-h/pipes.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 400px; height: 238px;" src="http://2.bp.blogspot.com/_fVgLlWCN4Uc/SkPUsEGwM9I/AAAAAAAAANQ/iPfXpZ8WF18/s400/pipes.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5351354635727680466" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Since the excellent site &lt;a href="http://www.flashgameblogs.com/"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;FlashGameBlogs&lt;/span&gt;&lt;/a&gt;, which aggregated many developer blogs, has mysteriously stopped working, I am trying to fill the gap with a new &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;rss&lt;/span&gt; feed. I'm using pipes and &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;feedburner&lt;/span&gt;. Pipes is one of the most unusual pieces of software I've ever used - a visual programming environment for creating mash-ups - all running within the browser with just javascript. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://feeds.feedburner.com/flashgamebloggers"&gt;Here is the feed&lt;/a&gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Anyway, this is the call for requests. Please have a look at the feed and tell me: have I missed anyone? I'm looking for feeds of bloggers who write mostly or entirely about Flash and other web games (e.g. Unity3d) - be that coding, art, business, whatever. Comments please!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3717133688018454834-1066454376129780755?l=blog.iainlobb.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.iainlobb.com/feeds/1066454376129780755/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=3717133688018454834&amp;postID=1066454376129780755&amp;isPopup=true" title="4 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3717133688018454834/posts/default/1066454376129780755" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3717133688018454834/posts/default/1066454376129780755" /><link rel="alternate" type="text/html" href="http://blog.iainlobb.com/2009/06/suggestions-for-rss-feed-of-flash-game.html" title="Suggestions for RSS feed of Flash game developer blogs, and a look a Yahoo! pipes" /><author><name>Iain</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="03008713953415735669" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_fVgLlWCN4Uc/SkPUsEGwM9I/AAAAAAAAANQ/iPfXpZ8WF18/s72-c/pipes.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3717133688018454834.post-6556139562263922328</id><published>2009-06-24T22:26:00.013+01:00</published><updated>2009-06-25T20:40:26.252+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="open source" /><category scheme="http://www.blogger.com/atom/ns#" term="games" /><category scheme="http://www.blogger.com/atom/ns#" term="code" /><category scheme="http://www.blogger.com/atom/ns#" term="flash" /><title type="text">Open-source ActionScript libraries for creating Flash games</title><content type="html">For some reason the incredible power of Open Source is on my mind today. In light of that, here are some open source(ish*) ActionScript libraries I've come across that can help you make games. I haven't tried them all, but maybe you will? *check the licenses before using.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;To get code from google code you may have to use a subversion client. On PC use the free &lt;a href="http://tortoisesvn.net/"&gt;TortoiseSVN&lt;/a&gt;.&lt;br /&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;&lt;a href="http://code.google.com/p/glaze/"&gt;Glaze&lt;/a&gt; - super-fast, easy to use rigid body physics engine based on Chipmunk. Prettier syntax than box2D. &lt;a href="http://home.planet.nl/~borst595/glaze.html"&gt;Demo&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;&lt;a href="http://box2dflash.sourceforge.net/"&gt;Box2D&lt;/a&gt; - uglier (sorry) syntax than Glaze, but has more features (e.g. types of joint), and is better documented. &lt;/li&gt;&lt;li&gt;&lt;a href="http://pushbuttonengine.com/"&gt;PushButtonEngine&lt;/a&gt; - framework to build games on - doesn't do too much out of the box, but is an admirable attempt to standardise Flash game code structure. &lt;a href="http://pushbuttonengine.com/forum/viewtopic.php?f=8&amp;amp;t=116"&gt;Demo&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;&lt;a href="http://coreyoneil.com/portfolio/index.php?project=5"&gt;Collision Detection Kit&lt;/a&gt; - Pixel perfect collisions in Flash!&lt;/li&gt;&lt;li&gt;&lt;a href="http://code.google.com/p/gamepoetry/"&gt;Game Poetry&lt;/a&gt; (&lt;a href="http://www.gamepoetry.com/blog/"&gt;blog&lt;/a&gt;) and &lt;a href="http://code.google.com/p/cheezeworld/"&gt;CheezeWorld&lt;/a&gt; (&lt;a href="http://cheezeworld.com/"&gt;blog&lt;/a&gt;)- these excellent blogs post the source for many of their examples and tutorials on google code.&lt;/li&gt;&lt;li&gt;&lt;a href="http://code.google.com/p/pixelblitz/"&gt;PixelBlitz&lt;/a&gt; - engine for retro -stylee games. &lt;a href="http://www.photonstorm.com/pixelblitz-engine"&gt;Blurb from Photon Storm&lt;/a&gt;. &lt;/li&gt;&lt;li&gt;&lt;a href="http://flixel.org/"&gt;Flixel&lt;/a&gt; - another retro-engine. &lt;a href="http://www.adamatomic.com/fathom/" style="text-decoration: none;"&gt;Cool Demo!&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://blog.papervision3d.org/"&gt;PaperVision3D &lt;/a&gt;-if you want to go into the third dimension, this is the daddy. Also check out &lt;a href="http://away3d.com/"&gt;Away3D&lt;/a&gt; - it has some features that haven't yet made it to PaperVision3D. Hey, different strokes for different folks!&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.jiglibflash.com/blog/"&gt;Jiglib Flash&lt;/a&gt; - Physics in 3D!!!&lt;/li&gt;&lt;li&gt;&lt;a href="http://blog.greensock.com/tweenmaxas3/"&gt;TweenMax &lt;/a&gt;- since fusekit was was sadly never ported to AS3, this tweening powerhouse has taken over the whole show. Not only is it great for animating your user-interface, menus etc, I have actually built whole minigames using only this library for all movement and animation. Also gives you quick ways to adjust brightness/contrast etc of images. Only downside is that it is time-based only so won't play nicely with your game if it has a frame-based tick - but this option has been added to the beta, and as you read this is probably now in the live version. If you need frame-based tweening, you can also check out &lt;a href="http://www.gskinner.com/libraries/gtween/"&gt;GTween&lt;/a&gt;, although Grant is discontinuing the project.&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;What have I missed? Leave comments!&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3717133688018454834-6556139562263922328?l=blog.iainlobb.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.iainlobb.com/feeds/6556139562263922328/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=3717133688018454834&amp;postID=6556139562263922328&amp;isPopup=true" title="10 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3717133688018454834/posts/default/6556139562263922328" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3717133688018454834/posts/default/6556139562263922328" /><link rel="alternate" type="text/html" href="http://blog.iainlobb.com/2009/06/open-source-actionscript-libraries-for.html" title="Open-source ActionScript libraries for creating Flash games" /><author><name>Iain</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="03008713953415735669" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">10</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3717133688018454834.post-2758622150533224452</id><published>2009-06-15T22:49:00.003+01:00</published><updated>2009-06-15T23:04:50.150+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="papervision3d" /><category scheme="http://www.blogger.com/atom/ns#" term="pv3d" /><title type="text">Better rollovers in PaperVision3D</title><content type="html">I found a little perculiarity in the latest release of &lt;a href="http://blog.papervision3d.org/"&gt;PaperVision3D&lt;/a&gt; today, and came up with a fix, so I thought I'd post it. The way it currently works, rollovers and rollouts may not be detected if you have a moving camera (which I normally do - hey it looks cooler!).&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;To fix, all you need to do is open &lt;b&gt; org.papervision3d.core.utils.InteractiveSceneManager&lt;/b&gt; and delete or comment out line 236 &lt;b&gt;if ( hasMouseMoved() ) &lt;/b&gt;in the &lt;b&gt;handleMouseOver &lt;/b&gt;function and line 247 &lt;b&gt;if( !hasMouseMoved() ) return; &lt;/b&gt;in the &lt;b&gt;handleMouseOut &lt;/b&gt;function.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Now you will get nice responsive mouse events even if you have a nice drifty camera. I have tipped off Seb from the PV3D via twitter so I think those clever people are going to look into it.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;By the way, if you haven't tried combining &lt;a href="http://blog.papervision3d.org/"&gt;PaperVision3D&lt;/a&gt; with &lt;a href="http://blog.greensock.com/tweenmaxas3/"&gt;TweenMax&lt;/a&gt;, I highly recomend you do! I've had some freakin' incredible results that I wish I could post (but I can't).&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3717133688018454834-2758622150533224452?l=blog.iainlobb.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.iainlobb.com/feeds/2758622150533224452/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=3717133688018454834&amp;postID=2758622150533224452&amp;isPopup=true" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3717133688018454834/posts/default/2758622150533224452" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3717133688018454834/posts/default/2758622150533224452" /><link rel="alternate" type="text/html" href="http://blog.iainlobb.com/2009/06/better-rollovers-in-papervision3d.html" title="Better rollovers in PaperVision3D" /><author><name>Iain</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="03008713953415735669" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3717133688018454834.post-7840300387843231814</id><published>2009-05-22T21:33:00.004+01:00</published><updated>2009-05-22T21:43:10.867+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="flexbuilder" /><category scheme="http://www.blogger.com/atom/ns#" term="eclipse" /><category scheme="http://www.blogger.com/atom/ns#" term="fdt" /><category scheme="http://www.blogger.com/atom/ns#" term="FlashDevelop" /><title type="text">62% of developers are using FlashDevelop? That can't be right!</title><content type="html">That provocative title is just to draw your attention to the voting box over there in the right hand column where you can vote for your favourite ActionScript editor. As I write this, it says 62% of you are using my favourite piece of software, FlashDevelop. I don't really believe this, considering the response I got when I stated &lt;a href="http://blog.iainlobb.com/2009/03/10-reasons-i-prefer-flashdevelop-to.html"&gt;my preference for FlashDevelop over Eclipse&lt;/a&gt;. So vote please! The future of Flash depends upon it.&lt;br /&gt;&lt;br /&gt;(It doesn't).&lt;br /&gt;&lt;br /&gt;The poll is over there &gt;&gt;&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3717133688018454834-7840300387843231814?l=blog.iainlobb.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.iainlobb.com/feeds/7840300387843231814/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=3717133688018454834&amp;postID=7840300387843231814&amp;isPopup=true" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3717133688018454834/posts/default/7840300387843231814" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3717133688018454834/posts/default/7840300387843231814" /><link rel="alternate" type="text/html" href="http://blog.iainlobb.com/2009/05/62-of-developers-are-using-flashdevelop.html" title="62% of developers are using FlashDevelop? That can't be right!" /><author><name>Iain</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="03008713953415735669" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3717133688018454834.post-490201783274351175</id><published>2009-05-18T23:28:00.006+01:00</published><updated>2009-05-19T00:28:41.627+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="games" /><category scheme="http://www.blogger.com/atom/ns#" term="unity3d" /><category scheme="http://www.blogger.com/atom/ns#" term="c#" /><title type="text">Unity3D hands-on first impressions</title><content type="html">&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_fVgLlWCN4Uc/ShHiNCTvnzI/AAAAAAAAAM4/h1fD8BvOhDg/s1600-h/Family+Pics+289.JPG"&gt;&lt;img style="cursor: pointer; width: 400px; height: 300px;" src="http://3.bp.blogspot.com/_fVgLlWCN4Uc/ShHiNCTvnzI/AAAAAAAAAM4/h1fD8BvOhDg/s400/Family+Pics+289.JPG" alt="" id="BLOGGER_PHOTO_ID_5337295746996608818" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Today I got together with my buddy &lt;a href="http://www.imdb.com/name/nm2496284/"&gt;Adrian&lt;/a&gt; who is a big-shot special effects guy, with the aim of trying to punch through the Unity3D learning curve and get some kind of game going. (Adrian is using the Mac in the photo, and for fairness I should point out that he was pulling that face as a joke). Adrian does Maya so he was able to grok the Unity IDE much quicker than me, as there are a lot of keyboard shortcuts you need to know (e.g. press "F" to focus the IDE on a selected object). I, on the other hand, had installed Visual Studio C# Express, so I had intellisense for coding :)&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_fVgLlWCN4Uc/ShHjmHQPXEI/AAAAAAAAANA/diZzQGAIel0/s1600-h/Family+Pics+295.JPG"&gt;&lt;img style="cursor: pointer; width: 400px; height: 300px;" src="http://3.bp.blogspot.com/_fVgLlWCN4Uc/ShHjmHQPXEI/AAAAAAAAANA/diZzQGAIel0/s400/Family+Pics+295.JPG" alt="" id="BLOGGER_PHOTO_ID_5337297277332446274" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Here is my effort - MatrixPong. I had intended to post the actual game, but it crashes Firefox (see below), so I thought I'd give it a miss. All in all it was a very worthwhile session, and here's what I learned:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;You really do need to learn the Unity IDE shortcuts, e.g. Q, W, E &amp;amp; R to switch between tools, F to focus on the selected object, ALT-DRAG to rotate camera around object, drag with right button to point camera.&lt;/li&gt;&lt;li&gt;We could find no way to look through our camera in the scene view which was annoying.&lt;/li&gt;&lt;li&gt;If you edit the scene while you have the game running or paused, as soon as you stop it reverts all the changes you made. This is a massive gotcha and you can lose a few minutes work every time you forget your game is running.&lt;/li&gt;&lt;li&gt;Errors in you game can easily crash the Unity IDE and the browser plug-in. In fact they don't even have to be code errors. For example, in MatrixPong, when the ball goes off the edge of the playing surface, it will fall with gravity for about 10 seconds, then when its position reaches a big number (e.g. y = -1000000000) everything suddenly crashes. For a Flash guy this is a real WTF. Imagine if setting your movieclip too far off the stage crashed the browser!&lt;/li&gt;&lt;li&gt;You get loads of stuff "for free" in Unity, most importantly collision detection and physics - this is a big advantage over the other 3D game development framework I have played with, Microsoft XNA.&lt;/li&gt;&lt;li&gt;The documentation for scripting isn't that great and it's all JavaScript not C#, although all the method names are the same so it's pretty easy to convert in your head, you just can't copy paste. C# is a great language, but if you don't already know it, it might confuse you. For example you can't type "x = 1.173" if x is a float. It has to be "x = 1.173f". I have never understood this, but there you go.&lt;/li&gt;&lt;li&gt;&lt;a href="http://lucasmeijer.com/posts/visualstudio-integration-for-unity25-itemtemplates/"&gt;Thanks to Lucas Meijer I was able to set up Unity3D code completion in Visual Studio&lt;/a&gt;. Very cool.&lt;/li&gt;&lt;li&gt;Everything in Unity3D C# extends MonoBehaviour and relies on overriding a bunch of event functions, e.g. Update and OnCollisionEnter.  You don't actually use an override keyword though which makes it hard to know from example code whether functions are built-in or not. I couldn't find a good way to get a list of these functions while typing code though, I had to look them up from the website.&lt;/li&gt;&lt;li&gt;MonoBehaviour has tons of stuff in it and I only scratched the surface of what it can do.&lt;/li&gt;&lt;li&gt;There's also a big global god object called GameObject where you can find things from your scene. There are lots of global, not very OOP things in Unity. Get over it!&lt;/li&gt;&lt;li&gt;Pointless observation: MonoBehaviour has a British spelling for behaviour, the first British spelling I have ever seen in a language API.&lt;/li&gt;&lt;li&gt;I created 3 scripts - PongBall.cs, PongPaddle.cs and PongAI.cs. Each script was only about 5-10 lines of code, but that was enough to get the ball bouncing back and forth, the AI paddle following it and the player paddle controlled via keyboard. You drag these behaviours onto your game objects rather than having game objects that extend them. Objects &lt;span style="font-weight: bold;"&gt;have&lt;/span&gt; scripts rather than &lt;span style="font-weight: bold;"&gt;are &lt;/span&gt;scripts like they would be in Flash. Basically it's like Director, but in a good way.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;To devote the necessary time to get really into Unity I would need a paying gig, so could someone please hire me to make something with it? Thanks!&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3717133688018454834-490201783274351175?l=blog.iainlobb.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.iainlobb.com/feeds/490201783274351175/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=3717133688018454834&amp;postID=490201783274351175&amp;isPopup=true" title="6 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3717133688018454834/posts/default/490201783274351175" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3717133688018454834/posts/default/490201783274351175" /><link rel="alternate" type="text/html" href="http://blog.iainlobb.com/2009/05/unity3d-hands-on-first-impressions.html" title="Unity3D hands-on first impressions" /><author><name>Iain</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="03008713953415735669" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_fVgLlWCN4Uc/ShHiNCTvnzI/AAAAAAAAAM4/h1fD8BvOhDg/s72-c/Family+Pics+289.JPG" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3717133688018454834.post-6567788328210672275</id><published>2009-05-15T10:16:00.008+01:00</published><updated>2009-05-15T18:06:42.387+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="flexsdk" /><category scheme="http://www.blogger.com/atom/ns#" term="opinion" /><category scheme="http://www.blogger.com/atom/ns#" term="what-if" /><category scheme="http://www.blogger.com/atom/ns#" term="ActionScript" /><category scheme="http://www.blogger.com/atom/ns#" term="flash" /><title type="text">Could Flash autogenerate classes from IDE information at design-time?</title><content type="html">UPDATE: Chalk this post up to my own ignorance - Simon Cave has pointed out that you can basically do exactly what I proposed by just exporting a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;swc&lt;/span&gt; and compiling with the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;FlexSDK&lt;/span&gt;. Obviously that has it's own advantages and disadvantages, but for the sake of this benefit I'm probably going to move over to that &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;workflow&lt;/span&gt;. Here's the original post anyway....&lt;br /&gt;&lt;br /&gt;Here's a "what if" post for any developer who works with the Flash &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;IDE&lt;/span&gt;. Something that often bugs me is that when you want to access &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;DisplayObjects&lt;/span&gt; which have been placed on the timeline of a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;MovieClip&lt;/span&gt;, you don't know what &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;DisplayObjects&lt;/span&gt; are there, or their type. For example, say you have an animation, and nested 3 &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;MovieClips&lt;/span&gt; deep in the animation is a "hand" &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;MovieClip&lt;/span&gt;. You can access the clip with "throwAnimation.leftArm.hand", but while you are developing you can't be sure that this path actually exists, and you won't know the type of "hand". If you want to call a function in hand, you might end up doing something like: "Hand(throwAnimation.leftArm.hand).closeFist()". It works, but again you don't know while you're typing that "hand" actually is an instance of the Hand class.&lt;br /&gt;&lt;br /&gt;One solution might be to create a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;ThrowAnimation&lt;/span&gt; class, an Arm class and a Hand class and set the linkages of each &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;MovieClip&lt;/span&gt; in the library. These classes would simply contain public variables for the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;DisplayObjects&lt;/span&gt; they contain. Then you can happily type: "&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;throwAnimation&lt;/span&gt;." (hit &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;CTRL&lt;/span&gt;-SPACE in Eclipse) and your code editor will give you a drop-down menu showing all the variables of &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;throwAnimation&lt;/span&gt;, including &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_15"&gt;leftArm&lt;/span&gt;, hit ENTER and then get a list of &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_16"&gt;leftArm's&lt;/span&gt; properties, including hand. The only downside is, you have to create 2 more classes just to get &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_17"&gt;autocompletion&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Thinking back to my days doing Visual Basic, I think I remember that it &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_18"&gt;autogenerated&lt;/span&gt; some code every time you added a button to the design view. Flash just needs to do the same thing. Think about it - all the information it needs is right there to &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_19"&gt;autogenerate&lt;/span&gt; classes which know what &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_20"&gt;DisplayObjects&lt;/span&gt; they contain and their type. It can get the instance names from the stage and the type from the Library. Then we happily know while we code that we are accessing &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_21"&gt;DisplayObjects&lt;/span&gt; that exist. I think this is basically the same idea behind &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_22"&gt;MXML&lt;/span&gt; and &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_23"&gt;XAML&lt;/span&gt; - so maybe what we need is a just an XML-driven FLA format in CS5? Any thoughts?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3717133688018454834-6567788328210672275?l=blog.iainlobb.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.iainlobb.com/feeds/6567788328210672275/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=3717133688018454834&amp;postID=6567788328210672275&amp;isPopup=true" title="6 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3717133688018454834/posts/default/6567788328210672275" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3717133688018454834/posts/default/6567788328210672275" /><link rel="alternate" type="text/html" href="http://blog.iainlobb.com/2009/05/could-flash-autogenerate-classes-from.html" title="Could Flash autogenerate classes from IDE information at design-time?" /><author><name>Iain</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="03008713953415735669" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3717133688018454834.post-8979800612886095948</id><published>2009-05-05T21:56:00.004+01:00</published><updated>2009-05-05T22:05:59.004+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ActionScript" /><category scheme="http://www.blogger.com/atom/ns#" term="help" /><title type="text">Do you extend or compose Sprite, MovieClip and DisplayObject?</title><content type="html">I got such a great response from &lt;a href="http://blog.iainlobb.com/2009/05/game-framework-architecture-view.html"&gt;my last help request&lt;/a&gt; that I'm posting another:&lt;br /&gt;&lt;br /&gt;On my &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_0"&gt;journey&lt;/span&gt; to try and be a better developer, I'm questioning some of the fundamental ways I work and organise code. Like most Flash developers (I think), I normally extend Sprite or &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;MovieClip&lt;/span&gt;&lt;/span&gt; when I want to control something on the stage. But would I be better off creating a class that composes (i.e. controls via a reference) a Sprite or &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;MovieClip&lt;/span&gt;&lt;/span&gt; instead? What are the advantages and disadvantages? Which are you doing? Leave comments please!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3717133688018454834-8979800612886095948?l=blog.iainlobb.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.iainlobb.com/feeds/8979800612886095948/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=3717133688018454834&amp;postID=8979800612886095948&amp;isPopup=true" title="11 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3717133688018454834/posts/default/8979800612886095948" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3717133688018454834/posts/default/8979800612886095948" /><link rel="alternate" type="text/html" href="http://blog.iainlobb.com/2009/05/do-you-extend-or-compose-sprite.html" title="Do you extend or compose Sprite, MovieClip and DisplayObject?" /><author><name>Iain</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="03008713953415735669" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">11</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3717133688018454834.post-5751351498760171185</id><published>2009-05-04T13:34:00.003+01:00</published><updated>2009-05-04T13:43:26.209+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="frameworks" /><category scheme="http://www.blogger.com/atom/ns#" term="games" /><category scheme="http://www.blogger.com/atom/ns#" term="ActionScript" /><category scheme="http://www.blogger.com/atom/ns#" term="help" /><category scheme="http://www.blogger.com/atom/ns#" term="mvc" /><title type="text">Game framework architecture - view components or MVC?</title><content type="html">I have a question for my learned readers - if anyone has an answer, please leave a comment. Here it is:&lt;br /&gt;&lt;div class="post-text"&gt;                 &lt;p&gt;I'm trying to build a very light reusable framework for my games, rather than starting from scratch each time I start a game. I have a component driven architecture - e.g. Entity model composes a Position component, a Health component, an &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;Ai&lt;/span&gt; component, etc. &lt;/p&gt;  &lt;p&gt;My big question is whether my &lt;strong&gt;model composes view components&lt;/strong&gt; to allow for more than one view of the model, or whether to use a truer &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;MVC&lt;/span&gt; where the model does not know about its views, and they are managed externally.&lt;/p&gt;  &lt;p&gt;I have tried both methods but if anyone knows the pros and cons of each approach and &lt;span style="font-weight: bold;"&gt;which is the industry standard&lt;/span&gt;, it would be great to know. I'd particularly like to hear from people who have tried both methods.&lt;br /&gt;&lt;/p&gt;              &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3717133688018454834-5751351498760171185?l=blog.iainlobb.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.iainlobb.com/feeds/5751351498760171185/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=3717133688018454834&amp;postID=5751351498760171185&amp;isPopup=true" title="11 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3717133688018454834/posts/default/5751351498760171185" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3717133688018454834/posts/default/5751351498760171185" /><link rel="alternate" type="text/html" href="http://blog.iainlobb.com/2009/05/game-framework-architecture-view.html" title="Game framework architecture - view components or MVC?" /><author><name>Iain</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="03008713953415735669" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">11</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3717133688018454834.post-8697274845368000835</id><published>2009-04-22T19:46:00.006+01:00</published><updated>2009-04-22T20:35:56.173+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="open source" /><category scheme="http://www.blogger.com/atom/ns#" term="opinion" /><category scheme="http://www.blogger.com/atom/ns#" term="art" /><category scheme="http://www.blogger.com/atom/ns#" term="creative commons" /><category scheme="http://www.blogger.com/atom/ns#" term="sprites" /><title type="text">Creative Commons is a tease!</title><content type="html">I think Creative Commons licensing is pretty cool. If &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;Flickr&lt;/span&gt; and CC images had existed when I was at university doing interactive art projects and learning design, it would have been a massive help. But unfortunately, I think 2 factors have aligned to make it a bit useless to me. These factors are:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Pretty much everyone is using the non-commercial license&lt;/li&gt;&lt;li&gt;Because of things like &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;Adsense&lt;/span&gt;, pretty much everything is commercial&lt;/li&gt;&lt;/ol&gt;If you post an image on your blog, and your blog has ads, that's basically a commercial use, right? If you make a Flash game with CC non-&lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_2"&gt;commercial&lt;/span&gt; artwork, you shouldn't even upload it to a portal, as the portal will sell ads around it and so make money. Look at &lt;a href="http://aralbalkan.com/2022"&gt;Aral &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;Balkan's&lt;/span&gt; stitch-up by &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;Sys&lt;/span&gt;-Con&lt;/a&gt; as an example of the mess that CC can get things into. Should I even post CC images on my blog? It doesn't have ads, but isn't it kinda part of my business?&lt;br /&gt;&lt;br /&gt;Case in point: I love this set of &lt;a href="http://blogoscoped.com/archive/2006-08-08-n51.html"&gt;CC sprites by &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;Philipp&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;Lensenn&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://blogoscoped.com/archive/2006-08-08-n51.html"&gt;&lt;img style="cursor: pointer; width: 400px; height: 242px;" src="http://1.bp.blogspot.com/_fVgLlWCN4Uc/Se9q9NwX7pI/AAAAAAAAAMw/0Q6Dd8sgsYg/s400/last-guardian-sprites.png" alt="" id="BLOGGER_PHOTO_ID_5327594484099706514" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;They are brilliant, but to describe them as FREE as is misleading, because they're under a &lt;a href="http://creativecommons.org/licenses/by-nc/2.5/"&gt;non-commercial license&lt;/a&gt;. Basically they're free, as long as you don't really want to do anything with them.&lt;br /&gt;&lt;br /&gt;What's the solution? More people should use the commercial licence. But it wouldn't really be fair to, say, make a hit game and a bunch of money without any going to the artist. A better solution - contact the copyright holder and make a deal to share the money. But that scenario is no different than if the images had no CC license at all.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;My solution:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;We need to come up with some kind of "revenue share" license, like the royalties radio-stations pay when they play songs on the radio. This way the artist would get a cut, but you wouldn't have to contact them BEFORE you use their work, only once the money rolls in. Would it work? Who knows, but at the moment artists like &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;Philipp&lt;/span&gt; might be missing out on a chunk of change because game developers are afraid to use his sprites for fear of breaking the terms of the license.&lt;br /&gt;&lt;br /&gt;Thankfully, most code libraries are MIT licensed, which is very permissive, so you don't run into this problem with code. And don't get me wrong - so far I haven't personally &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;CC'd&lt;/span&gt; any of my own artwork, but maybe if there was the chance of getting some pocket money from it, I probably would.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3717133688018454834-8697274845368000835?l=blog.iainlobb.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.iainlobb.com/feeds/8697274845368000835/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=3717133688018454834&amp;postID=8697274845368000835&amp;isPopup=true" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3717133688018454834/posts/default/8697274845368000835" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3717133688018454834/posts/default/8697274845368000835" /><link rel="alternate" type="text/html" href="http://blog.iainlobb.com/2009/04/creative-commons-is-tease.html" title="Creative Commons is a tease!" /><author><name>Iain</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="03008713953415735669" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_fVgLlWCN4Uc/Se9q9NwX7pI/AAAAAAAAAMw/0Q6Dd8sgsYg/s72-c/last-guardian-sprites.png" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3717133688018454834.post-3198219210601455128</id><published>2009-04-20T17:12:00.011+01:00</published><updated>2009-04-20T19:18:15.288+01:00</updated><title type="text">Flash Games: dimensions, resolution and screen size</title><content type="html">What's been on my mind today is the size of Flash games. Not the minutes of &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;gameplay&lt;/span&gt;, number of levels or the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;file size&lt;/span&gt;, but the &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_2"&gt;amount&lt;/span&gt; of physical screen-size the game occupies. There are 2 competing forces pulling in opposite directions here - the world of slick experiential websites as showcased by &lt;a href="http://www.thefwa.com/"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;thefwa&lt;/span&gt;&lt;/a&gt; is trending towards high-resolution, full-screen, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;immersive&lt;/span&gt; experiences, and many of these sites are games. On the other hand, there is the world of game-portals and indie-developers keeping resolutions lower, where the game only occupies a part of a larger HTML layout. Here's some positives and negatives of each approach:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;High Resolution (i.e. 800&lt;/span&gt;&lt;span style="font-weight: bold;" class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;px&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;+ in width, often full-browser or even full-screen)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Positives:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;More &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;immersive&lt;/span&gt;.&lt;/li&gt;&lt;li&gt;Occupy a decent percentage of a high-resolution monitor.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;More room for &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;gameplay&lt;/span&gt; elements and user interface.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Greater detail possible in artwork.&lt;/li&gt;&lt;li&gt;Artwork right-size to port to console&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;Negatives:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Slower performance.&lt;/li&gt;&lt;li&gt;No keyboard support in full-screen before &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;FP&lt;/span&gt;10.&lt;/li&gt;&lt;li&gt;No room for anything else on the page.&lt;/li&gt;&lt;li&gt;May not actually fit on monitors of &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;netbooks&lt;/span&gt; / older computers.&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-weight: bold;"&gt;Low Resolution (i.e. 400-700 pixels wide):&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Positives:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Much faster performance / less variation between new and old computers.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Leaves room to sell &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_10"&gt;advertising&lt;/span&gt; around the game (decide for yourself if this is a good thing).&lt;/li&gt;&lt;li&gt;More flexibility for use on HTML pages - e.g. "Add this to my site" embedding etc.&lt;/li&gt;&lt;li&gt;Pixel art looks better in low-res games.&lt;/li&gt;&lt;li&gt;Artwork right-size to port to mobile / iPhone&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;Negatives:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Games get completely lost on high-resolution monitors, especially laptops where the pixel-density can be much higher (e.g. on 15inch screen with a 1800 pixel width, the average Flash game is only a couple of inches wide)&lt;/li&gt;&lt;li&gt;Less &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;immersive&lt;/span&gt;, further away from the console experience&lt;/li&gt;&lt;/ul&gt;It's a tricky problem with no right answers. I think a wide-screen format of something like 760x400 works quite well across all devices and is a good compromise. I haven't checked the exact numbers, but many portals are still restricting to around 640 pixels wide, presumably so they can sell add-space around the game and maximise the number of devices that can see the content, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;and Kongregate&lt;/span&gt; needs to fit in their chat window, for example. I think this &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_13"&gt;restriction&lt;/span&gt; is a bit of a shame.&lt;br /&gt;&lt;br /&gt;But hold on a minute! Flash is a re-scalable technology, right? So can't we make games that work at any size? Well, yes and no. Vector graphics scale nicely, but performance suffers at higher resolution. Bitmaps scale up smoothly but aren't so great scaled down (Remember to turn allow smoothing on in your library and/or code!). For pixel art there is the option of turning smoothing off, too. There is hardware scaling on full-screen mode, but text and some graphics start to look a bit strange to me. I think the ideal situation might be to be able to build your game at 1280x720 (720p) and scale down to the correct window size. This is how &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;XNA&lt;/span&gt; handles both &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_15"&gt;HD&lt;/span&gt; and SD TVs when publishing for &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_16"&gt;Xbox&lt;/span&gt;. I don't think the current generation of computers is quite up to this in Flash though, without hardware acceleration. In general Flash does do a much better job at &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_17"&gt;upscaling&lt;/span&gt; than you would expect, and if you build with &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_18"&gt;rescalability&lt;/span&gt; in mind, it's a bit more work, but you can generally pull it off. Portals should maybe start offering the option to have alternative resolutions - like &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_19"&gt;Flashkit&lt;/span&gt; used to!&lt;br /&gt;&lt;br /&gt;Do we mind playing tiny games on our huge monitors? Should a Flash game be thought of more like playing a gameboy or iPhone within a window than a playing a traditional PC or console game? Leave your thoughts in the comments please!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3717133688018454834-3198219210601455128?l=blog.iainlobb.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.iainlobb.com/feeds/3198219210601455128/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=3717133688018454834&amp;postID=3198219210601455128&amp;isPopup=true" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3717133688018454834/posts/default/3198219210601455128" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3717133688018454834/posts/default/3198219210601455128" /><link rel="alternate" type="text/html" href="http://blog.iainlobb.com/2009/04/flash-games-dimensions-resolution-and.html" title="Flash Games: dimensions, resolution and screen size" /><author><name>Iain</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="03008713953415735669" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3717133688018454834.post-7337204094194345380</id><published>2009-04-14T19:09:00.004+01:00</published><updated>2009-04-14T19:25:17.653+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="games" /><category scheme="http://www.blogger.com/atom/ns#" term="inspiration" /><category scheme="http://www.blogger.com/atom/ns#" term="flash" /><title type="text">Scarygirl: a game-changing Flash game</title><content type="html">&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.scarygirl.com"&gt;&lt;img style="cursor: pointer; width: 400px; height: 198px;" src="http://4.bp.blogspot.com/_fVgLlWCN4Uc/SeTSf1_GG4I/AAAAAAAAAMo/VlVJ2bR6hyw/s400/scarygirl.jpg" alt="" id="BLOGGER_PHOTO_ID_5324612103968267138" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I have a bit of an inferiority complex when it comes to Flash as a games platform. I know from experience that Flash is a great tool for creating games, but I still can't stop myself looking for the next thing: &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;XNA&lt;/span&gt;, iPhone, Unity3D, etc, etc. Maybe it's the lack of &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;joypad&lt;/span&gt; support, maybe its the small window size, but &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_2"&gt;something&lt;/span&gt; about Flash games just never seems as &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;impactful&lt;/span&gt; as a console. I was trying to compose these thoughts into a blog post, when &lt;a href="http://www.scarygirl.com/"&gt;Scary Girl&lt;/a&gt; landed in my Twitter feed (follow twitter.com/iainlobb by the way). And wow is all I can say really. This is just awesome, and proof if proof were needed that Flash is the real deal for games. So I'm going to get over my tech envy for now, and replace it with some creative envy for this game... brought to you by the Australian tax payer I believe :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3717133688018454834-7337204094194345380?l=blog.iainlobb.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.iainlobb.com/feeds/7337204094194345380/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=3717133688018454834&amp;postID=7337204094194345380&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3717133688018454834/posts/default/7337204094194345380" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3717133688018454834/posts/default/7337204094194345380" /><link rel="alternate" type="text/html" href="http://blog.iainlobb.com/2009/04/scarygirl-game-changing-flash-game.html" title="Scarygirl: a game-changing Flash game" /><author><name>Iain</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="03008713953415735669" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_fVgLlWCN4Uc/SeTSf1_GG4I/AAAAAAAAAMo/VlVJ2bR6hyw/s72-c/scarygirl.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3717133688018454834.post-2844659530260060723</id><published>2009-04-02T23:52:00.003+01:00</published><updated>2009-04-03T00:32:14.536+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="open source" /><category scheme="http://www.blogger.com/atom/ns#" term="games" /><category scheme="http://www.blogger.com/atom/ns#" term="ActionScript" /><title type="text">PushButton Engine - a game engine for Flash. But will anyone use it?</title><content type="html">&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://pushbuttonengine.com/"&gt;&lt;img style="cursor: pointer; width: 400px; height: 174px;" src="http://2.bp.blogspot.com/_fVgLlWCN4Uc/SdVKOeQxmFI/AAAAAAAAAMg/sNrF0pjCeLw/s400/pushbutton.jpg" alt="" id="BLOGGER_PHOTO_ID_5320240147310155858" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;First off, I recommend you go over to &lt;a href="http://makeitbigingames.com/"&gt;Jeff Tunnel's blog&lt;/a&gt; if you want a great read about the business of &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_0"&gt;independent&lt;/span&gt; games. Jeff knows a bit about games, having co-founded Garage Games, and his latest venture is &lt;a href="http://pushbuttonengine.com/"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;PushButton&lt;/span&gt; Engine&lt;/a&gt;, an open source game engine / library for Flash. I had to re-read the &lt;a href="http://pushbuttonengine.com/features/"&gt;description &lt;/a&gt;a couple of times to understand what they're trying to do, but basically it's an MIT licensed AS3 library with &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;pathfinding&lt;/span&gt;, physics etc, that they eventually plan to make money from by selling add-&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;ons&lt;/span&gt; to developers.&lt;br /&gt;&lt;br /&gt;I've thought for a while that Flash gaming needs something like this, to make it is easier for newcomers to create more advanced games. So my first question is - &lt;span style="font-weight: bold;"&gt;who's the target market?&lt;/span&gt; And I guess the answer is &lt;span style="font-weight: bold;"&gt;I am&lt;/span&gt;, since I make my living from Flash games. But here's my problem with that idea - surely anyone who knows enough about both Flash and game development to find this project, learn the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;API&lt;/span&gt;  and make a decent game can already apply these concepts through their own code? Potentially this project could save you a lot of development time (for example I wouldn't devote months to creating my own rigid body physics engine) but some of the mechanisms it includes, such as health, teams and &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;spriting&lt;/span&gt; are so intrinsic to a game, that I could easily see a developer fighting against the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;API&lt;/span&gt;. There's also a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;multiplayer&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;API&lt;/span&gt; in the works, but that market is already saturated with decent products (although I believe there's still a gap in the market for an unbranded, hosted &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;multiplayer&lt;/span&gt; platform).&lt;br /&gt;&lt;br /&gt;I'm going to give the engine a good test when I find some time, so stay tuned.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3717133688018454834-2844659530260060723?l=blog.iainlobb.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.iainlobb.com/feeds/2844659530260060723/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=3717133688018454834&amp;postID=2844659530260060723&amp;isPopup=true" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3717133688018454834/posts/default/2844659530260060723" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3717133688018454834/posts/default/2844659530260060723" /><link rel="alternate" type="text/html" href="http://blog.iainlobb.com/2009/04/pushbutton-engine-game-engine-for-flash.html" title="PushButton Engine - a game engine for Flash. But will anyone use it?" /><author><name>Iain</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="03008713953415735669" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_fVgLlWCN4Uc/SdVKOeQxmFI/AAAAAAAAAMg/sNrF0pjCeLw/s72-c/pushbutton.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3717133688018454834.post-209877845385264743</id><published>2009-03-19T23:10:00.005Z</published><updated>2009-05-25T20:48:07.127+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ActionScript" /><category scheme="http://www.blogger.com/atom/ns#" term="help" /><category scheme="http://www.blogger.com/atom/ns#" term="blogs" /><category scheme="http://www.blogger.com/atom/ns#" term="iain" /><category scheme="http://www.blogger.com/atom/ns#" term="code" /><title type="text">Please help me give away my source code!</title><content type="html">I have loads of great &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;ActionScript&lt;/span&gt; snippets that I want to share with the Flash community. Unfortunately I cannot get code to appear in any decent way on Blogger. If anyone can help me get the cool snippet window which everyone else seems to have on &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;wordpress&lt;/span&gt; to work on my blogger account, that would be sweet, and I will shower you all with great code. (well not that great, I wrote it).&lt;br /&gt;&lt;br /&gt;Post answers and links in the comments &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;PLLLLEEEEEEEEEEASE&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Help me Flash &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;RSS&lt;/span&gt; junkies, you're my only hope.&lt;br /&gt;&lt;br /&gt;UPDATE:&lt;br /&gt;Here is a test of using  &lt;a href="http://formatmysourcecode.blogspot.com/"&gt;http://formatmysourcecode.blogspot.com&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre style="border: 1px dashed rgb(153, 153, 153); padding: 5px; overflow: auto; font-family: Andale Mono,Lucida Console,Monaco,fixed,monospace; color: rgb(0, 0, 0); background-color: rgb(238, 238, 238); font-size: 12px; line-height: 14px; width: 100%;"&gt;&lt;code&gt;public static function formatTime(seconds:int):String&lt;br /&gt;{&lt;br /&gt;   seconds %= 86400;&lt;br /&gt;   var hours:int = seconds / 3600;&lt;br /&gt;   var minutes:int = (seconds / 60) - (hours*60);&lt;br /&gt;   var secs:int = seconds - (hours*3600) - (minutes * 60);&lt;br /&gt;   var timeString:String = ((hours&amp;lt;10)? "0"+hours : hours)+":"+((minutes&amp;lt;10)? "0"+minutes : minutes)+":"+((secs&amp;lt;10)? "0"+secs : secs);&lt;br /&gt;   return timeString;&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3717133688018454834-209877845385264743?l=blog.iainlobb.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.iainlobb.com/feeds/209877845385264743/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=3717133688018454834&amp;postID=209877845385264743&amp;isPopup=true" title="4 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3717133688018454834/posts/default/209877845385264743" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3717133688018454834/posts/default/209877845385264743" /><link rel="alternate" type="text/html" href="http://blog.iainlobb.com/2009/03/please-help-me-give-away-my-source-code.html" title="Please help me give away my source code!" /><author><name>Iain</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="03008713953415735669" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3717133688018454834.post-6670826497783088217</id><published>2009-03-06T20:04:00.013Z</published><updated>2009-05-22T22:02:00.118+01:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="opinion" /><category scheme="http://www.blogger.com/atom/ns#" term="ActionScript" /><category scheme="http://www.blogger.com/atom/ns#" term="free" /><category scheme="http://www.blogger.com/atom/ns#" term="eclipse" /><category scheme="http://www.blogger.com/atom/ns#" term="fdt" /><category scheme="http://www.blogger.com/atom/ns#" term="FlashDevelop" /><category scheme="http://www.blogger.com/atom/ns#" term="flash" /><title type="text">10 reasons I prefer FlashDevelop to Eclipse and FDT</title><content type="html">I know this is well-&lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_0"&gt;trodden&lt;/span&gt; ground (e.g. &lt;a href="http://blog.flashmech.net/2008/08/review-fdt-vs-flashdevelop/"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;FDT&lt;/span&gt; Vs. &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;FlashDevelop&lt;/span&gt; on &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;flashmech&lt;/span&gt;&lt;/a&gt;), but I've finally spent some time with &lt;a href="http://www.eclipse.org/"&gt;Eclipse &lt;/a&gt;and &lt;a href="http://fdt.powerflasher.com/"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;FDT&lt;/span&gt;&lt;/a&gt;, and to be honest I can't really see what the fuss is about. Of course Mac users don't really have the option of using &lt;a href="http://www.flashdevelop.org/community/viewtopic.php?f=11&amp;amp;t=4041"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;FlashDevelop&lt;/span&gt; &lt;/a&gt;(except under emulation), but for PC users, I just don't see the advantage of Eclipse. Obviously the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;PowerFlasher&lt;/span&gt; guys have done a great job on their part, but Eclipse is just too &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_7"&gt;unintuitive&lt;/span&gt; for me.&lt;br /&gt;&lt;br /&gt;So here's 10 reasons I prefer &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;FlashDevelop&lt;/span&gt; to Eclipse:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;FlashDevelop&lt;/span&gt; is free. &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;FDT&lt;/span&gt; is quite expensive.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;FlashDevelop&lt;/span&gt; starts auto-completing as soon as you start typing. In &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;FDT&lt;/span&gt; you have to type "this." to get the auto-completion menu. UPDATE: Sorry, you can also press CTRL-SPACE, but it's still an extra step.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;FlashDevelop&lt;/span&gt; automatically adds import statements. Eclipse doesn't, as far as I can see. UPDATE: I think it should have done but was badly configured on the Mac I was using.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;FlashDevelop's&lt;/span&gt; project window automatically finds new files. In Eclipse you have to add the folder manually, then tell Eclipse it's a source folder. UPDATE: Again, this was partly due to bad configuration, but Eclipse convoluted enough to let this happen easily.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_15"&gt;FlashDevelop&lt;/span&gt; projects can be moved around easily. Eclipse has confusing hidden project files.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_16"&gt;FlashDevelop&lt;/span&gt; renders fast. Text in Eclipse has a delay before formatting correctly. UPDATE: This is probably down to the beat-up old Mac I was using ;)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_17"&gt;FlashDevelop&lt;/span&gt; has a cute quick-find search box. I couldn't find this in Eclipse.&lt;/li&gt;&lt;li&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_18"&gt;FlashDevelop&lt;/span&gt; has zero learning curve - I picked it up instantly. I have wrestled with Eclipse for a week and still don't feel I've cracked it.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_19"&gt;CTRL&lt;/span&gt; + ENTER in &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_20"&gt;FlashDevelop&lt;/span&gt; switches to the Flash &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_21"&gt;IDE&lt;/span&gt; and publishes. Eclipse doesn't do this. UPDATE: Can be done with a free plug-in. Probably better to use FlexSDK and asset SWCs anyway.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_22"&gt;CTRL&lt;/span&gt; + the mouse wheel changes the text-size in &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_23"&gt;FlashDevelop&lt;/span&gt;. I had to use google just to work out how to change the font size in Eclipse!&lt;/li&gt;&lt;/ol&gt;If anyone can counter any of these points it would help me a lot, as I have to use Eclipse for the next week, so please leave comments!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3717133688018454834-6670826497783088217?l=blog.iainlobb.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.iainlobb.com/feeds/6670826497783088217/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=3717133688018454834&amp;postID=6670826497783088217&amp;isPopup=true" title="30 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3717133688018454834/posts/default/6670826497783088217" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3717133688018454834/posts/default/6670826497783088217" /><link rel="alternate" type="text/html" href="http://blog.iainlobb.com/2009/03/10-reasons-i-prefer-flashdevelop-to.html" title="10 reasons I prefer FlashDevelop to Eclipse and FDT" /><author><name>Iain</name><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="03008713953415735669" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">30</thr:total></entry></feed>
