<?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>My Game Is Rich</title>
	<atom:link href="http://mygameisrich.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://mygameisrich.com</link>
	<description>Yes It Can</description>
	<lastBuildDate>Mon, 12 Dec 2011 16:29:36 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>[WP7] Des nouvelles de PointEmUp</title>
		<link>http://mygameisrich.com/2011/03/17/wp7-des-nouvelles-de-pointemup/</link>
		<comments>http://mygameisrich.com/2011/03/17/wp7-des-nouvelles-de-pointemup/#comments</comments>
		<pubDate>Thu, 17 Mar 2011 22:18:15 +0000</pubDate>
		<dc:creator>Paul GILLEN</dc:creator>
				<category><![CDATA[D2P]]></category>
		<category><![CDATA[Projets]]></category>
		<category><![CDATA[Développement]]></category>
		<category><![CDATA[dot net]]></category>
		<category><![CDATA[ShootEmUp]]></category>
		<category><![CDATA[XNA]]></category>

		<guid isPermaLink="false">http://mygameisrich.com/?p=93</guid>
		<description><![CDATA[Il y à quelques mois, je vous parlais de PointEmUp, un Shmup que je commençais à développer sur Windows Phone 7. J&#8217;ai depuis bien avancé sur le projet, et je viens vous apporter quelques nouvelles. Vaisseaux Ennemis Look Tout d&#8217;abord, &#8230;<p class="read-more"><a href="http://mygameisrich.com/2011/03/17/wp7-des-nouvelles-de-pointemup/">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p>Il y à quelques mois, je vous parlais de PointEmUp, un Shmup que je commençais à développer sur Windows Phone 7.</p>
<p>J&#8217;ai depuis bien avancé sur le projet, et je viens vous apporter quelques nouvelles.</p>
<h2><span style="text-decoration: underline;">Vaisseaux Ennemis</span></h2>
<h3><span style="text-decoration: underline;">Look</span></h3>
<p>Tout d&#8217;abord, j&#8217;ai choisit de générer aléatoirement les sprites des ennemis, pour donner à chacun un look unique. Pour cela, j&#8217;utilise pour chaque type de vaisseau une image spéciale, composée de 5 couleurs différentes : Chaque couleur permet au générateur de sprite de déterminer s&#8217;il doit dessiner une partie du vaisseau ou non.</p>

<a href='http://mygameisrich.com/2011/03/17/wp7-des-nouvelles-de-pointemup/pointemup-4/' title='PointEmUp'><img width="150" height="150" src="http://mygameisrich.com/files/2011/03/PointEmUp3-150x150.png" class="attachment-thumbnail" alt="Masque" title="PointEmUp" /></a>
<a href='http://mygameisrich.com/2011/03/17/wp7-des-nouvelles-de-pointemup/vaisseaurouge/' title='vaisseaurouge'><img width="150" height="150" src="http://mygameisrich.com/files/2011/03/vaisseaurouge-150x150.png" class="attachment-thumbnail" alt="Vaisseau Rouge" title="vaisseaurouge" /></a>

<h3><span style="text-decoration: underline;">Caractéristiques</span></h3>
<p>J&#8217;ai décidé de créer une dizaine de vaisseaux ennemis différents. Chacun aura une couleur différente afin de pouvoir les identifier au premier coup d&#8217;œil.<br />
Le jeu comporte pour l&#8217;instant trois types de vaisseaux ennemis. les bleus mitraillent leur bullets en direction du joueur, les gris tirent un cercle de bullets autour d&#8217;eux et les rouges tirent en spirale.</p>
<h2><span style="text-decoration: underline;">Le joueur</span></h2>
<h3><span style="text-decoration: underline;">Armes du joueur</span></h3>
<p>Je compte implémenter 6 armes différentes dans le jeu, possédant toutes une puissance et une vitesse différente. Je suis encore en train de déterminer la manière de changer d&#8217;arme, mais j&#8217;ai déjà une idée assez intéressante en tête. Pour l&#8217;instant, le jeu comporte les trois armes les plus basique d&#8217;un Shmup : de simple bullets, un laser dévastateur, et une bombe.</p>
<h3><span style="text-decoration: underline;">Déplacements</span></h3>
<p>J&#8217;ai choisis d&#8217;utiliser la manière la plus simple et efficace pour gérer les déplacements du vaisseau du joueur : Suivre les mouvements du doigt.<br />
Pour pouvoir déplacer le vaisseau, le joueur doit tout d&#8217;abord pointer une zone de l&#8217;écran, puis ensuite déplacer son doigt autour de cette zone pour déplacer le vaisseau. On retrouve la même manière de joueur dans <a href="http://www.youtube.com/watch?v=FIiG44LDThI">Dodonpachi Resurrection sur Iphone</a></p>
<h3><span style="text-decoration: underline;">Score</span></h3>
<p>Le système de scoring est toujours en cours de développement, j&#8217;ai décidé d&#8217;utiliser un système de combo et de multiplicateur de score. Plus vous tuez d&#8217;ennemis à la suite, plus votre multiplicateur augmente. Si vous ne tuez plus d&#8217;ennemis pendant quelques secondes, le multiplicateur retombe à zéro. Je compte également rajouter des points bonus à ramasser dans le niveau.</p>
<h2><span style="text-decoration: underline;">Niveaux</span></h2>
<p>Je pense créer 5 niveaux d&#8217;une dizaine de minutes. J&#8217;ai choisi ici de dérouler les niveaux en utilisant un système de vague plutôt qu&#8217;une Timeline. Le joueur doit donc détruire tous les vaisseaux présent dans la scène avant de passer à la vague suivante. S&#8217;il n&#8217;y arrive pas, la vague disparait et le prive d&#8217;augmenter son score.</p>

<a href='http://mygameisrich.com/2011/03/17/wp7-des-nouvelles-de-pointemup/pointemup/' title='PointEmUp'><img width="150" height="150" src="http://mygameisrich.com/files/2011/03/PointEmUp-150x150.png" class="attachment-thumbnail" alt="Point Em Up" title="PointEmUp" /></a>
<a href='http://mygameisrich.com/2011/03/17/wp7-des-nouvelles-de-pointemup/pointemup-2/' title='PointEmUp'><img width="150" height="150" src="http://mygameisrich.com/files/2011/03/PointEmUp1-150x150.png" class="attachment-thumbnail" alt="Point Em Up" title="PointEmUp" /></a>
<a href='http://mygameisrich.com/2011/03/17/wp7-des-nouvelles-de-pointemup/pointemup-3/' title='PointEmUp'><img width="150" height="150" src="http://mygameisrich.com/files/2011/03/PointEmUp2-150x150.png" class="attachment-thumbnail" alt="Point Em Up" title="PointEmUp" /></a>

<h2><span style="text-decoration: underline;">Avancement global</span></h2>
<p>Le moteur du jeu est pratiquement terminé, il me reste à implémenter le système de score, de changement d&#8217;arme et de gestion des boss.<br />
C&#8217;est au niveau du contenu du jeu qu&#8217;il reste le plus de travail : il faut rajouter plusieurs vaisseaux ennemis, plusieurs armes au jouer et terminer les 5 niveaux.<br />
Enfin, il va me falloir encore pas mal de temps pour optimiser, passer du polish et tester le jeu.<br />
Encore beaucoup de travail en perspective !</p>
]]></content:encoded>
			<wfw:commentRss>http://mygameisrich.com/2011/03/17/wp7-des-nouvelles-de-pointemup/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Game States Stack : Comment gérer simplement les états d&#8217;un jeu vidéo ?</title>
		<link>http://mygameisrich.com/2011/02/05/game-states-stack-comment-gerer-simplement-les-etats-dun-jeu-video/</link>
		<comments>http://mygameisrich.com/2011/02/05/game-states-stack-comment-gerer-simplement-les-etats-dun-jeu-video/#comments</comments>
		<pubDate>Sat, 05 Feb 2011 21:02:18 +0000</pubDate>
		<dc:creator>Paul GILLEN</dc:creator>
				<category><![CDATA[Technique]]></category>
		<category><![CDATA[Développement]]></category>
		<category><![CDATA[Game State]]></category>
		<category><![CDATA[Game State Stack]]></category>
		<category><![CDATA[GCN]]></category>
		<category><![CDATA[XNA]]></category>

		<guid isPermaLink="false">http://mygameisrich.com/?p=95</guid>
		<description><![CDATA[Vous vous êtes peut être déjà demandés comment sont faits les jeux vidéos, quelles en sont les bases, et de quelles briques ils sont formés ? Je vais essayer de vous expliquer à travers cet article, et d'autres à venir, les rudiments à savoir pour commencer à développer votre propre jeu vidéo.

Notre premier article sera consacré aux Game States, et va vous permettre de comprendre le principe d'états d'un jeu vidéo, puis de voir comment gérer ces différents états.<p class="read-more"><a href="http://mygameisrich.com/2011/02/05/game-states-stack-comment-gerer-simplement-les-etats-dun-jeu-video/">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p><em>Avant de débuter je tiens à préciser que ce petit tutoriel n&#8217;est en rien  une solution miracle et adaptée à tous les projets. Gardez en tête en  lisant ce tutoriel -et si possible quand vous lisez n&#8217;importe quel  tutoriel- que les bonnes pratiques n&#8217;existent pas en programmation.  Chaque code a ses avantages et ses inconvénients qui peuvent varier en  fonction de la plateforme, les besoins des utilisateurs, les délais à  respecter, etc&#8230; Le plus important, c&#8217;est que votre code fasse son  boulot, et qu&#8217;il le fasse de manière efficace et performante.</em></p>
<p>Vous vous êtes peut être déjà demandés comment sont faits les jeux  vidéos, quelles en sont les bases, et de quelles briques ils sont formés  ? Je vais essayer de vous expliquer à travers cet article, et d&#8217;autres à  venir, les rudiments à savoir pour commencer à développer votre propre  jeu vidéo.</p>
<p>Notre premier article sera consacré aux Game States. Nous allons dans un premier temps essayer comprendre le principe d&#8217;état appliqué au jeu vidéo, puis nous verrons comment gérer ces différents états.</p>
<p><span style="text-decoration: underline;"><strong>Qu&#8217;est ce qu&#8217;un Game State ?</strong></span></p>
<p>Cette notion de game state peut paraître un peu abstraite lorsque l&#8217;on débute, mais elle est très simple. Les game states sont les différents états que va prendre votre jeu au cours d&#8217;une partie. Le joueur rencontrera dans une partie différents game states sans parfois s&#8217;en rendre compte. Le menu principal, une phase de jeu, une phase de combat à l&#8217;intérieur de la phase de jeu, une carte du monde, un menu de dialogue, le menu en jeu, la pause, l&#8217;écran des high scores sont autant de game states possibles.</p>
<p><span style="text-decoration: underline;"><strong>Comment mettre en place la gestion des game states ?</strong></span></p>
<p>Une des manière de gérer les game states assez populaire, et très simple à comprendre est celle de la Game State Stack.<br />
Son principe est exactement calqué sur celui d&#8217;une Stack. Nous allons empiler nos différents états dans une stack, et nous mettrons à jour et afficherons l&#8217;état en tête de pile.</p>
<p>Pour gérer notre game state stack, nous allons utiliser trois méthodes : Add, Pop et Set.</p>
<p>Les méthodes Add (Push) et Pop sont directement inspirées des structures de données LIFO (ou Stack)</p>
<div id="attachment_119" class="wp-caption aligncenter" style="width: 330px"><a href="http://mygameisrich.com/files/2011/02/StackPushPop.png"><img class="size-full wp-image-119" title="StackPushPop" src="http://mygameisrich.com/files/2011/02/StackPushPop.png" alt="" width="320" height="230" /></a><p class="wp-caption-text">Schéma simplifié d&#39;une pile LIFO</p></div>
<p>Add va nous permettre de rajouter un état dans la pile. Pop va nous permettre de retirer un état de la pile.<br />
La méthode Set est simplement la combinaison de Pop et Add. On va tout d&#8217;abord appeler Pop et retirer l&#8217;état courant de la pile. Ensuite nous allons ajouter un nouvel état à la place de l&#8217;ancien.</p>
<p>Pourquoi différencier Add/Pop et set ? Afin d&#8217;être plus flexible. En effet, nous allons parfois vouloir simplement rajouter un état provisoirement puis reprendre l&#8217;état précédent sans aucune perte de donnée.</p>
<p>Schématisons tout cela. Prenons comme cas un jeu qui a pour états un menu principal, une phase de jeu, une pause, et un menu en jeu. Voila à quoi pourrait ressembler notre jeu :</p>
<div id="attachment_118" class="wp-caption aligncenter" style="width: 650px"><a href="http://mygameisrich.com/files/2011/02/articlegamestate.png"><img class="size-full wp-image-118" title="articlegamestate" src="http://mygameisrich.com/files/2011/02/articlegamestate.png" alt="" width="640" height="480" /></a><p class="wp-caption-text">Schéma simplifié des différents états d&#39;un jeu</p></div>
<p>Comme vous pouvez le voir, nous avons utiliser différentes méthodes pour relier nos différents états.</p>
<p>Nous passons du menu principal à la phase de jeu grâce à la méthode Set. Nous passons le jeu en pause ou consultons le menu en jeu en utilisant la méthode Add, nous revenons au jeu avec la méthode Pop. Enfin, nous passons du menu en jeu au menu principal avec la méthode Set.</p>
<p>Pour être sûr de bien comprendre, nous allons voir le nombre d&#8217;états que nous aurons dans la game state stack pour chaque état :</p>
<ul>
<li>Menu Principal : 1</li>
<li>Phase de Jeu : 1</li>
<li>Pause : 2</li>
<li>Menu en jeu : 2</li>
</ul>
<p><em>Note : Quand nous allons passer du menu en jeu au menu principal, nous devrons veiller à bien détruire les deux states, sinon, nous aurons une fuite mémoire.</em></p>
<p><span style="text-decoration: underline;"><strong>Passons au code !</strong></span></p>
<p>Nous allons maintenant implémenter notre gestionnaire de Game State. J&#8217;ai choisit de vous présenter ici la manière la plus épurée possible.</p>
<p>La première étape consiste à créer une classe abstraite qui va représenter la base de nos états. Elle est composée des méthodes suivantes :</p>
<ul>
<li>Initialize va nous permettre d&#8217;initialiser notre état. Elle sera appelée une seule fois quand l&#8217;état sera ajouté à la Game state stack.</li>
<li>Update va nous permettre de mettre à jour l&#8217;état. On lui a passé en paramètre un flottant qui représente le temps qui s&#8217;est écoulé depuis la précédente mise à jour.</li>
<li>Draw va nous permettre d&#8217;afficher l&#8217;état</li>
<li>Destroy enfin est facultative et nous permet de libérer les ressources allouée par l&#8217;état.</li>
</ul>
<p>Voici le code :</p>

<div class="wp_syntax"><div class="code"><pre class="csharp" style="font-family:monospace;"><span style="color: #008080; font-style: italic;">// =============================================================================</span>
<span style="color: #008080; font-style: italic;">/// Classe abstraite servant de base aux game states</span>
<span style="color: #008080; font-style: italic;">// =============================================================================</span>
<span style="color: #0600FF; font-weight: bold;">public</span> abstract <span style="color: #6666cc; font-weight: bold;">class</span> GameState
<span style="color: #008000;">&#123;</span>
    <span style="color: #008080; font-style: italic;">// =========================================================================</span>
    <span style="color: #008080; font-style: italic;">/// Initialise le game state</span>
    <span style="color: #008080; font-style: italic;">// =========================================================================</span>
    <span style="color: #0600FF; font-weight: bold;">public</span> abstract <span style="color: #6666cc; font-weight: bold;">void</span> Initialize<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
&nbsp;
    <span style="color: #008080; font-style: italic;">// =========================================================================</span>
    <span style="color: #008080; font-style: italic;">/// Détruit le game state</span>
    <span style="color: #008080; font-style: italic;">// =========================================================================</span>
    <span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #0600FF; font-weight: bold;">virtual</span> <span style="color: #6666cc; font-weight: bold;">void</span> Destroy<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span> <span style="color: #008000;">&#123;</span><span style="color: #008000;">&#125;</span>
&nbsp;
    <span style="color: #008080; font-style: italic;">// =========================================================================</span>
    <span style="color: #008080; font-style: italic;">/// Met à jour le game state</span>
    <span style="color: #008080; font-style: italic;">// =========================================================================</span>
    <span style="color: #0600FF; font-weight: bold;">public</span> abstract <span style="color: #6666cc; font-weight: bold;">void</span> Update<span style="color: #008000;">&#40;</span><span style="color: #6666cc; font-weight: bold;">float</span> deltatime<span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
&nbsp;
    <span style="color: #008080; font-style: italic;">// =========================================================================</span>
    <span style="color: #008080; font-style: italic;">/// Affiche le game state</span>
    <span style="color: #008080; font-style: italic;">// =========================================================================</span>
    <span style="color: #0600FF; font-weight: bold;">public</span> abstract <span style="color: #6666cc; font-weight: bold;">void</span> Draw<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
<span style="color: #008000;">&#125;</span></pre></div></div>

<p>Maintenant, nous allons créer la classe GameStateStack qui va contenir les méthodes que nous avons vu plus haut : Set, Add et Pop. Nous allons également rajouter les méthodes Update et Draw qui vont nous permettre de mettre à jour et dessiner nos différents states.<br />
Afin de stocker nos objets GameState, nous allons utiliser le type générique Stack&lt;GameState&gt;.</p>

<div class="wp_syntax"><div class="code"><pre class="csharp" style="font-family:monospace;"><span style="color: #008080; font-style: italic;">// =============================================================================</span>
<span style="color: #008080; font-style: italic;">/// Game State Stack</span>
<span style="color: #008080; font-style: italic;">// =============================================================================</span>
<span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #6666cc; font-weight: bold;">class</span> GameStateStack
<span style="color: #008000;">&#123;</span>
    <span style="color: #008080; font-style: italic;">// =========================================================================</span>
    <span style="color: #008080; font-style: italic;">/// Remplace l'état courant par un nouvel état.</span>
    <span style="color: #008080; font-style: italic;">/// S'il y a plusieurs états dans la stack, on les supprime tous</span>
    <span style="color: #008080; font-style: italic;">// =========================================================================</span>
    <span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #6666cc; font-weight: bold;">void</span> Set<span style="color: #008000;">&#40;</span>GameState state<span style="color: #008000;">&#41;</span>
    <span style="color: #008000;">&#123;</span>
        <span style="color: #0600FF; font-weight: bold;">while</span> <span style="color: #008000;">&#40;</span>States<span style="color: #008000;">.</span><span style="color: #0000FF;">Count</span> <span style="color: #008000;">&gt;</span> <span style="color: #FF0000;">0</span><span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
            Pop<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
        <span style="color: #008000;">&#125;</span>
&nbsp;
        Add<span style="color: #008000;">&#40;</span>state<span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
    <span style="color: #008000;">&#125;</span>
&nbsp;
    <span style="color: #008080; font-style: italic;">// =========================================================================</span>
    <span style="color: #008080; font-style: italic;">/// Initialize un état puis l'ajoute à la stack</span>
    <span style="color: #008080; font-style: italic;">// =========================================================================</span>
    <span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #6666cc; font-weight: bold;">void</span> Add<span style="color: #008000;">&#40;</span>GameState state<span style="color: #008000;">&#41;</span>
    <span style="color: #008000;">&#123;</span>
        state<span style="color: #008000;">.</span><span style="color: #0000FF;">Initialize</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
        States<span style="color: #008000;">.</span><span style="color: #0000FF;">Push</span><span style="color: #008000;">&#40;</span>state<span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
    <span style="color: #008000;">&#125;</span>
&nbsp;
    <span style="color: #008080; font-style: italic;">// =========================================================================</span>
    <span style="color: #008080; font-style: italic;">/// Supprime l'état courant de la stack</span>
    <span style="color: #008080; font-style: italic;">// =========================================================================</span>
    <span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #6666cc; font-weight: bold;">void</span> Pop<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
    <span style="color: #008000;">&#123;</span>
        <span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">&#40;</span>States<span style="color: #008000;">.</span><span style="color: #0000FF;">Count</span> <span style="color: #008000;">&gt;</span> <span style="color: #FF0000;">0</span><span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
            States<span style="color: #008000;">.</span><span style="color: #0000FF;">Peek</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Destroy</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            States<span style="color: #008000;">.</span><span style="color: #0000FF;">Pop</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
        <span style="color: #008000;">&#125;</span>
    <span style="color: #008000;">&#125;</span>
&nbsp;
    <span style="color: #008080; font-style: italic;">// =========================================================================</span>
    <span style="color: #008080; font-style: italic;">/// Met à jour l'état courant</span>
    <span style="color: #008080; font-style: italic;">// =========================================================================</span>
    <span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #6666cc; font-weight: bold;">void</span> Update<span style="color: #008000;">&#40;</span><span style="color: #6666cc; font-weight: bold;">float</span> deltatime<span style="color: #008000;">&#41;</span>
    <span style="color: #008000;">&#123;</span>
        <span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">&#40;</span>States<span style="color: #008000;">.</span><span style="color: #0000FF;">Count</span> <span style="color: #008000;">&gt;</span> <span style="color: #FF0000;">0</span><span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
            States<span style="color: #008000;">.</span><span style="color: #0000FF;">Peek</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Update</span><span style="color: #008000;">&#40;</span>deltatime<span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
        <span style="color: #008000;">&#125;</span>
    <span style="color: #008000;">&#125;</span>
&nbsp;
    <span style="color: #008080; font-style: italic;">// =========================================================================</span>
    <span style="color: #008080; font-style: italic;">/// Affiche l'état courant</span>
    <span style="color: #008080; font-style: italic;">// =========================================================================</span>
    <span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #6666cc; font-weight: bold;">void</span> Draw<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
    <span style="color: #008000;">&#123;</span>
        <span style="color: #0600FF; font-weight: bold;">if</span> <span style="color: #008000;">&#40;</span>States<span style="color: #008000;">.</span><span style="color: #0000FF;">Count</span> <span style="color: #008000;">&gt;</span> <span style="color: #FF0000;">0</span><span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
            States<span style="color: #008000;">.</span><span style="color: #0000FF;">Peek</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Draw</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
        <span style="color: #008000;">&#125;</span>
    <span style="color: #008000;">&#125;</span>
&nbsp;
    <span style="color: #008080; font-style: italic;">// =========================================================================</span>
    <span style="color: #008080; font-style: italic;">/// Stack de Game States</span>
    <span style="color: #008080; font-style: italic;">// =========================================================================</span>
    <span style="color: #0600FF; font-weight: bold;">public</span> Stack<span style="color: #008000;">&lt;</span>GameState<span style="color: #008000;">&gt;</span> States <span style="color: #008000;">=</span> <span style="color: #008000;">new</span> Stack<span style="color: #008000;">&lt;</span>GameState<span style="color: #008000;">&gt;</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
<span style="color: #008000;">&#125;</span></pre></div></div>

<p>Si vous avez bien suivit, vous devriez retrouver ce que nous avons expliqué plus haut dans ce code. Add ajoute un state à la game state stack, pop supprime le state courant, et Set est une combinaison des deux méthodes précédentes.</p>
<p>Il ne vous reste plus qu&#8217;à implémenter vos GameState en héritant de la classe abstraite GameState.</p>
<p><span style="text-decoration: underline;"><strong>Un exemple ?</strong></span></p>
<p>Je vous ai préparé un petit exemple en utilisant XNA 4.0.Vous pouvez le télécharger en cliquant ici : <a href="http://mygameisrich.com/files/2011/02/GameStateStack.zip">GameStateStack</a></p>
<p>Avant de le lancer ou d&#8217;essayer de le compiler, voici deux prérequis :</p>
<ul>
<li>Pour lancer l&#8217;exécutable, vous devez posséder le <a href="http://www.microsoft.com/downloads/en/details.aspx?FamilyID=a88c6dec-aeae-42cd-a108-d35c013c3b97">XNA Redistributable 4.0</a>.</li>
<li>Pour compiler la solution, vous devez installer les outils de développement XNA 4.0, disponibles à cette adresse : <a href="http://create.msdn.com/en-us/home/getting_started">http://create.msdn.com/en-us/home/getting_started</a></li>
</ul>
<p><em>Note : Le XNA Redistributable 4.0 est inclus dans les outils de développement, vous n&#8217;aurez pas besoin de l&#8217;installer si vous installez les outils de développement.</em></p>
<p><strong><span style="text-decoration: underline;">Pour aller plus loin.</span></strong></p>
<p>Vous pourrez trouver une internet quelques autres exemples de Game State Management, dont deux particulièrement intéressant sur App Hub, la plateforme de Microsoft dédiée au développement XNA.</p>
<p><a href="http://create.msdn.com/en-US/education/catalog/sample/game_state_management">Game State Management</a> : Qui vous présente une autre manière d&#8217;aborder le problème, et rajoute quelques spécificités comme les transitions entre états.</p>
<p><a href="http://create.msdn.com/en-US/education/catalog/sample/network_game_state_management">Network Game State Management</a> : Cet exemple applique le concept aux jeux en réseau.</p>
]]></content:encoded>
			<wfw:commentRss>http://mygameisrich.com/2011/02/05/game-states-stack-comment-gerer-simplement-les-etats-dun-jeu-video/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[.NET] Chip8DotNet : Un interpréteur Chip-8</title>
		<link>http://mygameisrich.com/2011/01/25/net-chip8dotnet-un-interpreteur-chip-8/</link>
		<comments>http://mygameisrich.com/2011/01/25/net-chip8dotnet-un-interpreteur-chip-8/#comments</comments>
		<pubDate>Tue, 25 Jan 2011 05:26:51 +0000</pubDate>
		<dc:creator>Paul GILLEN</dc:creator>
				<category><![CDATA[Projets]]></category>
		<category><![CDATA[.net]]></category>
		<category><![CDATA[chip8]]></category>
		<category><![CDATA[dot net]]></category>
		<category><![CDATA[Emulateur]]></category>
		<category><![CDATA[GCN]]></category>
		<category><![CDATA[Interpréteur]]></category>
		<category><![CDATA[schip]]></category>

		<guid isPermaLink="false">http://mygameisrich.com/?p=90</guid>
		<description><![CDATA[Il y à quelques temps, je me suis intéressé à l&#8217;émulation, notamment de console de jeu, afin d&#8217;en comprendre le fonctionnement. A force de fouiller dans différentes documentation technique (Gameboy, NES, et autre consoles de mon enfance), j&#8217;ai fini par &#8230;<p class="read-more"><a href="http://mygameisrich.com/2011/01/25/net-chip8dotnet-un-interpreteur-chip-8/">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p>Il y à quelques temps, je me suis intéressé à l&#8217;émulation, notamment de console de jeu, afin d&#8217;en comprendre le fonctionnement. A force de fouiller dans différentes documentation technique (Gameboy, NES, et autre consoles de mon enfance), j&#8217;ai fini par tomber sur quelques documents sur <a href="http://en.wikipedia.org/wiki/CHIP-8">Chip-8</a>.</p>
<p><strong>Qu&#8217;est ce que c&#8217;est que Chip 8 ?</strong></p>
<p>Chip-8 n&#8217;est pas à proprement parlé d&#8217;une console de jeu, il s&#8217;agit en fait d&#8217;un langage interprété, crée au milieu des années 70 afin d&#8217;être embarqué dans des micro-ordinateurs tels que le <a href="http://en.wikipedia.org/wiki/COSMAC_VIP">COSMAC VIP</a> ou bien le <a href="http://en.wikipedia.org/wiki/Telmac_1800">Telmac 1800</a>. Chip-8 a été développé afin de faciliter entre autre le développement de jeux vidéos tels que Pong sur ces machines.</p>
<div id="attachment_97" class="wp-caption alignnone" style="width: 510px"><a href="http://mygameisrich.com/files/2011/01/CosmacVip.jpg"><img class="size-full wp-image-97" title="CosmacVip" src="http://mygameisrich.com/files/2011/01/CosmacVip.jpg" alt="" width="500" height="300" /></a><p class="wp-caption-text">Le micro-ordinateur Cosmac VIP</p></div>
<p><strong>L&#8217;émulation, comment ça marche ?</strong></p>
<p>L&#8217;émulation a pour but essentiellement de recréer virtuellement votre console de jeu ou un quelconque Hardware. Grossièrement, dans le cas de Chip-8, il m&#8217;a fallu, à l&#8217;aide d&#8217;une documentation technique, recréer morceau par morceau une sorte de Cosmac VIP virtuel afin qu&#8217;il puisse interpréter le langage Chip-8. Il y a bien entendu différentes façon de faire, qui dépendent essentiellement du hardware à émuler et du jeu ou logiciel à interpréter.</p>
<p>Pour créer mon émulateur, j&#8217;ai utilisé une documentation technique, il en existe plusieurs sur internet :</p>
<ul>
<li><a href="http://devernay.free.fr/hacks/chip8/">http://devernay.free.fr/hacks/chip8/</a></li>
<li><a href="http://howtoemulation.netfirms.com/extra_pages/chip8.shtml">http://howtoemulation.netfirms.com/extra_pages/chip8.shtml</a></li>
<li><a href="http://users.skynet.be/drealmer/chip8/">http://users.skynet.be/drealmer/chip8/</a></li>
</ul>
<p>Et plus particulièrement <a href="http://devernay.free.fr/hacks/chip8/C8TECH10.HTM">cette page</a>.</p>
<p>Ces documentations techniques sont essentielles pour créer l&#8217;émulateur, sans elles, rien n&#8217;est possible. En effets elles décrivent précisément comment interpréter chacune des instructions de Chip-8, comment afficher un sprite à l&#8217;écran, comment gérer les différents timers, les registres, etc&#8230; En gros, ces documentations vont devenir vos meilleures amies tout au long du développement de votre interpréteur.</p>
<p><strong>Chip8DotNet ça ressemble à quoi ?</strong></p>
<p>Chip8DotNet a été codé en utilisant le Framework .NET 2.0 et le langage C#. Il est théoriquement compatible sur la plupart des machines équipé de Windows, ainsi que sous Linux et Mac Os X grâce à Mono.</p>
<p>L&#8217;exécutable et le code source sont sous <a href="http://www.opensource.org/licenses/mit-license.php">licence MIT</a> et peuvent être téléchargés sur cette page : <a href="http://mygameisrich.com/chip8dotnet/">Chip8DotNet</a></p>
<div id="attachment_98" class="wp-caption alignnone" style="width: 292px"><a href="http://mygameisrich.com/files/2011/01/chip8dotnet1.png"><img class="size-medium wp-image-98 " title="chip8dotnet1" src="http://mygameisrich.com/files/2011/01/chip8dotnet1-300x174.png" alt="Fenêtre principale de Chip8DotNet" width="282" height="164" /></a><p class="wp-caption-text">Fenêtre principale de Chip8DotNet</p></div>
<div id="attachment_99" class="wp-caption alignnone" style="width: 310px"><a href="http://mygameisrich.com/files/2011/01/chip8dotnet2.png"><img class="size-medium wp-image-99 " title="chip8dotnet2" src="http://mygameisrich.com/files/2011/01/chip8dotnet2-300x135.png" alt="Fenêtre de debug de Chip8DotNet" width="300" height="135" /></a><p class="wp-caption-text">Fenêtre de debug de Chip8DotNet</p></div>
<p><strong>Des mises à jour de prévue ?</strong></p>
<p>Pour l&#8217;instant je ne sais pas si je vais retoucher à l&#8217;application, mais si cela me prend, je pense corriger quelques problèmes, comme la vitesse excessive, en la rendant paramétrable, régler quelques bugs que j&#8217;ai vu surgir en préparant cette note, et peut être même rajouter le support de SCHIP, qui est une extention de Chip-8 développé par un fan du langage dans les anneés 90.</p>
<p><strong>Chip-8 est-il un langage d&#8217;avenir ?</strong></p>
<p>Je ne crois pas. Cependant<strong>, </strong>certains fans ont développés depuis les dernières années de nombreuses applications, démos technique et jeux écris grace au langage, vous pouvez retrouvez de nombreux jeux et démos sur ces deux sites :</p>
<ul>
<li><a href="http://www.chip8.com/">http://www.chip8.com</a></li>
<li> <a href="http://www.revival-studios.com/">http://www.revival-studios.com/</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://mygameisrich.com/2011/01/25/net-chip8dotnet-un-interpreteur-chip-8/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[WP7] Utiliser votre clavier avec le simulateur Windows Phone 7</title>
		<link>http://mygameisrich.com/2010/09/06/wp7-utiliser-votre-clavier-avec-le-simulateur-windows-phone-7/</link>
		<comments>http://mygameisrich.com/2010/09/06/wp7-utiliser-votre-clavier-avec-le-simulateur-windows-phone-7/#comments</comments>
		<pubDate>Mon, 06 Sep 2010 20:49:12 +0000</pubDate>
		<dc:creator>Paul GILLEN</dc:creator>
				<category><![CDATA[Technique]]></category>
		<category><![CDATA[GCN]]></category>
		<category><![CDATA[XNA]]></category>

		<guid isPermaLink="false">http://mygameisrich.com/?p=81</guid>
		<description><![CDATA[N&#8217;ayant pas de device pour pouvoir tester mon Shoot Em Up en condition réelle, je dois simuler l&#8217;utilisation des accéléromètre avec mon clavier. Sachant que XNA propose un ensemble de classe pour gérer un clavier, écrire le code est on &#8230;<p class="read-more"><a href="http://mygameisrich.com/2010/09/06/wp7-utiliser-votre-clavier-avec-le-simulateur-windows-phone-7/">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p>N&#8217;ayant pas de device pour pouvoir tester mon Shoot Em Up en condition réelle, je dois simuler l&#8217;utilisation des accéléromètre avec mon clavier.</p>
<p>Sachant que XNA propose un ensemble de classe pour gérer un clavier, écrire le code est on ne peut plus simple. Il reste néanmoins un problème de taille : Faire en sorte que le simulateur WP7 soit relié à mon clavier.</p>
<p>Après quelques recherches, j&#8217;ai finit par trouver la réponse, et c&#8217;est on ne peut plus simple :</p>
<p>Après avoir démarré le simulateur WP7, cliquez sur l&#8217;écran du device afin d&#8217;avoir le focus et pressez la touche &#8220;Pause&#8221; de votre clavier. Si vous n&#8217;avez pas de touche pause sur votre clavier (Par exemple sur un laptop, ou un Mac) vous pouvez utiliser le clavier virtuel de windows :</p>
<div id="attachment_82" class="wp-caption alignnone" style="width: 244px"><a href="http://mygameisrich.com/files/2010/09/claviervirtuel.png"><img class="size-full wp-image-82" title="claviervirtuel" src="http://mygameisrich.com/files/2010/09/claviervirtuel.png" alt="" width="234" height="316" /></a><p class="wp-caption-text">Touche pause sur le clavier virtuel Windows</p></div>
<p>Vous pouvez maintenant utiliser votre clavier pour contrôler le WP7.</p>
]]></content:encoded>
			<wfw:commentRss>http://mygameisrich.com/2010/09/06/wp7-utiliser-votre-clavier-avec-le-simulateur-windows-phone-7/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[WP7] PointEmUp : Un Shoot Em Up tactile !</title>
		<link>http://mygameisrich.com/2010/08/14/wp7-pointemup-un-shoot-em-up-tactile/</link>
		<comments>http://mygameisrich.com/2010/08/14/wp7-pointemup-un-shoot-em-up-tactile/#comments</comments>
		<pubDate>Sat, 14 Aug 2010 19:51:53 +0000</pubDate>
		<dc:creator>Paul GILLEN</dc:creator>
				<category><![CDATA[Concepts]]></category>
		<category><![CDATA[D2P]]></category>
		<category><![CDATA[Projets]]></category>
		<category><![CDATA[ShootEmUp]]></category>
		<category><![CDATA[XNA]]></category>

		<guid isPermaLink="false">http://mygameisrich.com/?p=78</guid>
		<description><![CDATA[Alors que le développement de Reckless Squad bat son plein, nous sommes plusieurs à D2P Games à commencer de nouveaux projets, soit dans le cadre de la société, soit pour s&#8217;amuser. Dernièrement, Dri a été plébiscité par la communauté de &#8230;<p class="read-more"><a href="http://mygameisrich.com/2010/08/14/wp7-pointemup-un-shoot-em-up-tactile/">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p>Alors que le développement de <a href="http://www.d2p-games.com/games/">Reckless Squad</a> bat son plein, nous sommes plusieurs à D2P Games à commencer de nouveaux projets, soit dans le cadre de la société, soit pour s&#8217;amuser. Dernièrement, <a href="http://www.dreamnoid.com">Dri</a> a été plébiscité par la communauté de Games Creators Network lors des <a href="http://www.games-creators.org/wiki/Novendiales">Novendiales</a> avec son jeu <a href="http://dreamnoid.com/blog/2010/07/25/time-odyssey/">Time Odyssey</a> et semble ne pas vouloir s&#8217;arrêter là, et <a href="http://daxou.fr">Daxou</a> a déjà plusieurs idées.</p>
<p>Personnellement, je me suis lancé corps et âme dans le développement d&#8217;un Shoot Em Up pour <a href="http://www.windowsphone7.com/">Windows Phone 7</a>. Mon but est de publier l&#8217;application sur le market place WP7. Mais je profite également d&#8217;une compétition organisé par Microsoft France afin de découvrir les prochaines killer apps du WP7. <a href="http://msdn.microsoft.com/fr-fr/isv/ff817766.aspx"> En savoir plus sur le concours.</a></p>
<p>Pour développer ce jeu, j&#8217;utilise les outils fournit par Microsoft, à savoir Visual Studio 2010, et <a href="http://creators.xna.com/fr-FR/">XNA Game Studio 4 for Windows Phone 7</a>. Avec ce combo, je peux tester mon application sur un simulateur de WP7. Un peu à la manière de ce que l&#8217;on trouve pour le développement sur iPhone.</p>
<p>Comme le concours nécessite un temps de développement court, et que je développe pour l&#8217;instant sur mon temps libre, j&#8217;ai réfléchit à un concept simple et tout à fait adapté au WP7 :</p>
<p>Un Shoot Em Up tactile.</p>
<p>Impressionnant n&#8217;est-il pas ? <img src='http://mygameisrich.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Afin de vous achever voici les deux fonctionnalités de base que je souhaite implémenter :</p>
<ul>
<li>Utiliser l&#8217;écran tactile pour tirer des projectiles (le WP7 gère jusqu&#8217;à 4 points, je ne sais pas si je les utiliserai tous).</li>
<li>Utiliser les accéléromètre pour déplacer le vaisseau.</li>
</ul>
<p>Mais ce n&#8217;est pas tout, je réfléchit à quelques fonctionnalités bonus, qui seront peut être dans l&#8217;application finale :</p>
<ul>
<li>Utiliser le mode landscape du téléphone (lorsque vous le tournez pour que l&#8217;écran soit à l&#8217;horizontal) pour apporter un plus au jeu.</li>
<li>Créer un éditeur de niveaux intégré au jeu ou bien pour Windows. Et avoir la possibilité de partager ses niveaux (soit en exportant, soit sur un serveur web dédié)</li>
</ul>
<p>Je n&#8217;ai pas encore fait de recherche graphique, mais comme je souhaite me focaliser sur le concept de base, je pense m&#8217;en occuper dans un second temps.</p>
<p>Actuellement, le développement en est à ses balbutiements, j&#8217;ai commencé à architecturer le projet en gardant en tête le support (Qui même s&#8217;il est performant reste un appareil mobile) et en le matchant au concept. J&#8217;aurai peut être l&#8217;occasion de vous reparler de l&#8217;architecture du projet dans un prochain article. En tout cas, l&#8217;utilisation de XNA facilite bien des choses.</p>
<p>Pour finir, voici la première image du jeu, ce n&#8217;est pas un triangle noir sur un fond noir, mais ce n&#8217;est guère plus impressionnant :</p>
<div id="attachment_77" class="wp-caption alignnone" style="width: 174px"><a href="http://mygameisrich.com/files/2010/08/14aout2010_1.jpg"><img class="size-medium wp-image-77" title="PointEmUp_14aout2010_1" src="http://mygameisrich.com/files/2010/08/14aout2010_1-164x300.jpg" alt="" width="164" height="300" /></a><p class="wp-caption-text">Première image de PointEmUp</p></div>
<p>Prochainement dans la todo list :</p>
<ul>
<li>Gérer les états de jeu.</li>
<li>Implémenter les projectiles.</li>
<li>Implémenter un vaisseau pour le joueur qui se déplace au clavier</li>
<li>etc &#8230; <img src='http://mygameisrich.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </li>
</ul>
<p>A la prochaine !</p>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">http://msdn.microsoft.com/fr-fr/isv/ff817766.aspx</div>
]]></content:encoded>
			<wfw:commentRss>http://mygameisrich.com/2010/08/14/wp7-pointemup-un-shoot-em-up-tactile/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Les béta-testeurs sont nos amis</title>
		<link>http://mygameisrich.com/2010/04/27/les-beta-testeurs-sont-nos-amis/</link>
		<comments>http://mygameisrich.com/2010/04/27/les-beta-testeurs-sont-nos-amis/#comments</comments>
		<pubDate>Tue, 27 Apr 2010 19:15:29 +0000</pubDate>
		<dc:creator>Paul GILLEN</dc:creator>
				<category><![CDATA[D2P]]></category>
		<category><![CDATA[Projets]]></category>
		<category><![CDATA[Reckless Squad]]></category>
		<category><![CDATA[Stratégie]]></category>

		<guid isPermaLink="false">http://www.mygameisrich.com/?p=70</guid>
		<description><![CDATA[S&#8217;il y a bien une chose que je sais après tout ces mois de développements sur Reckless Squad, c&#8217;est que les béta-testeurs sont nos amis les plus fidèles. En effet, après des mois plongés dans du code, à sortir la &#8230;<p class="read-more"><a href="http://mygameisrich.com/2010/04/27/les-beta-testeurs-sont-nos-amis/">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p>S&#8217;il y a bien une chose que je sais après tout ces mois de développements sur <a title="Reckless Squad" href="http://www.d2p-games.com/category/reckless-squad/">Reckless Squad</a>, c&#8217;est que les béta-testeurs sont nos amis les plus fidèles.</p>
<p>En effet, après des mois plongés dans du code, à sortir la tête que pour le casse croûte ou regarder la game de hockey à la TV, on finit par perdre beaucoup de reculs sur le projet.</p>
<p>Les deux semaines précédentes nous avons donc organisés nos premiers béta-tests en invitant la crème de la crème du monde vidéo ludique, c&#8217;est à dire nos camarades de classes. Il en est ressortit des kilos de ramette de papier remplis à ras bord d&#8217;annotations gribouillées au fil des parties de nos chers joueurs de l&#8217;extrême.</p>
<p>De tout cela, on retire énormément de feedback importants, venant de joueur de tout horizons, les experts de Starcraft et DOTA d&#8217;un côté, et leur manie de cliquer partout, et les joueurs de FPS de l&#8217;autre, qui ne comprennent rien au principe de RTS.</p>
<p>Nous en avons retiré assez d&#8217;information pour faire passer le jeu de bien à bon. Il ne nous reste plus qu&#8217;à mettre la main à la pâte, et à implémenter tout ça dans notre IDE préféré.</p>
<p>Quel beau métier. <img src='http://mygameisrich.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://mygameisrich.com/2010/04/27/les-beta-testeurs-sont-nos-amis/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>On apprend de nos erreurs&#8230;</title>
		<link>http://mygameisrich.com/2009/12/31/on-apprend-de-nos-erreurs/</link>
		<comments>http://mygameisrich.com/2009/12/31/on-apprend-de-nos-erreurs/#comments</comments>
		<pubDate>Thu, 31 Dec 2009 00:15:44 +0000</pubDate>
		<dc:creator>Paul GILLEN</dc:creator>
				<category><![CDATA[Projets]]></category>

		<guid isPermaLink="false">http://www.mygameisrich.com/?p=62</guid>
		<description><![CDATA[Si vous avez lu ce blog depuis son premier article -ce qui ne vous prendra pas tant de temps que cela- vous aurez remarqué que dans le cadre de D2P Games, nous avons travaillé sur au moins deux projets différents. &#8230;<p class="read-more"><a href="http://mygameisrich.com/2009/12/31/on-apprend-de-nos-erreurs/">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p>Si vous avez lu ce blog depuis son premier article -ce qui ne vous prendra pas tant de temps que cela- vous aurez remarqué que dans le cadre de D2P Games, nous avons travaillé sur au moins deux projets différents.</p>
<p>Bien que l&#8217;erreur la plus visible semble être le fait d&#8217;avoir annoncé ce sur quoi nous travaillions bien trop tôt, j&#8217;ai appris au fur et à mesure de nos expériences que ce n&#8217;était que la partie immergé de l&#8217;iceberg et qu&#8217;on aurait préféré le couler</p>
<p>Pour éviter des erreurs dans le futurs, nous avons choisit d&#8217;établir des règles afin de choisir le bon jeu sur lequel travailler. Ces règles, nous les avons empruntés à de grands créateurs qui n&#8217;hésitent pas à partager leur savoir faire dans des articles ou des interviews. Dri est d&#8217;ailleurs devenu un expert dans la recherche d&#8217;articles intéressants. Gamasutra est définitivement la source la plus prolifique. C&#8217;est sur Gamasutra d&#8217;ailleurs qu&#8217;est apparu aujourd&#8217;hui un article tout simplement excellent d&#8217;<a title="Edmund McMillen" href="http://en.wikipedia.org/wiki/Edmund_McMillen">Edmund McMillen</a> qui présente 24 commandements à suivre pour être un parfait créateur indépendant.</p>
<p>Grâce à ce travail de remise en question permanent, nous avons pu et dû changer ou mettre de côté plusieurs fois ce sur quoi nous travaillions. Bien entendu rien n&#8217;est perdu : plusieurs idées que nous avons eu ne sont pas mauvaises, mais nous avons été obligé des les abandonner car nous ne pouvions pas les concrétiser, soit par manque de temps, soit par manque de moyens.</p>
<p>Malgré toutes ces règles impitoyables,  nous avons finalement trouvé une idée qui corresponde à nos critères, et nous vous en reparlerons en temps voulu sur le <a title="D2P-Games" href="http://www.d2p-games.com">site officiel</a> ! <img src='http://mygameisrich.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://mygameisrich.com/2009/12/31/on-apprend-de-nos-erreurs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Création de D2P Games</title>
		<link>http://mygameisrich.com/2009/12/31/creation-de-d2p-games/</link>
		<comments>http://mygameisrich.com/2009/12/31/creation-de-d2p-games/#comments</comments>
		<pubDate>Wed, 30 Dec 2009 22:24:31 +0000</pubDate>
		<dc:creator>Paul GILLEN</dc:creator>
				<category><![CDATA[D2P]]></category>
		<category><![CDATA[Vie du blog]]></category>
		<category><![CDATA[Entrepreneuriat]]></category>

		<guid isPermaLink="false">http://www.mygameisrich.com/?p=60</guid>
		<description><![CDATA[Cela fait quelques jours déjà,  plus exactement depuis le 15 décembre, que mes collègues et moi avons créé la société D2P Games*. Nous devenons ainsi officiellement créateur indépendants de jeux vidéos ! C&#8217;est une très grande étape pour nous, elle &#8230;<p class="read-more"><a href="http://mygameisrich.com/2009/12/31/creation-de-d2p-games/">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p>Cela fait quelques jours déjà,  plus exactement depuis le 15 décembre, que mes collègues et moi avons créé la société D2P Games*.</p>
<p>Nous devenons ainsi officiellement créateur indépendants de jeux vidéos !</p>
<p>C&#8217;est une très grande étape pour nous, elle marque le début d&#8217;une grande aventure, qui je l&#8217;espère sera belle et trépidante !</p>
<p>Pour nous suivre, rien de plus simple, nous avons mit à votre disposition <a title="D2P-Games" href="http://www.d2p-games.com">un site web</a>, une page <a title="Facebook D2P Games" href="http://www.facebook.com/pages/D2P-Games/230538136411">Facebook</a>, et même un fil <a title="Tweeter D2P Games" href="http://twitter.com/D2P_Games">Tweeter</a>.</p>
<p>Mon blog devrait repartir de plus belle, puisque je posterai dessus les traductions en français des articles postés sur le site officiel, ainsi que de nouveaux articles sur la création de jeux vidéo grâce à l&#8217;expérience que je vais acquérir tout au long des mois de création qui nous attendent.</p>
<p>Merci de nous suivre ! <img src='http://mygameisrich.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>* Petite anecdote : Au Québec, le nom de toutes les sociétés doit obligatoirement être traduit en français, notre société s&#8217;appelle donc à la fois D2P Games et à la fois Jeux D2P.</p>
]]></content:encoded>
			<wfw:commentRss>http://mygameisrich.com/2009/12/31/creation-de-d2p-games/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Premier projet de la D2P Team : Un Point&amp;Click !</title>
		<link>http://mygameisrich.com/2009/07/05/premier-projet-de-la-d2p-team-un-pointclick/</link>
		<comments>http://mygameisrich.com/2009/07/05/premier-projet-de-la-d2p-team-un-pointclick/#comments</comments>
		<pubDate>Sun, 05 Jul 2009 16:17:00 +0000</pubDate>
		<dc:creator>Paul GILLEN</dc:creator>
				<category><![CDATA[Projets]]></category>
		<category><![CDATA[Japonais]]></category>
		<category><![CDATA[Manga-Anime]]></category>
		<category><![CDATA[PointClick]]></category>

		<guid isPermaLink="false">http://www.mygameisrich.com/?p=52</guid>
		<description><![CDATA[Après quelques brainstorming rondement menés, la D2P Team a enfin choisit ce sur quoi elle allait travailler dans les prochains mois. Le choix ne fût pas facile, nous étions même prêts à partir sur quelque chose de totalement opposé il y a quelques semaines...Finalement, tel un fil d'or sur une soupe de truffe, l'idée nous est venu : Un Point&#38;Click !<br /><p class="read-more"><a href="http://mygameisrich.com/2009/07/05/premier-projet-de-la-d2p-team-un-pointclick/">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p>Après quelques brainstorming rondement menés, la D2P Team a enfin choisit ce sur quoi elle allait travailler dans les prochains mois. Le choix ne fût pas facile, nous étions même prêts à partir sur quelque chose de totalement opposé il y a quelques semaines&#8230;Finalement, tel un fil d&#8217;or sur une soupe de truffe, l&#8217;idée nous est venu : Un Point&amp;Click !<br />
<span id="more-52"></span></p>
<p>Si vous avez suivi ce blog ou celui d&#8217;<a href="http://www.planet-dev.com/">Aranoth/Dri</a> récemment, quelque chose a du vous faire réagir dans l&#8217;extrait de cette note. En effet, il y a quelques semaines, nous vous annoncions que nous étions en train de commencer à travailler sur un jeu Web, et plus précisément un Shoot&#8217;em up. Seulement un soir, après avoir été faire ma prière devant le site officiel de <a href="http://www.worldofmi.com/">Tales of Monkey Island</a>, une idée m&#8217;est venu.</p>
<p><a href="http://img.jeuxvideo.fr/02142348-photo-tales-of-monkey-island.jpg"><img style="width: 450px;height: 252px" alt="" src="http://img.jeuxvideo.fr/02142348-photo-tales-of-monkey-island.jpg" /></a></p>
<p> <code>Tales of Monkey Island par Telltale Games</code>
<p>Je ne pensais pas alors qu&#8217;en postant un petit descriptif de 3 lignes dans notre boite à idée, l&#8217;équipe serait aussi enthousiaste. Finalement, après quelques discussions, nous abandonnions le Shoot&#8217;em up pour nous lancer sur les voies du Point&amp;Click !</p>
<p>Un choix que beaucoup ne jugeraient pas judicieux, mais qui me paraît être un des plus intéressants à l&#8217;heure actuelle. En effet, il est coutume de nos jours de faire passer le visuel avant l&#8217;interaction et de titiller d&#8217;avantage les réflexes du joueur plutôt que de faire travailler sa réflexion et de l&#8217;impliquer dans l&#8217;action. </p>
<p>L&#8217;avantage du Point&amp;Click est qu&#8217;il est basé sur l&#8217;interaction : Pour avancer dans l&#8217;histoire, le joueur doit utiliser donner des ordres à son personnage à l&#8217;aide d&#8217;une liste de verbes (Marcher, Prendre, Utiliser, Parler&#8230;). Il n&#8217;est plus question de progresser grâce aux nombres de plombs que nous plaçons entre les deux yeux d&#8217;un monstre, mais grâce aux actions que le joueur semble judicieuses. Bien entendu, l&#8217;essentiel des P&amp;C d&#8217;hier et d&#8217;aujourd&#8217;hui sont &#8220;scriptés&#8221;, ils ne laissent pas place à de nombreuses libertés, peut-être que nous travaillerons dans le futur à changer cet état de fait !</p>
<p><a href="http://images.bit-tech.net/content_images/2007/02/sam_and_max_culture_shock/sam5_large.jpg"><img style="width: 451px;height: 338px" alt="" src="http://images.bit-tech.net/content_images/2007/02/sam_and_max_culture_shock/sam5_large.jpg" /></a></p>
<p> <code>Sam &amp; Max par Telltale Games</code>
<p>Après ce constat, je vais vous parler très brièvement de ce sur quoi nous nous lançons. Le but était de créer une œuvre originale à partir d&#8217;un Gameplay rodé. L&#8217;idée que j&#8217;ai présenté était très simple, mélanger &#8220;l&#8217;école Américaine&#8221; du P&amp;C (<a href="http://fr.wikipedia.org/wiki/LucasArts">Lucas Arts</a>, <a href="http://fr.wikipedia.org/wiki/Sierra_On-Line">Sierra</a>, <a href="http://fr.wikipedia.org/wiki/Telltale_Games">Telltale Games</a>) avec &#8220;l&#8217;école Japonaise&#8221; du Visual Novel. Grâce à ce mélange hétéroclite, nous pouvons combler les lacunes de chacun des styles.</p>
<p>D&#8217;un côté le P&amp;C n&#8217;a jamais touché à l&#8217;univers Manga/Animé, il s&#8217;est toujours développé autour d&#8217;un univers et d&#8217;une vision très occidentale du monde, cela m&#8217;a parut assez aberrant tant la mise en scène et le Gameplay me paraissent excellent.</p>
<p>De l&#8217;autre côté, j&#8217;ai toujours trouvé que le Visual Novel manquait de profondeur, les décors sont souvent plats et la plupart du temps masqués par des personnages apparaissant au premier plan (Voir <a href="http://www.myds.com.au/img/game/large/Phoenix-Wright--Ace-Attorney-Trials-and-Tribulatio-8.jpg">Phoenix Wright</a>).&nbsp;</p>
<p><img alt="" src="http://img.jeuxvideo.fr/01781004-photo-professeur-layton-et-l-etrange-village.jpg" /></p>
<p> <code><code>Professeur Layton et l'étrange village par Level-5</code> </code>
<p>Un autre défaut du Visual Novel est la façon dont le joueur interagit avec le jeu. Dans la plupart des VN, le joueur doit seulement pointer les éléments qui paraissent important à l&#8217;écran (<a href="http://fr.wikipedia.org/wiki/Professeur_Layton_et_l%27%C3%89trange_village">Professeur Layton</a> ou <a href="http://fr.wikipedia.org/wiki/Phoenix_Wright">Phoenix Wright</a>). Je trouve dommage de limiter le Gameplay du jeu à un détournement de &#8220;<a href="http://www.westga.edu/%7Ejgrant/1102/Where%20is%20Waldo.JPG">Ou est Charlie</a>&#8220;. Néanmoins, les Visual Novel possèdent un atout important, leur style graphique et narratif : un concentré de culture Asiatique !</p>
<p><img style="width: 255px;height: 383px" alt="" src="http://kyosukenobaka.free.fr/img/knb/phoenix_wright_ace_attorney_2.jpg" /></p>
<p> <code>Phoenix Wright : Ace Attorney par Capcom</code>
<p>Vous l&#8217;aurez peut être comprit, notre but va être d&#8217;appliquer les codes du P&amp;C à un univers Japonais, dans un style (graphique et narratif) très Manga/Anime.</p>
<p>Pour l&#8217;instant, vous n&#8217;en saurez pas plus, je n&#8217;ai pas beaucoup de détail supplémentaires à vous donner. Néanmoins, à chaque palier que nous franchirons dans le développement du jeu, vous en serez les premiers informés au travers de ce blog ! D&#8217;ici là, si vous avez des questions à propos du projet, je vous répondrai avec plaisir <img src='http://mygameisrich.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Bon jeu !</p>
]]></content:encoded>
			<wfw:commentRss>http://mygameisrich.com/2009/07/05/premier-projet-de-la-d2p-team-un-pointclick/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Quasi officialisation de la D2P Team</title>
		<link>http://mygameisrich.com/2009/06/02/quasi-officialisation-de-la-d2p-team/</link>
		<comments>http://mygameisrich.com/2009/06/02/quasi-officialisation-de-la-d2p-team/#comments</comments>
		<pubDate>Tue, 02 Jun 2009 15:38:00 +0000</pubDate>
		<dc:creator>Paul GILLEN</dc:creator>
				<category><![CDATA[D2P]]></category>
		<category><![CDATA[Entrepreneuriat]]></category>
		<category><![CDATA[Uniscript]]></category>

		<guid isPermaLink="false">http://www.mygameisrich.com/?p=15</guid>
		<description><![CDATA[<p>C'est un petit pas pour D2P, mais un grand pas pour l'humanité ! (oui rien que ça).</p> <p>D2P c'est l'acronyme de Dax Dri Paul, un mélange de pseudos et prénoms de trois élèves en école informatique qui ont pour rêve de devenir créateurs de jeux vidéos. Plus ou moins organisés jusqu'à présent, nous avons voulu il y a peu concrétiser notre rêve. Aujourd'hui une des toutes premières étapes vient d'etre franchie.</p><p class="read-more"><a href="http://mygameisrich.com/2009/06/02/quasi-officialisation-de-la-d2p-team/">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p>C&#8217;est un petit pas pour D2P, mais un grand pas pour l&#8217;humanité ! (oui rien que ça).</p>
<p>D2P c&#8217;est l&#8217;acronyme de Dax Dri Paul, un mélange de pseudos et prénoms de trois élèves en école informatique qui ont pour rêve de devenir créateurs de jeux vidéos. Plus ou moins organisés jusqu&#8217;à présent, nous avons voulu il y a peu concrétiser notre rêve. Aujourd&#8217;hui une des toutes premières étapes vient d&#8217;etre franchie.</p>
<p><span id="more-15"></span></p>
<p>Depuis hier nous avons en effet ouvert un dépôt <a href="http://fr.wikipedia.org/wiki/Subversion_%28logiciel%29">SVN</a> dédié à la création de jeux à but lucratif. Alors oui pour l&#8217;instant c&#8217;est une étape plutôt anecdotique, mais c&#8217;est quand même le tremplin que j&#8217;attendais.</p>
<p>Pour débuter sur de bonnes bases, nous sommes dors et déjà en train de développer les outils nécessaire à la création de nos futurs jeux, et en particulier <a href="http://www.planet-dev.com/">Dri</a> qui travail sur plusieurs choses totalement énorme. L&#8217;un des outils dont nous allons sans doute nous servir en premier s&#8217;appelle Uniscript. Sans entrer dans les détails, c&#8217;est un langage de script interprété crée de A à Z par Dri, et qui va nous permettre -entre autres choses- de créer des jeux portables sur plusieurs plateforme et technologies.</p>
<p>Notre premier projet quant à lui sera un jeu web, qui va nous permettre d&#8217;une part d&#8217;améliorer Uniscript, et d&#8217;autre part de nous familiariser avec le business du jeu vidéo. Nous ne prenons pas les choses à la légère, nous partons avec un investissement faible, nous nous devons donc de faire les choses à la perfection afin de paraître crédible. Business Plan, Outils Adapté, Game Design Documents Clairs, Cahiers des charges, voila une partie de ce qui nous attend avant de démarrer le développement de notre premier jeu.</p>
<p> Si tout va bien, nous publierons le premier jeu estampillé D2P d&#8217;ici l&#8217;année prochaine. Gardez l&#8217;œil ouvert ! <img src='http://mygameisrich.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://mygameisrich.com/2009/06/02/quasi-officialisation-de-la-d2p-team/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

