<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/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' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-2866848246142087003</id><updated>2012-02-16T01:44:57.472-08:00</updated><category term='swear filtering'/><category term='Outside Standing Level'/><category term='processing'/><category term='Flasher Magazine'/><category term='8bitrocket'/><category term='Lee Brimelow'/><category term='vertex animation'/><category term='open source hardware'/><category term='development'/><category term='Jon Howard'/><category term='Madlab'/><category term='Michael Plank'/><category term='projection mapping'/><category term='5 Buttons'/><category term='Swag'/><category term='Mario Klingemann'/><category term='actionscript 3'/><category term='Rock Paper Shotgun'/><category term='analytics'/><category term='processing.org'/><category term='driving game'/><category term='Apple'/><category term='Tate'/><category term='Seb Lee Delisle'/><category term='visualisation'/><category term='museum installation'/><category term='globe'/><category term='Nethack'/><category term='Flash'/><category term='Games'/><category term='portfolio'/><category term='Arduino'/><category term='gamedev'/><category term='random level generation'/><category term='Technique'/><category term='Biology'/><category term='papervision billboard'/><category term='Flex'/><category term='Game Design'/><category term='elliot woods'/><category term='papervision'/><category term='Events'/><category term='Android'/><category term='Zombies'/><category term='training'/><category term='Brighton'/><category term='HTML5'/><category term='DIYBio'/><category term='Grant Skinner'/><category term='crossdomain.xml'/><category term='indie gaming'/><category term='Andre Michelle'/><category term='vvvv'/><category term='FOTB'/><category term='Flash Catalyst'/><category term='Roguelike'/><category term='AIR'/><category term='AS3'/><category term='PV3d'/><category term='Flash On The Beach 2010'/><category term='Away3D'/><category term='projection installation'/><category term='Manchester'/><category term='Google'/><category term='Retro'/><category term='Flash Camp'/><category term='Robert Hodgin'/><category term='Experimental Gameplay Project'/><category term='geolocation'/><category term='FDT'/><category term='Stefan Sagmeister'/><category term='papervision rotation'/><category term='source code'/><category term='Powerflasher'/><category term='Hoss Gifford'/><category term='iPad'/><category term='security sandbox violation'/><title type='text'>danhett // blog</title><subtitle type='html'>Interactive developer from Manchester, UK. // hellodanhett@gmail.com // @danhett // (+44)7849 959 348</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://blog.danhett.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2866848246142087003/posts/default'/><link rel='alternate' type='text/html' href='http://blog.danhett.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/2866848246142087003/posts/default?start-index=26&amp;max-results=25'/><author><name>danhett</name><uri>http://www.blogger.com/profile/06852121468411841433</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>29</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-2866848246142087003.post-8612412964910728591</id><published>2011-12-04T14:02:00.000-08:00</published><updated>2011-12-04T14:02:47.730-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Outside Standing Level'/><category scheme='http://www.blogger.com/atom/ns#' term='Rock Paper Shotgun'/><category scheme='http://www.blogger.com/atom/ns#' term='gamedev'/><category scheme='http://www.blogger.com/atom/ns#' term='indie gaming'/><category scheme='http://www.blogger.com/atom/ns#' term='Experimental Gameplay Project'/><category scheme='http://www.blogger.com/atom/ns#' term='5 Buttons'/><category scheme='http://www.blogger.com/atom/ns#' term='Game Design'/><title type='text'>"5 Buttons" - Real Life Experimental Gameplay</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://i.imgur.com/ve8GZ.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://i.imgur.com/ve8GZ.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;So I was browsing &lt;a href="http://www.rockpapershotgun.com/" target="_blank"&gt;Rock, Paper, Shotgun&lt;/a&gt; recently, when I stumbled across a post about the new &lt;a href="http://experimentalgameplay.com/blog/2011/12/5-buttons-competition-in-decemberjanuary/" target="_blank"&gt;Experimental Gameplay contest&lt;/a&gt;. This seemed odd, until I read on and realised that this month's contest is a very exciting thing indeed. I'm a big fan of EGP anyway, and have produced a couple of hastily thrown-together games in the past. This one however takes things to a whole new level:&lt;br /&gt;&lt;br /&gt;&lt;blockquote class="tr_bq"&gt;&lt;i&gt;This month we’re partnering with 02L &amp;gt; &amp;nbsp;Outside Standing Level to bring you the 5 Buttons Competition. Submit your game between now and January 31st, 11:59 PST to have the opportunity to have your game displayed at the Stattbad Gallery in beautiful Berlin, Germany.&lt;br /&gt;&lt;br /&gt;Unlike previous competitions, however, there is a bit of a twist: games will run on 02L &amp;gt; Outside Standing Level’s Unita Zero platform, an audio/visual playground made up of 5 pressure pads hooked up to a projector and audio system.&lt;/i&gt;&lt;/blockquote&gt;&lt;br /&gt;Exciting, eh? Of course, €1200 is a lovely incentive, but more realistically this is a great opportunity for EGP-ers to get our games played on a big canvas. A big canvas in a swimming pool. Hooked up to a sound system. In an art gallery in Germany. What's not to love? Even though I'm busier than I've ever been, this is far, far too exciting a prospect to pass up.&lt;br /&gt;&lt;br /&gt;The EGP themes are usually pretty broad, and often this is the factor that holds me back: a completely blank slate is often quite daunting, and I usually have trouble settling on one idea. However, this contest has a slightly more defined ruleset and conditions, which I think/hope will mean that I can be a little more focussed in my approach.&lt;br /&gt;&lt;br /&gt;There's a few technical requirements to deal with, but the requirements that affect the game design are:&lt;br /&gt;- All input (from menus to gameplay) must come from pressing the number keys 1-5, that will be mapped to big pressure pads on the floor of the exhibition&lt;br /&gt;- The pressure pads have up and down states, so we can tell when people are both standing on them, or getting off them&lt;br /&gt;- The audio should be prominent, as it'll be hooked up to a monster audio rig in a 'club setting'&lt;br /&gt;- The buttons will be spaced out in such a way that one user could activate two or possibly three of the pads at a time (this is to be confirmed)&lt;br /&gt;&lt;br /&gt;The setting of the project has made me mentally rule out single player games. In this kind of environment the whole point I think is to engage groups of people, be that spectators or players. Going onward from that decision it's then down to considering how the group of players interact: are they playing against each other, or as a team? Again, my gut reaction given the setting would be to lean towards collaborative play. I'm certainly not ruling anything out at this stage, but my focus in getting ideas down will definitely be more along the lines of bringing users together into one gameplay experience; I love the idea of teams working together, and what's more it's a really novel way to explore multiplayer gaming in a pretty unique setting.&lt;br /&gt;&lt;br /&gt;Needless to say, I'm excited. Expect more soon on this!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2866848246142087003-8612412964910728591?l=blog.danhett.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.danhett.com/feeds/8612412964910728591/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.danhett.com/2011/12/5-buttons-real-life-experimental.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2866848246142087003/posts/default/8612412964910728591'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2866848246142087003/posts/default/8612412964910728591'/><link rel='alternate' type='text/html' href='http://blog.danhett.com/2011/12/5-buttons-real-life-experimental.html' title='&quot;5 Buttons&quot; - Real Life Experimental Gameplay'/><author><name>danhett</name><uri>http://www.blogger.com/profile/06852121468411841433</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2866848246142087003.post-8030608839786683035</id><published>2011-10-22T11:04:00.000-07:00</published><updated>2011-10-22T11:13:20.422-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='elliot woods'/><category scheme='http://www.blogger.com/atom/ns#' term='Madlab'/><category scheme='http://www.blogger.com/atom/ns#' term='vvvv'/><category scheme='http://www.blogger.com/atom/ns#' term='projection mapping'/><title type='text'>vvvv and projection mapping @ madlab</title><content type='html'>Little bit late in posting this (busy busy), but: a couple of weekends ago I was lucky enough to grab a spot on an amazing projection mapping course at Madlab, run by &lt;a href="http://vimeo.com/elliotwoods"&gt;Elliot Woods&lt;/a&gt;. I've been hankering after doing more large-scale work, especially after the Tate projection I did a while ago, so when I saw this course come up I jumped at the chance.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;The software that handles everything is called &lt;a href="http://vvvv.org/"&gt;vvvv&lt;/a&gt;, and it basically looks like this (yep, no interface):&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://www.danhett.com/images/proj1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://www.danhett.com/images/proj1.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;I'd never even heard of it until the course, but it's a very clever piece of software, and I get the feeling that I've barely even begun to scratch the surface of it. The interface is massively minimal, very industrial and clean. You create programs ('patches') visually, by dropping in and connecting up blocks. It's almost closer to electronics than programming in many ways, it took quite a bit of mental adjustment for me to get into the habit of doing things without code. Of course, you can also dig into it and write code too, but for our purposes we didn't need to. The big, big difference that screwed with my brain a little was that vvvv doesn't compile into anything: you just keep working on your patch and keep an eye on it as you go. This was a pretty big shift in approach for me, but actually for something like projection mapping where you're working with real objects, seeing things 'live' is&amp;nbsp;incredibly&amp;nbsp;useful.&lt;br /&gt;&lt;br /&gt;The first day was largely spent going over the software ins and outs: it was a long and pretty knackering day but very rewarding to get it all working. It's rare these days where I feel like I'm learning something totally and utterly new: I've never used anything like vvvv before, so getting even the most rudimentary patch working, and actually understanding it all, was very satisfying.&lt;br /&gt;&lt;br /&gt;Day two was when the action happened, we broke out the projectors! We started small, using a linemapping patch to pick out objects. The group I was in ended up pointing the projection at the ceiling and mapping onto the beams, which was pretty neat:&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://www.danhett.com/images/proj2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://www.danhett.com/images/proj2.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;We then moved onto quad mapping, which is really powerful. This involves matching a geometric shape to the real object, which can then be treated as a 'screen' within the projection. We mapped onto stacks of boxes, and applied images and video all over the place. It's a really clever&amp;nbsp;technique, it's such a simple idea but looks amazing.&lt;br /&gt;&lt;br /&gt;We spent the rest of the day generally exploring the software and projectors, it was great to watch each group go in slightly different directions with it all. vvvv lends itself to experimentation really well: the barrier for entry with this kind of software is so low, just connect stuff and see what happens! Being up and running so fast with no prior knowledge is just not possible with code.&lt;br /&gt;&lt;br /&gt;At the end of the second day, Elliot went into a demo of much more complex 3D mapping, defining points in 3D space and using that to map with. If I'm honest, I didn't take much of this in at the time: I was pretty frazzled by this point! I'm sure once I sit down with it I'll figure it out.&lt;br /&gt;&lt;br /&gt;So anyway, yes: amazing weekend. I really feel like I've learned a proper, brand-new skill. And I'm not done yet! By happy&amp;nbsp;coincidence, I'm already working on a projection piece at work, and after doing this course I've switched it up a little and we'll be projection mapping onto objects instead of a flat surface. I've already started test mapping stuff in the studio, hopefully I'll be going a lot more crazy with this in the coming weeks:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://www.danhett.com/images/proj3.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://www.danhett.com/images/proj3.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;More on this to come, definitely!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2866848246142087003-8030608839786683035?l=blog.danhett.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.danhett.com/feeds/8030608839786683035/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.danhett.com/2011/10/vvvv-and-projection-mapping-madlab.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2866848246142087003/posts/default/8030608839786683035'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2866848246142087003/posts/default/8030608839786683035'/><link rel='alternate' type='text/html' href='http://blog.danhett.com/2011/10/vvvv-and-projection-mapping-madlab.html' title='vvvv and projection mapping @ madlab'/><author><name>danhett</name><uri>http://www.blogger.com/profile/06852121468411841433</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2866848246142087003.post-5043617034586716054</id><published>2011-06-05T11:30:00.000-07:00</published><updated>2011-06-05T11:47:07.443-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='museum installation'/><category scheme='http://www.blogger.com/atom/ns#' term='AIR'/><category scheme='http://www.blogger.com/atom/ns#' term='swear filtering'/><category scheme='http://www.blogger.com/atom/ns#' term='AS3'/><category scheme='http://www.blogger.com/atom/ns#' term='Flash'/><category scheme='http://www.blogger.com/atom/ns#' term='Tate'/><title type='text'>Tate projection installation: 3,500 messages later!</title><content type='html'>The projection installation I created for the Tate Liverpool has been live for a while now, and yesterday I was sent a dump of all the data that's been entered into it so far.&lt;br /&gt;&lt;br /&gt;It makes for really interesting reading: I learned that&amp;nbsp;for the most part my swear filter worked well, apart from a few (admittedly creative) exceptions. I also learned that people really tend to write a lot of crap into public installations.... I was obviously expecting a few posts to be hidden, but the percentage that the staff had to manually disable was far far higher than I'd ever have estimated. It was great to see however that some people seemed to take the time to write genuinely nice comments, not just about the exhibition but about the Tate and the staff, and even one or two about the projection itself, which was nice. :)&lt;br /&gt;&lt;br /&gt;There were a few common themes throughout: unsurprisingly a lot of schoolkids tended to write things like "Dave Smith was here", and there were a lot of attempts at getting profanity or offensive content through. Luckily the staff were really on top of things and shut that stuff down pretty fast. Something I did find interesting however was the amount of "vote labour" posts: either there was one committed chap continually posting, or a few people had the same idea. Strange. Some of the comments were just completely unrelated in every way, I think it must be the anonymity coupled with the fact that the comments are going to be six feet wide that incites people into writing absolute crap.&lt;br /&gt;&lt;br /&gt;Anyway, the full list can be viewed &lt;a href="http://danhett.com/tate_comments.xml"&gt;here&lt;/a&gt;. Below is a selection of the best ones I've found (for various reasons!)&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: monospace; font-size: 13px;"&gt;"Could somebody please give me directions to the art?"&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: monospace; font-size: 13px;"&gt;"I love Nancy Allen...will you marry me?"&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: monospace; font-size: 13px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman'; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: monospace; font-size: 13px;"&gt;"&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman'; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: monospace; font-size: 13px;"&gt;SHE SAID YES!!! WAAHEEEEEEEEY"&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: monospace; font-size: 13px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman'; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: monospace; font-size: 13px;"&gt;"It looks very hard growing up,and i dont want to grow up."&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: monospace; font-size: 13px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman'; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: monospace; font-size: 13px;"&gt;"I felt the work conveyed the struggle between youth and adulthood beautifully. It reflected how i feel about the sudden jump we go through as people into world of responsibilities."&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: monospace; font-size: 13px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman'; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: monospace; font-size: 13px;"&gt;"i like the sculpture on the floor. it makes me think of great things. Leo, aged 4."&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: monospace; font-size: 13px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman'; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: monospace; font-size: 13px;"&gt;"FRIDAY FRIDAY GOTTA GET DOWN ON FRIDAY"&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: monospace; font-size: 13px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman'; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: monospace; font-size: 13px;"&gt;"HAPPENED TO WALK PAST WITH A BAG OF SWEETS AND THOUGHT 'ART' I WILL GO AND HAVE A LOOK AT THAT BECAUSE IT IS RAINING"&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: monospace; font-size: 13px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman'; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: monospace; font-size: 13px;"&gt;"rowan thinks this is beautiful. Age 5."&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: monospace; font-size: 13px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman'; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: monospace; font-size: 13px;"&gt;"I enjoyed the way the pieces could be understood and interpreted differently by the different age groups, it made the exhibition almost personal. Amy-age 26"&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: monospace; font-size: 13px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman'; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: monospace; font-size: 13px;"&gt;"All in all good fun and interesting, thanks for a great day, BOOBIES"&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: monospace; font-size: 13px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman'; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: monospace; font-size: 13px;"&gt;"hi i am writing on a wall!"&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: monospace; font-size: 13px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman'; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: monospace; font-size: 13px;"&gt;"art confuses and confounds me! keep it simple!!!"&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: monospace; font-size: 13px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman'; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: monospace; font-size: 13px;"&gt;"Interesting artwork included here, I'm not sure if I like it or not. The artwork itself is slightly too wacky, however, the reasons for the art make sense. 7/10"&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: monospace; font-size: 13px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman'; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: monospace; font-size: 13px;"&gt;"It leaves more questions unanswered than answers questions"&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: monospace; font-size: 13px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman'; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: monospace; font-size: 13px;"&gt;"pretentious"&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: monospace; font-size: 13px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman'; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: monospace; font-size: 13px;"&gt;"In my country, we have a saying: put computers in the hands of fools and you will experience folly"&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: monospace; font-size: 13px;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman'; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: monospace; font-size: 13px;"&gt;"What a great way of capturing people's views of the exhibitions in a way that in itself, is art."&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&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/2866848246142087003-5043617034586716054?l=blog.danhett.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.danhett.com/feeds/5043617034586716054/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.danhett.com/2011/06/tate-projection-installation-3500.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2866848246142087003/posts/default/5043617034586716054'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2866848246142087003/posts/default/5043617034586716054'/><link rel='alternate' type='text/html' href='http://blog.danhett.com/2011/06/tate-projection-installation-3500.html' title='Tate projection installation: 3,500 messages later!'/><author><name>danhett</name><uri>http://www.blogger.com/profile/06852121468411841433</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2866848246142087003.post-5680863696467624239</id><published>2011-04-26T11:29:00.000-07:00</published><updated>2011-04-26T11:34:19.447-07:00</updated><title type='text'>For science! DIYBIO #2 @ MadLab</title><content type='html'>This week saw the second meeting of the Manchester branch (chapter?) of DIYBio.&lt;a href="http://blog.danhett.com/2011/03/enter-amateur-diybio-madlab.html"&gt; I attended the first meeting&lt;/a&gt; purely to have a look-see and take a few photos for Madlab, and found it so interesting that I've decided to get stuck right in.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://www.danhett.com/images/DIY1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://www.danhett.com/images/DIY1.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;As discussed in the first meeting, we're kicking things off with a relatively modest project, the Manchester Microbe map. I see this project as a kickstarter rather than a true maiden project, but it's definitely a solid foundation to build on for the group, and will not only allow us to see who can offer what to the group, but will also let us begin to think about where DIYBio Manchester is heading in terms of future projects.&lt;br /&gt;&lt;br /&gt;The discussion throughout was great this time around, with the focus switched more to the group members as opposed to last month's more structured introductory talk, and it was awesome to see people from all sorts of backgrounds getting stuck in and chucking ideas around. Like I mentioned last time, I was really concerned that I'd be in a minority of creatives compared to scientists, but this isn't the case at all: there's a great mix of people involved.&lt;br /&gt;&lt;br /&gt;Part of the session was quite a hands-on part, explaining how to take microbial samples from objects accurately. I'm sure that for the biologists in the room this part was everyday run-of-the-mill stuff, but for someone like me who has no experience with any of this, it was quite interesting to get my hands dirty (literally). We took samples of our hand-prints, and I also managed to take a good sample of the zoom lens on my camera: I'm not sure I want to see what will grow from four years of accumulated gigs and festivals, but it's for science I suppose. :)&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://www.danhett.com/images/DIY2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://www.danhett.com/images/DIY2.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;The second half of the evening was a round-table discussion into the specifics of the Microbe Map project, and it was great to see that most people agreed on most bits of the plan (at least, I think they did). There was some interesting discussion on the ethics involved in anything we do, which I found surprising: even though all we're going to be doing is swabbing things, full permissions need to be granted so that our bases are covered. We decided that some sort of blanket authorisation would work best, so for example someone at the council could give us the OK, or perhaps someone involved in the transport network could give us a general OK to go ahead. I think that this is something that's still being worked out, but by the sounds of it this consideration is certainly going to affect how the project turns out.&lt;br /&gt;&lt;br /&gt;In terms of specifics, the plan will be to try and sample Manchester in the same very specific timeframe, rather than say, over a week or so. This will allow us (as &lt;a href="http://martynamos.blogspot.com/"&gt;Martyn Amos&lt;/a&gt; put it) to take a biological 'snapshot' of Manchester, which means in turn that we'll have a slightly more focused set of results. We've agreed on May 4th to get together at Madlab, run out and sample whatever it is we're sampling, and return them back to Madlab at the same time. I'm still not 100% sure I can make it due to it being my anniversary, but there's plenty of people involved so we should get a good range of samples hopefully.&lt;br /&gt;&lt;br /&gt;Even at this early stage I'm already considering the end results, in terms of visualising whatever data we come up with. On the night I really tried to push for people taking photographs in addition to collecting data about each sample, which will be really helpful. I have no idea where I'd want to take this visually yet, I'm currently investigating if there are any others in the group that would like to collaborate on this end of things, and of course we're waiting on specifics of the study to be announced. Once I get more info and have a think, I'll probably outline my plans in another post (incidentally, if anyone's reading this who's at the more creative end of the spectrum, please drop me an email or catch me at the next meet-up!)&lt;br /&gt;&lt;br /&gt;So yes, game on. We're starting small, but hopefully this little taster will grow into something amazing. For science!&lt;br /&gt;&lt;br /&gt;For more up-to-date discussion there's a &lt;a href="http://groups.google.com/group/diybiomcr?hl=en&amp;amp;pli=1"&gt;Google group&lt;/a&gt; for DIYBio_MCR, a dedicated &lt;a href="http://twitter.com/#!/diybiomcr"&gt;twitter &lt;/a&gt;feed, the &lt;a href="http://diybio.madlab.org.uk/"&gt;Madlab &lt;/a&gt;website, and of course this humble blog. :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2866848246142087003-5680863696467624239?l=blog.danhett.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.danhett.com/feeds/5680863696467624239/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.danhett.com/2011/04/for-science-diybio-2-madlab.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2866848246142087003/posts/default/5680863696467624239'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2866848246142087003/posts/default/5680863696467624239'/><link rel='alternate' type='text/html' href='http://blog.danhett.com/2011/04/for-science-diybio-2-madlab.html' title='For science! DIYBIO #2 @ MadLab'/><author><name>danhett</name><uri>http://www.blogger.com/profile/06852121468411841433</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2866848246142087003.post-5291362986228083147</id><published>2011-04-12T12:51:00.000-07:00</published><updated>2011-04-12T12:51:05.294-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='museum installation'/><category scheme='http://www.blogger.com/atom/ns#' term='projection installation'/><category scheme='http://www.blogger.com/atom/ns#' term='AS3'/><category scheme='http://www.blogger.com/atom/ns#' term='Flash'/><category scheme='http://www.blogger.com/atom/ns#' term='Tate'/><title type='text'>Tate Installation - What I Learned</title><content type='html'>The installation project that I was working on for the Tate Liverpool is finally finished and installed, and has been running for a few days. It turned out really nicely, although the process was a lot different to my usual kind of project. While I'm happy with the final result, there's a lot I'd do differently if I tried to tackle something like this again (and hopefully I will). Here's what I learned:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Choose your technology wisely.&lt;/b&gt;&lt;br /&gt;I made the projector in Flash, as a dual-screen AIR application. The primary screen is the user-facing input part, where people write their comments. This screen also serves as the admin screen if a password is entered into the comment area. The second 'screen' is actually the projection itself. I used &lt;a href="http://www.joristimmerman.be/wordpress/2009/03/03/screenmanager-expand-your-air-application/"&gt;this handy class&lt;/a&gt; to make life easier, but it was still a bit of a pain making sure that focus was doing what I wanted. I'm also really concerned that the Flash player might be prone to crapping the bed when it's been left running for a few days, it's not something I've got much experience with.Only time will tell if it stays stable, it's been a few days and I've not heard anything. In hindsight, I kind of wish I'd gone with my initial plan to use Processing, but I ended up taking the comfortable option and going with the technology I knew best, despite the advantages that Processing would have given me. Ah well.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Testing an installation project is hard.&lt;/b&gt;&lt;br /&gt;Working on a regular monitor for a piece that's eventually going to be a few meters wide is a total nightmare. I spent days working with font sizes that looked completely natural on-screen, but looked totally different when we projected. About halfway through the build we rigged up a McGyver-style setup in the studio (see below) and managed to approximate a projection at the right size, and immediately realised that the fonts were still miniscule. Whoops. Next time around, I'm going to try and run the maths on it first: if the client wants a certain text size (in inches for example) then I need to sit down beforehand and figure out what size to set my assets at. It would still need testing, but my approach on this one wasn't even an educated guess and really created a lot of extra work.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://danhett.com/images/desk.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="425" src="http://danhett.com/images/desk.jpg" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Never underestimate people's creativity when it comes to profanity.&lt;/b&gt;&lt;br /&gt;Filtering swearwords was the biggest concern I had for the entire build. In the past I'd done some very basic filtering, but only for things like websites and apps. It doesn't &lt;i&gt;really&lt;/i&gt; do much damage if someone decides to fill my forms with swearwords. However, if someone sneaks a few creatively-formatted cuss words through at a crowded Tate exhibition, it's potentially a huge deal.&amp;nbsp;I ended up going for a three-tiered approach that seems to have a worked alright. I won't go into the technical specifics (that's a whole post on it's own) but it essentially checks input against a massive list, then searches for the more common words within words, including common letter/number substitutions. I tested what I thought was a solid system very early on, mainly through my Facebook friends, and within a few minutes realised that people are immensely clever at subverting filters and ruining my day. Hilarious as it was, the testing proved invaluable, and meant that I came up with what I'd like to think is a pretty robust system. I've not had an angry call from the Tate yet, so that's reassuring.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Letting staff edit content without the use of a mouse, is a pain.&lt;/b&gt;&lt;br /&gt;The screen has a password-controlled admin screen that allows the staff at the exhibition to quickly access the user comments, in date/time order, and very quickly disable any offensive or unsuitable comments. This was an important feature: I was pretty confident in my profanity filtering, but of course there's a lot you can do without swearing. My big issue was the lack of a mouse, so I had to handle screen-to-screen focusing cleverly to make sure the user couldn't get out of place or lock themseleves out of the screen. Turned out really well though.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Block that keyboard.&lt;/b&gt;&lt;br /&gt;In addition to filtering out swearwords, I needed to make sure that nobody was going to kill the presentation or alt-tab out of it, or whatever. This was absolutely mission-critical, and should really have been the very very first thing I sorted out, but of course I ended up getting stuck into the visuals and leaving it til last. Mistaaaake! Luckily, I found &lt;a href="http://webpages.charter.net/krumsick/"&gt;this little app&lt;/a&gt; that allowed us to quickly disable a lot of the keys. Again, if I'd done this in Processing I could have done this myself as part of the app, which would have been a much more streamlined solution than relying on a second external app to handle key blocking. Not to worry though.&lt;br /&gt;&lt;br /&gt;Overall I'm very happy with how it went from a technical perspective. There was nothing that went particularly 'wrong' with it, I just think that with a little more planning in advance I could have saved myself time, and made life easier.&lt;br /&gt;&lt;br /&gt;We did end up slightly simplifying it visually, just so we knew it would work. Again, this wasn't a mistake as such, I just kind of wished I'd done a bit more testing to see what I could have gotten away with. I also think this would have been a great learning experience had I picked Processing over Flash, but of course that comes with the risk of things not going as smoothly as it did due to be me using an environment I'm familar with. Perhaps there's better projects to cut my teeth on than ones that are going to be projecting in front of hundreds of people. Hmm.&lt;br /&gt;&lt;br /&gt;Anyway, I really enjoyed the experience overall, and will definitely jump at the chance to do something like this again. If you're in Liverpool in the next two months, go check it out.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2866848246142087003-5291362986228083147?l=blog.danhett.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.danhett.com/feeds/5291362986228083147/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.danhett.com/2011/04/tate-installation-what-i-learned.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2866848246142087003/posts/default/5291362986228083147'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2866848246142087003/posts/default/5291362986228083147'/><link rel='alternate' type='text/html' href='http://blog.danhett.com/2011/04/tate-installation-what-i-learned.html' title='Tate Installation - What I Learned'/><author><name>danhett</name><uri>http://www.blogger.com/profile/06852121468411841433</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2866848246142087003.post-1364462913386728520</id><published>2011-03-18T14:05:00.000-07:00</published><updated>2011-03-18T14:44:42.777-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Manchester'/><category scheme='http://www.blogger.com/atom/ns#' term='Madlab'/><category scheme='http://www.blogger.com/atom/ns#' term='Biology'/><category scheme='http://www.blogger.com/atom/ns#' term='DIYBio'/><title type='text'>'Enter the amateur!' - DIYbio @ Madlab</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://www.danhett.com/images/science.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://www.danhett.com/images/science.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;span class="Apple-style-span" style="color: #999999; font-size: x-small;"&gt;Photo: madlabuk&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;span class="Apple-style-span" style="color: #999999; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;On Wednesday night I managed to get down to the first Manchester &lt;a href="http://diybio.madlab.org.uk/"&gt;DIYbio &lt;/a&gt;event at &lt;a href="http://madlab.org.uk/"&gt;Madlab&lt;/a&gt;. It was the kind of event I wouldn't usually have been&amp;nbsp;instinctively&amp;nbsp;drawn to, but after Lia at Madlab suggested I check it out and get my thoughts down I decided to get in there and see what the project was about. I was initially there on a whim and wasn't expecting to be hugely involved, but I came out of it with every intention of getting stuck into the project first-hand.&lt;/div&gt;&lt;br /&gt;&lt;a href="http://diybio.org/"&gt;DIYBio &lt;/a&gt;&lt;i&gt;"is an organization dedicated to making biology an accessible pursuit for citizen scientists, amateur biologists and biological engineers who value openness and safety"&lt;/i&gt;. The movement covers a wealth of community-driven projects all over the world, spanning a wide range of disciplines, with a focus on bringing biology out of the lab and into the hands of people who wouldn't ordinarily have access to these fields.&lt;br /&gt;&lt;br /&gt;Going into the event I was a little apprehensive that I'd be in a minority of techies in a large group of terribly knowledgeable biologist types. It was quite nice to find out that actually the group was comprised of more tech folks than scientists, and after chatting to a few people it quickly became clear there is a great range of practitioners involved, both from Team Digital and Team Science. :)&lt;br /&gt;&lt;br /&gt;The overall plan is that any future project ideas will be open to the group for discussion and planning, but as a introductory project the organisers have come up with The Manchester Microbe Map: an investigation into the microbes on ATM machines all over the city. I think this is a great starting point: it's an interesting idea that will allow the group to establish who can do what, both in terms of who's willing get out there and get stuff done, and also who can bring particular skills to the table. My interest with this project is definitely the data visualisation end of things: once we have our data, what can we do with it digitally? I love the idea of getting this stuff mapped out and visualising things like physical factors, proximity to certain places of interest, time of day etc: there's a lot of factors we might consider, and it might even turn out we discover more factors once we get stuck into the data. The final piece is being shown (I think) at FutureEverything, so it would be great to be involved from the outset. Hopefully there'll be some data vis ninjas involved that I can learn from.&lt;br /&gt;&lt;br /&gt;As part of the Microbe Map project involves swabbing for samples, we also ran through a highly entertaining demo on DNA extraction "tiki-style", using pineapple juice, washing up liquid, salt, and a sample of saliva. Bonus points to those who drank the shot afterwards ("in the name of science!"), I wasn't remotely man enough to try it.&lt;br /&gt;&lt;br /&gt;DIYBio MCR looks like it could turn out to be hugely interesting anyway, there's a ton of talented people involved, and a massive scope to do, well, anything. Once again, the Madlab guys have allowed this to happen in a really great environment, and I couldn't be happier that Manchester is involved in another awesome project like this. The DIYBio meetups are once a month, hopefully this initial project will kickstart something brilliant. Looking forward to the next one!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2866848246142087003-1364462913386728520?l=blog.danhett.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.danhett.com/feeds/1364462913386728520/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.danhett.com/2011/03/enter-amateur-diybio-madlab.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2866848246142087003/posts/default/1364462913386728520'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2866848246142087003/posts/default/1364462913386728520'/><link rel='alternate' type='text/html' href='http://blog.danhett.com/2011/03/enter-amateur-diybio-madlab.html' title='&apos;Enter the amateur!&apos; - DIYbio @ Madlab'/><author><name>danhett</name><uri>http://www.blogger.com/profile/06852121468411841433</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2866848246142087003.post-6403019816138999084</id><published>2011-03-13T01:17:00.000-08:00</published><updated>2011-03-13T01:38:38.785-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Madlab'/><category scheme='http://www.blogger.com/atom/ns#' term='Arduino'/><category scheme='http://www.blogger.com/atom/ns#' term='open source hardware'/><category scheme='http://www.blogger.com/atom/ns#' term='Flash'/><category scheme='http://www.blogger.com/atom/ns#' term='processing'/><title type='text'>Beginner's Arduino @ Madlab</title><content type='html'>Yesterday I was lucky enough to attend an introductory &lt;a href="http://www.arduino.cc/"&gt;Arduino &lt;/a&gt;course at &lt;a href="http://madlab.org.uk/"&gt;Madlab &lt;/a&gt;in Manchester. I've been wanting to get into this stuff for a while now, so when the course came up I jumped at the chance to get stuck in.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://www.danhett.com/images/arduino.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://www.danhett.com/images/arduino.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Madlab itself is an awesome space, somehow I managed to completely pass it by and not attend anything there until yesterday. What they're doing is a really good thing: creating a proper grass-roots creative space for the whole city to use. Next time they need volunteers for things (I've seen them put a few calls out in the past), I'll definitely be getting stuck into helping them out, it's a great place run by great folks. The &lt;a href="http://omniversity.madlab.org.uk/"&gt;Omniversity &lt;/a&gt;programme reflects this too, offering a really diverse range of training at an amazing price: the Arduino course was £120 for a whole day's training, and I came out with an Uno board and a loads of bits. Bargain.&lt;br /&gt;&lt;br /&gt;Anyway, Arduino is an open-source hardware platform that lends itself really well to experimentation and prototyping. It's cheap, really easy to get into, and allows programmers to screw around with electronics pretty quickly without requiring a shitload of prior knowledge. It seems like a logical progression for me: I know Flash inside out, and I do a little Processing, I love to experiment, and I'm too old for Lego. The Arduino platform fits my requirements pretty much perfectly then.&lt;br /&gt;&lt;br /&gt;Within a few minutes we'd connected the boards via USB and got them up and running. The Arduino language is very similar to Processing, in fact the environment is almost identical. The main difference to Processing is the fact that once you've finished writing your code in Arduino, you can hit 'upload' and send everything to the physical board. The whole process was far easier than I was expecting, and the satisfaction of seeing your code controlling physical components for the first time is absolutely immense. Even just wiring up a couple of LED's and a potentiometer and making it work properly gave me a real sense of &lt;i&gt;'I made this! With my hands!'&lt;/i&gt;. We kept connected via USB for these lessons, but once the code is uploaded to the chip's memory you can hook up a 9v battery or even an AC adaptor. Very flexible.&lt;br /&gt;&lt;br /&gt;The physical components themselves are wired to a breadboard, which is none-permanent (i.e. not soldered in). This means you can screw around with things all day and re-use everything. Of course, if you wanted to make something permanent you could easily transfer your hardware to a smaller Arduino and solder it all in, no problem. At the moment my interest is in experimentation, so the Uno fits the bill great.&lt;br /&gt;&lt;br /&gt;Once we'd gotten the basics down, everything else followed really quickly. The group was quite small, and we were all kind of the same level, so things moved pretty swiftly. The course materials were great too, we got printed versions of all the board layouts, along with all the stuff digitally too. The projects themselves were great, each one introduced a new idea or concept or component, but in a way that really wanted you to keep messing around and pushing it further. The highlight for me was getting wiring up a potentiometer and a light sensor to act as a makeshift &lt;a href="http://en.wikipedia.org/wiki/Theremin"&gt;theremin&lt;/a&gt;, incredibly geeky but very cool.&lt;br /&gt;&lt;br /&gt;So, next steps? I ordered a &lt;a href="http://www.oomlout.co.uk/starter-kit-for-arduino-ardx-wo-arduino-p-200.html?zenid=75492b4a28279f8402807b4f0ad1b0f0"&gt;basic starter kit from Oomlout&lt;/a&gt; that has more stuff to play around with, and my priority objective is to get my hardware talking to Flash, probably using something like &lt;a href="http://code.google.com/p/as3glue/"&gt;AS3glue&lt;/a&gt;. Once that's down, the&amp;nbsp;possibilities are absolutely endless: I love the idea of controlling my Flash games with accelerometers and light sensors and generally going nuts with the tech.&lt;br /&gt;&lt;br /&gt;Overall it was a great day. If you're even remotely interested in this stuff, you have got to check Arduino out. I feel like this is definitely just the beginning of some serious nerd-fu.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2866848246142087003-6403019816138999084?l=blog.danhett.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.danhett.com/feeds/6403019816138999084/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.danhett.com/2011/03/beginners-arduino-madlab.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2866848246142087003/posts/default/6403019816138999084'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2866848246142087003/posts/default/6403019816138999084'/><link rel='alternate' type='text/html' href='http://blog.danhett.com/2011/03/beginners-arduino-madlab.html' title='Beginner&apos;s Arduino @ Madlab'/><author><name>danhett</name><uri>http://www.blogger.com/profile/06852121468411841433</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2866848246142087003.post-2982959387589913631</id><published>2011-02-03T12:57:00.000-08:00</published><updated>2011-02-04T11:45:03.120-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='globe'/><category scheme='http://www.blogger.com/atom/ns#' term='papervision'/><category scheme='http://www.blogger.com/atom/ns#' term='geolocation'/><category scheme='http://www.blogger.com/atom/ns#' term='Away3D'/><category scheme='http://www.blogger.com/atom/ns#' term='AS3'/><category scheme='http://www.blogger.com/atom/ns#' term='Flash'/><title type='text'>Accurate Geolocation in Away3D</title><content type='html'>I built a globe in Away3D recently, and needed to mark on a few countries. It didn't have to be that accurate, but I figured that if I'm going to spend time putting points on it, they might as well be spot-on. &lt;br /&gt;&lt;br /&gt;It was actually pretty straightforward to do, and turned out really nicely:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://www.danhett.com/images/globe.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://www.danhett.com/images/globe.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;This example works using manually typed latitude and longitude, but it would be pretty simple to hook up an API that would let us edit the points, Google Maps might even do it.&lt;br /&gt;&lt;br /&gt;Once we've got our latitude and longitude, the only other thing we need is an accurate map. I made this texture in Photoshop, but ensured that the map I worked off was designed to be wrapped around a globe. When it's laid flat, it actually looks very weird and warped (Antarctica looks massive, for example), but this is to allow for it 'pinching' at the top and bottom when the texture is applied. Obviously the map needs to be set exactly right in terms of placement too, I could tell mine was correct because the UK (i.e. the GMT timezone) was in the exact center:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://www.danhett.com/images/blackMap.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://www.danhett.com/images/blackMap.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Each country is then added to an array. I got these manually online, so they're far more accurate than I really need them, but it doesn't really make any difference:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;locations.push(["Turkey", 38.963745, 35.243322]);&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Once we have the locations, there's some scary-looking math that will convert the latitude and longitude into radians, in three dimensions. Initially I thought that maybe it was just three straightforward trig calculations, but it's actually a little more involved:&lt;br /&gt;&lt;br /&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;var phi:Number = (90 - locations[i][1]) * Math.PI/180;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;var theta:Number = (locations[i][2] + 180) * Math.PI/180;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;marker.x = (earthRadius + 15) * Math.sin(phi) * Math.cos(theta);&amp;nbsp;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;marker.z = (earthRadius + 15) * Math.sin(phi) * Math.sin(theta);&lt;/div&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;marker.y = (earthRadius + 15) * Math.cos(phi);&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;(This is a bit of a step up from 2D trigonometry, and I definitely want to get my head around it.) &lt;br /&gt;&lt;br /&gt;Anyway, that's the markers placed correctly in 3D space, but we still need them to point 'inwards', towards the center of the globe. We could work this out in the same sort of way as the placement calculation, but Away3D makes it a bit easier by letting us tell each marker to 'look' (orient) itself towards a given point. This is a simple example, so everything orients itself to the center of the space, at 0,0,0:&lt;br /&gt;&lt;br /&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;marker.lookAt(new Number3D(0, 0, 0));&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;marker.pitch(90);&lt;/div&gt;&lt;br /&gt;And that's it, accurate markers on an Away3D globe.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;EDIT:&lt;/b&gt; Had a couple of people asking for the source, so here's a really basic version to check out. The texture is a free one that I downloaded &lt;a href="http://planetpixelemporium.com/earth.html"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;a href="http://www.danhett.com/downloads/geolocation.zip"&gt;geolocation.zip [3.2mb]&lt;/a&gt;&lt;/b&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2866848246142087003-2982959387589913631?l=blog.danhett.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.danhett.com/feeds/2982959387589913631/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.danhett.com/2011/02/accurate-geolocation-in-away3d.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2866848246142087003/posts/default/2982959387589913631'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2866848246142087003/posts/default/2982959387589913631'/><link rel='alternate' type='text/html' href='http://blog.danhett.com/2011/02/accurate-geolocation-in-away3d.html' title='Accurate Geolocation in Away3D'/><author><name>danhett</name><uri>http://www.blogger.com/profile/06852121468411841433</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2866848246142087003.post-6050830490761529617</id><published>2011-01-31T11:21:00.000-08:00</published><updated>2011-01-31T11:29:21.928-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='museum installation'/><category scheme='http://www.blogger.com/atom/ns#' term='AIR'/><category scheme='http://www.blogger.com/atom/ns#' term='projection installation'/><category scheme='http://www.blogger.com/atom/ns#' term='AS3'/><category scheme='http://www.blogger.com/atom/ns#' term='Flash'/><title type='text'>My first installation, argh!</title><content type='html'>I've recently been asked to help build an interactive projecting installation for a museum in the UK (can't say much more about it for now, but it's a well-known art museum in Liverpool, you work it out!).&lt;br /&gt;&lt;br /&gt;The brief is to come up with a way of letting users comment on the exhibition interactively, and to display that information to other visitors in an interesting way. The plan is to have one machine dedicated to user input (hopefully a touch-screen), and then another machine hooked up to a projector in the venue that will have an animating display showing loads of live data, that contantly checks through user's comments and displays them nicely. I'll be using AIR for both parts, and some sort of database solution to store the info (I might even grab tweets from a dedicated Twitter feed too, if there's enough interest).&lt;br /&gt;&lt;br /&gt;This is a really nice example of what I'm seeing in my head, although this one is A) webcam enabled, and B) completely bloody amazing. Still:&lt;br /&gt;&lt;br /&gt;&lt;iframe src="http://player.vimeo.com/video/12760502?title=0&amp;amp;byline=0&amp;amp;portrait=0&amp;amp;color=0094A5" width="630" height="354" frameborder="0"&gt;&lt;/iframe&gt;&lt;p&gt;&lt;a href="http://vimeo.com/12760502"&gt;Nike NO MORE TALK&lt;/a&gt; from &lt;a href="http://vimeo.com/seeper"&gt;seeper&lt;/a&gt; on &lt;a href="http://vimeo.com"&gt;Vimeo&lt;/a&gt;.&lt;/p&gt;&lt;br /&gt;It's an interesting challenge anyway, and something I've got no experience in doing really. I'm quite excited to be involved though, but it means I'm going to have to really think hard about how I go about doing it. My work is usually online, or given to reps, or installed on computers. Having my work displayed in public for a few weeks where large numbers of people are going to screw with it presents it's own set of issues for me. Like these:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Potential Issue #1: Idiots.&amp;nbsp;&lt;/b&gt;&lt;br /&gt;Idiots love to break lovely things like the thing I want to make. By this, I mean typing "cock" instead of a name, or sneakily quitting the app, or somehow trying to break it, whatever. I need to bear in mind that while writing "cock" as a username isn't the end of the world on a website, projecting it onto the wall at a busy art exhibition might be slightly more of an issue. I think that the museum setting means that this sort of sabotage is probably slightly less likely to occur than say, if it was in the middle of a street, but regardless: this thing needs to be completely twat-proof. My data will probably be stored remotely (a really simple mySQL type deal), which means that I could give staff at the museum the power to delete any offensive comments that slip through the net.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Potential Issue #2: Technology.&lt;/b&gt;&lt;br /&gt;The program will be running for long stretches of time, which means that I really need to know that if things go wrong, I've got some sort of backup. My plan is to have the two machines hooked up to a network, but at the moment I think it'll be wirelessly. That means that if the wireless drops out for some reason, I need to know my program won't shit the bed and break completely. I think I'm going to have rolling checks at regular intervals that will grab any new comments from the database, and copy them to a local source which will then be used to power the projection content. This means that I can do a check for connection before each update attempt, and if none is found then it's not the end of the world and the program will keep running.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Potential Issue #3: Setting.&lt;/b&gt;&lt;br /&gt;This is the first piece of work I've ever done that is location-dependent. How and where it's installed, and on what kit, is going to have a pretty huge effect on the end product. This means that I need to get in there with a camera and figure out where and how I'm deploying it, before I do anything else. There's even been talk of projecting onto a none-flat surface (maybe having raised sections to project individual quotes on to), which would be great, but is a lot more involved. We'll see what happens with that though.&lt;br /&gt;&lt;br /&gt;So yes, I'm very excited, and can't wait to get stuck into tackling this thing. Once I get a proper working prototype down I'll probably update again with how it's going.&lt;br /&gt;&lt;br /&gt;This should either be a really positive learning experience for me, or a massive and spectacular failure. Luckily, I'm an &lt;a href="http://www.sfportal.hu/wp-content/uploads/2010/09/optimist-prime-575.jpeg"&gt;optimist prime&lt;/a&gt;. :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2866848246142087003-6050830490761529617?l=blog.danhett.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.danhett.com/feeds/6050830490761529617/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.danhett.com/2011/01/my-first-public-piece.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2866848246142087003/posts/default/6050830490761529617'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2866848246142087003/posts/default/6050830490761529617'/><link rel='alternate' type='text/html' href='http://blog.danhett.com/2011/01/my-first-public-piece.html' title='My first installation, argh!'/><author><name>danhett</name><uri>http://www.blogger.com/profile/06852121468411841433</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2866848246142087003.post-2714637042410268306</id><published>2010-11-28T10:34:00.000-08:00</published><updated>2011-04-11T01:19:48.650-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Games'/><category scheme='http://www.blogger.com/atom/ns#' term='Experimental Gameplay Project'/><category scheme='http://www.blogger.com/atom/ns#' term='AS3'/><category scheme='http://www.blogger.com/atom/ns#' term='driving game'/><category scheme='http://www.blogger.com/atom/ns#' term='Game Design'/><title type='text'>EGP entry for November: SolarCar</title><content type='html'>Very quick and dirty one, this!&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://www.danhett.com/images/solar.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://www.danhett.com/images/solar.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;I spent five hours (ish) making a quick interactive concept for the &lt;a href="http://experimentalgameplay.com/blog/2010/11/night-and-day-for-november"&gt;Experimental Gameplay Project&lt;/a&gt; theme "Night and Day".&lt;br /&gt;&lt;br /&gt;I  came up with a little driving game where your solar-powered car slowly  runs out of juice unless you drive into the light. The objective is to collect coins that increase in points value if the player  combos together a longer string of coins in between charges. This  creates a bit of a risk/reward thing as the player who plays it safe  doesn't score big points.&lt;br /&gt;&lt;br /&gt;It's very rough around the edges, but I think the concept works  pretty well. I'd love to turn it into something more substantial at some  point, perhaps as a proper racer rather than a mindless collecting  exercise. It would be pretty cool to sabotage your opponents light  sources to get ahead in the race, or maybe each player could be light or dark, and have to turn light sources on and off to gain an advantage. &lt;br /&gt;&lt;br /&gt;Not bad for a few hour's work anyway, here it is: &lt;a href="http://danhett.com/games/solarcar/"&gt;SolarCar&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2866848246142087003-2714637042410268306?l=blog.danhett.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.danhett.com/feeds/2714637042410268306/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.danhett.com/2010/11/egp-entry-for-november-solarcar.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2866848246142087003/posts/default/2714637042410268306'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2866848246142087003/posts/default/2714637042410268306'/><link rel='alternate' type='text/html' href='http://blog.danhett.com/2010/11/egp-entry-for-november-solarcar.html' title='EGP entry for November: SolarCar'/><author><name>danhett</name><uri>http://www.blogger.com/profile/06852121468411841433</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2866848246142087003.post-8339806682528656167</id><published>2010-11-21T14:17:00.000-08:00</published><updated>2010-11-21T14:20:15.698-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='8bitrocket'/><category scheme='http://www.blogger.com/atom/ns#' term='Retro'/><category scheme='http://www.blogger.com/atom/ns#' term='Games'/><category scheme='http://www.blogger.com/atom/ns#' term='AS3'/><category scheme='http://www.blogger.com/atom/ns#' term='Flash'/><category scheme='http://www.blogger.com/atom/ns#' term='Game Design'/><title type='text'>The 8bitrocket 16k Retro Remake contest</title><content type='html'>The awesome guys at &lt;a href="http://www.8bitrocket.com/2010/11/19/announcing-the-8bitrocket-16k-retro-re-make-contest/"&gt;8BitRocket&lt;/a&gt; are running a really fun sounding game design contest at the moment, to recreate classic Atari games using your tech of choice. The fun part is, the game has to be squeezed into a measly 16k! OK, so it's not as stripped down as the 1K contests, but it'll still be a good challenge (more so considering I'll be using Flash).&lt;br /&gt;&lt;br /&gt;I've been kind of struggling with fitting in larger projects recently, so this sounds like a fun little contest that won't eat up too much of my time. I'm also a sucker for retro game design, so it would be rude not to have a go really.&lt;br /&gt;&lt;br /&gt;Game-wise, I'm definitely only going to choose from games I've played myself on the actual Atari 7800 I owned: at the moment I'm thinking about perhaps some sort of &lt;a href="http://en.wikipedia.org/wiki/Pitfall%21"&gt;Pitfall&lt;/a&gt; clone, or if that turns out to be over-ambitious then maybe something a bit easier, like a &lt;a href="http://en.wikipedia.org/wiki/Q*bert"&gt;Q*bert&lt;/a&gt; clone. I'm not going to lie: the best game I ever played on the Atari (if not EVER) was undoubtedly &lt;a href="http://en.wikipedia.org/wiki/Ninja_Golf"&gt;Ninja Golf&lt;/a&gt;. If I feel brave I might have a go at it, the game itself was absolutely rubbish, but it has ninjas and golf in it. Ninjas and golf!&lt;br /&gt;&lt;br /&gt;Anyway, sounds like fun, check more details &lt;a href="http://www.8bitrocket.com/2010/11/19/announcing-the-8bitrocket-16k-retro-re-make-contest/"&gt;here!&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2866848246142087003-8339806682528656167?l=blog.danhett.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.danhett.com/feeds/8339806682528656167/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.danhett.com/2010/11/16-retro-remake-contest-its-on.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2866848246142087003/posts/default/8339806682528656167'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2866848246142087003/posts/default/8339806682528656167'/><link rel='alternate' type='text/html' href='http://blog.danhett.com/2010/11/16-retro-remake-contest-its-on.html' title='The 8bitrocket 16k Retro Remake contest'/><author><name>danhett</name><uri>http://www.blogger.com/profile/06852121468411841433</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2866848246142087003.post-1466607388417415203</id><published>2010-10-31T03:18:00.000-07:00</published><updated>2011-04-11T01:19:28.518-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Zombies'/><category scheme='http://www.blogger.com/atom/ns#' term='Games'/><category scheme='http://www.blogger.com/atom/ns#' term='Experimental Gameplay Project'/><category scheme='http://www.blogger.com/atom/ns#' term='AS3'/><category scheme='http://www.blogger.com/atom/ns#' term='Flash'/><title type='text'>Down, Left, Right of the Living Dead!</title><content type='html'>Here's my entry for this month's &lt;a href="http://experimentalgameplay.com/blog/2010/10/boys-and-girls-in-october/"&gt;Experimental Gameplay Project&lt;/a&gt; contest, "Boys and Girls". I decided that making a game specifically for girls or boys would be a bit rubbish (I don't really agree with dividing gamers down the middle like that), so I went for a mashup of two opposing game types instead.&lt;br /&gt;&lt;br /&gt;What I came up with was a Dance Dance Revolution clone, that spawns zombies as you dance. A girl game, for boys:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://www.danhett.com/images/zombie1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://www.danhett.com/images/zombie1.jpg" /&gt;&amp;nbsp;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://www.danhett.com/images/zombie2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://www.danhett.com/images/zombie2.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://www.danhett.com/images/zombie3.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://www.danhett.com/images/zombie3.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://www.danhett.com/images/zombie4.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://www.danhett.com/images/zombie4.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;Anyway, it's &lt;b&gt;very&lt;/b&gt; rough around the edges, but the total build time was about eight hours so I think I did OK. It completely sucks as a game, but it was a ton of fun to make (and I learned a whole lot, and that's what it's about, right?)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://danhett.com/games/livingdead/LivingDead.html"&gt;Click here to play: &lt;b&gt;Down, Left, Right of the Living Dead!&lt;/b&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;(Oh, and: a massive thanks to &lt;a href="http://soundcloud.com/oelav/%20"&gt;OELAV&lt;/a&gt; for hooking me up with the awesome 8-bit tune, and to &lt;a href="http://www.arcadeart.etsy.com/"&gt;Donna&lt;/a&gt; who made &lt;a href="http://www.flickr.com/photos/the-arcade-artist/3523891382/"&gt;this awesome little thing&lt;/a&gt; out of beads that I turned into a screen zombie)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2866848246142087003-1466607388417415203?l=blog.danhett.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.danhett.com/feeds/1466607388417415203/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.danhett.com/2010/10/down-left-right-of-living-dead.html#comment-form' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2866848246142087003/posts/default/1466607388417415203'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2866848246142087003/posts/default/1466607388417415203'/><link rel='alternate' type='text/html' href='http://blog.danhett.com/2010/10/down-left-right-of-living-dead.html' title='Down, Left, Right of the Living Dead!'/><author><name>danhett</name><uri>http://www.blogger.com/profile/06852121468411841433</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2866848246142087003.post-2802254737205107487</id><published>2010-10-01T15:01:00.000-07:00</published><updated>2011-01-26T05:32:02.303-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Stefan Sagmeister'/><category scheme='http://www.blogger.com/atom/ns#' term='Flash On The Beach 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='Brighton'/><category scheme='http://www.blogger.com/atom/ns#' term='Robert Hodgin'/><category scheme='http://www.blogger.com/atom/ns#' term='FOTB'/><category scheme='http://www.blogger.com/atom/ns#' term='Hoss Gifford'/><category scheme='http://www.blogger.com/atom/ns#' term='Grant Skinner'/><category scheme='http://www.blogger.com/atom/ns#' term='AS3'/><category scheme='http://www.blogger.com/atom/ns#' term='Mario Klingemann'/><category scheme='http://www.blogger.com/atom/ns#' term='FDT'/><category scheme='http://www.blogger.com/atom/ns#' term='Andre Michelle'/><category scheme='http://www.blogger.com/atom/ns#' term='Jon Howard'/><title type='text'>Flash On The Beach 2010</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://flashonthebeach.com/images/participate/fotb_logo_400x150.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://flashonthebeach.com/images/participate/fotb_logo_400x150.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;So I've finally found time to sit down and get down my thoughts on &lt;a href="http://flashonthebeach.com/"&gt;Flash On The Beach 2010&lt;/a&gt;, it was such a great event that I don't really know where to start! Apologies in advance for length. &lt;br /&gt;&lt;br /&gt;This was my first big Flash event, and I had no idea what to expect. It turned out to be... bigger than I was expecting, the Dome is an amazing venue. I can't imagine standing on that massive stage talking to such a huge crowd (kudos to the elevator pitch folks in particular, you collectively showed &lt;i&gt;balls of steel&lt;/i&gt;). Brighton itself is ace too: it's lucky I don't live there, I'd have a house full of cool stuff and no money!&lt;br /&gt;&lt;br /&gt;Anyway, I was at the event for the whole first day, and half of the second day. We got two flexible tickets, so four of us got to check stuff out altogether, which worked really well. The only drawback of course was trying to see all the stuff that sounded best; no mean feat when there was awesome stuff happening &lt;i&gt;constantly&lt;/i&gt; for three days. Next year I'm most definitely doing the whole thing, it was incredibly annoying sitting on the train back to Manchester reading about what an awesome time everyone was still having without me. All isn't lost though, we get access to all the session videos so at least I can watch stuff.&lt;br /&gt;&lt;br /&gt;The opening video by &lt;a href="http://archive.nandocosta.com/"&gt;Nando Costa&lt;/a&gt; was eye-wateringly beautiful, perfectly edited and with an amazing soundtrack:&lt;br /&gt;&lt;br /&gt;&lt;iframe frameborder="0" height="354" src="http://player.vimeo.com/video/15271355?title=0&amp;amp;byline=0&amp;amp;portrait=0&amp;amp;color=ffffff" width="629"&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;br /&gt;Nando also gave a talk later in the event, but I missed it. Can't wait to check the talk out.&lt;br /&gt;&lt;br /&gt;The event opening featured a boyband skit with massive iPhone dancers and a Steve Jobs caricature (singing "I want it myyyy way..." etc). It was kind of funny I guess, in a really naff kind of way. I laughed, but... y'know... don't tell anyone. The keynote was standard stuff, more Catalyst. I've made myself pretty clear on the subject &lt;a href="http://blog.danhett.com/2010/07/flash-camp-manchester.html"&gt;last time round&lt;/a&gt; (at Flash Camp Manchester) so I'm not repeating myself... Catalyst is just not on my radar at all. Something I did find weird though: we kept repeatedly being told that there were "four product managers on stage for the first time" as if it was some insanely brilliant achievement we should all be marveling at. Who, honestly, cares? I mean, the Adobe guys seem like decent chaps and all, but I really wasn't that impressed that there were four blokes instead of two trying to sell me software. &lt;br /&gt;&lt;br /&gt;Anyway, on to the sessions. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;ADHD FTW, LOL!!! &lt;/b&gt;(&lt;a href="http://gskinner.com/blog/"&gt;Grant Skinner&lt;/a&gt;)&lt;br /&gt;&lt;i&gt;"Nature is using MY code" &lt;/i&gt;&lt;br /&gt;This was an awesome opener for me. I've heard in the past that his talks are usually a bit more technical, but I was really happy to find that his session was more of a "look at all this cool stuff, let me inspire you" type of affair, which was perfect considering that I was still half asleep at this point. Grant's work is really varied and interesting, especially the stuff he's doing with hardware (a particular highlight was the Android multiplayer asteroids game: mixing a top-down view on the main screen with a first-person view on each players phone is absolutely magic). I also really liked his attitude towards working in short bursts, setting yourself a little snatch of time here and there to do cool shit. I still don't think it's entirely practical to set aside half an hour each day (I rarely have that kind of time) but it was really inspiring to see what he'd come up with snatching 30 minutes here and there. Grant also imparted some serious comedy wisdom:&lt;br /&gt;&lt;br /&gt;&lt;i&gt;If something is merely "OK", do one of two things-&amp;nbsp;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;1) make it 3D&lt;/i&gt;&lt;br /&gt;&lt;i&gt; 2) add sound &lt;/i&gt;&lt;br /&gt;&lt;br /&gt;He raises a fair point.&amp;nbsp; &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Pulsatile Crackle&lt;/b&gt; (&lt;a href="http://www.andre-michelle.com/"&gt;Andre Michelle&lt;/a&gt;)&lt;br /&gt;&lt;i&gt;"This is instant Autechre"&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://www.danhett.com/images/fotb/audiotool.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://www.danhett.com/images/fotb/audiotool.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Andre's session was brilliant, although I get the feeling that the people who got their hands dirty with his audio madness in the workshops benefitted more from this stuff. Andre is responsible for &lt;a href="http://www.audiotool.com/"&gt;Audio Tool&lt;/a&gt;, which is a mind-bogglingly deep... well, audio tool. I really enjoyed his little audio experiments, especially the "instant autechre" circular audio thing. Using a reflected line as a playhead that can be reflected and distorted means that Andre has basically invented the ultimate electro noise tool, I'd have loved to screw around with it a bit (maybe it's online somewhere, I'll have to check). He finished up by demoing an absolutely awe-inspiring track that (I think) a user submitted using AudioTool, it was frighteningly good. As in, good enough that I would totally go out and buy it, even if it hadn't been made by Andre's magical Flash tool). Flash-generated audio is something I have absolutely no experience with, and Andre was the first of a few people over the two days that made me want to explore it all further. Great session.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;b&gt;So Long, and Thanks for All The Flash&lt;/b&gt; (&lt;a href="http://www.quasimondo.com/"&gt;Mario Klingemann&lt;/a&gt;)&lt;br /&gt;&lt;span id="goog_1123963385"&gt;&lt;/span&gt;&lt;span id="goog_1123963386"&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://www.danhett.com/images/fotb/mario.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://www.danhett.com/images/fotb/mario.jpg" /&gt;&lt;br /&gt;&lt;/a&gt;&lt;/div&gt;I'm sort of torn about what I thought of this session. The first half was about photo manipulation with Flash, which is something I'm not that bothered about. If anything, the current spate of photo apps (like that Histamatic iPhone monstrosity) get on my nerves a bit. But hey, whatever. I'm sure people were digging it! The second half of the talk was the part that kind of frustrated me a little. The core idea (solving jigsaw puzzles)&lt;i&gt; &lt;/i&gt;is such cool one, and from a technical perspective is really interesting. However, it was all lost on me, because for some inexplicable reason Mario put on a video of him solving a jigsaw that was tortuously long. I mean, a few seconds would have done the job, I'd much rather have had an extra few minutes of Mario's talk rather than sitting through that pointless video. This epic interlude not only frustrated the hell out of me (and everyone around me it seemed), but it also ate into the time he had left, so sadly the rest was all really rushed. The other thing was that instead of telling us about the really cool stuff (and it really was cool stuff), he spent ages talking about lamps and things he bought off eBay and whatever. I mean, I love the fact that he's done all this, but I don't particularly care about the three failed attempts at lighting and how much the working one cost off some dude online. He finally got onto the REALLY cool stuff (getting Flash to figure out which pieces were corners and edges, sorting by colour and tone and complexity and all sorts of amazing things), and then he basically ran out of time. It was so, &lt;i&gt;so&lt;/i&gt; frustrating, as the core concept was potentially mind-blowing, but instead of melting our brains with pure awesome he spent too long talking about the little details and ended up not giving us much.&lt;br /&gt;I was left wanting to know more though, partly because the idea was so nice (and very appealing to my inner geek), and partly because we just didn't get it all before the time ran out. Shame.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Things I Have Learned&lt;/b&gt; (&lt;a href="http://hossgifford.com/"&gt;Hoss Gifford&lt;/a&gt;) &lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://www.danhett.com/images/fotb/hos1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://www.danhett.com/images/fotb/hos1.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://www.danhett.com/images/fotb/hoss2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://www.danhett.com/images/fotb/hoss2.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;After reading about all the crap that happened to Hoss last year, I was really glad he gave a talk like this at Flash On The Beach. Billed as an "acoustic set", I wasn't sure what to expect, but Hoss's talk turned out to be probably my favourite overall talk at the whole event. Hoss's presentation style is really honest and sometimes highly direct (as you can probably see in the photos), but I think this is the big reason I find his presentations so appealing. It was really nice to hear about how he works, how he organises things, and how he's handled fuck-ups and successes. I also love that the slides weren't particularly structured, veering from some advice about pregnant women, followed by an &lt;a href="http://www.fdt.powerflasher.com/"&gt;FDT&lt;/a&gt; recommendation (hurrah) through to a simple "nobody ever reads the fucking manual". Bonus points awarded for showing an action shot of himself in a bar fight. Superb talk, highly inspiring, well played.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Practice Makes Perfect, So What Are You Practicing?&lt;/b&gt; (&lt;a href="http://www.flight404.com/blog/"&gt;Robert Hodgin&lt;/a&gt;)&lt;br /&gt;This was another brilliant talk, strangely technical but without mentioning any code. Robert's obsessive (to put it mildly) approach to work is great, he showed us the stacks of thousands of magnets arranged into sculptures (arranged around his house, I think), which led on to all sorts of digital experiments. I'd describe Robert as definitely the most... artistically minded of the people I saw; even though his roots are clearly technical, his final work output has a really beautiful and considered quality about it that looks so designed it's hard sometimes to appreciate how much went in to it. Robert's work is definitely something I want to read more into, I was completely unfamiliar with his work going into the event, and it's definitely piqued my interest. The final set of slides really fried my mind too, about the number of possible configurations that a monitor of a given resolution can display (the final figure was a number followed by 12,000 zeroes, I think. Or, put another way, more than the number of atoms in the observable universe. Mind = blown). One thing I did notice was the nod to Processing.org in his final screen, I'm really just starting to get my hands dirty with Processing myself so I'd like to see which pieces he'd created with it. Further reading is essential for me, another great session.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Design And Happiness &lt;/b&gt;(&lt;a href="http://www.sagmeister.com/index.html"&gt;Stefan Sagmeister&lt;/a&gt;)&lt;br /&gt;This presentation wasn't really my kind of thing in terms of content, but: it was definitely one of the more entertaining! Stefan's presentation approach is deadpan and razor sharp, I loved his style. The actual talk was about his work, but also primarily about the way his studio closes for year-long stretches. I found it all really interesting, but frankly I'm not in agreement that this is a good way of working for everyone... Perhaps once you're up to his standard of established work it's perfectly possible to take a year out and do cool stuff, but from where I'm sitting it's just impossible. I mean, more power to you if you can, but I just don't think this working method is even remotely possible for most people. It made a highly interesting presentation though, and some of the work was really nice. Again, not my thing really, but the talk was good.&lt;br /&gt;I'd also just like to give an honourable mention to Mr Sagmeister for cracking officially the funniest gag of the whole weekend: saying "blowjob" five times really loudly to see how the sign-language lady would handle it. She didn't look very pleased, especially considering the entire dome's population were watching her. It was worth it just for that joke. Poor woman. &lt;br /&gt;&lt;b&gt; &lt;br /&gt;Intercontinental Ballistic Flash&lt;/b&gt; (&lt;a href="http://swingpants.com/"&gt;Jon Howard&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://www.danhett.com/images/fotb/swingpants.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://www.danhett.com/images/fotb/swingpants.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;My final session was a bit more technical, and was a great way to end the event for me. Jon works producing all sorts of awesomeness, currently for the BBC. His showreel was immense, tonnes of fun, and the talk he gave about mapping was informative and really funny towards the end (missiles, teletubbies, the works). It was great to see how he'd implemented mapping into an upcoming game, explaining some of the methods involved, and showed quite a lot of it. A particular highlight was his approach to figuring out curve equations using... Excel. Total genius. Again, this is one of the talks I will be watching back in my own time and getting my head around properly, when I was in the talk itself I was a bit busy eating free sweets and playing with inflatable globes to really concentrate &lt;br /&gt;&lt;br /&gt;And with that, I left Brighton. Duty called, and it was someone else's turn to use the shared ticket. It was a bit annoying not seeing everything, there were a whole bunch of sessions I really wanted to catch. But, duty called, so I was out of there. By the sounds of it, highlights of the next day and a half came from people like &lt;a href="http://archive.nandocosta.com/"&gt;Nando Costa&lt;/a&gt;, hometown talk from &lt;a href="http://sebleedelisle.com/"&gt;Seb Lee-Delisle&lt;/a&gt;, and the mighty &lt;a href="http://www.cyriak.co.uk/"&gt;Cyriak Harris&lt;/a&gt;, so they'll be the first sessions I watch back when the videos surface. &lt;br /&gt;&lt;br /&gt;Anyway, I couldn't have enjoyed it more, can't wait for next year!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2866848246142087003-2802254737205107487?l=blog.danhett.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.danhett.com/feeds/2802254737205107487/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.danhett.com/2010/10/flash-on-beach-2010.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2866848246142087003/posts/default/2802254737205107487'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2866848246142087003/posts/default/2802254737205107487'/><link rel='alternate' type='text/html' href='http://blog.danhett.com/2010/10/flash-on-beach-2010.html' title='Flash On The Beach 2010'/><author><name>danhett</name><uri>http://www.blogger.com/profile/06852121468411841433</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2866848246142087003.post-761146543119195990</id><published>2010-09-26T03:31:00.000-07:00</published><updated>2010-09-26T03:31:39.423-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Flash On The Beach 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='Events'/><category scheme='http://www.blogger.com/atom/ns#' term='Flash'/><title type='text'>Right, I'm off...</title><content type='html'>&lt;span id="goog_1246597596"&gt;&lt;/span&gt;&lt;span id="goog_1246597597"&gt;&lt;/span&gt;...to Brighton! Specifically, to Flash On The Beach:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://flashonthebeach.com/images/participate/fotb_logo_400x150.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://flashonthebeach.com/images/participate/fotb_logo_400x150.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;It's shaping up to be a great event already by the sounds of it on Twitter, can't wait to get stuck in.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2866848246142087003-761146543119195990?l=blog.danhett.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.danhett.com/feeds/761146543119195990/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.danhett.com/2010/09/right-im-off.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2866848246142087003/posts/default/761146543119195990'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2866848246142087003/posts/default/761146543119195990'/><link rel='alternate' type='text/html' href='http://blog.danhett.com/2010/09/right-im-off.html' title='Right, I&apos;m off...'/><author><name>danhett</name><uri>http://www.blogger.com/profile/06852121468411841433</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2866848246142087003.post-6260510898059022384</id><published>2010-08-26T09:31:00.000-07:00</published><updated>2010-08-26T09:31:18.016-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Michael Plank'/><category scheme='http://www.blogger.com/atom/ns#' term='Powerflasher'/><category scheme='http://www.blogger.com/atom/ns#' term='AS3'/><category scheme='http://www.blogger.com/atom/ns#' term='Flex'/><category scheme='http://www.blogger.com/atom/ns#' term='FDT'/><title type='text'>FDT Milestone 4 - Live demo</title><content type='html'>Michael Plank at Powerflasher runs through the latest (and final) milestone build of FDT4, and it's looking great. I made the switch to FDT3 full-time recently, and FDT4 is looking faster and awesomer every time I see it. Check it out:&lt;br /&gt;&lt;br /&gt;&lt;iframe src="http://player.vimeo.com/video/14445375" width="558" height="314" frameborder="0"&gt;&lt;/iframe&gt;&lt;p&gt;&lt;a href="http://vimeo.com/14445375"&gt;FDT 4 Milestone 4 Live Demo&lt;/a&gt; from &lt;a href="http://vimeo.com/fdt"&gt;Powerflasher FDT&lt;/a&gt; on &lt;a href="http://vimeo.com"&gt;Vimeo&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2866848246142087003-6260510898059022384?l=blog.danhett.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.danhett.com/feeds/6260510898059022384/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.danhett.com/2010/08/fdt-milestone-4-live-demo.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2866848246142087003/posts/default/6260510898059022384'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2866848246142087003/posts/default/6260510898059022384'/><link rel='alternate' type='text/html' href='http://blog.danhett.com/2010/08/fdt-milestone-4-live-demo.html' title='FDT Milestone 4 - Live demo'/><author><name>danhett</name><uri>http://www.blogger.com/profile/06852121468411841433</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2866848246142087003.post-2357691988815997275</id><published>2010-07-28T06:09:00.000-07:00</published><updated>2010-07-28T06:09:59.695-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Powerflasher'/><category scheme='http://www.blogger.com/atom/ns#' term='Flex'/><category scheme='http://www.blogger.com/atom/ns#' term='FDT'/><category scheme='http://www.blogger.com/atom/ns#' term='Flash'/><title type='text'>FDT!</title><content type='html'>I just received my full license to use FDT from the awesome, awesome guys at Powerflasher, they were nice enough to hand out licenses after demoing everything at Flash Camp Manchester recently. In case you missed the boat, FDT is a brain-meltingly brilliant Flash development tool, that laughs in the face of Flex. &lt;br /&gt;&lt;br /&gt;Get it, love it:&lt;br /&gt;&lt;br /&gt;&lt;a alt="FDT - Pure Coding Comfort" href="http://www.fdt.powerflasher.com/"&gt;&lt;img border="0" height="182" src="http://fdt.powerflasher.de/media/Packshots_fdt.png" title="FDT - Pure Coding Comfort" width="500" /&gt; &lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2866848246142087003-2357691988815997275?l=blog.danhett.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.danhett.com/feeds/2357691988815997275/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.danhett.com/2010/07/fdt.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2866848246142087003/posts/default/2357691988815997275'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2866848246142087003/posts/default/2357691988815997275'/><link rel='alternate' type='text/html' href='http://blog.danhett.com/2010/07/fdt.html' title='FDT!'/><author><name>danhett</name><uri>http://www.blogger.com/profile/06852121468411841433</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2866848246142087003.post-2842571988733948177</id><published>2010-07-26T13:25:00.000-07:00</published><updated>2010-07-26T13:28:12.127-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='security sandbox violation'/><category scheme='http://www.blogger.com/atom/ns#' term='crossdomain.xml'/><category scheme='http://www.blogger.com/atom/ns#' term='Flex'/><category scheme='http://www.blogger.com/atom/ns#' term='Flash'/><title type='text'>Flash player: Security Sandbox Violation</title><content type='html'>Something I run into increasingly often at the moment is that incredibly annoying security sandbox violation error that tends to rear it's ugly head when I either work between Flash and Flex, or with any remote services. Googling brings up a lot of stuff about Crossdomain.xml, which, while useful to know, doesn't solve this issue (this problem is a local one, uploading the same files to a web server fixes it.)&lt;br /&gt;&lt;br /&gt;There's actually a nice catch-all fix to it, which is something I always always forget about: the Flash global security settings panel, which can be found here:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.macromedia.com/support/documentation/en/flashplayer/help/settings_manager04.html"&gt;http://www.macromedia.com/support/documentation/en/flashplayer/help/settings_manager04.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;All you need to do is either add your project root to the list of allowed locations (duh), or if you're like me and can't be bothered doing it every time, simply &lt;b&gt;add a single forward slash ("/") to the allowed list&lt;/b&gt;, and never worry about it again. (This isn't advisable if you tend to download all sorts of weird Flash stuff that you don't trust, as you're essentially opening up your entire machine's Flash sandbox security, but if that's not an issue then go nuts.)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2866848246142087003-2842571988733948177?l=blog.danhett.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.danhett.com/feeds/2842571988733948177/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.danhett.com/2010/07/flash-player-security-sandbox-violation.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2866848246142087003/posts/default/2842571988733948177'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2866848246142087003/posts/default/2842571988733948177'/><link rel='alternate' type='text/html' href='http://blog.danhett.com/2010/07/flash-player-security-sandbox-violation.html' title='Flash player: Security Sandbox Violation'/><author><name>danhett</name><uri>http://www.blogger.com/profile/06852121468411841433</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2866848246142087003.post-6870082540337596647</id><published>2010-07-09T06:20:00.000-07:00</published><updated>2010-07-09T06:27:13.505-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='papervision'/><category scheme='http://www.blogger.com/atom/ns#' term='Manchester'/><category scheme='http://www.blogger.com/atom/ns#' term='Flash Catalyst'/><category scheme='http://www.blogger.com/atom/ns#' term='Powerflasher'/><category scheme='http://www.blogger.com/atom/ns#' term='AS3'/><category scheme='http://www.blogger.com/atom/ns#' term='Android'/><category scheme='http://www.blogger.com/atom/ns#' term='Flex'/><category scheme='http://www.blogger.com/atom/ns#' term='FDT'/><category scheme='http://www.blogger.com/atom/ns#' term='Flash'/><category scheme='http://www.blogger.com/atom/ns#' term='Swag'/><category scheme='http://www.blogger.com/atom/ns#' term='Flash Camp'/><title type='text'>Flash Camp Manchester</title><content type='html'>I spent yesterday at &lt;a href="http://flashmidlands.com/flashcamp/manchester.html"&gt;Flash Camp Manchester&lt;/a&gt;, a completely free event for Flash devs in the north west. I've never been to anything like this before (big events like this doesn't happen too often up this end of the country), but I'm really glad I went, it turned out to be a pretty fun and informative day (and we got some nice swag too, of course!)&lt;br /&gt;&lt;br /&gt;The keynote by the Adobe people was more of a sales pitch than anything else, which I guess is fine considering they're... well, they're Adobe and we love their products (for the most part). The problem for me was that they were trying to sell &lt;a href="http://www.adobe.com/products/flashcatalyst/"&gt;Flash Catalyst&lt;/a&gt; to us, and I still don't see the point in it. As far as I can tell (and stop me if I'm wrong), it's a visually-oriented companion to Flex/Flash Builder, that lets people jam together prototypes and stuff without getting into code. But... &lt;i&gt;why&lt;/i&gt;? It might just be me, maybe I missed the boat with this one, but I can't see myself spending a few hours dicking around in Catalyst when I could make better use of the time by getting stuck into the project itself. It's supposed to be a rapid prototyping tool, but prototyping what exactly? The only thing I think we as developers would need to prototype would be complex interaction or something like that, whereas Catalyst basically allows us to layout reasonably complete presentation pages. (Direct quote from the presentation: "no code, no thinking". Really?). If I want to prototype page content, I'll use Indesign, Powerpoint, or whatever (or even *gasp* a pencil and some pieces of paper). If I want to prototype interaction I'll &lt;i&gt;damn well use Flash&lt;/i&gt;! There's absolutely no reason you can't knock out a quick and dirty proof-of-concept piece of Flash in half an hour. Please someone correct me if I've grossly missed the point with Catalyst, but at the moment it's a resounding "pffft" from me. &lt;br /&gt;&lt;br /&gt;Next up was a guy representing the &lt;a href="http://www.opensourcemediaframework.com/"&gt;Open Source Media Framework&lt;/a&gt;, and this session kind of confused me for a while. The presentation was immediately very technical (explaining functionality and bits of code and all sorts), and I didn't really have a very good idea of what OSMF was, and what it could do for me. Turns out that OSMF is actually a brilliant idea, and something that I can absolutely benefit from using (as I've no doubt ranted before, my hatred of working with Flash video is relentless and furious). It looks really exciting anyway; having a single media player solution that doesn't care what you throw at it is hugely appealing, it's just a shame that the presentation was so confusing initially. I'll definitely be investigating it further before I tear my hair out on my next video project.&lt;br /&gt;&lt;br /&gt;The Adobe guys came back at this point, to show us some more Catalyst. I said: pffft.&lt;br /&gt;&lt;br /&gt;The next presentation was arguably the best one of the day, Michael Plank from &lt;a href="http://www.fdt.powerflasher.com/"&gt;Powerflasher&lt;/a&gt; came on and explained a little about FDT, before sticking a song on and writing the fastest code in the (north) west! The point of the exercise was to demonstrate that the features in FDT can speed your coding up by automating or assisting with common tasks. I'd dabbled with FDT before, but never seen anyone use it expertly, so it was a real eye-opener to discover just how awesome it actually is when you know what you're doing. And what's more, the Powerflasher guys gave us all a free copy of FDT 3.5 Pure too. It's an approach that's completely at odds with the way Adobe do things: Powerflasher haven't sat and trawled through a feature list, they just did a fun, rapid-fire demo and then gave us the software, which is definitely the way to do it in my book. Great session.&lt;br /&gt;&lt;br /&gt;At first glance, I didn't think the next session would interest me too much, as I'm not particularly into mobile development (of course I'm sure that will all change when I bag a sexy Android phone when I upgrade...). It turned out to be a really interesting 45 minutes, with the &lt;a href="http://ribot.co.uk/about/"&gt;Ribot&lt;/a&gt; guys giving us some insight into mobile development and how people interact with everything in general. By far the most interesting thing they came out with was an experiment into which finger people use to ring doorbells. Of course, we all assume the index finger, but it turns out that the answer was the thumb. This didn't make any sense to me, until they revealed that the survey group were all &lt;i&gt;teenagers&lt;/i&gt;: their physical behavior has been altered by their high mobile use (text a lot, and you'll ring doorbells differently: fact.). I found this absolutely mind-boggling anyway, and am now thoroughly paranoid about how I ring doorbells. Thanks guys.&lt;br /&gt;&lt;br /&gt;The Android session by the Adobe guys was great: really insightful, especially considering I'm still pondering my next phone. Well, I shall ponder no more, it's Android all the way. Not much to comment on here, but once I get stuck into mobile apps I'm sure I'll have a hell of a lot more to say! :D&lt;br /&gt;&lt;br /&gt;To close the day, Seb came on and, despite technology seeming to hate him, stole the show. I'd seen a lot of it before, but it's always nice to see half the room waving their arms manically and shouting like idiots (unnecessarily, heh!). &lt;br /&gt;&lt;br /&gt;So yeah, it was a long (and hot!) but thoroughly inspiring day. And if nothing else, I now have a copy of FDT, and of course: &lt;b&gt;a Rubik's cube&lt;/b&gt;. Win.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2866848246142087003-6870082540337596647?l=blog.danhett.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.danhett.com/feeds/6870082540337596647/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.danhett.com/2010/07/flash-camp-manchester.html#comment-form' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2866848246142087003/posts/default/6870082540337596647'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2866848246142087003/posts/default/6870082540337596647'/><link rel='alternate' type='text/html' href='http://blog.danhett.com/2010/07/flash-camp-manchester.html' title='Flash Camp Manchester'/><author><name>danhett</name><uri>http://www.blogger.com/profile/06852121468411841433</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2866848246142087003.post-3830640089327164680</id><published>2010-06-29T10:36:00.000-07:00</published><updated>2010-06-29T12:51:29.544-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='random level generation'/><category scheme='http://www.blogger.com/atom/ns#' term='source code'/><category scheme='http://www.blogger.com/atom/ns#' term='AS3'/><category scheme='http://www.blogger.com/atom/ns#' term='Roguelike'/><category scheme='http://www.blogger.com/atom/ns#' term='actionscript 3'/><title type='text'>Roguelike: room generation sourcecode</title><content type='html'>A few people (hi, &lt;a href="http://www.reddit.com/r/roguelikes"&gt;/r/roguelikes&lt;/a&gt;!) have asked if I'd share my roguelike source code, or at least some of it. As a Flash dev I know I'd be really excited to see how other Flash devs are handling roguelike development, so I figured it's only fair to get mine out there. I'm hoping some gurus out there will tell me if I'm doing this wrong, and point me in the right direction, it's all a learning process!&lt;br /&gt;&lt;br /&gt;OK, so anyway, the first thing I'm posting is a highly simplified version of my room generation code, that shows a random single room being built, and a character dropped on to a valid random square. I've also stuck it on an external Pastebin link rather than an embedded one, as this code has long descriptive comments on that freak out a bit when they're stuffed into a thin blog format.&lt;br /&gt;&lt;br /&gt;Feedback would be appreciated!&lt;br /&gt;&lt;br /&gt;&lt;a href="http://pastebin.com/BBPpGPBz" target="_blank"&gt;http://pastebin.com/BBPpGPBz&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2866848246142087003-3830640089327164680?l=blog.danhett.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.danhett.com/feeds/3830640089327164680/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.danhett.com/2010/06/roguelike-room-generation-sourcecode.html#comment-form' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2866848246142087003/posts/default/3830640089327164680'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2866848246142087003/posts/default/3830640089327164680'/><link rel='alternate' type='text/html' href='http://blog.danhett.com/2010/06/roguelike-room-generation-sourcecode.html' title='Roguelike: room generation sourcecode'/><author><name>danhett</name><uri>http://www.blogger.com/profile/06852121468411841433</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2866848246142087003.post-7838228057910669836</id><published>2010-06-10T13:18:00.000-07:00</published><updated>2010-06-10T13:20:18.543-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AS3'/><category scheme='http://www.blogger.com/atom/ns#' term='Google'/><category scheme='http://www.blogger.com/atom/ns#' term='Flex'/><category scheme='http://www.blogger.com/atom/ns#' term='Flash'/><category scheme='http://www.blogger.com/atom/ns#' term='analytics'/><title type='text'>The Google analytics Flash API and me</title><content type='html'>OK, so I'm a little late to the party with this one (about two years too late), but whatever: the Google analytics API for Flash is completely awesome.&lt;br /&gt;&lt;br /&gt;Actually, there's not much more I can add. It's a breeze to use, well-documented, and basically saves the world (like pretty much everything the folks at Google magically conjure). I particularly like the fact that the API can be used in such a way that no external Javascript is needed, so tracking Flash that's placed on third-party sites still works like a charm. Of course, you can still old-school it and use ga.js if you've already got it set up on your page.&lt;br /&gt;&lt;br /&gt;It comes in component form for both Flash and Flex, or a straight-up bunch of classes wrapped in a .swc file for those of us who'd rather get stuck into coding (and have a seething hatred of unnecessary components!). The built-in debug panel is a lifesaver too, when enabled it blocks all traffic to the analytics servers so any testing won't affect the stats. Mega useful.&lt;br /&gt;&lt;br /&gt;At the moment it's only for online stuff (which is perfectly reasonable) but there's talk of it being adapted for none-browser use too, which will be handy for tracking AIR applications and offline project distributions.&lt;br /&gt;&lt;br /&gt;Google certainly covered all the bases anyway. Get it &lt;a href="http://code.google.com/p/gaforflash/"&gt;here&lt;/a&gt;, and read about it &lt;a href="http://code.google.com/apis/analytics/docs/tracking/flashTrackingIntro.html"&gt;here&lt;/a&gt;. I'd post a code sample, but it's so easy to use I think the documentation will suffice in this case. &lt;br /&gt;&lt;br /&gt;Thanks again, Google nerds! Where would we be without you?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2866848246142087003-7838228057910669836?l=blog.danhett.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.danhett.com/feeds/7838228057910669836/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.danhett.com/2010/06/google-analytics-flash-api-and-me.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2866848246142087003/posts/default/7838228057910669836'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2866848246142087003/posts/default/7838228057910669836'/><link rel='alternate' type='text/html' href='http://blog.danhett.com/2010/06/google-analytics-flash-api-and-me.html' title='The Google analytics Flash API and me'/><author><name>danhett</name><uri>http://www.blogger.com/profile/06852121468411841433</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2866848246142087003.post-4916114191664755753</id><published>2010-06-06T08:18:00.000-07:00</published><updated>2010-06-06T08:30:36.832-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='papervision'/><category scheme='http://www.blogger.com/atom/ns#' term='development'/><category scheme='http://www.blogger.com/atom/ns#' term='portfolio'/><category scheme='http://www.blogger.com/atom/ns#' term='AS3'/><category scheme='http://www.blogger.com/atom/ns#' term='Flex'/><category scheme='http://www.blogger.com/atom/ns#' term='Flash'/><title type='text'>Portfolio progress</title><content type='html'>Well, my new portfolio is taking shape finally (it's only taken me a year or so to get going on it, you can't rush these things!)&lt;br /&gt;&lt;br /&gt;It's a PV3D-powered extravaganza, or at least it will be when I start going nuts with it. Currently it looks like this, early days yet though:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://www.danhett.com/images/portfolio.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://www.danhett.com/images/portfolio.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;The full version can be viewed &lt;a href="http://www.danhett.com/beta"&gt;here&lt;/a&gt;, but it might behave strangely if I'm still screwing with it, so don't judge the quality of it just yet!&lt;br /&gt;&lt;br /&gt;Anyway, the 3D panels are looking good, the next stage is to get some information popping over the top of each panel when the mouse rolls over. The idea is to have two coloured panels floating just in front of the one you've rolled over, so you'll be able to see the project title and the category of work (I'm going to be including none-project work on here too, stuff like any experiments or cool stuff I've been screwing with).&lt;br /&gt;&lt;br /&gt;When you click a panel, the rest will drop/animate off the screen, and some additional images and text will pop up. I think I'll tone down the rotation on the whole thing so I can have the text in 3D space, so it stays readable.&lt;br /&gt;&lt;br /&gt;There'll also be Twitter and blog representations on the site too, which will hopefully pull in live feeds and do something snappy with them visually (while of course linking to the actual pages in case people don't want to be forced to read stuff on my site).&lt;br /&gt;&lt;br /&gt;&amp;nbsp;Anyway, that's where I'm at. All I need now is some time to work on the damn thing! :D&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2866848246142087003-4916114191664755753?l=blog.danhett.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.danhett.com/feeds/4916114191664755753/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.danhett.com/2010/06/portfolio-progress.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2866848246142087003/posts/default/4916114191664755753'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2866848246142087003/posts/default/4916114191664755753'/><link rel='alternate' type='text/html' href='http://blog.danhett.com/2010/06/portfolio-progress.html' title='Portfolio progress'/><author><name>danhett</name><uri>http://www.blogger.com/profile/06852121468411841433</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2866848246142087003.post-4352625576523833516</id><published>2010-06-02T13:21:00.000-07:00</published><updated>2010-06-02T13:47:28.121-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='random level generation'/><category scheme='http://www.blogger.com/atom/ns#' term='Nethack'/><category scheme='http://www.blogger.com/atom/ns#' term='AS3'/><category scheme='http://www.blogger.com/atom/ns#' term='Roguelike'/><category scheme='http://www.blogger.com/atom/ns#' term='Flex'/><title type='text'>Roguelike, part 2: Random rooms</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;OK, so things are taking shape! I figured that a great starting point for this would be getting single room instances working first, which is what I've managed to get done.&lt;br /&gt;&lt;br /&gt;I went for an array-based grid idea, based on &lt;a href="http://www.tonypa.pri.ee/tbw/tut01.html"&gt;this tutorial&lt;/a&gt;. Getting a hard-coded room was easy enough to do, all I needed to do was loop through each row vertically and then sub loop horizontally, testing for the numbers that apply to each tile type (currently only "wall", "floor" and blank tiles for use in gaps). This hard-coded approach (combined with Nethack tiles) gave me this:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://www.danhett.com/images/floors1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://www.danhett.com/images/floors1.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;This looks great and all, but it wouldn't be a rougelike without some serious randomness at work. Luckily it was pretty simple to create a suitable array. In fact, generating the level was more challenging in terms of me visualising it in my head, than actually coding it. I'd originally thought along the lines of randomly generating the top-left and bottom-right tiles, then drawing the room between them, but this was really difficult straight away. Not only that, but it would have meant that I would have much less control over individual tiles (more on why this is important later). Anyway, as with most things, the best answer (that I know of so far) was the simplest one: generate a random room width and height, and go from there.&lt;br /&gt;&lt;br /&gt;That makes it sound so simple, in reality it's *slightly* more complicated but still not too scary:&lt;br /&gt;- Create a whole row of wall tiles for the top row (set to our random width)&lt;br /&gt;- Create a bunch of middle rows (going downwards vertically),  each with a wall tile at either end&lt;br /&gt;- Create another whole row of  wall tiles and add it to the bottom of the stack, to close the room&lt;br /&gt;&lt;br /&gt;Like so: &lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://www.danhett.com/images/floors2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://www.danhett.com/images/floors2.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Once this was done, the array could be passed into my tiling system and whammo: one random room.&lt;br /&gt;&lt;br /&gt;Looking at the code, I think I could automate it even further, but as it stands at the moment this double-loop system means I have access to every single tile in order as it's created. Why is this important? Because the next stage is to add doors/stairs/obstacles to my rooms, and for that I need to know exactly where I can and can't add stuff. &lt;br /&gt;&lt;br /&gt;Oh, and the player avatar is randomly placed too, and is added on the basis of what tile type it's been spawned above (for example, the player will never spawn on a wall tile). However I don't think I'm doing it entirely correctly, and need a much more robust system of creating and spawning objects, which is a whole different post entirely (not to mention a long way off from where I'm at now!)&lt;br /&gt;&lt;br /&gt;I'm sure that any hardcore roguelike devs reading this will be laughing at the simplicity of what I've achieved so far, but at the moment these concepts are all pretty new to me,&amp;nbsp; so personally I'm glad it's taking shape so quickly... I'm sure I'll be tearing my hair out further down the line, but at the moment it's looking good. &lt;br /&gt;&lt;br /&gt;The next step will be to create entire dungeon floors: first I want a couple of non-overlapping rooms spawned each time, and then a corridor system to link the rooms up (which I'm sure will be a nightmare to write, or so I've been told). After that will be basic character movement, then I'll add stairs so the basic structure of the dungeon will be complete before I start going completely mental with monsters and items and stuff.&lt;br /&gt;&lt;br /&gt;If anyone has anything to add (i.e. if I'm doing it all wrong) then I would love to hear it, next time I'll be posting actual code too.&lt;br /&gt;&lt;br /&gt;The quest continues!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2866848246142087003-4352625576523833516?l=blog.danhett.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.danhett.com/feeds/4352625576523833516/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.danhett.com/2010/06/roguelike-part-2-random-rooms.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2866848246142087003/posts/default/4352625576523833516'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2866848246142087003/posts/default/4352625576523833516'/><link rel='alternate' type='text/html' href='http://blog.danhett.com/2010/06/roguelike-part-2-random-rooms.html' title='Roguelike, part 2: Random rooms'/><author><name>danhett</name><uri>http://www.blogger.com/profile/06852121468411841433</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2866848246142087003.post-7151965934278038539</id><published>2010-06-01T14:12:00.000-07:00</published><updated>2010-06-01T14:50:59.720-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Nethack'/><category scheme='http://www.blogger.com/atom/ns#' term='AS3'/><category scheme='http://www.blogger.com/atom/ns#' term='Roguelike'/><category scheme='http://www.blogger.com/atom/ns#' term='Flex'/><category scheme='http://www.blogger.com/atom/ns#' term='actionscript 3'/><title type='text'>Making a roguelike, Part 1</title><content type='html'>I read a &lt;a href="http://www.reddit.com/r/programming/comments/c71dj/what_are_some_fun_but_challenging_programming/"&gt;great thread on Reddit&lt;/a&gt; the other day, asking what exercises an amateur programmer can do to get better at whatever language they're trying to learn. There were some great suggestions (notably &lt;a href="http://codingkata.org/katas/"&gt;Coding Kata&lt;/a&gt;, but that's another blog post entirely), but interestingly the highest voted one was "make a rougelike". If you're not familiar with what a roguelike is, check &lt;a href="http://en.wikipedia.org/wiki/Roguelike"&gt;this explanation&lt;/a&gt; out before continuing... these games are as geeky as they come, but are some of my favourite games ever (look Mum, no graphics!)&lt;br /&gt;&lt;br /&gt;My inital reaction to the suggestion was dismissive, given that roguelike games are usually so mind-bogglingly complicated most players (myself included) haven't even gotten close to the end of one despite years of play. However, I thought some more about it and realised that it's actually a &lt;b&gt;brilliant&lt;/b&gt; idea. Think about it for a second, the features of an average roguelike are:&lt;br /&gt;&lt;br /&gt;- Mimimal graphics, or no graphics at all (mine will use graphical tiles)&lt;br /&gt;- Randomly generated levels&lt;br /&gt;- Randomly generated monsters/items etc&lt;br /&gt;- Stats, lots of stats.&lt;br /&gt;&lt;br /&gt;The structure of a roguelike lends itself perfectly to an OOP project; creating lots and lots of small elements to form a huge, randomly-generated game. So, I'm having a crack at it. I must say at this point that I am using this &lt;i&gt;purely as a learning exercise&lt;/i&gt;: I don't intend to try and produce a finished game, nor do I intend to write any stories or any of that crap (leave it to the professionals, I say). What I do want to do is get my head around all of the ideas and concepts that make up a great rougelike, and try and build them.&lt;br /&gt;&lt;br /&gt;Who knows, if it works well enough then I might throw it out to someone else to populate it with characters and stuff, but at the moment I'm looking at it purely from a 'technical challenge' standpoint.&lt;br /&gt;&lt;br /&gt;The big thing I'm finding interesting right now is getting randomly generated levels working, which is the first thing I've got stuck into. I'm going to put together a proper detailed post about each element I build, as well as how the whole project is taking shape.&lt;br /&gt;&lt;br /&gt;For now, here's some of the stuff I've been checking out:&lt;br /&gt;- Brilliant and detailed &lt;a href="http://www.tonypa.pri.ee/tbw/start.html"&gt;tile tutorial&lt;/a&gt;, slightly outdated (AS2) but super useful&lt;br /&gt;- &lt;a href="http://rltiles.sourceforge.net/"&gt;Tilesets archive&lt;/a&gt; from some of the more popular roguelikes&lt;br /&gt;- &lt;a href="http://www.nethack.org/"&gt;Nethack&lt;/a&gt;, my favourite roguelike ever. It's for research, honest.&lt;br /&gt;&lt;br /&gt;Basically, this project is about learning some new stuff (and it's working already!), in the most fun and geeky way possible. Much more later! :D&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2866848246142087003-7151965934278038539?l=blog.danhett.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.danhett.com/feeds/7151965934278038539/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.danhett.com/2010/06/making-roguelike-part-1.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2866848246142087003/posts/default/7151965934278038539'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2866848246142087003/posts/default/7151965934278038539'/><link rel='alternate' type='text/html' href='http://blog.danhett.com/2010/06/making-roguelike-part-1.html' title='Making a roguelike, Part 1'/><author><name>danhett</name><uri>http://www.blogger.com/profile/06852121468411841433</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2866848246142087003.post-5300811956827358333</id><published>2010-05-27T06:07:00.000-07:00</published><updated>2010-05-27T23:45:49.092-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='processing.org'/><category scheme='http://www.blogger.com/atom/ns#' term='visualisation'/><category scheme='http://www.blogger.com/atom/ns#' term='processing'/><title type='text'>Rediscovering Processing.org</title><content type='html'>So I've been screwing with a lot of 3D in Flash recently, and while I love the fact it's easy to do (thanks to libraries like &lt;a href="http://code.google.com/p/papervision3d/"&gt;PV3D&lt;/a&gt; and &lt;a href="http://away3d.com/"&gt;Away3D&lt;/a&gt;), I often find myself handcuffed by the limitations of the Flash player (the low polygon count just isn't going to cut it for some work).&lt;br /&gt;&lt;br /&gt;I began to look at other options, and quickly re-discovered Processing.org. I've not used Processing since waaaay back in the day when I'd just started studying, and while it was fun to screw around with I immediately dropped it in favour of Flash.&lt;br /&gt;&lt;br /&gt;Well, how things have changed. Processing is now a streamlined, solid platform for developing everything from quick sketches up to massive beautiful projects. I'm attracted to it for two main reasons:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;1. The language:&lt;/b&gt; Processing is a Java language under the hood (albeit quite simplified) which means that as a Flash/AS3 geek I'm already pretty comfortable with reading/writing the language. If anything, Processing's syntax looks to me how AS3 should ideally be; it's not a mile away from Actionscript but it's slightly less verbose and a little neater (although my opinion will no doubt change once I start going nuts with it and throwing code everywhere).&lt;br /&gt;&lt;br /&gt;&lt;b&gt;2. The audience:&lt;/b&gt; Because Processing is aimed squarely at the creative end of the programming spectrum, it's almost laughably easy to get cool stuff out of it with a few lines of code. Flash can be a little frustrating when it comes to quickly bashing something out, which is where Processing excels: I can see this being a much better rapid prototyping tool than Flash (the IDE is great too, just a code window and a few buttons, no messing about).&lt;br /&gt;&lt;br /&gt;And of course, it's open-source and the community looks like a great one too, so everybody wins.&lt;br /&gt;&lt;br /&gt;It's an exciting (re)discovery, and looking at some of the work online it's hard not to want to get stuck right in. I also bought the excellent &lt;a href="http://www.amazon.co.uk/Processing-Programming-Handbook-Designers-Artists/dp/0262182629/ref=sr_1_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1274792749&amp;amp;sr=8-1"&gt;Processing book&lt;/a&gt;, which is a real thing of beauty. Like the language itself, the book bridges the gap between technicality and art, showing not just how to program, but also how to turn that into something amazing.&lt;br /&gt;&lt;br /&gt;And here's some eye candy to show exactly why this is so exciting: &lt;br /&gt;&lt;a href="http://www.vimeo.com/tag:processing.org"&gt;http://www.vimeo.com/tag:processing.org&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;More on this soon, after I've played with it more. :D&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2866848246142087003-5300811956827358333?l=blog.danhett.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.danhett.com/feeds/5300811956827358333/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.danhett.com/2010/05/rediscovering-processingorg.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2866848246142087003/posts/default/5300811956827358333'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2866848246142087003/posts/default/5300811956827358333'/><link rel='alternate' type='text/html' href='http://blog.danhett.com/2010/05/rediscovering-processingorg.html' title='Rediscovering Processing.org'/><author><name>danhett</name><uri>http://www.blogger.com/profile/06852121468411841433</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2866848246142087003.post-6766516947109768056</id><published>2010-05-10T09:24:00.000-07:00</published><updated>2010-05-27T23:47:33.240-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='papervision'/><category scheme='http://www.blogger.com/atom/ns#' term='PV3d'/><category scheme='http://www.blogger.com/atom/ns#' term='papervision billboard'/><category scheme='http://www.blogger.com/atom/ns#' term='actionscript 3'/><title type='text'>PV3D - Easy billboards</title><content type='html'>Billboards in 3D are really useful, they're used in all sorts of ways: from particle systems right up to big pseudo-3D elements (remember how in the Doom videogames everything always faced you? Billboards!). Anyway, I was happy to discover that creating a PV3D billboard is easy.&lt;br /&gt;&lt;br /&gt;All you need to do is add this to your rendering functionality (assuming "plane" is your billboard): &lt;br /&gt;&lt;br /&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;// Position billboard in 3D space&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;var up : Number3D = new Number3D(0, 1, 0);&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;Matrix3D.rotateAxis(camera.transform, up);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;// Reorient the billboard in relation to the camera&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;plane.lookAt(camera, up);&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;plane.roll(180);&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;plane.pitch(180);&lt;/div&gt;&lt;br /&gt;Which will give you:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://www.danhett.com/images/yay.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://www.danhett.com/images/yay.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Of course this functionality could be applied in a much smarter way; if I had a bunch of billboard shapes I'd probably store them in an array and update them all in a loop, but you get the idea. &lt;br /&gt;&lt;br /&gt;One of the best things about this (apart from the fact that billboards are much less processor-intensive than full 3D geometry) is that you can set up multiple cameras, and the billboards will shift to point at the new perspective a different camera is used. Handy!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2866848246142087003-6766516947109768056?l=blog.danhett.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.danhett.com/feeds/6766516947109768056/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.danhett.com/2010/05/pv3d-easy-billboards.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2866848246142087003/posts/default/6766516947109768056'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2866848246142087003/posts/default/6766516947109768056'/><link rel='alternate' type='text/html' href='http://blog.danhett.com/2010/05/pv3d-easy-billboards.html' title='PV3D - Easy billboards'/><author><name>danhett</name><uri>http://www.blogger.com/profile/06852121468411841433</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
