<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	>

<channel>
	<title>Down the Rabbit Hole</title>
	<atom:link href="http://blog.open-design.be/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.open-design.be</link>
	<description>Just another WordPress weblog</description>
	<pubDate>Wed, 28 Mar 2012 21:59:52 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>SoundQuest, a journey in the extraordinary world of game development and Stage3D</title>
		<link>http://blog.open-design.be/2012/03/25/soundquest-a-journey-in-the-extraordinary-world-of-game-development-and-stage3d/</link>
		<comments>http://blog.open-design.be/2012/03/25/soundquest-a-journey-in-the-extraordinary-world-of-game-development-and-stage3d/#comments</comments>
		<pubDate>Sun, 25 Mar 2012 17:26:55 +0000</pubDate>
		<dc:creator>Thomas</dc:creator>
		
		<category><![CDATA[AS3]]></category>

		<category><![CDATA[Commercial Projects]]></category>

		<category><![CDATA[Featured]]></category>

		<category><![CDATA[Game]]></category>

		<category><![CDATA[Headline]]></category>

		<category><![CDATA[flash]]></category>

		<category><![CDATA[2d map editor]]></category>

		<category><![CDATA[editor]]></category>

		<category><![CDATA[game editor]]></category>

		<category><![CDATA[map]]></category>

		<category><![CDATA[map editor]]></category>

		<category><![CDATA[nd2d]]></category>

		<category><![CDATA[soundquest]]></category>

		<category><![CDATA[stage3d]]></category>

		<category><![CDATA[worldgamemaker]]></category>

		<guid isPermaLink="false">http://blog.open-design.be/?p=967</guid>
		<description><![CDATA[Today I pluck up some courage to try presenting a project I (and many others) have been working hard on for the past few months: SoundQuest (you can play it there: https://apps.facebook.com/soundquest/)
Originally proposed for a replacement and enhancement of the famous  &#8220;snake game&#8221; on Nokia mobile phones, it has developed progressively to a  totally different game with a dragon as a main character, 4 different worlds to discover and many items to collect.
I&#8217;ll also try to show how, from a simple retro flash game, we went to a ...]]></description>
			<content:encoded><![CDATA[<p>Today I pluck up some courage to try presenting a project I (and many others) have been working hard on for the past few months:<strong> SoundQuest </strong>(you can play it there: <a href="https://apps.facebook.com/soundquest/" target="_blank">https://apps.facebook.com/soundquest/)</a></p>
<p>Originally proposed for a replacement and enhancement of the famous  &#8220;snake game&#8221; on Nokia mobile phones, it has developed progressively to a  totally different game with a <strong>dragon as a main character, 4 different worlds to discover and many items to collect</strong>.<br />
I&#8217;ll also try to show how, from a simple retro flash game, we went to a <strong>full HD game using the latest Flash11 technologies (Stage3D through <a href="https://github.com/nulldesign/nd2d" target="_blank">ND2D framework</a>)<span id="more-967"></span></strong></p>
<p><div id="attachment_974" class="wp-caption alignnone" style="width: 594px"><img class="size-large wp-image-974 " title="soundquest_lvl02" src="http://blog.open-design.be/wp-content/uploads/2012/03/soundquest_lvl02-584x326.jpg" alt="soundquest_lvl02" width="584" height="326" /><p class="wp-caption-text">Actual game screenshot (level 2)</p></div></p>
<p><strong></strong></p>
<h1>First idea</h1>
<p>One of the <strong>first and main idea behind the game was to enhance the music based on how well the user was playing</strong>.<br />
Each level has its own <strong>soundtrack composed by a band named &#8220;Tha Trickaz&#8221;</strong>. I was pleasantly surprised when I first heard of their music and the soundtracks they would provide us with. This gave me positive energy as it&#8217;s always nice to know that you&#8217;re working with talented people.</p>
<p>We had different ideas on what we wanted to base the &#8220;playability&#8221; on:</p>
<ul>
<li>speed of the snake (can be raised or lowered by picking up special items)</li>
<li>energy of the snake (it loses some when it hits obstacles)</li>
<li>time elapsed without hitting obstacles</li>
</ul>
<p>I really liked the idea because it could potentially deliver another kind of experience to users but I remained sceptical as I felt this could quickly become complicated to implement into the game.<br />
At this stage of the process, we were still thinking of making a snake-like game.</p>
<h2>Approaches</h2>
<p>Our first approach was to disassemble each soundtrack in &#8220;loops&#8221; and assemble them progressively in real-time during the game. The idea was kind of sexy as this would give us some kind of flexibility on what to play or not and <strong>when</strong>.<br />
&#8220;<strong>When</strong>&#8221; was important as we wanted to make the music reflect as much as possible what was happening on the screen (or vice versa)<br />
But this idea was soon rejected as we would have lost the particularities of each soundtrack (progressive start, quiet moments, change of rhythm, change of melody, &#8230;)</p>
<p>The second idea was to build the levels based on the soundtracks. This was much easier to implement but we were losing the main concept of the game.</p>
<p>Our third idea was to take the second idea because we were running out of time, money, patience and mental stability. And to keep a little bit of the &#8220;progressive music&#8221; idea, we &#8220;simply&#8221; decided to add effects on the soundtrack when the dragon hits and obstacle.</p>
<p><a href="http://blog.open-design.be/wp-content/uploads/2012/03/soundquest_lvl01.jpg"><img class="alignnone size-large wp-image-973" title="soundquest_lvl01" src="http://blog.open-design.be/wp-content/uploads/2012/03/soundquest_lvl01-584x326.jpg" alt="soundquest_lvl01" width="584" height="326" /></a></p>
<h1>First prototype</h1>
<p>Below is a screenshot of one of our first prototypes.<br />
The main square is the game area. The green pixels represent the snake. The red ones, the items to collect to get bigger. There is an energy bar going from red to green and in the bottom, we can see the whole level.<br />
The idea was to add different kind of items, obstacles (static &amp; dynamics) and also an automatic horizontal scroll to oblige the player to move forward.</p>
<p><img class="size-large wp-image-1003 alignnone" title="soundquest_2nd_prototype" src="http://blog.open-design.be/wp-content/uploads/2012/03/soundquest_2nd_prototype-584x212.jpg" alt="soundquest_2nd_prototype" width="584" height="212" /></p>
<p>Of course this was just a prototype, we wanted to give this game a totally new look with nice HD effects, fullscreen support and a cool retro touch mixed to it.</p>
<h1>My work on this project</h1>
<p>&#8220;Technical director&#8221; was the first role I endorsed for this project.<br />
I had to translate the mechanics of the game into structures that developers (flash &amp; php) could use and communicate with. I needed to visualise the whole process (game mechanics, facebook api, &#8230;) to see all the interactions between the different structures and data.</p>
<p>In about the middle of the project, when it was already well advanced (we already had abandoned the snake concept and were working on the dragon, with different worlds and HD graphics), I had to take over the work of our flash developer.<br />
Having already developed a good part of the game engine, I didn&#8217;t feel like taking over his code, for many reasons. So I started from scratch by building a generic 2D map editor using ND2D (Stage3D).<br />
This map editor would allow me to set the base of the engine while building a tool that would greatly simplify the creation of each level.</p>
<h1>WorldGameMaker</h1>
<p>This is how I called the editor. It is written in AS3 and compiled in AIR with support of Stage3D and uses ND2D as a 2D framework for Stage3D.<br />
It exports the level data in a xml file so it can be used for many types of 2D games.<br />
It took me a couple of weeks to build. I actually build it while coding the engine as both are tightly linked.</p>
<p>The reason why I chose ND2D over Starling is that the former was more  powerful when I started working on it. I also liked the material  approach of it and it was packed with much more features than Starling.</p>
<p><a href="http://blog.open-design.be/wp-content/uploads/2012/03/soundquest_worldgamemaker01.jpg" target="_blank"><img class="alignnone size-large wp-image-1013" title="soundquest_worldgamemaker01" src="http://blog.open-design.be/wp-content/uploads/2012/03/soundquest_worldgamemaker01-584x319.jpg" alt="soundquest_worldgamemaker01" width="584" height="319" /></a></p>
<h2>Features</h2>
<p>I&#8217;m quite satisfied with what I have done on this editor, it has all the basic features one developer could need to start building maps/levels for his/her game.<br />
There are still a couple of features that I would like to implement and the approach I took on a couple of things (like animated textures) could be improved. I had very little time and I always chose the path that would get the job done as soon as possible. But I think it can still be used quite intuitively, as long as you have some basic knowledge about game programming.</p>
<p>Amongst other things, here are the most notable features of the editor:</p>
<ul>
<li>edit world boundaries</li>
<li>edit grid properties</li>
<li><strong>layer system</strong> (it actually appeared quite late in the process)
<ul>
<li>really helpful as it allows to <strong>separate the different elements of a map</strong></li>
<li>it also allows for <strong>optimizations during the rendering</strong> if one uses the same texture on every object of a same layer (<strong>batching</strong>)</li>
<li>can be used as a<strong> parallax system</strong> based on the movement of the camera (ex: layers in back can be set to follow the camera to a certain extend, giving an intuitive parallax effect)</li>
</ul>
</li>
<li><strong>object system</strong>, everything on a map is an object:
<ul>
<li>Sprite2D: a simple image object</li>
<li>ParticleSystem2D: a particle system that uses the graphic card to compute the transformation of each particle (almost 0% of cpu used)</li>
<li>CouldParticleSystem: a particle system that uses Sprite2DCloud (ND2D object) to render particles (uses more cpu but we have total control over each particle)</li>
<li>CollisionSystem: an object that allows to set up collisions vectors for an object (see picture below)</li>
<li>TriggerSystem: an object that is triggered (once or every time) when an other objects (can be the player) is colliding it</li>
<li>RibbonTrail: a special object that I used to build the tail of the dragon. It&#8217;s kind of a dynamic ribbon.</li>
</ul>
</li>
<li><strong>prefab system</strong>: you can create a prefab object out of any other object. This allows reuse of sets of objects (like a mountain made from several other Sprite2D objects)</li>
<li><strong>properties panel</strong>: every object has its own properties that can be edited</li>
<li><strong>textures panel</strong>: load/unload textures, link atlases to them, preview them.</li>
<li><strong>animated textures panel</strong>: create animated textures from a texture that has an atlas linked to it. It currently automatically create an animation from a set of textures that has a same name and that ends with a number (ex: anim1_0001, anim1_0002, &#8230;)</li>
<li><strong>intuitive editing of objects</strong>: this took me a while to figure it out (especially for the objects with nested objects inside of them). You can scale and position objects with your mouse as you would do it in any other image editor.</li>
</ul>
<p><div id="attachment_1018" class="wp-caption alignnone" style="width: 594px"><a href="http://blog.open-design.be/wp-content/uploads/2012/03/soundquest_worldgamemaker02.jpg" target="_blank"><img class="size-large wp-image-1018 " title="soundquest_worldgamemaker02" src="http://blog.open-design.be/wp-content/uploads/2012/03/soundquest_worldgamemaker02-584x319.jpg" alt="soundquest_worldgamemaker02" width="584" height="319" /></a><p class="wp-caption-text">CollisionSystem object in action, simply set up the boundaries of an object</p></div></p>
<h1>Final result and social approach</h1>
<p>After months of work and changes, we were finally seeing the end of it. The concept had changed, as well as the whole atmosphere of the game. We started from a simple retro-snake-like game to a full High Definition kind-of-adventure game using the latest Stage3D technology.<br />
Most of the engine was ready and the editor was stable, we could start making the levels and work on fine tuning the gameplay. We didn&#8217;t have much time left, we were already super late, so a couple of things that we wanted to add had to be left away. There are still a couple of improvements that could be made to the engine and the map editor but it works well and I&#8217;m pretty proud of them.</p>
<p><a href="http://blog.open-design.be/wp-content/uploads/2012/03/soundquest_lvl03.jpg"><img class="alignnone size-large wp-image-976" title="soundquest_lvl03" src="http://blog.open-design.be/wp-content/uploads/2012/03/soundquest_lvl03-584x326.jpg" alt="soundquest_lvl03" width="584" height="326" /></a></p>
<p>In total, we have 4 different levels with different atmospheres, several items to catch (points, speed, slow, souls and special items), meteors that fall from the sky, obstacles to avoid, special zones to recharge the energy of the dragon and a dragon that has 4 different states with 4 different visual effects (see &#8220;dragon on fire&#8221; above) for each of them.</p>
<h2>Social approach and the &#8220;soul&#8221; system</h2>
<p>The game is only playable over Facebook, for several reasons I won&#8217;t explain here (mostly marketing reasons), but one good thing about it is the social approach you can add to the game. Like every game on Facebook, you can compare your score with your friends or with everyone. But we wanted something more.</p>
<p>As it is only playable alone, we wanted to allow people to change the gameplay of a map to a certain extend. With this in mind, we added the &#8220;soul&#8221; system: every time you die, your soul appears on the map (were you died) and will be available for your friends to pick up. By doing so, they earn the life that you lost. This brings a whole new area of possibilities for the players as they only earn 1 life every 12 hours. By dying, you not only lose a chance to win but you give it to your friends.</p>
<p>Another cool thing about this soul system is that you can leave a message to the friend that will pick up your soul.</p>
<h1>Credits</h1>
<p>Enough of writing, this was a really big, dense and exhausting project. There are so many things I learned, and now, with a bit more distance, I can see that I&#8217;m happy I did it and (that doesn&#8217;t happen often) I&#8217;m proud of the result.<br />
So let&#8217;s give some place to the people who worked on the project:</p>
<p><a href="http://www.uzful.fr/" target="_blank">Uzful</a>: French Communication Agency (conception and project management)<br />
<a href="http://www.reed.be/" target="_blank">Reed.be</a> (which I&#8217;m part of): Belgian Communication Gang (conception, creation, production and project management)</p>
<p>Thanks to everyone.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.open-design.be/2012/03/25/soundquest-a-journey-in-the-extraordinary-world-of-game-development-and-stage3d/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Know where your function is called from</title>
		<link>http://blog.open-design.be/2011/06/22/know-where-your-function-is-called-from/</link>
		<comments>http://blog.open-design.be/2011/06/22/know-where-your-function-is-called-from/#comments</comments>
		<pubDate>Wed, 22 Jun 2011 11:23:01 +0000</pubDate>
		<dc:creator>Thomas</dc:creator>
		
		<category><![CDATA[AS3]]></category>

		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[flash]]></category>

		<category><![CDATA[usefull]]></category>

		<category><![CDATA[action script]]></category>

		<category><![CDATA[actionscript]]></category>

		<category><![CDATA[function]]></category>

		<guid isPermaLink="false">http://blog.open-design.be/?p=960</guid>
		<description><![CDATA[A very nice tip over there:
http://blog.comtaste.com/2008/11/how_to_know_who_called_my_acti.html
]]></description>
			<content:encoded><![CDATA[<p>A very nice tip over there:</p>
<p><a href="http://blog.comtaste.com/2008/11/how_to_know_who_called_my_acti.html">http://blog.comtaste.com/2008/11/how_to_know_who_called_my_acti.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.open-design.be/2011/06/22/know-where-your-function-is-called-from/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Why developing on Facebook sucks + some thoughts on e-social</title>
		<link>http://blog.open-design.be/2010/09/14/why-developing-on-facebook-sucks-some-thoughts-on-e-social/</link>
		<comments>http://blog.open-design.be/2010/09/14/why-developing-on-facebook-sucks-some-thoughts-on-e-social/#comments</comments>
		<pubDate>Tue, 14 Sep 2010 12:43:28 +0000</pubDate>
		<dc:creator>Thomas</dc:creator>
		
		<category><![CDATA[Featured]]></category>

		<category><![CDATA[Headline]]></category>

		<category><![CDATA[general]]></category>

		<guid isPermaLink="false">http://blog.open-design.be/?p=901</guid>
		<description><![CDATA[Well, I certainly don&#8217;t claim to have &#8220;the&#8221; answer to everything, this post is just about why I think developing on Facebook sucks.
Is this just a lack of consistency or a &#8220;seem to be really badly developed platform&#8221; issue ? or is it something else, a frustration that comes from an ideal that I just can&#8217;t forget.
But I&#8217;ll try to be objective and I&#8217;ll start with what I think is a lack of consistency.
No consistency
No, absolutely none. Whether you&#8217;re on a canvas page (application canvas page), an application tab or ...]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-903" title="facebooksucks_headline" src="http://blog.open-design.be/wp-content/uploads/2010/09/facebooksucks_headline.jpg" alt="facebooksucks_headline" width="300" height="275" />Well, I certainly don&#8217;t claim to have &#8220;the&#8221; answer to everything, this post is just about why I think developing on Facebook sucks.<br />
Is this just a lack of consistency or a &#8220;seem to be really badly developed platform&#8221; issue ? or is it something else, a frustration that comes from an <em>ideal </em>that I just can&#8217;t forget.</p>
<p>But I&#8217;ll try to be objective and I&#8217;ll start with what I think is a lack of consistency.<span id="more-901"></span></p>
<h2>No consistency</h2>
<p>No, <strong>absolutely none</strong>. Whether you&#8217;re on a canvas page (application canvas page), an application tab or outside Facebook on a &#8220;Facebook Connect&#8221; site (should probably be named &#8220;Facebook Graph&#8221; now&#8230;), this <strong>thing </strong>just doesn&#8217;t work the same way at all (well it does more and more to be honest)</p>
<p>I appreciate the efforts made by Facebook to bring some consistency to the whole Facebook concept but this is far from being done and all those <strong>bugs and changes that happen at any time without even any warning </strong>make it really hard for developers and people to use it right.</p>
<h3>But what does Facebook bring to developers ?</h3>
<p>In case you don&#8217;t really know I&#8217;ll explain it very shortly:<br />
basically, <strong>it enables any Facebook application</strong> (any kind of <strong>external websites, </strong><strong>fan pages</strong> and <strong>application pages</strong>) to allow you to connect to them with your facebook account. In that way, you allow them <strong>to use your facebook data </strong>(depending on the authorizations that you provided).<br />
Amongst others, they can:</p>
<ul>
<li>get your <strong>friends data<br />
</strong></li>
<li>get your<strong> posts</strong></li>
<li>get your <strong>likes</strong></li>
<li>get your links</li>
<li>set/get your<strong> status</strong></li>
<li>get your <strong>name</strong>, first name, last name</li>
<li>get your <strong>sex</strong></li>
<li>get your <strong>language</strong></li>
<li>get your <strong>location</strong></li>
<li><strong>post messages on your wall or on friend&#8217;s wall on your behalf<br />
</strong></li>
<li>&#8230; <strong>and many, many other things.</strong></li>
</ul>
<p>The concept is full of possibilities and looks great, but the Facebook platform is in the way.</p>
<h2>Things that don&#8217;t work right or why is it a &#8220;seem to be really badly developed platform&#8221;</h2>
<p>In a few bullet points, I&#8217;ll try to write down what I actually feel when developing on Facebook:</p>
<ul>
<li>it feels like you <strong>can&#8217;t use all the possibilities Facebook claims to bring the way you would have wanted it</strong>, meaning in an &#8220;<strong>open way</strong>&#8221; (the way they claim it is)</li>
<li>it also feels like you sometimes have <strong>less possibilities inside of Facebook</strong> <strong>than outside of it</strong>.</li>
<li><strong>lack of consistency</strong> <strong>between</strong> what can be done <strong>inside and outside of Facebook</strong>. Application tab page doesn&#8217;t allow you to do the same things than in an application canvas page (and we are still inside of Facebook), while outside of Facebook, thoses limitations seem to have disappeared. Why being outside of Facebook would give you more &#8220;power&#8221; than being inside of it ?</li>
<li>things are <strong>unclear </strong>and you need hours to get to do something that would have taken 5 minutes to explain.</li>
<li><strong>not every functions</strong> provided by the Facebook API <strong>work the same way inside and outside of Facebook</strong>. <strong>Sometimes it doesn&#8217;t even work</strong>, and this sometimes happen to be inside of Facebook&#8230; (ex: friends invite in application tab)</li>
<li>The workflow doesn&#8217;t seem logical at all (invites, stream publish, status change,&#8230;)</li>
<li>FBML, IFrame, HTML, no HTML, etc&#8230; this complicates everything. Even their &#8220;own&#8221; JavaScript (&#8221;FBJS&#8221;) makes it very difficult to do something right. Sometimes it&#8217;s even impossible (try to dynamically change the height of a flash movie)</li>
<li>&#8220;<strong>one day it works, the other it doesn&#8217;t</strong>&#8220;. Changes happen any time. Sometimes it even breaks your application and you can&#8217;t do nothing about it except post a message on a forum and hope for it to return to it&#8217;s &#8220;normal&#8221; state.</li>
<li>etc&#8230;</li>
</ul>
<p><strong>In overall</strong>, this is the <strong>lack of consistency and stability</strong> that makes <strong>developing on Facebook a real nightmare</strong>. You <strong>spend hours and days trying to find a way to do something</strong> that should be very easy to do and <strong>sometimes you end up realizing that there is a bug</strong> that still hasn&#8217;t been solved since last year <strong>or that it is just impossible to do</strong> while on a &#8220;normal&#8221; website it would have been a trivial thing to do.<br />
When reading forums, I always see people wondering how this or that can be done and I&#8217;m always surprised to see all the people who have tried numerous &#8220;hacks&#8221; that don&#8217;t seem to work for everyone or at all any more&#8230;</p>
<p>You know, I can understand why it has been developed like &#8220;this&#8221; or &#8220;that&#8221; or how can a program become an ugly thing that is lacking consistency, I&#8217;m a developer as well, but when they make so much money, I think the least they can do is to <strong>make something consistent and ergonomic.</strong><br />
What they don&#8217;t seem to be able to do.</p>
<h2>And what ?</h2>
<p>I know&#8230; and what ? where does this lead ? I don&#8217;t know, just to more honesty. And I think honesty change people.</p>
<h2>Some thoughts on Facebook and e-social</h2>
<p>To be honest, I&#8217;m not a big &#8220;e-social&#8221; guy. Some people even like to tell me that I&#8217;m not very &#8220;social&#8221; in general but I don&#8217;t think so. I just don&#8217;t want to need to appear &#8220;good&#8221; or &#8220;happy&#8221; or &#8220;productive&#8221; or &#8220;confident&#8221; or &#8220;social&#8221; or &#8220;open&#8221;, &#8230; . I just don&#8217;t really want to play this game. Or maybe I do.</p>
<p>But what does that mean to be &#8220;social&#8221; ? according to <a href="http://en.wikipedia.org/wiki/Social">Wikipedia</a>, it &#8220;<em>refers to the interaction of organisms with other organisms and to their collective co-existence</em>&#8220;. In other words, it means to be &#8220;interactive&#8221;.</p>
<p>I won&#8217;t explain my whole point of view about our Universe and who we are, but simply said: we are all molecules, atoms, particles, matter and thus, according to Einstein, energy.<br />
In this way, it doesn&#8217;t really matter whether we are interacting with a flower, an insect or a human, as we are all the same in the end.</p>
<p>What I&#8217;m trying to show is that whatever we do, it is an interaction. The Universe is a big interaction, the law of <a href="http://en.wikipedia.org/wiki/Causality">Causality</a> that we think we are all subject to.<br />
In my opinion, interaction = relationship (as everything is interaction).</p>
<p>According to some <span id="result_box" class="short_text"><span style="background-color: #ffffff; color: #000000;">philosophers, the meaning of relationships is a mirror in which to see yourself clearly. In other words, what we do, we do it to discover ourself, to learn about </span></span><span id="result_box" class="short_text"><span style="background-color: #ffffff; color: #000000;">ourself</span></span><span id="result_box" class="short_text"><span style="background-color: #ffffff; color: #000000;">. When we talk to someone, we do it to &#8220;see&#8221; ourself. Which I think is mostly true (not always)<br />
I invite you to read <a href="http://www.anmolmehta.com/blog/2007/01/08/the-true-purpose-of-relationships/">this post</a> on this subject as it is quite interesting.</span></span></p>
<p><span class="short_text"><span style="background-color: #ffffff; color: #000000;">My point is this: I don&#8217;t think we need all of this to realize ourself, to be happy. I think it is mostly &#8220;dressing&#8221; (&#8221;de la poudre aux yeux&#8221; in french) and doesn&#8217;t really bring what we are looking for in the end.</span></span></p>
<p><span class="short_text"><span style="background-color: #ffffff; color: #000000;">I&#8217;m not saying this whole thing is useless, I just think it is being misused and overused.</span></span></p>
<p>This is what I think Facebook brings: a false solution to a simple need. It is useful for many things but it is overused and most of the time misused. As internet is.</p>
<h3>Facebook</h3>
<p><strong>I think Facebook is dangerous and interesting, open and limited</strong>.</p>
<p>On one hand it is reshaping the internet and the way we interact with people and &#8220;things&#8221; within and outside of it. <strong>They have brought a lot of good things and ideas</strong> but the openness they claim to have or to allow is not what they want us to think.</p>
<p><strong>They close us to use their &#8220;widgets&#8221;</strong> and<strong> to &#8220;like&#8221; things the way they want us to like them</strong>. This also brings some kind of consistency (in the end ;)) all over the web and that is a <em>good </em>thing.</p>
<p>On the other hand, I&#8217;m a bit sad to see this. To see that it is now becoming the only way to &#8220;be&#8221;, to &#8220;like&#8221;, to &#8220;hate&#8221;, to be &#8220;social&#8221;. I&#8217;m a bit pessimistic here and probably talking like this was the only thing existing on earth to communicate but I find it sad that people put so much importance in it.</p>
<h2><span class="short_text"><span style="background-color: #ffffff; color: #000000;">So why am I developing on Facebook then ?</span></span></h2>
<p><span class="short_text"><span style="background-color: #ffffff; color: #000000;">To make money ! and also because it&#8217;s interesting. But I also think I would feel less frustrated if I would be developing on Facebook without a client behind my back.<br />
</span></span></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.open-design.be/2010/09/14/why-developing-on-facebook-sucks-some-thoughts-on-e-social/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Lightning effect in Flash AS3</title>
		<link>http://blog.open-design.be/2010/08/04/lightning-effect-in-flash-as3/</link>
		<comments>http://blog.open-design.be/2010/08/04/lightning-effect-in-flash-as3/#comments</comments>
		<pubDate>Wed, 04 Aug 2010 17:44:02 +0000</pubDate>
		<dc:creator>Thomas</dc:creator>
		
		<category><![CDATA[AS3]]></category>

		<category><![CDATA[Featured]]></category>

		<category><![CDATA[Headline]]></category>

		<category><![CDATA[flash]]></category>

		<category><![CDATA[action script]]></category>

		<category><![CDATA[actionscript]]></category>

		<category><![CDATA[effect]]></category>

		<category><![CDATA[lightning]]></category>

		<category><![CDATA[lightning effect]]></category>

		<category><![CDATA[thunder]]></category>

		<category><![CDATA[thunder lightning]]></category>

		<category><![CDATA[thunderbolt]]></category>

		<guid isPermaLink="false">http://blog.open-design.be/?p=873</guid>
		<description><![CDATA[I was looking for class that would create a really cool lightning effect for me just like that, without having to deal with mathematics and co. Useless to say that when looking for such a thing, this will most likely end as a waste of time.
Well, I was wrong. I found this fabulous piece of art over there: http://blog.oaxoa.com/2009/07/27/actionscript-3-as3-lightning-thunderbolt-electric-discharge-class/
I take absolutely no credits for what I have done as it&#8217;s a pure copy of what this guy did. I just needed to re-do it in order to understand and see ...]]></description>
			<content:encoded><![CDATA[<p>I was looking for class that would create a really cool <strong>lightning effect</strong> for me just like that, without having to deal with mathematics and co. Useless to say that when looking for such a thing, this will most likely end as a waste of time.<br />
Well, I was wrong. I found this <strong>fabulous piece of art over there: <a href="http://blog.oaxoa.com/2009/07/27/actionscript-3-as3-lightning-thunderbolt-electric-discharge-class/">http://blog.oaxoa.com/2009/07/27/actionscript-3-as3-lightning-thunderbolt-electric-discharge-class/</a></strong></p>
<p>I take absolutely no credits for what I have done as it&#8217;s a pure copy of what this guy did. I just needed to re-do it in order to understand and see how it works and how this perlin noise effect works in flash. You know, working with flash is cool but when you start hearing about perlin noise effect and other sorts of effects, you just automatically calm down and say &#8220;yeah, this can be done, but&#8230; is it fast on rendering ?&#8221;<br />
Well, I have to admit that I was pretty surprised. This is doing ok.</p>
<p>This is how it looks.</p>

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
			id="fm_lightning01_318180767"
			class="flashmovie"
			width="584"
			height="359">
	<param name="movie" value="http://blog.open-design.be/wp-content/uploads/2010/08/lightning01.swf" />
	<!--[if !IE]>-->
	<object	type="application/x-shockwave-flash"
			data="http://blog.open-design.be/wp-content/uploads/2010/08/lightning01.swf"
			name="fm_lightning01_318180767"
			width="584"
			height="359">
	<!--<![endif]-->
		<a href="http://adobe.com/go/getflashplayer"><img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" /></a></p>

	<!--[if !IE]>-->
	</object>
	<!--<![endif]-->
</object>
<p>This is <strong>not a real copy</strong> of what can be found on <a href="http://blog.oaxoa.com/2009/07/27/actionscript-3-as3-lightning-thunderbolt-electric-discharge-class/">Oaxoa blog</a>, I actually<strong> tried to optimize it a bit</strong> and take only the things I needed. I&#8217;m <strong>using vectors to speed up this thing a bit</strong> and instead of using a gradient bitmap to <strong>smooth the effect on the border</strong>, I <strong>use a math function</strong>. I hope this helps by not having to draw a vector on a BitmapData on each frame.</p>
<p>A lot of things can be customized:</p>
<ul>
<li>number of children and their life time</li>
<li>thickness of lightning</li>
<li>starting and ending positions</li>
<li>steps of rendering: the more steps, the less straight this would look</li>
<li>wavelengths and amplitudes of effect</li>
<li>etc&#8230;</li>
</ul>
<h3>In a few words</h3>
<p>How this works ?<br />
It uses the <strong>perlinNoise() </strong>function that you can find in a <strong>BitmapData </strong>object. This function produces a <strong><a href="http://en.wikipedia.org/wiki/Perlin_noise">Perlin Noise</a></strong> image that you can control in many ways. The <strong>black and white</strong> <strong>noise </strong>(can be specified) that it creates allows us to have a <strong>&#8220;map&#8221; of negative and positive positions</strong> whether a pixel is black or white (grey being the &#8220;middle&#8221; or 0). <strong>We then use this map to get this wave effect</strong>.<br />
<strong>Two maps are actually being used</strong>. One for the main, &#8220;big&#8221;, wave and an other one for the small disturbance effect that can be seen on that main wave.</p>
<p><strong>You can grab the sources below</strong> but I heavily recommend you to visit <a href="http://blog.oaxoa.com/2009/07/27/actionscript-3-as3-lightning-thunderbolt-electric-discharge-class/">Oaxoa blog</a> as there are many interesting things to learn.</p>
<a class="downloadlink" href="http://blog.open-design.be/wp-content/plugins/download-monitor/download.php?id=15" title="Version0.1 downloaded 584 times" >Rabbit Lightning (584)</a>
<p>And for more convenience,<strong> here is the as3 source code of the Lightning class</strong> (it still needs the EventsManager class and a couple of other classes that can be found in the archive to work)</p>
<pre class="syntax-highlight:as3">
package rabbit.effects.lightning
{
	import flash.display.Bitmap;
	import flash.display.BitmapData;
	import flash.display.Graphics;
	import flash.display.Sprite;
	import flash.events.Event;
	import flash.events.TimerEvent;
	import flash.geom.Point;
	import flash.utils.Timer;
	import rabbit.managers.events.EventsManager;
	import rabbit.utils.UniqueIdUtil;

	/**
	 * ...
	 * @author Thomas John (@) thomas.john@open-design.be
	 * @copyright Copyright Thomas John, all rights reserved 2009.
	 */
	public class Lightning extends Sprite
	{
		private var eManager:EventsManager = EventsManager.getInstance();
		private var eventGroup:String = &quot;&quot;;

		public var bTest1:Bitmap;
		public var bTest2:Bitmap;

		public var bd1:BitmapData;
		public var bd2:BitmapData;

		public var seed1:int = 0;
		public var seed2:int = 0;

		public var aOffsetsBd1:Array;
		public var aOffsetsBd2:Array;

		public static var vStepsAll:Vector.&lt;Point&gt; = new Vector.&lt;Point&gt;();
		public var vSteps:Vector.&lt;Point&gt;;
		public var vChildren:Vector.&lt;Lightning&gt; = new Vector.&lt;Lightning&gt;();

		public var _startX:Number = 250.0;
		public var _startY:Number = 250.0;
		public var _endX:Number = 10.0;
		public var _endY:Number = 100.0;
		public var _speed1:Number = 0.02;
		public var _speed2:Number = 0.02;
		private var _steps:int = 0;
		public var _wavelength1:Number = 0.05;
		public var _wavelength2:Number = 0.4;
		public var _amplitude1:Number = 0.08;
		public var _amplitude2:Number = 0.6;

		public var _thickness:Number = 2.0;
		public var _color:Number = 0xFFFFFF;
		public var _alpha:Number = 1.0;

		public var angle:Number = 0.0;
		public var len:Number = 0.0;
		public var dx:Number = 0.0;
		public var dy:Number = 0.0;

		public var bIsChild:Boolean = false;
		public var parentLightning:Lightning;
		public var _stepStart:int;
		public var _stepEnd:int;
		public var _graphics:Graphics;

		public var timer:Timer = new Timer(3000);

		public var bAllowUpdate:Boolean = true;

		public function Lightning()
		{
			eventGroup = UniqueIdUtil.getUniqueId(8);
			//_speed1 *= 0.25;
			//_speed2 *= 0.25;
			eManager.add(timer, TimerEvent.TIMER, timer_timerHandler, eventGroup);
			//eManager.add(eManager, Event.REMOVED, steps_removedHandler, eventGroup);
		}

		//private function steps_removedHandler(e:Event):void
		//{
			//timer_timerHandler(null);
		//}

		private function timer_timerHandler(e:Event):void
		{
			getNewStepsFromParent();

			var i:int = 0;
			var n:int = vChildren.length;

			for (i = 0; i &lt; n; i++)
			{
				vChildren[i].getNewStepsFromParent();
			}

			timer.stop();
			timer.reset();
			timer.delay = 1000 + Math.random() * 4000;
			timer.start();
		}

		public function getNewStepsFromParent():void
		{
			_stepStart = Math.floor(Math.random() * (parentLightning.steps - 2));
			_stepEnd = _stepStart + Math.floor(Math.random() * (parentLightning.steps - _stepStart - 2)) + 2;

			//trace(&quot;getNewStepsFromParent&quot;, _stepStart, _stepEnd);

			if ( _stepStart &gt; _stepEnd || _stepStart &lt; 0 || _stepEnd &gt;= parentLightning.steps )
			{
				bAllowUpdate = false;
			}
			else
			{
				bAllowUpdate = true;
				steps = (_stepEnd - _stepStart) * 1;
			}
		}

		public function init():void
		{
			if( _steps &lt;= 0 ) steps = 50;

			seed1 = Math.round(Math.random() * 100);
			seed2 = Math.round(Math.random() * 100);

			aOffsetsBd1 = [new Point(0, 0), new Point(0, 0)];
			aOffsetsBd2 = [new Point(0, 0), new Point(0, 0)];

			if ( !_graphics ) _graphics = graphics;

			//if ( !bIsChild )
			//{
				//bTest1 = new Bitmap(bd1);
				//bTest1.smoothing = true;
				//bTest1.y = _endY + 100;
				//bTest1.width = 200;
				//bTest1.height = 200;
				//addChild(bTest1);
				//
				//bTest2 = new Bitmap(bd2);
				//bTest2.smoothing = true;
				//bTest2.y = _endY + 310;
				//bTest2.width = 200;
				//bTest2.height = 200;
				//addChild(bTest2);
			//}

		}

		public function kill():void
		{
			eManager.removeAllFromGroup(eventGroup);
			//removeStepsFromVector();
		}

		public function update():void
		{
			if ( !bAllowUpdate ) return;

			//_speed1 += 0.0001;
			//_speed2 += 0.0001;
			//trace(_speed1, _speed2);

			if ( bIsChild )
			{
				_startX = parentLightning.vSteps[_stepStart].x;
				_startY = parentLightning.vSteps[_stepStart].y;
				_endX = parentLightning.vSteps[_stepEnd].x;
				_endY = parentLightning.vSteps[_stepEnd].y;
				angle = parentLightning.angle;
			}
			else
			{
				angle = Math.atan2(_endY - _startY, _endX - _startX);
			}

			//trace(angle);

			dx = _endX - _startX;
			dy = _endY - _startY;
			len = Math.sqrt(dx * dx + dy * dy);

			aOffsetsBd1[0].x -= _steps * _speed1;
			aOffsetsBd1[0].y += _steps * _speed1;

			aOffsetsBd2[0].x -= _steps * _speed2;
			aOffsetsBd2[0].y += _steps * _speed2;

			bd1.perlinNoise(_steps * _wavelength1, 0, 2, seed1, false, true, 0, true, aOffsetsBd1);
			bd2.perlinNoise(_steps * _wavelength2, 0, 2, seed2, false, true, 0, true, aOffsetsBd2);

			render();

			var i:int = 0;
			var n:int = vChildren.length;

			for (i = 0; i &lt; n; i++)
			{
				vChildren[i].update();
			}
		}

		public function render():void
		{
			if ( !bIsChild )
			{
				_graphics.clear();
				_graphics.lineStyle(_thickness, _color, _alpha);
			}
			else
			{
				//_graphics.lineStyle(_thickness, _color, Math.random() * _alpha);
				_graphics.lineStyle(_thickness, _color, _alpha);
			}
			//_alpha = 0.25 + Math.random() * 0.75;
			//_thickness = 0.5 + Math.random() * 2.5;

			//_graphics.lineStyle(_thickness, _color, _alpha);

			_graphics.moveTo(_startX, _startY);

			var i:int = 0;
			var c:Number = 0.0;
			var cx:Number;
			var cy:Number;
			var c2:Number = 0.0;
			var cx2:Number;
			var cy2:Number;
			var m:Number = 1.0;
			var p:Point;

			for (i = 0; i &lt; _steps; i++)
			{
				c = (bd1.getPixel(i, 0) - 0x808080) / 0xFFFFFF * len * _amplitude1;
				cx = Math.sin(angle) * c;
				cy = Math.cos(angle) * c;

				c2 = (bd2.getPixel(i, 0) - 0x808080) / 0xFFFFFF * len * _amplitude2;
				cx2 = Math.sin(angle) * c2;
				cy2 = Math.cos(angle) * c2;

				m = Math.sin((Math.PI * (i / (_steps-1))));

				cx *= m;
				cy *= m;

				cx2 *= m;
				cy2 *= m;

				cx = _startX + dx / (_steps - 1) * i + cx + cx2;
				cy = _startY + dy / (_steps - 1) * i - cy - cy2;

				p = vSteps[i];
				p.x = cx;
				p.y = cy;

				//_graphics.lineStyle(_thickness, _color, m);

				_graphics.lineTo(cx, cy);
			}

			if ( !bIsChild )
			{
				_graphics.endFill();
			}

		}

		public function child_create():Lightning
		{
			var l:Lightning = new Lightning();
			l.setAsChild(this);
			vChildren.push(l);

			return l;
		}

		public function setAsChild(parent:Lightning):void
		{
			bIsChild = true;
			parentLightning = parent;
			_graphics = parentLightning._graphics;
			if( parentLightning.parentLightning ) _thickness = parentLightning._thickness * 0.5;
			//_thickness = Math.random() * parentLightning._thickness;
			_color = parentLightning._color;
			//if( _thickness &lt; 1 ) _alpha = parentLightning._alpha * 0.5;
			if( parentLightning.parentLightning ) _alpha = parentLightning._alpha * 0.5;
			//_alpha = parentLightning._alpha * Math.random();
			//_amplitude1 = parentLightning._amplitude1 * 0.5;
			//_amplitude2 = parentLightning._amplitude2 * (Math.random() * 2.0);
			//_speed1 = parentLightning._speed1 * -1.0;
			//_speed2 = parentLightning._speed2 * -1.0;
			//_wavelength1 = parentLightning._wavelength1 * 0.5;
			//_wavelength2 = parentLightning._wavelength2 * 0.5;
			getNewStepsFromParent();
			init();

			timer.start();
		}

		//public function removeStepsFromVector():void
		//{
			//if ( !vSteps ) return;
			//
			//var i:int = 0;
			//var n:int = vSteps.length;
			//var index:int;
			//
			//for (i = 0; i &lt; n; i++)
			//{
				//index = vStepsAll.indexOf(vSteps[i]);
				//if ( index ) vStepsAll.splice(index, 1);
			//}
			//
			//eManager.dispatchEvent(new Event(Event.REMOVED));
		//}

		public function get steps():int { return _steps; }

		public function set steps(value:int):void
		{
			if ( _steps == value ) return;

			//trace(_steps, value);
			//if ( vSteps ) vSteps.splice(0, vSteps.length);
			//removeStepsFromVector();
			vSteps = new Vector.&lt;Point&gt;(value, true);

			var i:int = 0;
			var n:int = value;
			var p:Point;

			for (i = 0; i &lt; n; i++)
			{
				p = new Point();
				vSteps[i] = p;
				//vStepsAll.push(p);
			}

			bd1 = new BitmapData(value, 1, false);
			bd2 = new BitmapData(value, 1, false);

			_steps = value;
		}
	}

}
</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.open-design.be/2010/08/04/lightning-effect-in-flash-as3/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Samsung TV 3D: a new era in television and games</title>
		<link>http://blog.open-design.be/2010/06/08/samsung-tv-3d-a-new-era-in-television-and-games/</link>
		<comments>http://blog.open-design.be/2010/06/08/samsung-tv-3d-a-new-era-in-television-and-games/#comments</comments>
		<pubDate>Tue, 08 Jun 2010 16:07:32 +0000</pubDate>
		<dc:creator>Thomas</dc:creator>
		
		<category><![CDATA[AS3]]></category>

		<category><![CDATA[Commercial Projects]]></category>

		<category><![CDATA[Featured]]></category>

		<category><![CDATA[Headline]]></category>

		<category><![CDATA[flash]]></category>

		<category><![CDATA[3d]]></category>

		<category><![CDATA[parallax]]></category>

		<category><![CDATA[photos]]></category>

		<category><![CDATA[pictures]]></category>

		<category><![CDATA[quizz]]></category>

		<category><![CDATA[samsung]]></category>

		<category><![CDATA[samsung tv 3d]]></category>

		<category><![CDATA[television]]></category>

		<category><![CDATA[tv]]></category>

		<guid isPermaLink="false">http://blog.open-design.be/?p=851</guid>
		<description><![CDATA[And the very last project I worked on is a promotional website for Samsung: http://www.samsung-3dtv.be/
Samsung is now promoting their new 3D Televisions and it was a great occasion to organise an event with plenty of things to win (like this Home Cinema full featured worth +- 6300 €) and a website with plenty of things to win as well (like this Home Cinema full featured worth +- 6300 €)&#8230; yeah I&#8217;m repeating myself, but it has been discovered that nothing else can be better to actually make you memorize something ...]]></description>
			<content:encoded><![CDATA[<p>And the very last project I worked on is a promotional website for <strong>Samsung</strong>: <a href="http://www.samsung-3dtv.be/rabbitiznotdead">http://www.samsung-3dtv.be/</a></p>
<p>Samsung is now promoting their new <strong>3D Televisions</strong> and it was a great occasion to <strong>organise an event</strong> with plenty of things to win (like this <strong>Home Cinema full featured worth +- 6300 €</strong>) and a <strong>website with plenty of things to win as well</strong> (like this <strong>Home Cinema full featured worth +- 6300 €</strong>)&#8230; yeah I&#8217;m repeating myself, but it has been discovered that nothing else can be better to actually make you memorize something (interest is doing a great part in it, that&#8217;s why there are things to win, so everything is in place to make this thing a real success)</p>
<p>So, you&#8217;re not unaware that we are not going to give you those things for nothing&#8230; no, we want your soul in exchange. Give us you emails and you will, maybe, be able to go with one of those precious gifts we offer you.</p>
<p>&#8230; on a <strong>development level</strong>, what did I learn ? mhhh nothing really. I actually <strong>got to use my RabbitTween</strong> to do something that I used to show the potential of my tweening engine a few months ago. And it <strong>can be seen on the quizz page</strong>.</p>
<p>Here is a screen shot:</p>
<p><a href="http://blog.open-design.be/wp-content/uploads/2010/06/samsung_02.jpg"><img class="aligncenter size-large wp-image-853" title="samsung_02" src="http://blog.open-design.be/wp-content/uploads/2010/06/samsung_02-584x341.jpg" alt="samsung_02" width="584" height="341" /></a></p>
<p>So, in a few words, this effects <strong>breaks down the letters</strong> of each question of the quizz to <strong>make them appear in a tornado effect in 3D</strong>. All done with RabbitTween.</p>
<p>What else ? same old nice parallax effect on the home page:</p>
<p><a href="http://blog.open-design.be/wp-content/uploads/2010/06/samsung_06.jpg"><img class="aligncenter size-large wp-image-859" title="samsung_06" src="http://blog.open-design.be/wp-content/uploads/2010/06/samsung_06-584x341.jpg" alt="samsung_06" width="584" height="341" /></a></p>
<p>And a <strong>very cool Picture Gallery in 3D</strong> showing some of the pictures of the event:</p>
<p><a href="http://blog.open-design.be/wp-content/uploads/2010/06/samsung_05.jpg"><img class="aligncenter size-large wp-image-856" title="samsung_05" src="http://blog.open-design.be/wp-content/uploads/2010/06/samsung_05-584x341.jpg" alt="samsung_05" width="584" height="341" /></a></p>
<p>Do <a href="http://www.samsung-3dtv.be/rabbitiznotdead">the quizz</a> and have fun!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.open-design.be/2010/06/08/samsung-tv-3d-a-new-era-in-television-and-games/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Fanta: Less serious (youtube channel)</title>
		<link>http://blog.open-design.be/2010/06/08/fanta-less-serious-youtube-channel/</link>
		<comments>http://blog.open-design.be/2010/06/08/fanta-less-serious-youtube-channel/#comments</comments>
		<pubDate>Tue, 08 Jun 2010 15:24:47 +0000</pubDate>
		<dc:creator>Thomas</dc:creator>
		
		<category><![CDATA[AS3]]></category>

		<category><![CDATA[Commercial Projects]]></category>

		<category><![CDATA[Featured]]></category>

		<category><![CDATA[Headline]]></category>

		<category><![CDATA[flash]]></category>

		<category><![CDATA[channel]]></category>

		<category><![CDATA[fanta]]></category>

		<category><![CDATA[less serious]]></category>

		<category><![CDATA[youtube]]></category>

		<category><![CDATA[youtube channel]]></category>

		<guid isPermaLink="false">http://blog.open-design.be/?p=843</guid>
		<description><![CDATA[Launched a few months ago, here is the last project I worked on: Fanta Less Serious, a Youtube channel dedicated to &#8220;less serious&#8221; stuff&#8230;
So what&#8217;s the main purpose of this website ? sell more fanta&#8230; yeah but also entertain people. This channel regroups all the best fun videos on youtube and that&#8217;s pretty great actually.
A few words on the flash development though.
It isn&#8217;t really over glowing on the website but there is a smooth displacement effect on the big buttons on the home page (and other pages as well) that ...]]></description>
			<content:encoded><![CDATA[<p>Launched a few months ago, here is the last project I worked on: <a href="http://www.youtube.com/fantafrance"><strong>Fanta Less Serious</strong></a>, a <strong>Youtube channel</strong> dedicated to &#8220;less serious&#8221; stuff&#8230;</p>
<p>So what&#8217;s the main purpose of this website ? sell more fanta&#8230; yeah but also <strong>entertain people</strong>. This channel regroups all the <strong>best fun videos on youtube</strong> and that&#8217;s pretty great actually.</p>
<p>A few words on the <strong>flash development</strong> though.<br />
It isn&#8217;t really over glowing on the website but there is a <strong>smooth displacement effect</strong> <strong>on the big buttons</strong> on the home page (and other pages as well) that makes them <strong>feel like paper</strong>.</p>
<p><a href="http://blog.open-design.be/wp-content/uploads/2010/06/fanta_displacement_effect.jpg"><img class="aligncenter size-full wp-image-844" title="fanta_displacement_effect" src="http://blog.open-design.be/wp-content/uploads/2010/06/fanta_displacement_effect.jpg" alt="fanta_displacement_effect" width="223" height="174" /></a></p>
<p>And the <strong>smooth parallax effect</strong> you can see when you move the mouse (earth rotates as well as other elements) <strong>has been done in Flash9</strong> (AS3).<br />
If I point it out, it&#8217;s because <strong>it can&#8217;t be done using the rotation property of a movie clip</strong> as it doesn&#8217;t make it rotate smoothly. Why ? because the MovieClip is too big and a small rotation change in the center becomes bigger on the edge of the MovieClip and it seems that the<strong> precision of the rotation property is not enough for big MovieClips</strong>.</p>
<p>So how did I do ? simply by using the <strong>Matrix </strong>property of the <strong>transform </strong>property of my MovieClip objects.</p>
<p>All of that using the <a href="http://blog.open-design.be/2009/09/26/rabbittween-new-fast-and-easy-transitiontween-engine-for-flash-as3/">RabbitTween </a>engine (downloadable on this blog)</p>
<p>Have fun!</p>
<p><a href="http://blog.open-design.be/wp-content/uploads/2010/06/fanta_parallax_effect.jpg"><img class="aligncenter size-large wp-image-847" title="fanta_parallax_effect" src="http://blog.open-design.be/wp-content/uploads/2010/06/fanta_parallax_effect-584x280.jpg" alt="fanta_parallax_effect" width="584" height="280" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.open-design.be/2010/06/08/fanta-less-serious-youtube-channel/feed/</wfw:commentRss>
		</item>
		<item>
		<title>The Johnny Cash project</title>
		<link>http://blog.open-design.be/2010/05/13/the-johnny-cash-project/</link>
		<comments>http://blog.open-design.be/2010/05/13/the-johnny-cash-project/#comments</comments>
		<pubDate>Wed, 12 May 2010 23:33:22 +0000</pubDate>
		<dc:creator>Thomas</dc:creator>
		
		<category><![CDATA[flash]]></category>

		<category><![CDATA[johnny cash]]></category>

		<category><![CDATA[really great]]></category>

		<guid isPermaLink="false">http://blog.open-design.be/2010/05/13/the-johnny-cash-project/</guid>
		<description><![CDATA[http://www.thejohnnycashproject.com/#/explore/TopRated
Just go and see, this thing is just great.
In a few words:
take a song of Johnny Cash (Ain&#8217;t no grave can hold my body down) and allow people to redraw each frame of the video clip. This gives a really good hand drawn video clip in black and white. All drawn by people from all around the world. My participation is at frame 44.
]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.thejohnnycashproject.com/#/explore/TopRated">http://www.thejohnnycashproject.com/#/explore/TopRated</a><br />
<strong>Just go and see, this thing is just great.</strong></p>
<p>In a few words:<br />
take a song of Johnny Cash (Ain&#8217;t no grave can hold my body down) and <strong>allow people to redraw each frame of the video clip</strong>. This gives a really good <strong>hand drawn video clip in black and whit</strong>e. All drawn <strong>by people from all around the world</strong>. My participation is at <strong>frame 44</strong>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.open-design.be/2010/05/13/the-johnny-cash-project/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Error 1006: &#8230; not a function</title>
		<link>http://blog.open-design.be/2010/05/07/error-1006-not-a-function/</link>
		<comments>http://blog.open-design.be/2010/05/07/error-1006-not-a-function/#comments</comments>
		<pubDate>Fri, 07 May 2010 14:42:44 +0000</pubDate>
		<dc:creator>Thomas</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[as]]></category>

		<category><![CDATA[flash]]></category>

		<guid isPermaLink="false">http://blog.open-design.be/?p=837</guid>
		<description><![CDATA[Ok, seems that many people have had this issue before but, as always in this kind of situation, it seems that I&#8217;m the only one having this specific issue on the entire web&#8230;
If you google it, you&#8217;ll find plenty of people telling about their story and how they solved it.
Here is mine:
I tried to call a static function from a static class with other functions working perfectly well. When I created this new function and tried to call it, I would get this 1006 &#8220;&#8230; not a function&#8221; error.
The trick ...]]></description>
			<content:encoded><![CDATA[<p>Ok, seems that many people have had this issue before but, as always in this kind of situation, it seems that I&#8217;m the only one having this specific issue on the entire web&#8230;</p>
<p>If you google it, you&#8217;ll find plenty of people telling about their story and how they solved it.</p>
<p>Here is mine:<br />
I tried to call a static function from a static class with other functions working perfectly well. When I created this new function and tried to call it, I would get this 1006 &#8220;&#8230; not a function&#8221; error.<br />
The trick was that I was using this class in a externally loaded movie clip. I didn&#8217;t think to recompile the main (parent) movie clip with the new static function in the class.<br />
It&#8217;s always the classes from the main movie clip that are used.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.open-design.be/2010/05/07/error-1006-not-a-function/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Blue Your Friends: a new Volkswagen campaign</title>
		<link>http://blog.open-design.be/2010/04/02/blue-your-friends-a-new-volkswagen-campaign/</link>
		<comments>http://blog.open-design.be/2010/04/02/blue-your-friends-a-new-volkswagen-campaign/#comments</comments>
		<pubDate>Fri, 02 Apr 2010 14:17:46 +0000</pubDate>
		<dc:creator>Thomas</dc:creator>
		
		<category><![CDATA[Commercial Projects]]></category>

		<category><![CDATA[Featured]]></category>

		<category><![CDATA[Headline]]></category>

		<category><![CDATA[advertising]]></category>

		<category><![CDATA[AS3]]></category>

		<category><![CDATA[blue]]></category>

		<category><![CDATA[blue your friends]]></category>

		<category><![CDATA[facebook]]></category>

		<category><![CDATA[facebook connect]]></category>

		<category><![CDATA[facebook integration]]></category>

		<category><![CDATA[fb connect]]></category>

		<category><![CDATA[fbc]]></category>

		<category><![CDATA[flash]]></category>

		<category><![CDATA[video]]></category>

		<category><![CDATA[volkswagen]]></category>

		<category><![CDATA[website]]></category>

		<category><![CDATA[your]]></category>

		<guid isPermaLink="false">http://blog.open-design.be/?p=823</guid>
		<description><![CDATA[Good day everybody.
Today I present the new website I worked on: Blue Your Friends for Volkswagen.
Design and video from 1MD. Flash development and the facebook integration stuff (facilitated by Vinch from 1MD) by me.
The idea is simple and provocative (but what is provocative nowadays anyway ?)
So yeah, provocative and humoristic. Good enough. I really like the professionalism of the video (Belgian production, let&#8217;s say it) and the tone of it. The design, as always with 1MD, is nice and sober.
I have to say that people might have difficulties to get ...]]></description>
			<content:encoded><![CDATA[<p>Good day everybody.</p>
<p>Today I present the new website I worked on: <a href="http://www.blueyourfriends.com/">Blue Your Friends</a> for Volkswagen.<br />
Design and video from 1MD. <strong>Flash development</strong> and the <strong>facebook integration</strong> stuff (facilitated by Vinch from 1MD) by me.</p>
<p>The<strong> idea is simple and provocative</strong> (but what is provocative nowadays anyway ?)</p>
<p>So yeah, <strong>provocative</strong> and <strong>humoristic</strong>. Good enough. I really like the <strong>professionalism of the video</strong> (Belgian production, let&#8217;s say it) and the tone of it. The <strong>design</strong>, as always with 1MD,<strong> is nice and sober</strong>.<br />
I have to say that people might have difficulties to get to the point or to stay focused as it is a long video (maybe too long) and the whole thing goes to fast (too many informations in short periods of time) but it is still a good one.</p>
<p>So in a couple of words: <strong>a good website</strong>, <strong>a good video</strong>, <strong>a good company with good cars</strong> and<strong> 3 IPads</strong> from Apple <strong>to win</strong>&#8230;<br />
Everything <strong>based on your facebook account</strong>, on your <strong>personal data</strong>. Just for fun.</p>
<p>A couple of screenshots for posterity:</p>
<p><a href="http://blog.open-design.be/wp-content/uploads/2010/04/blueyourfriends_intro.jpg"><img class="aligncenter size-large wp-image-828" title="blueyourfriends_intro" src="http://blog.open-design.be/wp-content/uploads/2010/04/blueyourfriends_intro-584x355.jpg" alt="blueyourfriends_intro" width="584" height="355" /></a></p>
<p><a href="http://blog.open-design.be/wp-content/uploads/2010/04/blueyourfriends_video02.jpg"><img class="aligncenter size-large wp-image-830" title="blueyourfriends_video02" src="http://blog.open-design.be/wp-content/uploads/2010/04/blueyourfriends_video02-584x355.jpg" alt="blueyourfriends_video02" width="584" height="355" /></a><a href="http://blog.open-design.be/wp-content/uploads/2010/04/blueyourfriends_video03.jpg"><img class="aligncenter size-large wp-image-831" title="blueyourfriends_video03" src="http://blog.open-design.be/wp-content/uploads/2010/04/blueyourfriends_video03-584x355.jpg" alt="blueyourfriends_video03" width="584" height="355" /></a><a href="http://blog.open-design.be/wp-content/uploads/2010/04/blueyourfriends_home.jpg"><img class="aligncenter size-large wp-image-827" title="blueyourfriends_home" src="http://blog.open-design.be/wp-content/uploads/2010/04/blueyourfriends_home-584x355.jpg" alt="blueyourfriends_home" width="584" height="355" /></a><a href="http://blog.open-design.be/wp-content/uploads/2010/04/blueyourfriends_contest.jpg"><img class="aligncenter size-large wp-image-824" title="blueyourfriends_contest" src="http://blog.open-design.be/wp-content/uploads/2010/04/blueyourfriends_contest-584x355.jpg" alt="blueyourfriends_contest" width="584" height="355" /></a></p>
<p><strong>Link: </strong><a href="http://www.blueyourfriends.com/">http://www.blueyourfriends.com/</a><br />
<strong>Realization</strong>: <a href="http://www.1md.be">1MD<br />
</a><strong>Flash development</strong>: <a href="http://blog.open-design.be">Thomas John  (http://blog.open-design.be)</a>.<br />
<strong>Sales:</strong> <a href="http://www.bwat.be/">[BWAT]</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.open-design.be/2010/04/02/blue-your-friends-a-new-volkswagen-campaign/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Flash CS4: compiling won&#8217;t work without giving any error</title>
		<link>http://blog.open-design.be/2010/03/17/flash-cs4-compiling-wont-work-without-giving-any-error/</link>
		<comments>http://blog.open-design.be/2010/03/17/flash-cs4-compiling-wont-work-without-giving-any-error/#comments</comments>
		<pubDate>Wed, 17 Mar 2010 15:21:56 +0000</pubDate>
		<dc:creator>Thomas</dc:creator>
		
		<category><![CDATA[AS3]]></category>

		<category><![CDATA[Strange/Bugs]]></category>

		<category><![CDATA[flash]]></category>

		<guid isPermaLink="false">http://blog.open-design.be/?p=820</guid>
		<description><![CDATA[If your project compiles a bit faster than usual but doesn&#8217;t seem to work at all without even giving you any error. Or when debugging your project, it simply tells you that there is no actionscript code or something similar, you might want to have a look at this post first: http://blog.open-design.be/2009/05/27/5005unknown-error-when-optimizing-byte-code-bullshit/
And if this doesn&#8217;t solve your problem then you might have this problem:
Two symbols having the same Class name. I know, flash doesn&#8217;t allow that but when assigning a base class to a bunch of symbols, it might happen ...]]></description>
			<content:encoded><![CDATA[<p>If your project compiles a bit faster than usual but doesn&#8217;t seem to work at all without even giving you any error. Or when debugging your project, it simply tells you that there is no actionscript code or something similar, you might want to have a look at this post first: <a href="http://blog.open-design.be/2009/05/27/5005unknown-error-when-optimizing-byte-code-bullshit/">http://blog.open-design.be/2009/05/27/5005unknown-error-when-optimizing-byte-code-bullshit/</a></p>
<p>And if this doesn&#8217;t solve your problem then you might have this problem:<br />
<strong>Two symbols having the same Class name</strong>. I know, flash doesn&#8217;t allow that but when assigning a base class to a bunch of symbols, it might happen as it happened for me (I renamed a few symbols after having given them a class name). Normally flash tells you but sometimes it doesn&#8217;t&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.open-design.be/2010/03/17/flash-cs4-compiling-wont-work-without-giving-any-error/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>

