<?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/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Tweenpix &#187; isometric</title>
	<atom:link href="http://blog.tweenpix.net/tag/isometric/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.tweenpix.net</link>
	<description>Behind the mask</description>
	<lastBuildDate>Wed, 02 Mar 2011 22:54:12 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1</generator>
		<item>
		<title>building isometric multi-users engines &#8211; Spark Amsterdam</title>
		<link>http://blog.tweenpix.net/2005/11/21/multi-users-isometric-world-presentation-at-amsterdam-spark-event/</link>
		<comments>http://blog.tweenpix.net/2005/11/21/multi-users-isometric-world-presentation-at-amsterdam-spark-event/#comments</comments>
		<pubDate>Mon, 21 Nov 2005 16:51:31 +0000</pubDate>
		<dc:creator>Francis Bourre</dc:creator>
				<category><![CDATA[conference]]></category>
		<category><![CDATA[isometric]]></category>
		<category><![CDATA[multi-users]]></category>
		<category><![CDATA[notes]]></category>
		<category><![CDATA[session]]></category>
		<category><![CDATA[spark]]></category>

		<guid isPermaLink="false">http://blog.tweenpix.net/?p=278</guid>
		<description><![CDATA[As promised, you can download the slides of my second talk I gave to Spark conference at Amsterdam: Building Isometric Multi-Users Engines Sorry for the delay ! Thanks to Vero for the translation, I felt really laid-back this time. Thanks again to Mathieu, Valérie, Laurent and Stephane for their support!]]></description>
			<content:encoded><![CDATA[<p>As promised, you can download the slides of my second talk I gave to Spark conference at Amsterdam: <a href="http://www.tweenpix.net/files/isomulti.pdf">Building Isometric Multi-Users Engines</a></p>
<p>Sorry for the delay !</p>
<p><img src="http://www.tweenpix.net/img/spark2.jpg" alt="" /></p>
<p>Thanks to Vero for the translation, I felt really laid-back this time.<br />
Thanks again to Mathieu, Valérie, Laurent and Stephane for their support!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.tweenpix.net/2005/11/21/multi-users-isometric-world-presentation-at-amsterdam-spark-event/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>mr bricolage</title>
		<link>http://blog.tweenpix.net/2003/11/07/mr-bricolage/</link>
		<comments>http://blog.tweenpix.net/2003/11/07/mr-bricolage/#comments</comments>
		<pubDate>Thu, 06 Nov 2003 22:08:43 +0000</pubDate>
		<dc:creator>Francis Bourre</dc:creator>
				<category><![CDATA[work]]></category>
		<category><![CDATA[artepict]]></category>
		<category><![CDATA[atomic boarder]]></category>
		<category><![CDATA[éditeur]]></category>
		<category><![CDATA[isometric]]></category>
		<category><![CDATA[multi-users]]></category>

		<guid isPermaLink="false">http://blog.tweenpix.net/?p=405</guid>
		<description><![CDATA[Cette brève du soir pour vous présenter un des derniers outils que j&#8217;ai développé. Il s&#8217;agit d&#8217;un éditeur que j&#8217;ai construit pour aller de paire avec la dernière version du moteur 3D isométrique que je développe depuis plus d&#8217;un mois. La grande nouveauté, c&#8217;est l&#8217;apparition de triggers éditables, qui permettent d&#8217;associer la case d&#8217;une map [...]]]></description>
			<content:encoded><![CDATA[<p>Cette brève du soir pour vous présenter un des derniers outils que j&#8217;ai développé. Il s&#8217;agit d&#8217;un éditeur que j&#8217;ai construit pour aller de paire avec la dernière version du moteur 3D isométrique que je développe depuis plus d&#8217;un mois.</p>
<p>La grande nouveauté, c&#8217;est l&#8217;apparition de triggers éditables, qui permettent d&#8217;associer la case d&#8217;une map à une action prédéfinie à l&#8217;intérieur du moteur. Je trouvais plus intéressant à long terme de privilégier un système d&#8217;actions qui soit totalement indépendant des tiles (graphismes). La position des triggers est placée dans une matrice séparée qui est interrogée à chaque fois qu&#8217;un personnage fait halte sur une case. L&#8217;intérêt c&#8217;est de pouvoir trigger par exemple une action asseoir à partir de n&#8217;importe quel modèle de tile (graphisme), que cela soit une chaise, un fauteuil, un canapé, une table &#8230; Deuxième avantage et non des moindres, les tiles ne sont pas des objets customs mais se contentent juste d&#8217;être de vulgaires symboles destinés à l&#8217;affichage. Ce n&#8217;est donc pas l&#8217;objet que l&#8217;on interroge pour pouvoir déclencher une action mais une matrice dédiée qui broadcastera (si une action lui a été assignée aux coordonnées x,y) un message aux éventuels intéressés. Pas besoin de switch pour identifier l&#8217;action à appeler, ce serait une perte de process, j&#8217;utilise simplement des nombres (identifiants) qui sont concaténés au moment du broadcast à la chaîne Trigger.</p>
<p><img src='http://blog.tweenpix.net/wp-content/gallery/general/atomiceditor1.jpg' alt='atomiceditor1.jpg' class='ngg-singlepic ngg-none' /></p>
<p>Pour l&#8217;instant seulement quatre triggers sont disponibles : Trigger1, Trigger2, Trigger3 et Trigger4 qui permettent de sortir d&#8217;une map pour aller sur une autre. La classe MapFactory sait que si le Trigger1 est appelé, elle devra charger la map qui se trouve au Nord de celle en cours d&#8217;affichage, si c&#8217;est le Trigger2 celle à l&#8217;Est , le 3 celle au Sud&#8230; Et ainsi de suite &#8230; Elle calculera dés lors dynamiquement le nom de la prochaine map. Je vous passe outre la nomenclature que j&#8217;utilise pour les identifier. Une fois le document XML chargé et parsé elle recherchera un Trigger correspondant pour déposer le personnage en se remémorant la direction d&#8217;où il venait. Si le personnage allait au Nord, il sera placé à la sortie Sud de la map suivante dos à celle-ci.</p>
<p>Deuxième nouveauté, le système d&#8217;export des données, je n&#8217;exporte plus que les cases occupées avec un système de compression en base32, et celles qui sont libres et interdites avec une conversion binaire sur 5 bits passée elle aussi dans la moulinette base32. J&#8217;obtiens du coup en sortie un format hyper léger qui brutalise beaucoup moins la bande passante et le processeur pendant les temps de chargement. (C&#8217;est fou d&#8217;ailleurs comme l&#8217;objet XML est gourmand en process au moment du parsing !). Ma classe <a href="http://blog.tweenpix.net/2003/09/06/xmltoobject/">XmlToObject</a> me sert d&#8217;interface pour reconstruire de façon intuitive l&#8217;objet map une fois loadé.</p>
<p>Pour résumer, j&#8217;ai choisi au niveau de mon moteur un système avec trois matrices par map. Une matrice pour les objets graphiques, une autre pour les triggers et une dernière constituée uniquement de booléens pour accélérer le pathfinding. J&#8217;utilise le pathfinder de Grant Skinner que j&#8217;ai converti en AS2.0 pour avoir les temps de calculs les plus courts et ne pas surcharger le système ou freezer l&#8217;affichage.</p>
<p>Dernier point, chaque objet graphique existe dans deux orientations différentes, les deux dernières sont générées dynamiquement en passant la propriété _xscale en négatif pour un gain de poids évident.</p>
<p><img src='http://blog.tweenpix.net/wp-content/gallery/general/atomiceditor2.jpg' alt='atomiceditor2.jpg' class='ngg-singlepic ngg-none' /></p>
<p>C&#8217;est marrant, mais plus le temps passe et plus je m&#8217;aperçois que le développement d&#8217;Atomic Boarder ressemble au développement d&#8217;un vrai jeu à petite échelle, avec ses outils, son moteur, ses retards au niveau des délais qu&#8217;on s&#8217;était fixé, ses bugs, ses différentes versions, orientations et évolutions &#8230; J&#8217;ai aussi développé récemment un player pour accompagner l&#8217;éditeur. Il permet de tester en deux temps trois mouvements une map à l&#8217;aide d&#8217;un personnage de son choix. Pour le graphiste qui design les maps, c&#8217;est assez pratique.</p>
<p>On devrait ouvrir demain avec une version alpha du moteur d&#8217;affichage et quatre maps disponibles. La première version multi-joueurs ne devrait pas tarder non plus, un bon mois (maxi) devrait suffire si je ne m&#8217;attarde pas trop à fignoler et enrichir le moteur isométrique de nouvelles features.</p>
<p>De nouvelles perspectives graphiques sont envisagées pour plus tard, on projette de faire une version avec des personnages 3D exportés en bitmap. On a déjà commencé à faire des tests et ça rend plutôt bien.</p>
<p>Je vous tiens au courant&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.tweenpix.net/2003/11/07/mr-bricolage/feed/</wfw:commentRss>
		<slash:comments>18</slash:comments>
		</item>
		<item>
		<title>Atomic Boarder, la suite</title>
		<link>http://blog.tweenpix.net/2003/10/22/atomic-la-suite/</link>
		<comments>http://blog.tweenpix.net/2003/10/22/atomic-la-suite/#comments</comments>
		<pubDate>Wed, 22 Oct 2003 17:37:37 +0000</pubDate>
		<dc:creator>Francis Bourre</dc:creator>
				<category><![CDATA[work]]></category>
		<category><![CDATA[artepict]]></category>
		<category><![CDATA[atomic boarder]]></category>
		<category><![CDATA[avatar]]></category>
		<category><![CDATA[isometric]]></category>
		<category><![CDATA[multi-users]]></category>

		<guid isPermaLink="false">http://blog.tweenpix.net/?p=506</guid>
		<description><![CDATA[Je vous en parlais déjà ici il y a quelque temps, je bosse sur un chat isométrique nommé Atomic Boarder à finalité MMORPG. Je viens de finaliser et finir d&#8217;optimiser le moteur graphique, et je dois avouer que je suis assez content même si pour l&#8217;instant ne figurent pas encore toutes les fonctionnalités que j&#8217;avais [...]]]></description>
			<content:encoded><![CDATA[<p>Je vous en parlais déjà <a href="http://blog.tweenpix.net/2003/09/06/atomic-boarder/">ici</a> il y a quelque temps, je bosse sur un chat isométrique nommé <strong>Atomic Boarder</strong> à finalité MMORPG.</p>
<p>Je viens de finaliser et finir d&#8217;optimiser le moteur graphique, et je dois avouer que je suis assez content même si pour l&#8217;instant ne figurent pas encore toutes les fonctionnalités que j&#8217;avais prévu au départ comme la gravité ou le séquenceur d&#8217;animation pour de futurs bots.</p>
<p>On peut dés aujourd&#8217;hui choisir son personnage parmi cinq modéles pour les mecs et trois pour les filles.</p>
<p><img src='http://blog.tweenpix.net/wp-content/gallery/general/atomicavatar.gif' alt='atomicavatar.gif' class='ngg-singlepic ngg-none' /></p>
<p>Pour ceux que ça intéresse vous pouvez tester l&#8217;engin <a href="http://www.atomicboarder.com/">ici</a> en créant un compte (si ce n&#8217;est pas déja fait) et en allant dans customize your avatar.</p>
<p>Sous peu, seront disponibles quatre maps dans lesquelles on pourra se promener tout en sifflotant. J&#8217;ai terminé l&#8217;éditeur la semaine dernière avec un système de compression et serialisation des données qui marche au poil. <img src='http://blog.tweenpix.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Suite au prochain épisode !</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.tweenpix.net/2003/10/22/atomic-la-suite/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>isométrie et z-sorting</title>
		<link>http://blog.tweenpix.net/2003/10/11/isometrie-et-z-sorting/</link>
		<comments>http://blog.tweenpix.net/2003/10/11/isometrie-et-z-sorting/#comments</comments>
		<pubDate>Sat, 11 Oct 2003 07:06:12 +0000</pubDate>
		<dc:creator>Francis Bourre</dc:creator>
				<category><![CDATA[tech]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[work]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[isometric]]></category>
		<category><![CDATA[z-sorting]]></category>

		<guid isPermaLink="false">http://blog.tweenpix.net/?p=394</guid>
		<description><![CDATA[En m&#8217;intéressant de près à l&#8217;isométrie, je me suis aperçu que les méthodes pronées par Jobe Makar (Flash MX Games Design Demystified) et consorts au sujet du z-sorting n&#8217;étaient pas du tout adaptées pour un moteur 3D isométrique dont l&#8217;objectif final serait d&#8217;afficher des animations. Je vous propose de partager aujourd&#8217;hui la solution que j&#8217;utilise. [...]]]></description>
			<content:encoded><![CDATA[<p>En m&#8217;intéressant de près à l&#8217;isométrie, je me suis aperçu que les méthodes pronées par Jobe Makar <a href="http://www.amazon.com/exec/obidos/tg/detail/-/0201770210/103-0421988-5159053?v=glance" hreflang="uk">(Flash MX Games Design Demystified)</a> et consorts au sujet du z-sorting n&#8217;étaient pas du tout adaptées pour un moteur 3D isométrique dont l&#8217;objectif final serait d&#8217;afficher des animations.</p>
<p>Je vous propose de partager aujourd&#8217;hui la solution que j&#8217;utilise. Elle vous permettra de gérer les profondeurs sans bug d&#8217;affichage dans un moteur 3d isométrique animé.</p>
<p>Le concept récurrent pour gérer la profondeur d&#8217;un objet dans un tileworld isométrique est d&#8217;assigner un z-sorting incrémenté de gauche à droite sur l&#8217;axe des x, puis de bas en haut sur l&#8217;axe des y comme indiqué sur le schéma ci-dessous&nbsp;:</p>
<p><img src="http://www.tweenpix.net/img/zsshots/zs0.gif" alt="" /></p>
<p>Ce système fonctionne à merveille tant que l&#8217;on se contente du fait que chaque objet se trouvant à une position (x,y) se déplacera sur une case voisine d&#8217;un seul jet, sans interpolation de mouvement, autrement dit sans se trouver à un instant t à cheval entre deux cases.<br />
Pourquoi me direz vous&nbsp;?</p>
<p>Considérons l&#8217;exemple ci-dessous&nbsp;:</p>
<p><img src="http://www.tweenpix.net/img/zsshots/zs1.gif" alt="" /></p>
<p>Un personnage se trouvant à la position 1,1 et voulant se rendre à la position 1,0 va devoir choisir son camp. S&#8217;il garde 4 comme profondeur le temps de l&#8217;animation pour se rendre sur la case destination, il va passer devant l&#8217;objet qui se trouve en 2,0.</p>
<p>S&#8217;il choisit de prendre directement sa profondeur d&#8217;arrivée (1), il sera le temps de son trajet affiché derrière l&#8217;objet se trouvant en 2,0.</p>
<p><img src="http://www.tweenpix.net/img/zsshots/zs2.gif" alt="" /></p>
<p>On est confronté au même probléme dans le sens inverse comme vous pouvez le remarquer&nbsp;:</p>
<p><img src="http://www.tweenpix.net/img/zsshots/zs3.gif" alt="" /></p>
<p>La plupart des moteurs utilisant ce système réussissent à tricher en jouant sur la taille des objets à l&#8217;intérieur des cases et sur l&#8217;instant ou la valeur z-sorting de l&#8217;objet en mouvement est modifiée. Mais ces solutions au bout du compte ne sont vraiment pas satisfaisantes pour gérer l&#8217;affichage de façon propre et logique.</p>
<p>D&#8217;où l&#8217;idée d&#8217;opter pour une organisation comme celle-ci, avec un z-sorting incrémenté en diagonales&nbsp;:</p>
<p><img src="http://www.tweenpix.net/img/zsshots/zs5.gif" alt="" /></p>
<p>Cette fois-ci les animations sur l&#8217;axe des y peuvent-être gérées sans bug d&#8217;affichage&nbsp;:</p>
<p><img src="http://www.tweenpix.net/img/zsshots/zs4.gif" alt="" /></p>
<p>Mais les esprits judicieux auront remarqué que le probléme est maintenant répercuté sur l&#8217;axe des x&nbsp;:</p>
<p><img src="http://www.tweenpix.net/img/zsshots/zs6.gif" alt="" /></p>
<p>Sans plus attendre, voici la solution finale, le même tableau mais avec des intervalles en dizaine&nbsp;:</p>
<p><img src="http://www.tweenpix.net/img/zsshots/zs7.gif" alt="" /></p>
<p>Hum &#8230; Quoi de mieux me direz-vous&nbsp;?<br />
L&#8217;idée est d&#8217;incrémenter de 15 la profondeur d&#8217;un personnage voulant se déplacer vers la droite sur l&#8217;axe des x (50 dans l&#8217;exemple devient 65) et de lui donner à la fin de son parcours la profondeur de la case d&#8217;arrivée (80 dans l&#8217;exemple ci-dessous)&nbsp;:</p>
<p><img src="http://www.tweenpix.net/img/zsshots/zs8.gif" alt="" /></p>
<p>Même chose dans l&#8217;autre sens, on enléve 15 à la profondeur d&#8217;un personnage voulant se déplacer vers la gauche sur l&#8217;axe des x (50 devenant 35 dans le cas précis) et on lui attribue à la fin de son trajet la profondeur de la case destination (il passe donc de 35 à 20 en profondeur une fois arrivé)&nbsp;:</p>
<p><img src="http://www.tweenpix.net/img/zsshots/zs9.gif" alt="" /></p>
<p>Dernier point, quelle méthode utiliser pour calculer la profondeur d&#8217;un objet en connaissant la largeur et la hauteur de la grille ainsi que sa position x et y&nbsp;?<br />
C&#8217;était le sujet d&#8217;un précédent thread, et je remercie Didier d&#8217;avoir trouvé une solution très élégante et rapide pour gérer cette problématique.<br />
Voici le code que j&#8217;utilise&nbsp;:</p>
<pre> <span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> _sum<span style="color: #66cc66;">&#40;</span>n:<span style="color: #0066CC;">Number</span><span style="color: #66cc66;">&#41;</span> : <span style="color: #0066CC;">Number</span> <span style="color: #66cc66;">&#123;</span>

         <span style="color: #b1b100;">return</span> <span style="color: #66cc66;">&#40;</span>n * <span style="color: #66cc66;">&#40;</span>n + <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span> / <span style="color: #cc66cc;">2</span><span style="color: #66cc66;">&#41;</span>;
    <span style="color: #66cc66;">&#125;</span>
&nbsp;
   <span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> calculDepth<span style="color: #66cc66;">&#40;</span>x:<span style="color: #0066CC;">Number</span>, y:<span style="color: #0066CC;">Number</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>

         <span style="color: #000000; font-weight: bold;">var</span> r:<span style="color: #0066CC;">Number</span> = _sum<span style="color: #66cc66;">&#40;</span>x + y<span style="color: #66cc66;">&#41;</span> + x + <span style="color: #cc66cc;">1</span>;
         r = <span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#40;</span>x + y<span style="color: #66cc66;">&#41;</span> &gt; <span style="color: #66cc66;">&#40;</span>grid.<span style="color: #006600;">x</span>-<span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span> ? r -= _sum<span style="color: #66cc66;">&#40;</span>x + y - <span style="color: #66cc66;">&#40;</span>grid.<span style="color: #006600;">x</span>-<span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span> : r;
         r = <span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#40;</span>x + y<span style="color: #66cc66;">&#41;</span> &gt; grid.<span style="color: #006600;">y</span><span style="color: #66cc66;">&#41;</span> ? r -= _sum<span style="color: #66cc66;">&#40;</span>x + y - grid.<span style="color: #006600;">y</span><span style="color: #66cc66;">&#41;</span> : r;
         <span style="color: #b1b100;">return</span> <span style="color: #66cc66;">&#40;</span>r*<span style="color: #cc66cc;">10</span><span style="color: #66cc66;">&#41;</span>;
    <span style="color: #66cc66;">&#125;</span></pre>
<p>Voila, j&#8217;espère que le concept que j&#8217;ai développé et utilise couramment pourra contribuer à remplir un peu le vide auquel je me suis confronté lors de mes investigations sur le sujet.</p>
<p>Je tiens à remercier tout particulièrement Joan pour ses idées et Didier pour son algorithme de calcul remarquable ainsi que Jean-Louis pour la conversion en AS.<br />
Comme d&#8217;habitude, vos questions, commentaires ou critiques sont les bienvenue.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.tweenpix.net/2003/10/11/isometrie-et-z-sorting/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>avatars</title>
		<link>http://blog.tweenpix.net/2003/09/27/avatars/</link>
		<comments>http://blog.tweenpix.net/2003/09/27/avatars/#comments</comments>
		<pubDate>Sat, 27 Sep 2003 16:06:44 +0000</pubDate>
		<dc:creator>Francis Bourre</dc:creator>
				<category><![CDATA[work]]></category>
		<category><![CDATA[artepict]]></category>
		<category><![CDATA[atomic boarder]]></category>
		<category><![CDATA[avatar]]></category>
		<category><![CDATA[isometric]]></category>
		<category><![CDATA[multi-users]]></category>

		<guid isPermaLink="false">http://blog.tweenpix.net/?p=476</guid>
		<description><![CDATA[J&#8217;ai fini de développer hier la classe Avatar qui va me servir sur Atomic Boarder à animer dynamiquement, selon les skins des joueurs, les personnages du chat isométrique. Je ne peux résister à l&#8217;envie de vous faire partager une petite preview contenant sept skins au total. Utilisez les numeric steppers pour modifier les différentes parties [...]]]></description>
			<content:encoded><![CDATA[<p>J&#8217;ai fini de développer hier la classe Avatar qui va me servir sur <a href="http://www.atomicboarder.com/">Atomic Boarder</a> à animer dynamiquement, selon les skins des joueurs, les personnages du chat isométrique.</p>
<p>Je ne peux résister à l&#8217;envie de vous faire partager une petite preview contenant sept skins au total.</p>
<p>Utilisez les numeric steppers pour modifier les différentes parties du corps, la barre d&#8217;espace pour alterner les animations marche et arrêt, et enfin les fléches Gauche et Droite pour faire tourner le personnage.</p>
<p>[kml_flashembed movie="http://www.tweenpix.net/files/avatareditor.swf" width="350" height="250"/]</p>
<p>Le modéle aini que l&#8217;affichage sont entièrement dynamiques et vont nous permettre d&#8217;ajouter animations et skins à volonté. <img src='http://blog.tweenpix.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.tweenpix.net/2003/09/27/avatars/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>isométrie et orientation &#8211; pattern adapter</title>
		<link>http://blog.tweenpix.net/2003/09/08/isometrie-et-orientation-pattern-adapter/</link>
		<comments>http://blog.tweenpix.net/2003/09/08/isometrie-et-orientation-pattern-adapter/#comments</comments>
		<pubDate>Mon, 08 Sep 2003 10:11:58 +0000</pubDate>
		<dc:creator>Francis Bourre</dc:creator>
				<category><![CDATA[tutorial]]></category>
		<category><![CDATA[work]]></category>
		<category><![CDATA[adapter]]></category>
		<category><![CDATA[artepict]]></category>
		<category><![CDATA[atomic boarder]]></category>
		<category><![CDATA[design pattern]]></category>
		<category><![CDATA[game]]></category>
		<category><![CDATA[isometric]]></category>

		<guid isPermaLink="false">http://blog.tweenpix.net/?p=482</guid>
		<description><![CDATA[J&#8217;ai eu de nombreuses critiques concernant les déplacements et l&#8217;orientation dans Atomic Sokoban en ligne sur Atomic Boarder. J&#8217;ai donc ajouté, suivant les conseils de Kerphi, un nouveau système de déplacement et donc opté pour un left/right : rotation du personnage et up : avancer. J&#8217;ai adopté le pattern design : adapter. Les adapters sont [...]]]></description>
			<content:encoded><![CDATA[<p>J&#8217;ai eu de nombreuses critiques concernant les déplacements et l&#8217;orientation dans Atomic Sokoban en ligne sur <a href="http://www.atomicboarder.com/">Atomic Boarder</a>.<br />
J&#8217;ai donc ajouté, suivant les conseils de Kerphi, un nouveau système de déplacement et donc opté pour un left/right : rotation du personnage et up : avancer.</p>
<p><img src='http://blog.tweenpix.net/wp-content/gallery/general/atomicsokoban.jpg' alt='atomicsokoban.jpg' class='ngg-singlepic ngg-none' /></p>
<p>J&#8217;ai adopté le pattern design : adapter. Les adapters sont utilisés pour permettre aux objets de communiquer avec différentes interfaces.<br />
Dans mon cas précis, l&#8217;écouteur clavier (à chaque touche pressée par le joueur) envoit les infos à l&#8217;adapter. Suivant la configuration l&#8217;adapter s&#8217;occuper de formatter différemment les données avant de les envoyer à la méthode move() de mon personnage.</p>
<p>J&#8217;ai ajouté un écouteur sur la barre d&#8217;espace permettant de switcher entre l&#8217;ancienne et la nouvelle configuration de touches.</p>
<p>J&#8217;espère que ces modifications permettront de rendre le jeu plus agréable pour tous ceux qui avaient des difficultés avec l&#8217;orientation du personnage.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.tweenpix.net/2003/09/08/isometrie-et-orientation-pattern-adapter/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>atomic boarder</title>
		<link>http://blog.tweenpix.net/2003/09/06/atomic-boarder/</link>
		<comments>http://blog.tweenpix.net/2003/09/06/atomic-boarder/#comments</comments>
		<pubDate>Sat, 06 Sep 2003 15:59:40 +0000</pubDate>
		<dc:creator>Francis Bourre</dc:creator>
				<category><![CDATA[work]]></category>
		<category><![CDATA[artepict]]></category>
		<category><![CDATA[atomic boarder]]></category>
		<category><![CDATA[isometric]]></category>
		<category><![CDATA[multi-users]]></category>

		<guid isPermaLink="false">http://blog.tweenpix.net/?p=337</guid>
		<description><![CDATA[Atomic Boarder, communauté Flash ` vocation ludique ouvre ses portes. Je suis responsable du développement AS et PHP sur ce projet. Un premier jeu est disponible : Atomic Sokoban. C&#8217;est un remake isométrique de l&#8217;incontournable jeu de réflexion avec quelques fonctions bonus comme la sauvegarde et gestion des replays. N&#8217;hésitez pas à me laisser vos [...]]]></description>
			<content:encoded><![CDATA[<p>Atomic Boarder, communauté Flash ` vocation ludique ouvre ses portes.</p>
<p>Je suis responsable du développement AS et PHP sur ce projet. Un premier jeu est disponible : Atomic Sokoban. C&#8217;est un remake isométrique de l&#8217;incontournable jeu de réflexion avec quelques fonctions bonus comme la sauvegarde et gestion des replays.</p>
<p><img src='http://blog.tweenpix.net/wp-content/gallery/general/atomicboarder.gif' alt='atomicboarder.gif' class='ngg-singlepic ngg-none' /></p>
<p>N&#8217;hésitez pas à me laisser vos commentaires ou me signaler d&#8217;éventuels bugs qui se seraient glissés entre les mailles du filet.</p>
<p>Pour les plus curieux, screenshots et artworks sont disponibles dans la section pictures du portail.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.tweenpix.net/2003/09/06/atomic-boarder/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
	</channel>
</rss>

