<?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'><id>tag:blogger.com,1999:blog-13619642</id><updated>2009-06-21T13:21:31.985+01:00</updated><title type='text'>RobotAcid</title><subtitle type='html'>I've no doubt been busy making stuff again.</subtitle><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13619642/posts/default'/><link rel='alternate' type='text/html' href='http://robotacid.com/news/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/13619642/posts/default?start-index=26&amp;max-results=25'/><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://robotacid.com/news/atom.xml'/><author><name>RobotAcid</name><uri>http://www.blogger.com/profile/05506104241666362209</uri><email>noreply@blogger.com</email></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>65</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-13619642.post-3045838251672485956</id><published>2009-06-21T12:51:00.002+01:00</published><updated>2009-06-21T13:21:31.999+01:00</updated><title type='text'>Augmented Reality Tests</title><content type='html'>I've been trying out various AR solutions. All with varied success rates.&lt;br /&gt;&lt;br /&gt;Flash and augmented reality is no where near as fast as some people claim. Sure if you have a high end Mac, then it's going to run great. But on my PC laptop with 1gb memory it's not that fast. In fact it's fairly choppy even with optimisations.&lt;br /&gt;&lt;br /&gt;I started with &lt;a href="http://www.gotoandlearn.com/play?id=105" target="_blank"&gt;this video tutorial&lt;/a&gt;. Which ran appallingly slow on my machine.&lt;br /&gt;&lt;br /&gt;I then went to &lt;a href="http://www.mikkoh.com/blog/?p=182" target="_blank"&gt;Mikkoh's blog&lt;/a&gt; and downloaded his demo. That ran a little faster. It also works straight out of the box without needing to download anything else.&lt;br /&gt;&lt;br /&gt;After that I wanted to see if I could get multiple markers going. For that I downloaded &lt;a href="http://words.transmote.com/wp/flarmanager/" target="_blank"&gt;FLARManager&lt;/a&gt; by Eric Socolofsky. The most annoying thing about getting it to run was getting a build of Flex for Flash Player 10 that wasn't broken. Aside from that, it's pretty well written and it's set up for optimisation.&lt;br /&gt;&lt;br /&gt;I finally had two markers working:&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.robotacid.com/images/flar_multi_test.jpg" style="width: 560px; height: 420px; border: 0" alt=""  /&gt;&lt;br /&gt;&lt;br /&gt;Note the framerate. I was using 8x8 pattern files, running at half resolution, quality set to low and still not that fast.&lt;br /&gt;&lt;br /&gt;I discovered that the marker files were actually text files and wrote my own marker maker. You can get a web cam based one from the web, but their output is pretty dodgy. &lt;a href="http://www.robotacid.com/PBeta/ar/marker_maker.zip"&gt;I built it using Processing&lt;/a&gt;. All the ARToolKits seem happy reading any marker file with any extension: .txt, .pat, .bananas, .anything.&lt;br /&gt;&lt;br /&gt;I tried without success to get Chung's &lt;a href="http://www.bryanchung.net/?page_id=415" target="_blank"&gt;Simple ARToolkit&lt;/a&gt; to work. At one point I had recognition of a very basic marker (which was pleasingly fast), but nothing since then. It just won't recognise my markers. The most fustrating thing about it is that he's set the JARToolKit object to private, so you can't access it directly and do anything else with it. Why!? No multiple markers! Why don't you trust me Chung!?&lt;br /&gt;&lt;br /&gt;The original &lt;a href="http://sourceforge.net/projects/jartoolkit/" target="_blank"&gt;jARToolKit&lt;/a&gt; seems to be happy in the code folder of a normal Processing sketch, so I might see if I can rebuild the simple ARToolKit as a class in a normal Processing sketch. Though I'm skeptical about it seeing any of my patterns.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13619642-3045838251672485956?l=robotacid.com%2Fnews'/&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13619642/posts/default/3045838251672485956'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13619642/posts/default/3045838251672485956'/><link rel='alternate' type='text/html' href='http://robotacid.com/news/2009/06/augmented-reality-tests.html' title='Augmented Reality Tests'/><author><name>RobotAcid</name><uri>http://www.blogger.com/profile/05506104241666362209</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11495319048085486902'/></author></entry><entry><id>tag:blogger.com,1999:blog-13619642.post-6633771956599919550</id><published>2009-05-11T21:57:00.002+01:00</published><updated>2009-05-11T22:09:47.591+01:00</updated><title type='text'>Son of Genetic Algorithm Library</title><content type='html'>I was recently contacted about the genetic algorithm library I wrote a couple of years back. I remembered it having a bug or two so I decided to give it a quick polish before recommending it. A quick polish turned into a furious scrubbing. Then into total dismantling and then rebuilding with new parts. There were some gaping huge holes in the logic behind the framework of the last version but hopefully the new build is more reliable. Plus it not only works as a GA, but as a tool for splicing arrays of information as binary - that you the user can control how you see fit.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.robotacid.com/PBeta/AILibrary/GA/index.html"&gt;Genetic Algorithm Library for Processing or Java&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;When I get time I will alphabetise the reference and add some graphical examples. For now, I'm putting up the bare bones so it can be used and abused.&lt;br /&gt;&lt;br /&gt;Also, a shout out to &lt;a href="http://www.konamicodesites.com" target="_blank"&gt;Konami Code Sites&lt;/a&gt; who were kind enough to add RobotAcid to their list. Go check it out for some geeky finger foolery.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13619642-6633771956599919550?l=robotacid.com%2Fnews'/&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13619642/posts/default/6633771956599919550'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13619642/posts/default/6633771956599919550'/><link rel='alternate' type='text/html' href='http://robotacid.com/news/2009/05/son-of-genetic-algorithm-library.html' title='Son of Genetic Algorithm Library'/><author><name>RobotAcid</name><uri>http://www.blogger.com/profile/05506104241666362209</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11495319048085486902'/></author></entry><entry><id>tag:blogger.com,1999:blog-13619642.post-6987130180133066493</id><published>2009-04-19T18:42:00.004+01:00</published><updated>2009-05-09T19:27:09.697+01:00</updated><title type='text'>JQuery is Easier Than it Looks</title><content type='html'>As an unrequested favour to my new host, I decided to move the link list on the site over to JQuery. Originally the link list was an aggregate of at least 10+ php files that were then hidden by scriptaculous. And the mark up to get the hiding to work was pretty ugly. I've now switched to dynamically pulling in the link lists for a nicer page loading experience and for less demand on the server's cpu. And the script to pull this off is quite small:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;// hide all divs&lt;br /&gt;$(document).ready(function(){&lt;br /&gt; $("div").hide();&lt;br /&gt;});&lt;br /&gt;// Accordion toggle categories and ajax load empty categories&lt;br /&gt;function toggleContent(id) {&lt;br /&gt; // id also serves as a file path for the file to be loaded&lt;br /&gt; var div_id = "#"+id.substr(id.lastIndexOf('/')+1);&lt;br /&gt; var jdiv = $(div_id);&lt;br /&gt; // if div contains a noscript item, load content from id&lt;br /&gt; if(jdiv.children("noscript").length &gt; 0){&lt;br /&gt;  jdiv.html('&lt;span class="steed3"&gt;loading...&lt;/span&gt;');&lt;br /&gt;  jdiv.slideDown("normal", function(){&lt;br /&gt;   jdiv.load(id+".php", function(){&lt;br /&gt;    // capture inner html and switcheroo with loaded text&lt;br /&gt;    var html = $(div_id).html();&lt;br /&gt;    jdiv.html('&lt;span class="steed3"&gt;loaded&lt;/span&gt;');&lt;br /&gt;    jdiv.slideUp("normal", function(){&lt;br /&gt;     jdiv.html(html);&lt;br /&gt;     // hide all subcategories&lt;br /&gt;     $("div", div_id).each(function(){&lt;br /&gt;      $(this).hide()&lt;br /&gt;     });&lt;br /&gt;     jdiv.hide();&lt;br /&gt;     jdiv.slideDown("slow");&lt;br /&gt;    });&lt;br /&gt;   });&lt;br /&gt;  });&lt;br /&gt; // otherwise just slide the div open and closed&lt;br /&gt; } else {&lt;br /&gt;  $(div_id).slideToggle("slow");&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Not to mention that it took very little time to learn, despite JQuery syntax looking fairly scary.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13619642-6987130180133066493?l=robotacid.com%2Fnews'/&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13619642/posts/default/6987130180133066493'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13619642/posts/default/6987130180133066493'/><link rel='alternate' type='text/html' href='http://robotacid.com/news/2009/04/jquery-is-easier-than-it-looks.html' title='JQuery is Easier Than it Looks'/><author><name>RobotAcid</name><uri>http://www.blogger.com/profile/05506104241666362209</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11495319048085486902'/></author></entry><entry><id>tag:blogger.com,1999:blog-13619642.post-7183871179359408772</id><published>2009-04-04T14:00:00.001+01:00</published><updated>2009-04-14T22:08:47.373+01:00</updated><title type='text'>I'm Back</title><content type='html'>After being royally raped by a Chinese virus I've moved hosting to &lt;a href="http://www.huevia.com/" target="_blank"&gt;Huevia&lt;/a&gt; and put everything back online. I'm leaving comments off because the blog was the first part of the site to get affected, and also I'm not uploading any cgi scripts until I'm certain it's safe to do so and I'm doing it right.&lt;br /&gt;&lt;br /&gt;I would normally post some links as well, but I'm thinking using my regex powers to make a proper indexed page of links with a smart search box on the side. This is because Blogger's search tool is a bag of bollocks.&lt;br /&gt;&lt;br /&gt;Also you'll notice that comments are off. I'd rather not have that avenue open to attack my site. If you want to nudge me then my email is:&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.robotacid.com/assets/mail.png" style="width: 150px; height: 21px; border: 0" alt="Yes it would be nice if it were clickable. No junk mail in my inbox would be even better."  /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13619642-7183871179359408772?l=robotacid.com%2Fnews'/&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13619642/posts/default/7183871179359408772'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13619642/posts/default/7183871179359408772'/><link rel='alternate' type='text/html' href='http://robotacid.com/news/2009/04/im-back.html' title='I&apos;m Back'/><author><name>RobotAcid</name><uri>http://www.blogger.com/profile/05506104241666362209</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11495319048085486902'/></author></entry><entry><id>tag:blogger.com,1999:blog-13619642.post-3069795115793459250</id><published>2009-01-07T12:00:00.000Z</published><updated>2009-01-09T13:58:34.927Z</updated><title type='text'>Pixel Pop</title><content type='html'>We've released a music game.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.nitrome.com/games/pixelpop/"&gt;Pixel Pop&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13619642-3069795115793459250?l=robotacid.com%2Fnews'/&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13619642/posts/default/3069795115793459250'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13619642/posts/default/3069795115793459250'/><link rel='alternate' type='text/html' href='http://robotacid.com/news/2009/01/pixel-pop.html' title='Pixel Pop'/><author><name>RobotAcid</name><uri>http://www.blogger.com/profile/05506104241666362209</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11495319048085486902'/></author></entry><entry><id>tag:blogger.com,1999:blog-13619642.post-152896326595647150</id><published>2008-12-04T16:06:00.000Z</published><updated>2008-12-04T16:08:09.649Z</updated><title type='text'>Fat Cat</title><content type='html'>We've made a bullet-hell shoot em up.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.nitrome.com/games/fatcat/"&gt;Fat Cat&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Enjoy.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13619642-152896326595647150?l=robotacid.com%2Fnews'/&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13619642/posts/default/152896326595647150'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13619642/posts/default/152896326595647150'/><link rel='alternate' type='text/html' href='http://robotacid.com/news/2008/12/fat-cat.html' title='Fat Cat'/><author><name>RobotAcid</name><uri>http://www.blogger.com/profile/05506104241666362209</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11495319048085486902'/></author></entry><entry><id>tag:blogger.com,1999:blog-13619642.post-2874250267144895398</id><published>2008-11-15T13:05:00.001Z</published><updated>2008-11-15T13:17:39.634Z</updated><title type='text'>Surrealism</title><content type='html'>In an effort to get back to why I started working in digital in the first place, I set out to do some surrealist drawings. My intention in working with a computer was to get it to do the same kind of surreal work that I did long before my return to art education.&lt;br /&gt;&lt;br /&gt;Needless to say, I got sidetracked.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.robotacid.com/images/surrealism/index.html"&gt;Surrealist drawings&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;It's almost like the opposite of programming. This work is free and mindless, whereas working with a computer is intensely cerebral and structured.&lt;br /&gt;&lt;br /&gt;The next game of mine to be released uses the Logo style path language I blogged about before. If I applied this path behaviour as thrust on particles instead of walking a line, I might have beginnings of how to teach the computer my particular drawing language.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dipity.com/user/tatercakes/timeline/Internet_Memes/embed_tl" target="_blank"&gt;Timeline of Internet Memes&lt;/a&gt;&lt;br /&gt;&lt;a href="http://thedailywtf.com/" target="_blank"&gt;The Daily WTF&lt;/a&gt;&lt;br /&gt;&lt;a href="http://technology.newscientist.com/channel/tech/mg20026765.300?promcode=nletter&amp;DCMP=NLC-nletter&amp;nsref=mg20026765.300" target="_blank"&gt;Rat Brain Neural Network&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.youtube.com/watch?v=iDHTeMmVuB8&amp;feature=related" target="_blank"&gt;Super Mario - wall climbing level (idea research)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.ted.com/index.php/talks/theo_jansen_creates_new_creatures.html" target="_blank"&gt;Theo Jansen creates new creatures (TED Talk)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.gamasutra.com/php-bin/news_index.php?story=20462" target="_blank"&gt;EA Cancels Tiberium article (and ensuing bitching in the comments)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://blog.danielwellman.com/2008/10/real-life-tron-on-an-apple-iigs.html" target="_blank"&gt;Real Life Tron on an Apple IIgs&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.lemob.ch/2008/motion/lostandfoundmov.html" target="_blank"&gt;Lost and Found (short film)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.youtube.com/watch?v=zIMdBK8yr_g" target="_blank"&gt;Emmanuel Guibert\'s drawing technique&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.ted.com/index.php/talks/toys_from_the_future.html" target="_blank"&gt;Keith Schacht &amp; Zach Kaplan: Products (and toys) from the future (TED Talk)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cheswick.com/ches/me/" target="_blank"&gt;The McCollough Effect&lt;/a&gt;&lt;br /&gt;&lt;a href="http://fold.it/" target="_blank"&gt;Fold It (protein folding science game)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.rocksolidarcade.com/games/robokill/" target="_blank"&gt;Robokill (polished flash game)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cracked.com/article_15153_series-letters-first-girl-i-ever-fingered.html" target="_blank"&gt;A Series of Letters to the First Girl I Ever Fingered&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.gskinner.com/blog/archives/2007/07/swfbridge_easie.html" target="_blank"&gt;SWFBridge AS2 to AS3 communication&lt;/a&gt;&lt;br /&gt;&lt;a href="http://drawlogic.com/2007/06/12/howto-using-the-contextmenu-in-as3-with-fullscreen-mode-as-a-sample/" target="_blank"&gt;Adding a fullscreen option to the context menu in AS3&lt;/a&gt;&lt;br /&gt;&lt;a href="http://regexpal.com/" target="_blank"&gt;Regex Tester&lt;/a&gt;&lt;br /&gt;&lt;a href="http://regexadvice.com/" target="_blank"&gt;Regex Advice (forum)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://livedocs.adobe.com/flash/9.0/main/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts&amp;file=00000118.html" target="_blank"&gt;Adobe Documentation on Regex Groups&lt;/a&gt;&lt;br /&gt;&lt;a href="http://livedocs.adobe.com/flex/3/html/help.html?content=12_Using_Regular_Expressions_09.html" target="_blank"&gt;Flex Documentation on Regex&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.b3ta.com/features/howtopoachanegg/" target="_blank"&gt;How to poach an egg&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13619642-2874250267144895398?l=robotacid.com%2Fnews'/&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13619642/posts/default/2874250267144895398'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13619642/posts/default/2874250267144895398'/><link rel='alternate' type='text/html' href='http://robotacid.com/news/2008/11/surrealism.html' title='Surrealism'/><author><name>RobotAcid</name><uri>http://www.blogger.com/profile/05506104241666362209</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11495319048085486902'/></author></entry><entry><id>tag:blogger.com,1999:blog-13619642.post-7535376344544757194</id><published>2008-11-04T10:25:00.000Z</published><updated>2008-11-04T10:32:20.249Z</updated><title type='text'>Bomba</title><content type='html'>I've made a mouse avoider.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.nitrome.com/games/bomba/"&gt;Bomba&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I made it immediately after Final Ninja in the heat of a small office in summer with no air con. May God have mercy on my soul.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13619642-7535376344544757194?l=robotacid.com%2Fnews'/&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13619642/posts/default/7535376344544757194'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13619642/posts/default/7535376344544757194'/><link rel='alternate' type='text/html' href='http://robotacid.com/news/2008/11/bomba.html' title='Bomba'/><author><name>RobotAcid</name><uri>http://www.blogger.com/profile/05506104241666362209</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11495319048085486902'/></author></entry><entry><id>tag:blogger.com,1999:blog-13619642.post-2549655720497481490</id><published>2008-08-23T11:48:00.001+01:00</published><updated>2008-08-23T12:41:02.438+01:00</updated><title type='text'>Compression Depression</title><content type='html'>At work I've been coming up with a new method of managing monsters by giving them a Logo style script. It's a list of letters followed by numbers. The real tough part was nesting scripts within each other so I can have monsters spawn other monsters. This is tough because I have the new script in between brackets and regex can't do a balanced search. It's okay to spawn one monster, but what if that monster wants to spawn as well?&lt;br /&gt;&lt;br /&gt;The solution was to match the deepest spawn that wasn't spawning itself and work back from there. I store that in an array, then replace it with a marker to that point in the array:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;var path_string:String = "a bunch of commands go here"&lt;br /&gt;// spawn commands look like: S(monster commands)&lt;br /&gt;const SPAWN_COMMANDS:RegExp = /(?&lt;=S \()[^\(\)]*(?=\))/;&lt;br /&gt;const SPAWN_COMMANDS_REPLACE:RegExp = /S \([^\(\)]*\)/;&lt;br /&gt;var subroutines:Array = new Array();&lt;br /&gt;&lt;br /&gt;if (subroutines.length == 0){&lt;br /&gt; // extract spawn instructions and replace with an index to the subroutine list&lt;br /&gt; // matching works from the deepest nest up as the parenthesis is replaced&lt;br /&gt; do{&lt;br /&gt;  var spawn:Array = path_string.match(SPAWN_COMMANDS);&lt;br /&gt;  if(spawn != null) subroutines = subroutines.concat(spawn);&lt;br /&gt;  path_string = path_string.replace(SPAWN_COMMANDS_REPLACE, "S "+(sub_index++));&lt;br /&gt; } while (spawn != null);&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;I then give each spawn a reference to the subroutine array, which means I only have to parse subroutines once and I save on memory. Even if the parent monster is erased, the reference by the spawn to the subroutine array saves it from being garbage collected.&lt;br /&gt;&lt;br /&gt;The crazy thing is that the first spawn command will get replaced with "S 1". If I'm wise to this when I write a monster's script, I can type "S 1" any where in the script and it will call that subroutine. Even inside the first spawn's own script. This means my monsters can recursively generate.&lt;br /&gt;&lt;br /&gt;All well and good. But now I have a massive XML full of instructions for every monster. Chris Burt-Brown at work had already opted for an RLE compression method that I've also adopted (multiples of the same item you replace with a quantifier and the item), but this isn't enough for complicated instruction sets. Looking around I found an &lt;a href="http://www.razorberry.com/blog/archives/2004/08/22/lzw-compression-methods-in-as2/" target="_blank"&gt;LZW compression algorithm in AS2&lt;/a&gt;. It even produces XML safe output! Problem solved right? Wrong. My level editor uses a javascript method to save the XML that I cribbed from &lt;a href="http://www.galasoft-lb.ch/myjavascript/CExplorer/index.html" target="_blank"&gt;Galasoft&lt;/a&gt;. That method only saves ANSI encoded text files. The LZW algorithm produces UTF-8 encoded output. Saving those strings as ANSI destroys all the data. I was lucky enough to find out that Mozilla browsers have the ability save XML with the XMLSerializer method in UTF-8. There's a thread on the topic &lt;a href="http://groups.google.com/group/mozilla.dev.tech.xml/tree/browse_frm/month/2006-02/31b3fb537a2d7688?rnum=11&amp;_done=%2Fgroup%2Fmozilla.dev.tech.xml%2Fbrowse_frm%2Fmonth%2F2006-02%3F" target="_blank"&gt;here&lt;/a&gt;. A quick mod to the Galasoft script and I was home free.&lt;br /&gt;&lt;br /&gt;Now if I could figure out how to operate &lt;a href="http://codeazur.com.br/lab/fzip/" target="_blank"&gt;FZip&lt;/a&gt;, then I could take the operation further and get more assets within the game packed down to size.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.ted.com/index.php/talks/view/id/165" target="_blank"&gt;Self Aware Robots (TED talk)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.ted.com/index.php/talks/view/id/172" target="_blank"&gt;Simplicity Patterns (TED talk)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.vimeo.com/1084537" target="_blank"&gt;Big Buck Bunny (Blender made cartoon)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.nature.com/news/2008/080806/full/news.2008.1004.html" target="_blank"&gt;Curved electronic eye created&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.flong.com/projects/snout/" target="_blank"&gt;Double Taker (Golan Levin)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://blogs.zdnet.com/emergingtech/?p=1009&amp;tag=nl.e550" target="_blank"&gt;A robot with a biological brain&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blog.alternativaplatform.com/en/category/3d/" target="_blank"&gt;Alternativa 3D for Flash&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.bytearray.org/?p=91" target="_blank"&gt;AS3 Mouse Gesture class&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13619642-2549655720497481490?l=robotacid.com%2Fnews'/&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13619642/posts/default/2549655720497481490'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13619642/posts/default/2549655720497481490'/><link rel='alternate' type='text/html' href='http://robotacid.com/news/2008/08/compression-depression.html' title='Compression Depression'/><author><name>RobotAcid</name><uri>http://www.blogger.com/profile/05506104241666362209</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11495319048085486902'/></author></entry><entry><id>tag:blogger.com,1999:blog-13619642.post-5315541058385628338</id><published>2008-07-24T10:33:00.000+01:00</published><updated>2008-07-24T10:45:08.748+01:00</updated><title type='text'>Final Ninja</title><content type='html'>I'm quite pleased with this one and I hope people enjoy it:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.nitrome.com/games/finalninja/" target="_blank"&gt;Final Ninja&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;It started out as a sort of cross between the &lt;a href="" target="_blank"&gt;Dirk Valentine&lt;/a&gt; and &lt;a href="" target="_blank"&gt;Dangle&lt;/a&gt; engines. Then on the way to pick up my usual lunchtime Thai noodles the ninja theme suggested to me that he should be able to turn invisible as well. This is also my first project in AS3. The most tricky part of the transition is that they've completely buggered up animation control in AS3. Having complex nested animations is no longer possible due to gotoAndStop being processed at the end of a frame. I've also not noticed the fabled speed increase everyone is speaking of (and even in Processing I was a total speed whore). It is however refreshing to know when I'm being a bad programmer, and you can trick AS3 into behaving like AS2 when you need to.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13619642-5315541058385628338?l=robotacid.com%2Fnews'/&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13619642/posts/default/5315541058385628338'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13619642/posts/default/5315541058385628338'/><link rel='alternate' type='text/html' href='http://robotacid.com/news/2008/07/final-ninja.html' title='Final Ninja'/><author><name>RobotAcid</name><uri>http://www.blogger.com/profile/05506104241666362209</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11495319048085486902'/></author></entry><entry><id>tag:blogger.com,1999:blog-13619642.post-983810552719638970</id><published>2008-05-31T11:56:00.000+01:00</published><updated>2008-05-31T12:24:28.485+01:00</updated><title type='text'>Ogre</title><content type='html'>Well I finally got Ogre to compile. Bugger knows how I'm going to graft Openframeworks libraries into it. I only really need sound and the VideoGrabber, but those are still tall orders.&lt;br /&gt;&lt;br /&gt;If you want to play with Ogre on a PC you'll need the following:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.microsoft.com/express/download/" target="_blank"&gt;Visual Studio 9&lt;/a&gt;. Trying to get it to work with Code Blocks is more trouble than it's worth, especially as it breaks Openframeworks when you get the bare minimum working. Plus VS9 is pretty damn good. I'm amazed that Microsoft made it.&lt;br /&gt;&lt;a href="http://www.ogre3d.org/index.php?option=com_content&amp;task=view&amp;id=411&amp;Itemid=131" target="_blank"&gt;The Ogre SDK&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=1A2393C0-1B2F-428E-BD79-02DF977D17B8&amp;displaylang=en" target="_blank"&gt;DirectX Runtime&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Then you'll want to read the following:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.ogre3d.org/wiki/index.php/Installing_An_SDK" target="_blank"&gt;Installing the Ogre SDK&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.ogre3d.org/wiki/index.php/SettingUpAnApplication#Microsoft_Visual_C.2B.2B_6_.28SP3.2B.29" target="_blank"&gt;Setting up an application&lt;/a&gt;. No the Ogre Application Wizard doesn't work on VS9. This means we have to do some twiddling with project settings to get it to work. But despite this being a pain, it teaches you how to set up projects properly and will help you in the long run.&lt;br /&gt;&lt;a href="http://www.ogre3d.org/phpBB2/viewtopic.php?t=41510" target="_blank"&gt;My thread in the Ogre Forum about trying to get VC9 to compile Ogre&lt;/a&gt;. I didn't quite read the instructions in the previous link thoroughly, but those instructions also assumed some knowledge I didn't have. Most of the difficulty of getting Ogre to compile is down to correct project settings and correct file placement. So you have to use your initiative a little to figure it out. Now I'm at the following stage:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.ogre3d.org/wiki/index.php/Basic_Tutorial_1" target="_blank"&gt;Ogre Tutorials&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I'm going to settle in to this stuff now to put off the nightmare that combining Ogre and Openframeworks will be.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.vimeo.com/769193" target="_blank"&gt;Bruce Sterling on the future of interaction design&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.addictinggames.com/magicpen.html" target="_blank"&gt;Magic Pen&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.gamesradar.com/f/artificial-stupidity/a-2008041811102615041" target="_blank"&gt;Artificial Stupidity&lt;/a&gt;&lt;br /&gt;&lt;a href="http://home.wildit.net.au/hellohelloben/mystery.html" target="_blank"&gt;Fruit Mystery game&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.addictinggames.com/D78AQSAKQLQWI9/3944.swf" target="_blank"&gt;Cat with Bow Golf game&lt;/a&gt;&lt;br /&gt;&lt;a href="http://uk.youtube.com/watch?v=pZkZWlAIG0w" target="_blank"&gt;Floating Head&lt;/a&gt;&lt;br /&gt;&lt;a href="http://ideas.veer.com/features/controlmaster" target="_blank"&gt;The Control Master (a Run Wrake film)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.gametrailers.com/player/usermovies/195173.html" target="_blank"&gt;Metal Gear Solid 4 game play demo&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.tantalon.com/pete/cppopt/main.htm" target="_blank"&gt;C++ optimisation strategies&lt;/a&gt;&lt;br /&gt;&lt;a href="http://ejohn.org/blog/processingjs/" target="_blank"&gt;Processing for Javascript&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;As a side note I got a new phone recently. So I downloaded the latest Mobile Processing and spent one Sunday writing a new and more clever game of Snake vs the Computer for it. It uses the new A* algorithm I built and shows the Snake's thoughts about which path to take ahead of it.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.robotacid.com/pmobile/snakeAI2/applet/index.html"&gt;Snake AI 2&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13619642-983810552719638970?l=robotacid.com%2Fnews'/&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13619642/posts/default/983810552719638970'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13619642/posts/default/983810552719638970'/><link rel='alternate' type='text/html' href='http://robotacid.com/news/2008/05/ogre.html' title='Ogre'/><author><name>RobotAcid</name><uri>http://www.blogger.com/profile/05506104241666362209</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11495319048085486902'/></author></entry><entry><id>tag:blogger.com,1999:blog-13619642.post-3030267202430021523</id><published>2008-05-21T10:09:00.000+01:00</published><updated>2008-05-21T10:22:44.483+01:00</updated><title type='text'>Knuckleheads</title><content type='html'>Well. This is a weird one. Certainly an experimental system.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.nitrome.com/games/knuckleheads" target="_blank"&gt;Knuckleheads&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The trouble with this game is that basically moving was so difficult that it was hard to put any challenges in the game without making it bloody impossible.&lt;br /&gt;&lt;br /&gt;Progress with C++ is slow but fruitfull. I've managed to port the basics of my Processing breakout project over and bloody hell is it fast. I'm now trying to get Ogre to work. I looked at OpenSceneGraph but the set up instructions are incomprehensible and the forum is in Chinese. Seeing as I have enough trouble getting a Hello World out of C++ with out spending a few hours picking the brains of a forum on how to do it, I doubt I'm going to get any where with that one.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13619642-3030267202430021523?l=robotacid.com%2Fnews'/&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13619642/posts/default/3030267202430021523'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13619642/posts/default/3030267202430021523'/><link rel='alternate' type='text/html' href='http://robotacid.com/news/2008/05/knuckleheads.html' title='Knuckleheads'/><author><name>RobotAcid</name><uri>http://www.blogger.com/profile/05506104241666362209</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11495319048085486902'/></author></entry><entry><id>tag:blogger.com,1999:blog-13619642.post-8051333538177971965</id><published>2008-04-24T12:53:00.000+01:00</published><updated>2008-04-24T13:34:45.424+01:00</updated><title type='text'>Snotput</title><content type='html'>We've made a snot flinging game.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.nitrome.com/games/snotput/" target="_blank"&gt;Snot Put&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Amazing the things you can do with verlet integration and a chain of springs.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13619642-8051333538177971965?l=robotacid.com%2Fnews'/&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13619642/posts/default/8051333538177971965'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13619642/posts/default/8051333538177971965'/><link rel='alternate' type='text/html' href='http://robotacid.com/news/2008/04/snotput.html' title='Snotput'/><author><name>RobotAcid</name><uri>http://www.blogger.com/profile/05506104241666362209</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11495319048085486902'/></author></entry><entry><id>tag:blogger.com,1999:blog-13619642.post-4275196215501495500</id><published>2008-04-13T15:17:00.000+01:00</published><updated>2008-04-13T15:43:31.634+01:00</updated><title type='text'>st33d++</title><content type='html'>Just had my first sucessful tinkering session yesterday with &lt;a href="" target="_blank"&gt;Openframeworks&lt;/a&gt; on &lt;a href="http://www.bloodshed.net/devcpp.html" target="_blank"&gt;Dev C++&lt;/a&gt;. I'm now going to try to get it working on &lt;a href="http://www.codeblocks.org/" target="_blank"&gt;Code Blocks&lt;/a&gt;. I'm also going to be trying to get &lt;a href="http://www.ogre3d.org/" target="_blank"&gt;Ogre&lt;/a&gt; to work as well.&lt;br /&gt;&lt;br /&gt;It's tough work really because I need to know that I've got 3D model importing and visual analysis up and running before I press on with porting my Processing code. And none of the C++ I've learned will sink in till I'm doing that last part. It's not that I think Processing isn't up to the challenge. I did a polygon test on my laptop yesterday and the chug set in on both platforms past the 10,000 rectangle point using OpenGl. I was quite surprised that there was so little difference, but the issue isn't really drawing, it's reading 3D model files. It's just that Processing isn't set up to import models and render them efficiently. Plus I'm sure I could be doing a more detailed visual analysis in C++. We'll see. Any progress I make will be uploaded to the Experimentation section for now.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://escapepod.org/" target="_blank"&gt;Escape Pod - sci fi pod cast&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.youtube.com/watch?v=isu7r3Ywqp0" target="_blank"&gt;magnetic feedback joystick&lt;/a&gt;&lt;br /&gt;&lt;a href="http://technology.newscientist.com/channel/tech/dn13406?DCMP=NLC-nletter&amp;nsref=dn13406" target="_blank"&gt;snake robot&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.pearcesisters.co.uk/" target="_blank"&gt;The Pearce Sisters (Bafta award winning animation)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.zenbullets.com/blog/?p=72" target="_blank"&gt;Universal Automatism article&lt;/a&gt;&lt;br /&gt;&lt;a href="http://technology.newscientist.com/channel/tech/mg19826506.100?DCMP=NLC-nletter&amp;nsref=mg19826506.100" target="_blank"&gt;Robots that ellicit emotion&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.mazapan.se/games/BurnTheRope.php" target="_blank"&gt;Burn The Rope (game)&lt;/a&gt;&lt;a href="http://kareno.org/js/lumines/#" target="_blank"&gt;Lumines - javascript puzzle game&lt;/a&gt;&lt;br /&gt;&lt;a href="http://sheepfilms.co.uk/" target="_blank"&gt;Sheep Films&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.zincland.com/powder/index.php?pagename=release" target="_blank"&gt;Powder - A multi platform rogue-like (DS version too!)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://box2dflash.sourceforge.net/" target="_blank"&gt;box2d AS3 physics engine&lt;/a&gt;&lt;br /&gt;&lt;a href="http://seraf.mediabox.fr/wow-engine/wow-engine-technical-demo-spheres-on-plane/" target="_blank"&gt;wow as3 3D physics engine&lt;/a&gt;&lt;br /&gt;&lt;a href="http://gdataonline.com/seekhash.php" target="_blank"&gt;MD5 hash look up (or why you should put numbers in your passwords)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.raymond.cc/blog/archives/2007/02/27/how-to-cheat-and-hack-flash-based-games/" target="_blank"&gt;How to cheat and hack flash based games&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.youtube.com/watch?v=KO7EsFGlnDk&amp;feature=related" target="_blank"&gt;You Tube of how to hack flash games with cheat engine&lt;/a&gt;&lt;br /&gt;&lt;a href="http://hivelogic.com/enkoder/" target="_blank"&gt;Email address encryption for websites&lt;/a&gt;&lt;br /&gt;&lt;a href="http://five3d.mathieu-badimon.com/" target="_blank"&gt;Vector based 3D engine for AS2&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.txt2re.com/" target="_blank"&gt;Regular Expression generator&lt;/a&gt;&lt;br /&gt;&lt;a href="http://mikegrundvig.blogspot.com/" target="_blank"&gt;Mike Grundvig\'s blog&lt;/a&gt;&lt;br /&gt;&lt;a href="http://lab.andre-michelle.com/physics-engine" target="_blank"&gt;AS3 physics engine&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.gamedev.net/reference/articles/article1691.asp#Q26" target="_blank"&gt;Quarternions FAQ&lt;/a&gt;&lt;br /&gt;&lt;a href="http://satirist.org/learn-game/" target="_blank"&gt;Machine game learning&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Note that though it seems paradoxical to post links on how to hack the scores on my Flash games, Cheat Engine proved useful in finding a way to make hacking very difficult. The last two games I've made feature a couple of different techniques to put people off. I know some people suggest encrypting the values, but there really is a much simpler solution, I'll leave it to the reader to figure it out for themselves.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13619642-4275196215501495500?l=robotacid.com%2Fnews'/&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13619642/posts/default/4275196215501495500'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13619642/posts/default/4275196215501495500'/><link rel='alternate' type='text/html' href='http://robotacid.com/news/2008/04/st33d.html' title='st33d++'/><author><name>RobotAcid</name><uri>http://www.blogger.com/profile/05506104241666362209</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11495319048085486902'/></author></entry><entry><id>tag:blogger.com,1999:blog-13619642.post-7486205230547801043</id><published>2008-04-12T15:33:00.000+01:00</published><updated>2008-04-12T15:38:50.079+01:00</updated><title type='text'>Magneboy</title><content type='html'>It might not be the hardest puzzle game in the world but it certainly was enjoyable to make:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.nitrome.com/games/magneboy/" target="_blank"&gt;Magneboy&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I've knocked up a port of the A* code I used in it into Processing &lt;a href="http://www.robotacid.com/PBeta/fast_astar/index.html"&gt;here&lt;/a&gt;. Not that the intelligence of the monsters was appreciated or noted, but I guess that's how good design works. If it works well then you don't pick up on it.&lt;br /&gt;&lt;br /&gt;I'll be putting up the links I've harvested later - I've got quite a few useful ones regarding programming.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13619642-7486205230547801043?l=robotacid.com%2Fnews'/&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13619642/posts/default/7486205230547801043'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13619642/posts/default/7486205230547801043'/><link rel='alternate' type='text/html' href='http://robotacid.com/news/2008/04/magneboy.html' title='Magneboy'/><author><name>RobotAcid</name><uri>http://www.blogger.com/profile/05506104241666362209</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11495319048085486902'/></author></entry><entry><id>tag:blogger.com,1999:blog-13619642.post-2511314424108578132</id><published>2008-03-27T17:34:00.000Z</published><updated>2008-03-27T17:38:11.552Z</updated><title type='text'>Dirk Valentine</title><content type='html'>Well it's been a while coming but it's finally here.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.nitrome.com/games/dirkvalentine/" target="_blank"&gt;Dirk Valentine and the Fortress of Steam&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I'm chuffed with this one to say the least (despite how it turned me into more of an evil miserable sod in the process). I've even got some A.I. in the characters but you hardly get the chance to see it what with shooting everyone on sight. Try to spot where I nicked ideas from Portal (companion cube and portals / teleporters).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13619642-2511314424108578132?l=robotacid.com%2Fnews'/&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13619642/posts/default/2511314424108578132'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13619642/posts/default/2511314424108578132'/><link rel='alternate' type='text/html' href='http://robotacid.com/news/2008/03/dirk-valentine.html' title='Dirk Valentine'/><author><name>RobotAcid</name><uri>http://www.blogger.com/profile/05506104241666362209</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11495319048085486902'/></author></entry><entry><id>tag:blogger.com,1999:blog-13619642.post-549165947743646296</id><published>2008-02-24T21:35:00.000Z</published><updated>2008-02-24T21:43:23.723Z</updated><title type='text'>What I Do</title><content type='html'>I've made a page cataloguing and describing my &lt;a href="http://www.robotacid.com/flash/nitrome/index.html"&gt;work for Nitrome&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I am currently trying to figure out how to get back into printmaking and reading C++ tutorials.&lt;br /&gt;&lt;br /&gt;At work we're moving into AS3. Yes it's not as straightforward as the AS3 fanboys would have you believe. It's almost like porting a Flash project to Java. Components are the worst culprits, being obscure and not well explained at all. When it comes to AS3, internet becomes your best friend. It is however a better world that seems to make a lot more sense this time round.&lt;br /&gt;&lt;br /&gt;Here's the old link list:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.cl4.org/" target="_blank"&gt;CL4 Network&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.wired.com/entertainment/music/magazine/16-01/ff_byrne?currentPage=all" target="_blank"&gt;David Byrne\'s Survival Strategies for Emerging Artists — and Megastars&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.fractalartcontests.com/2007/winners.php" target="_blank"&gt;fractal&lt;/a&gt;&lt;br /&gt;&lt;a href="http://student.kuleuven.be/~m0216922/CG/" target="_blank"&gt;C++ graphics tutorials&lt;/a&gt;&lt;br /&gt;&lt;a href="http://nehe.gamedev.net/" target="_blank"&gt;NeHe OpenGL tutorials and good stuff&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.escapistmagazine.com/articles/view/editorials/zeropunctuation.1" target="_blank"&gt;Zero Punctuation - very funny game reviews&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.enigmasand.com/games/whitedwarf/" target="_blank"&gt;White Dwarf - avoidance game&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.multivax.com/last_question.html" target="_blank"&gt;The Last Question (short story by Isaac Asimov)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://tedjesuschristgod.org/" target="_blank"&gt;Ted, schizophrenic verbal diahorea incarnate&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.youtube.com/watch?v=OHxyZaZlaOs&amp;eurl=http://www.yayhooray.com/thread/137746/Half-Life-2-as-told-by-a-6-year-old." target="_blank"&gt;Half-Life: Full Consequences (hilarious machinama of a 6yr old\'s fan story)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.vimeo.com/393432" target="_blank"&gt;Breakout mods&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.youtube.com/watch?v=5ks1u0A8xdU" target="_blank"&gt;Level Head - A game using a cube with fiducial markers&lt;/a&gt;&lt;br /&gt;&lt;a href="http://current.com/items/88826633_plasticky_goodness" target="_blank"&gt;Guitar Zeros (a Pure Data patch to turn Guitar Hero controllers in music tools)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://tv.boingboing.net/2008/01/30/codehunters-capsule.html" target="_blank"&gt;Code Hunters (Anime short)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.youtube.com/watch?v=GQ3AcPEPbH0&amp;eurl=http://www.cracked.com/blog/2008/01/29/the-8-awesomeststupidest-lego-creations-ever-on-this-blog/" target="_blank"&gt;lego car machine&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.mindhacks.com/" target="_blank"&gt;Mind Hacks&lt;/a&gt;&lt;br /&gt;&lt;a href="http://video.google.com/videoplay?docid=5058529870025933880" target="_blank"&gt;George Lucas in Love&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.kk.org/thetechnium/" target="_blank"&gt;The Technium (blog)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.youtube.com/user/somegreybloke" target="_blank"&gt;Some Grey Bloke (animated youtube pisstake)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.youtube.com/watch?v=vSb-nV8l2QY" target="_blank"&gt;Rejected - Don Hertzfeld&lt;/a&gt;&lt;br /&gt;&lt;a href="http://xkcd.com" target="_blank"&gt;xkcd&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.gotoandlearnforum.com/viewtopic.php?f=10&amp;t=8031&amp;start=0&amp;st=0&amp;sk=t&amp;sd=a&amp;view=print" target="_blank"&gt;Customising the List component in Flash MX&lt;/a&gt;&lt;br /&gt;&lt;a href="http://csjava.occ.cccd.edu/~gilberts/devcpp5/" target="_blank"&gt;Dev C++ primer&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.youtube.com/watch?v=isfrCIhQ5HE" target="_blank"&gt;Laser Graffiti How to&lt;/a&gt;&lt;br /&gt;&lt;a href="http://youtube.com/watch?v=5s5EvhHy7eQ&amp;feature=related" target="_blank"&gt;Using a Wiimote to create a cheap multi-touch whiteboard&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.gotoandplay.it/_articles/2003/12/bezierCollision.php" target="_blank"&gt;bezier line collision&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.phy.ntnu.edu.tw/ntnujava/index.php?topic=4" target="_blank"&gt;2d ball collision physics&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.flashdevelop.org/" target="_blank"&gt;Flash Develop (open source IDE for Flash AS2 and AS3)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cplusplus.com/doc/tutorial/pointers.html" target="_blank"&gt;C++ pointers tutorial&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.double.co.nz/nintendo_ds/" target="_blank"&gt;Homebrew DS links to get one started&lt;/a&gt;&lt;br /&gt;&lt;a href="http://weitz.de/regex-coach/" target="_blank"&gt;Regex Coach&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13619642-549165947743646296?l=robotacid.com%2Fnews'/&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13619642/posts/default/549165947743646296'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13619642/posts/default/549165947743646296'/><link rel='alternate' type='text/html' href='http://robotacid.com/news/2008/02/what-i-do.html' title='What I Do'/><author><name>RobotAcid</name><uri>http://www.blogger.com/profile/05506104241666362209</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11495319048085486902'/></author></entry><entry><id>tag:blogger.com,1999:blog-13619642.post-158350677952915749</id><published>2008-02-14T12:01:00.000Z</published><updated>2008-02-14T12:16:40.897Z</updated><title type='text'>Glug Glug</title><content type='html'>Huzzah! A game I made last year has been released.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.nitrome.com/games/aquanaut" target="_blank"&gt;Aquanaut&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The technology in this I was kinda proud of. The sub is actually a pentagon mesh of springs that bounce off of pixels using the Bresenham algorithm to correct to the surface of the pixels and calculate the bounce vector. One particle on it's own bounces weirdly (back along the angle of penetration). But tie several together with springs and somehow it rolls realistically, off of pixels!&lt;br /&gt;&lt;br /&gt;The water transition is a displacement map trick like &lt;a href="http://blog.richnetapps.com/index.php/water_caustic_effects_with_flash_as2" target="_blank"&gt;this one&lt;/a&gt;. Simon (the project's artist) made me a black and white long image to slide through the map. A decent map, makes for a decent effect.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13619642-158350677952915749?l=robotacid.com%2Fnews'/&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13619642/posts/default/158350677952915749'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13619642/posts/default/158350677952915749'/><link rel='alternate' type='text/html' href='http://robotacid.com/news/2008/02/glug-glug.html' title='Glug Glug'/><author><name>RobotAcid</name><uri>http://www.blogger.com/profile/05506104241666362209</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11495319048085486902'/></author></entry><entry><id>tag:blogger.com,1999:blog-13619642.post-6001111534699891782</id><published>2007-12-25T13:05:00.000Z</published><updated>2007-12-25T13:11:13.162Z</updated><title type='text'>Nice to be Liked</title><content type='html'>Somehow the folks at Edge magazine have named &lt;a href="http://www.nitrome.com/games/headcase/"&gt;Headcase&lt;/a&gt; Internet Game of the Month.&lt;br /&gt;&lt;br /&gt;That's nice eh?&lt;br /&gt;&lt;br /&gt;Observe the page breaking large image of the article:&lt;br /&gt;&lt;br /&gt;&lt;img src="http://robotacid.com/images/headcase_in_edge.jpg" /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13619642-6001111534699891782?l=robotacid.com%2Fnews'/&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13619642/posts/default/6001111534699891782'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13619642/posts/default/6001111534699891782'/><link rel='alternate' type='text/html' href='http://robotacid.com/news/2007/12/nice-to-be-liked.html' title='Nice to be Liked'/><author><name>RobotAcid</name><uri>http://www.blogger.com/profile/05506104241666362209</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11495319048085486902'/></author></entry><entry><id>tag:blogger.com,1999:blog-13619642.post-3863635885369003552</id><published>2007-12-05T18:48:00.000Z</published><updated>2007-12-05T18:59:28.324Z</updated><title type='text'>Hello Thar</title><content type='html'>Well. Haven't been doing much except working. Camera-tracking-breakout has kind of evolved into a lateral blob-detection lark so I can have multiple bats on screen.&lt;br /&gt;&lt;br /&gt;But I'm leaving that to one side at the moment as I start tinkering with C++. First I've got to figure out Visual Studio and then I'm gonna have a crack at Openframeworks.&lt;br /&gt;&lt;br /&gt;Here's a feck-load of links I've been harvesting:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://my.break.com/media/view.aspx?ContentID=359313" target="_blank"&gt;Mario level that plays itself&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.youtube.com/watch?v=2QfwKqy3LyY" target="_blank"&gt;Duracell plays Space Harrier&lt;/a&gt;&lt;br /&gt;&lt;a href="http://tesladownunder.com/" target="_blank"&gt;Tesla Down Under - high voltage shenannigans&lt;/a&gt;&lt;br /&gt;&lt;a href="http://totaldickhead.blogspot.com/" target="_blank"&gt;Phillip K. Dick related Blog&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.botjunkie.com/2007/09/18/littledog-navigates-ruff-terrain/" target="_blank"&gt;Mini robot dog&lt;/a&gt;&lt;br /&gt;&lt;a href="http://digitaltools.node3000.com/blog/jumbotron_ds_nintendo_ds_on_two_laptop_screens.php" target="_blank"&gt;Jumbotron Nintendo DS&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.botjunkie.com/2007/10/01/zombie-chair-cannot-be-destroyed/" target="_blank"&gt;self assembling chair&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.voga.co.uk/product-detail.php?id=135" target="_blank"&gt;dalek cufflinks&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.pbs.org/kcet/wiredscience/" target="_blank"&gt;Wired Science website&lt;/a&gt;&lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/A-not-B_error" target="_blank"&gt;A not B error&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.tmcnet.com/usubmit/2007/10/05/2993860.htm" target="_blank"&gt;Robot brains make the same mistakes as humans - Advert covered article instead of New Scientist pay per view one&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.tigsource.com/features/games1-10.html" target="_blank"&gt;50 really good indie games&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.rockpapershotgun.com/?p=434" target="_blank"&gt;AD&amp;D Offline goes online&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.wired.com/special_multimedia/2007/1511_ff_manga" target="_blank"&gt;a history of british manga&lt;/a&gt;&lt;br /&gt;&lt;a href="http://kevinmackart.com/" target="_blank"&gt;Kevin Mack - Digital art and Film work&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.secrettechnology.com/zombie/lovesickzombie6.html" target="_blank"&gt;errr&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.albinoblacksheep.com/games/missilegame3d" target="_blank"&gt;missile game&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.youtube.com/watch?v=JX3VmDgiFnY" target="_blank"&gt;Moebius Transformations&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.worldofspectrum.org/" target="_blank"&gt;Archive of ZX Spectrum games and stuff with emulators, etc.&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.guimp.com/" target="_blank"&gt;World's Smallest Site&lt;/a&gt;&lt;br /&gt;&lt;a href="http://2addicted.com/words" target="_blank"&gt;Typing skill game&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.speccyspoilers.co.uk/cgc2004/index.html" target="_blank"&gt;Crap Spectrum Games Competition 2004&lt;/a&gt;&lt;&lt;br /&gt;&lt;a href="http://drawn.ca/2007/12/04/fighting-robots/" target="_blank"&gt;Fighting Robots&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.jedit.org/" target="_blank"&gt;jedit - text editor for programmers&lt;/a&gt;&lt;br /&gt;&lt;a href="http://projectorcentral.com/projection-calculator-pro.cfm" target="_blank"&gt;projector calculator&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.codeproject.com/cs/media/PolygonCollision.asp" target="_blank"&gt;polygon collision&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.harveycartel.org/metanet/tutorials/tutorialA.html" target="_blank"&gt;voronoi region collisions for the game "n"&lt;/a&gt;&lt;br /&gt;&lt;a href="http://melanoma.blogsome.com/2006/04/10/skin-lession-tracing-boundary-algorithm/" target="_blank"&gt;boundary tracing algorithm&lt;/a&gt;&lt;br /&gt;&lt;a href="http://trinabudge.co.uk/genetic_algorithm.html" target="_blank"&gt;Genetic Algorithm stuff&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.gotoandplay.it/_articles/2006/08/vectors.php" target="_blank"&gt;Speedy line intersection code&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.mostpixelsever.com/tutorial/eclipse" target="_blank"&gt;Shiffman Most Pixels Ever Tutorial - Also an Eclipse starter&lt;/a&gt; I know it says it isn't but for Eclipse dummies like I it is a good read.&lt;br /&gt;&lt;a href="http://www.soundsnap.com" target="_blank"&gt;Royalty free sound resource - Sound Snap&lt;/a&gt;&lt;br /&gt;&lt;a href="http://vectormagic.stanford.edu/" target="_blank"&gt;Vector Magic - online vectorising of bitmaps&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13619642-3863635885369003552?l=robotacid.com%2Fnews'/&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13619642/posts/default/3863635885369003552'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13619642/posts/default/3863635885369003552'/><link rel='alternate' type='text/html' href='http://robotacid.com/news/2007/12/hello-thar.html' title='Hello Thar'/><author><name>RobotAcid</name><uri>http://www.blogger.com/profile/05506104241666362209</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11495319048085486902'/></author></entry><entry><id>tag:blogger.com,1999:blog-13619642.post-672806336468034964</id><published>2007-10-11T13:00:00.000+01:00</published><updated>2007-10-11T13:19:45.530+01:00</updated><title type='text'>Moar</title><content type='html'>Okay, seeing as P5 Blogs filters my professional work out I'll keep the links and P5 stuff separate from my game making work. I've been working on a camera tracking breakout engine with AI blocks I'd like to share, I'll post that and the link harvest later.&lt;br /&gt;&lt;br /&gt;Just this week we've launched &lt;a href="http://www.nitrome.com/games/nanobots/index.php" target="_blank"&gt;Nanobots&lt;/a&gt; (a weapon switching shoot-em up inspired by Ikaruga and R-Type) and &lt;a href="http://www.nitrome.com/games/offtherails/index.php" target="_blank"&gt;Off the Rails&lt;/a&gt; (a track-and-field controlled railcart powered by mexican cactuses).&lt;br /&gt;&lt;br /&gt;Both have been a lot of fun to work on (although Nanobots was a tough gig to get done on time what with not being able to copy / paste a lot of platform game code into it).&lt;br /&gt;&lt;br /&gt;Also, someone has made a port of &lt;a href="http://www.dev-fr.org/projets/(ndsjeu)-magic-touch/0/?topicseen" target="_blank"&gt;Magic Touch for the Nintendo DS!&lt;/a&gt; He's taken liberties with the game design but seeing as most of us have a DS and a homebrew card here at the office it was very flattering all the same. He's used a different method for the recognition obviously, because it's less forgiving at times. But I'm still impressed given that I've yet to knock up any homebrew for the DS myself.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13619642-672806336468034964?l=robotacid.com%2Fnews'/&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13619642/posts/default/672806336468034964'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13619642/posts/default/672806336468034964'/><link rel='alternate' type='text/html' href='http://robotacid.com/news/2007/10/moar.html' title='Moar'/><author><name>RobotAcid</name><uri>http://www.blogger.com/profile/05506104241666362209</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11495319048085486902'/></author></entry><entry><id>tag:blogger.com,1999:blog-13619642.post-4300208320642394099</id><published>2007-08-31T10:23:00.000+01:00</published><updated>2007-08-31T10:37:58.914+01:00</updated><title type='text'>Magic Touch</title><content type='html'>We've released a new minigame here at Nitrome.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.nitrome.com/games/magictouch/index.php" target="_blank"&gt;Magic Touch&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This uses the &lt;a href="http://www.robotacid.com/flash/gesture/index.html"&gt;gesture recognition&lt;/a&gt; neural net setup I blogged before. It also uses some line-intersection math and some general common sense to figure out what shapes you're drawing. We have a distribution version of it if anyone else wants to host it as well (as it's a minigame it's a no-licence game) - contact nitrome.com for that, or if you want to know how the shape recognition works you can contact me.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.newscientisttech.com/channel/tech/mg19526146.000?DCMP=NLC-nletter&amp;nsref=mg19526146.000" target="_blank"&gt;Evolutionary Algorithms (genetic algorithms methinks)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.instructables.com/id/E16Y5T8F22U9YWA/" target="_blank"&gt;Milk Scanner&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.gametrailers.com/player/21598.html" target="_blank"&gt;Little Big Planet&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.areyouindie.com/showcase/profile.php?id=5" target="_blank"&gt;Everyday Shooter - guitar riffs instead of explosions&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.areyouindie.com/showcase/profile.php?id=16" target="_blank"&gt;Can You See Me Now&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.areyouindie.com/showcase/profile.php?id=2" target="_blank"&gt;And Yet It Moves - a spin the world around the player game&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.boingboing.net/2007/08/08/video_game_you_contr.html" target="_blank"&gt;pee controlled video game&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.s2games.com/savage/" target="_blank"&gt;Savage : RTS and FPS and free&lt;/a&gt;&lt;br /&gt;&lt;a href="http://uk.youtube.com/watch?v=4ARXzELQ_LM" target="_blank"&gt;Raymond - short funny film on curing a man of laziness&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.omnomnomnom.com" target="_blank"&gt;Om nom nom nom&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.greasespot.net/" target="_blank"&gt;Greasemonkey&lt;/a&gt;&lt;br /&gt;&lt;a href="http://jruaux.free.fr/samples.htm" target="_blank"&gt;Funk samples&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13619642-4300208320642394099?l=robotacid.com%2Fnews'/&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13619642/posts/default/4300208320642394099'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13619642/posts/default/4300208320642394099'/><link rel='alternate' type='text/html' href='http://robotacid.com/news/2007/08/magic-touch.html' title='Magic Touch'/><author><name>RobotAcid</name><uri>http://www.blogger.com/profile/05506104241666362209</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11495319048085486902'/></author></entry><entry><id>tag:blogger.com,1999:blog-13619642.post-7350645004285301033</id><published>2007-07-22T17:45:00.000+01:00</published><updated>2007-07-22T18:50:14.034+01:00</updated><title type='text'>Processing Stuff</title><content type='html'>I've just been porting my Flash physics work into Processing. &lt;a href="http://www.robotacid.com/PBeta/physics_01/index.html"&gt;A demo with big chunks of source here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.friendsofed.com/book.html?isbn=159059617x" target="_blank"&gt;&lt;img src="http://www.friendsofed.com/img/cover/159059617X.jpg" style="width: 200px; height: 240px; border: 0" alt=""  /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Friends of Ed were nice enough to send me a copy of Ira's book to review. It's taken me some time to think of stuff to say because I'm busy working in Flash these days so it's hard to find some Processing time. To be fair - I've looked through it, but I haven't &lt;i&gt;used&lt;/i&gt; it. I want to sit down and read the collision section of course because of the physics stuff I'm doing but I also have a day job, and I've just managed to hack around irregular surface collisions with a rather crazy implementation of the bresenham algorithm (yup - bounce it off a surface by detecting the level of penetration into a pixel map - with one particle it's unrealistic - with a spring box it's like the real deal).&lt;br /&gt;&lt;br /&gt;The book is aimed fairly well at where I was when I started using Processing a few years ago. I had no idea how to program, some pretty concrete illusions about how everything was done and no knowledge of math. If I could have sent Ira's book down a wormhole back to me when I started to pick up this Processing lark I'd have had a much easier time of it (although the differences between Processing 68 and 120+ would have been a pain).&lt;br /&gt;&lt;br /&gt;The book pretty much covers the basics of everything. Which is a very Processing way of going about stuff. You don't get into the complications of heavy Java which most advanced users get into. On the whole I find I pretty much understand everything explained to me in the book - which is a miracle for a book on programming. A lot of the examples look quite pretty and inviting and I can see myself thumbing through it if I hit a creative block.&lt;br /&gt;&lt;br /&gt;If I had a criticism of it it would be the shotgun approach to learning that goes on in it. It's a great book for getting someone into Processing and I would recommend it to a student but I tried using it for reference purposes a few times and it cut me off before I could find the specialist information I needed. So either I'm a little above the target audience's level or I'm just too picky about what I want to find out. There's points where I'm looking through it thinking, "ayuh, there's a faster way of doing that," but you can't really confuse beginners with the speed stuff straight away I guess. Basically, it's a teaching book, not a reference manual - it won't revolutionise the way you code, just expand your horizons.&lt;br /&gt;&lt;br /&gt;So if you've got an artist friend who wants to get into using Processing, I would recommend this book to them, it should help a lot. More advanced users might find it a strange book in terms of use for programming. I'm used to "get to the point" manuals, harrassing people on the web (sorry forum) and online tutorials. As programming books go, it is incredibly wordy, but artists (and I am the exception to the rule) are also wordy creatures, so this may go down well with the new breed of art-geek that has hit the world this century. In summary - if I was teaching Processing I would find this useful for shoving under my students noses, and I think they would find it useful too.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://flickr.com/photos/thoughtandtheory/sets/72157600709463106/" target="_blank"&gt;Colour of Munny exhibit&lt;/a&gt;&lt;br /&gt;&lt;a href="http://sam.zoy.org/pwntcha/" target="_blank"&gt;CAPTCHA being defeated by image analysis - PWNtcha&lt;/a&gt;&lt;br /&gt;&lt;a href="http://orudorumagi11.deviantart.com/gallery/" target="_blank"&gt;Dollar origami&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.youtube.com/watch?v=QfICeBtVv8U&amp;eurl=http%3A%2F%2Fwww%2Eprocessingblogs%2Eorg%2F" target="_blank"&gt;Echodrome trailer - optical illusion game for PS3&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://inkscape.org/" target="_blank"&gt;InkScape: Open source vector graphics tool&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13619642-7350645004285301033?l=robotacid.com%2Fnews'/&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13619642/posts/default/7350645004285301033'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13619642/posts/default/7350645004285301033'/><link rel='alternate' type='text/html' href='http://robotacid.com/news/2007/07/processing-stuff.html' title='Processing Stuff'/><author><name>RobotAcid</name><uri>http://www.blogger.com/profile/05506104241666362209</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11495319048085486902'/></author></entry><entry><id>tag:blogger.com,1999:blog-13619642.post-335100009865129642</id><published>2007-07-09T17:02:00.000+01:00</published><updated>2007-07-09T17:14:56.997+01:00</updated><title type='text'>Dangle</title><content type='html'>We've released a new game at Nitrome for MTV that I've developed the game engine and levels for.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.nitrome.com/games/dangle/index.php" target="_blank"&gt;Dangle&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Go play it. Now. Go play it now. Now, now, now, now, now.&lt;br /&gt;&lt;br /&gt;A few posts down on my blog you can see the intersection code I was working on to get the spider to snap to platforms. This combined with chaining springs together evolved into the final game. The control system without a doubt was the hardest part - there are dozens of little meters and switches behind the scenes trying to gauge mouse movement.&lt;br /&gt;&lt;br /&gt;The next game is shaping up quite well. I'm taking all this physics engine and long scrolling level stuff to new heights. It should be a good little number.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.albinoblacksheep.com/games/bloxorz" target="_blank"&gt;Bloxorz - very well made block puzzle game&lt;/a&gt;&lt;br /&gt;&lt;a href="http://wanderingspace.net/" target="_blank"&gt;Astronomy wallpapers&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.deviantart.com/deviation/58343384/" target="_blank"&gt;Flash 8 3D racing game&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.youtube.com/watch?v=n1wnOUH2jk8&amp;eurl=http%3A//www.yayhooray.com/thread/119360/these-are-some-cool-furries" target="_blank"&gt;Bat for Lashes - What's a Girl to Do - Promo&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.youtube.com/watch?v=4cPWCaRWe0w&amp;eurl=http%3A%2F%2Fwww%2Eyayhooray%2Ecom%2Fthread%2F119373%2Fspike%2Djonze%2Dinvisible%2Dskate%2Dboards" target="_blank"&gt;spike jonze - invisible skate boards&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.youtube.com/watch?v=SJCuF6cJGVs" target="_blank"&gt;Dark Entries - Bauhaus - Live&lt;/a&gt;&lt;br /&gt;&lt;a href="http://wouter.fov120.com/cube/" target="_blank"&gt;Cube - open source Sauerbraten game&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.creativereview.co.uk/crblog/underwater-magic/" target="_blank"&gt;Diesels's Holograms on the catwalk&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.a-i.com/" target="_blank"&gt;A I site&lt;/a&gt;&lt;br /&gt;&lt;a href="http://users.tkk.fi/~jtpelto2/nethack.html" target="_blank"&gt;Falcon's Eye - Net Hack with graphics&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.newscientisttech.com/article/dn12192?DCMP=NLC-nletter&amp;nsref=dn12192" target="_blank"&gt;Rat brained robot&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.pcmag.com/article2/0,1895,2147448,00.asp" target="_blank"&gt;Networked projectors&lt;/a&gt;&lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/Al-Jazari" target="_blank"&gt;Al-Jazari - father of robotics&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.theregister.com/2007/06/23/sentient_worlds/" target="_blank"&gt;Sentient World, US Department of Defense World simulator&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://muonics.net/blog/index.php?postid=15" target="_blank"&gt;Laser tag how-to and source code&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13619642-335100009865129642?l=robotacid.com%2Fnews'/&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13619642/posts/default/335100009865129642'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13619642/posts/default/335100009865129642'/><link rel='alternate' type='text/html' href='http://robotacid.com/news/2007/07/dangle.html' title='Dangle'/><author><name>RobotAcid</name><uri>http://www.blogger.com/profile/05506104241666362209</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11495319048085486902'/></author></entry><entry><id>tag:blogger.com,1999:blog-13619642.post-814433471827531856</id><published>2007-06-23T20:37:00.000+01:00</published><updated>2007-06-23T21:03:44.677+01:00</updated><title type='text'>Gesture Shmesture</title><content type='html'>The boss has been letting me work on gesture recognition at work. I added to the self simplifying line so it accounts for when the user changes their drawing speed (just interpolate on the big gaps). This confuses the neural net less. But because my boss was greedy for more shapes I found other ways to recognise shapes heuristically.&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Does the line cross over itself once? You've drawn a loop.&lt;br /&gt;&lt;li&gt;Does the line cross over itself twice? You've drawn a figure eight.&lt;br /&gt;&lt;li&gt;Is there low variance between angles along the line? You've drawn a straight line.&lt;br /&gt;&lt;li&gt;Is the starting point a short distance from the end point? You've drawn a circle (note that you have to force it to fail when someone draws a shape too small - otherwise just clicking the mouse is always a circle).&lt;br /&gt;&lt;li&gt;None of the above? Let's hand it over to the neural net and see if we've got some other shape here.&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;So okay - you can get away with some really poor drawing, but what's great about this is that you can get away with some really poor drawing! A game needs the feel that you lost because you're bad at the game, not because the programmer didn't make the effort to make gameplay comfortable. I'll link to this game if and when it comes out.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.abc-of-yoga.com/yogapractice/postures.asp" target="_blank"&gt;Yoga postures with how-to animations&lt;/a&gt;&lt;br /&gt;&lt;a href="http://tigsource.com/articles/2007/02/14/the-big-adventure-of-owatas-life" target="_blank"&gt;ASCII game&lt;/a&gt;&lt;br /&gt;&lt;a href="http://starwarsblog.wordpress.com/2007/05/24/taking-a-tour-of-the-vader-project/" target="_blank"&gt;Darth Vader helmet art&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.pcworld.com/article/id,132249-c,futuretechnology/article.html" target="_blank"&gt;OLED flexible transparent display&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.handheld.remakes.org/online.php" target="_blank"&gt;Game and Watch remakes&lt;/a&gt;&lt;br /&gt;&lt;a href="http://lolcode.com/" target="_blank"&gt;LOL Code&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.rosemariefiore.com/pages.php?content=gallery.php&amp;navGallID=4&amp;activeType=nonNestGall" target="_blank"&gt;Scrambler Drawing Machine&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.wired.com/gaming/hardware/news/2007/06/soviet_games" target="_blank"&gt;Old Soviet arcade games&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.youtube.com/watch?v=9HEPUlW3yng" target="_blank"&gt;Midfield General feat. Noel Fielding - Midfielding video&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.ted.com/index.php/talks/view/id/129" target="_blank"&gt;Photosynth - image clever technology&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.instructables.com/id/SQDLVXYF2L4FTZ7/" target="_blank"&gt;IKEA ice cube straws trick&lt;/a&gt;&lt;br /&gt;&lt;a href="http://take-g.com/crafts/big.html" target="_blank"&gt;Wooden robot toys&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.fabathome.org/wiki/index.php?title=Main_Page" target="_blank"&gt;3D printer site&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.greatfirewallofchina.org/" target="_blank"&gt;Great Firewall of China - test the availability of your site in China&lt;/a&gt;&lt;br /&gt;&lt;a href="http://chir.ag/stuff/sand/" target="_blank"&gt;Falling Sand Java&lt;/a&gt;&lt;br /&gt;&lt;a href="http://serendip.brynmawr.edu/bb/" target="_blank"&gt;Brain and Behaviour&lt;/a&gt;&lt;br /&gt;&lt;a href="http://arstechnica.com/journals/thumbs.ars/2007/06/11/german-programmer-programs-hello-world-into-wheat-field" target="_blank"&gt;Hello World on wheat field&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.generation5.org/content/2004/simple_ocr.asp" target="_blank"&gt;OCR with perceptrons in Java&lt;/a&gt;&lt;br /&gt;&lt;a href="http://swxformat.org/" target="_blank"&gt;SWX data transter method for Flash&lt;/a&gt;&lt;br /&gt;&lt;a href="http://don.citarella.net/index.php/actionscript-examples/flash-file-uploader/" target="_blank"&gt;Flash file uploader&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.quasimondo.com/archives/000645.php" target="_blank"&gt;Saving jpg or png with Flash 8 revisited&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.the-stickman.com/tutorials/f5uniquerandom.shtml" target="_blank"&gt;Fast random lists of number for Flash&lt;/a&gt;&lt;br /&gt;&lt;a href="http://itp.nyu.edu/physcomp/sensors/Reports/Reports" target="_blank"&gt;ITP Sensor workshop reports&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13619642-814433471827531856?l=robotacid.com%2Fnews'/&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13619642/posts/default/814433471827531856'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13619642/posts/default/814433471827531856'/><link rel='alternate' type='text/html' href='http://robotacid.com/news/2007/06/gesture-shmesture.html' title='Gesture Shmesture'/><author><name>RobotAcid</name><uri>http://www.blogger.com/profile/05506104241666362209</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='11495319048085486902'/></author></entry></feed>