<?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>boreal | devblog</title>
	<atom:link href="https://eboreal.com/devblog/author/borealadm/feed/" rel="self" type="application/rss+xml" />
	<link>https://eboreal.com/devblog</link>
	<description></description>
	<lastBuildDate>Fri, 18 Nov 2022 06:56:39 +0000</lastBuildDate>
	<language>fr-FR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	
	<item>
		<title>The Firewall V3 &#8211; évolution des défenses</title>
		<link>https://eboreal.com/devblog/the-firewall-v3-evolution-des-defenses/</link>
		
		<dc:creator><![CDATA[boreal]]></dc:creator>
		<pubDate>Sun, 10 Jan 2021 18:36:16 +0000</pubDate>
				<category><![CDATA[A la une]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[Jeux]]></category>
		<category><![CDATA[The Firewall - Tower Defense]]></category>
		<guid isPermaLink="false">http://eboreal.com/devblog/?p=3465</guid>

					<description><![CDATA[]]></description>
										<content:encoded><![CDATA[<div class="et_pb_section et_pb_section_0 et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_row et_pb_row_0">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_0  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_0  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p>Dans un tower defense, les évolutions se font en deux temps.</p></div>
			</div>
			</div>
				
				
				
				
			</div><div class="et_pb_row et_pb_row_1">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_1  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_1  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><h2>Evolution entre les niveaux</h2>
<p>Entre chaque niveau, les défenses peuvent être améliorées. Ces améliorations sont permanentes et peuvent servir à rejouer des niveaux antérieurs qui n&rsquo;ont pas été passés de manière satisfaisante.</p>
<p>Les amélorations sont :</p>
<ul>
<li>La puissance du processeur, ce qui diminue le temps de traitement d&rsquo;un paquet</li>
<li>La taille d&rsquo;un emplacement mémoire, ce qui augmente la taille pour la mise en attente des paquets</li>
<li>le nombre maximum de processeurs</li>
<li>le nombre maximum d&#8217;emplacements mémoire</li>
</ul></div>
			</div>
			</div>
				
				
				
				
			</div><div class="et_pb_row et_pb_row_2">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_2  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_2  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><h2>Evolutions pendant le jeu du niveau</h2>
<p>Au cours du niveau le joueur à la possibilité de faire évoluer ses défenses en payant. les défenses achetées sont toujours le modèle de base avec un processeur et un emplacement mémoire.<br /> Les évolutions sont :</p>
<ul>
<li>Augemtation du nombre d&#8217;emplacements mémoire pour pouvoir stocker les packets qui ne peuvent pas être traités tout de suite</li>
<li>Augmentation du nombre de processeurs pour pouvoir traiter plusieurs paquets en parallèle</li>
</ul>
<p>Les nombres d&#8217;emplacements mémoire et de processeurs sont limités par les capacités qui vont augmenter au cours du temps par les améliorations de fond entre les niveaux.</p></div>
			</div>
			</div>
				
				
				
				
			</div><div class="et_pb_row et_pb_row_3">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_3  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_3  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><h2>Comment sont payées les améliorations entre les niveaux</h2>
<p>Habituellement un système de gemmes sert aux payments des évolutions entre les niveaux. Ces gemmes sont obtenues en fonction du résultat du niveau que l&rsquo;on vient de passer. Un système de micro-paiement permet aussi d&rsquo;otenir des gemmes, ce qui ne sera pas retenu dans ce jeu.</p>
<p>Dans <em>The Firewall</em>, le joueur va aquérir de l&rsquo;expérience qui sera arrondie en niveaux. Le changement de niveau permettra d&rsquo;obtenir des points qui seront utilisés pour faire évoluer les spécifications de base des défenses.</p></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>The Firewall v3 &#8211; Réflexions sur les mécaniques du jeu</title>
		<link>https://eboreal.com/devblog/the-firewall-v3-reflexions-sur-les-mecaniques-du-jeu/</link>
		
		<dc:creator><![CDATA[boreal]]></dc:creator>
		<pubDate>Mon, 04 Jan 2021 12:35:13 +0000</pubDate>
				<category><![CDATA[A la une]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[Jeux]]></category>
		<category><![CDATA[The Firewall - Tower Defense]]></category>
		<guid isPermaLink="false">http://eboreal.com/devblog/?p=3423</guid>

					<description><![CDATA[]]></description>
										<content:encoded><![CDATA[<div class="et_pb_section et_pb_section_1 et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_row et_pb_row_4">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_4  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_4  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><h2>Les principes de base</h2></div>
			</div><div class="et_pb_module et_pb_text et_pb_text_5  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p>La mécanique du jeu est basée du le déplacement et le traitement de paquets réseau. Ces paquets ont une source et une destination globale, ils traversent aussi des défenses.</p></div>
			</div><div class="et_pb_module et_pb_text et_pb_text_6  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p>Pour chaque niveau la vitesse de déplacement des paquets peut être différente (à tester) en fonction du type de réseau. Normalement c&rsquo;est plus le débit des paquets qui varie, mais pour un jeu je trouve acceptable de faire une entorse à la réalité et de faire varier la vitesse pour simuler des réseaux dits « plus rapides » au fur et à mesure que les niveaux progressent.</p></div>
			</div>
			</div>
				
				
				
				
			</div><div class="et_pb_row et_pb_row_5">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_5  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_7  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><h2>Sources et destinations des paquets réseau</h2></div>
			</div><div class="et_pb_module et_pb_text et_pb_text_8  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p>Les paquets vont se déplacer du « monde extérieur » c&rsquo;est à dire l&rsquo;Internet, vers les serveurs ou le réseau local.<br />Le réseau local (toujours présent sur les niveaux ?) est soit le réseau du domicile dans les premiers niveaux, soir le réseau d&rsquo;entreprise.<br />Les serveurs vont traiter les paquets reçus, et émettre d&rsquo;autres paquets.</p></div>
			</div>
			</div>
				
				
				
				
			</div><div class="et_pb_row et_pb_row_6">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_6  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_9  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><h2>Flux de paquets réseau</h2></div>
			</div><div class="et_pb_module et_pb_text et_pb_text_10  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><ul>
<li>Réseau local vers Internet : les paquets sont émis depuis le réseau local, Internet émet des paquets en réponse (des messages non-sollicités peuvent quand même être envoyés depuis internet vers le réseau local mais avec une fréquence rare, par contre ce sera souvent des attaques)</li>
<li>Serveur mail vers Internet : les paquets sont émis aléatoirement dans chaque direction</li>
<li>Serveur application vers Internet : les paquets sont émis depuis Internet et le serveur répond si il peut</li>
</ul></div>
			</div>
			</div>
				
				
				
				
			</div><div class="et_pb_row et_pb_row_7">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_7  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_11  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><h2>Indicateurs</h2></div>
			</div><div class="et_pb_module et_pb_text et_pb_text_12  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p>Pour l&rsquo;instant deux indicateurs sont prévus :</p>
<ul>
<li>l&rsquo;argent</li>
<li>la réputation</li>
</ul></div>
			</div>
			</div>
				
				
				
				
			</div><div class="et_pb_row et_pb_row_8">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_8  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_13  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><h2>L&rsquo;argent</h2></div>
			</div><div class="et_pb_module et_pb_text et_pb_text_14  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p>L&rsquo;agent sert à :</p>
<ul>
<li>acheter des défenses (et peut-être aussi des serveurs)</li>
<li>faire évoluer les défenses (évolutions matérielles et logicielles)</li>
<li>acheter du marketing pour augmenter la réputation</li>
</ul>
<p>L&rsquo;argent s&rsquo;obtient :</p>
<ul>
<li>au début de chaque niveau une somme est allouée (peut dépendre du scénario)</li>
<li>en ayant des messages qui font l&rsquo;aller-retour entre Internet et les serveurs d&rsquo;application (voir la section sur les serveurs)</li>
</ul></div>
			</div>
			</div>
				
				
				
				
			</div><div class="et_pb_row et_pb_row_9">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_9  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_15  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><h2>La réputation</h2></div>
			</div><div class="et_pb_module et_pb_text et_pb_text_16  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p>La réputation est l&rsquo;indicateur qui va servir aux objectifs de chaque niveau.</p>
<ul>
<li>La réputation va augmenter avec la notoriété du site, avec le nombre d&rsquo;échanges sur tous les types de réseaux (lan, mail et application), avec les campagnes de marketing.</li>
<li>La réputation va diminuer en cas d&rsquo;incidents de sécurité, en cas d&rsquo;émission de spam ou de virus quand un serveur est infecté, en cas de diminution de trafic ou de paquets sans réponse.</li>
</ul></div>
			</div>
			</div>
				
				
				
				
			</div><div class="et_pb_row et_pb_row_10">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_10  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_17  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><h2>Les serveurs</h2></div>
			</div><div class="et_pb_module et_pb_text et_pb_text_18  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p>Les serveurs sont des extrémités de réseau avec une certaine capacité de traitement des messages.</p>
<p>Cette capacité de traitement dépend de 3 facteurs :</p>
<ul>
<li>le nombre de processeurs (CPU) pour le traitement en parallèle des paquets</li>
<li>la puissance des processeurs pour le temps de traitement de chaque paquet</li>
<li>la quantité de mémoire pour stocker les paquets en attente de traitement quand tous les processeurs sont utilisés</li>
</ul>
<p>Les types de serveurs sont les suivants :</p>
<ul>
<li>Les serveurs mails</li>
</ul>
<p style="padding-left: 60px;">Les serveurs mails permettent d&rsquo;envoyer et de recevoir des emails, de relayer les campagnes de marketing pour augmenter la réputation, mais aussi de transmettre des virus et spam si les serveurs venaient à être infectés.</p>
<ul>
<li>Les serveurs applicatifs
<ul>
<li>ecommerce : paiement à l&rsquo;échange de message</li>
<li>site web : paiement sur la publicité et les abonnements</li>
<li>autres applications SAAS : paiement sur les abonnements</li>
</ul>
</li>
</ul></div>
			</div>
			</div>
				
				
				
				
			</div><div class="et_pb_row et_pb_row_11">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_11  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_19  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><h2>Le réseau LAN</h2></div>
			</div><div class="et_pb_module et_pb_text et_pb_text_20  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p>Le réseau LAN, permet aux employés de communiquer avec le monde extérieur à travers Internet. les échanges sont initiés depuis l&rsquo;intérieur vers Internet avec des réponses associées. Les paquets échangés contribuent à la réputation.</p></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>The Firewall V3 &#8211; premières images</title>
		<link>https://eboreal.com/devblog/the-firewall-v3-premieres-images/</link>
		
		<dc:creator><![CDATA[boreal]]></dc:creator>
		<pubDate>Sun, 27 Dec 2020 20:51:39 +0000</pubDate>
				<category><![CDATA[Jeux]]></category>
		<category><![CDATA[The Firewall - Tower Defense]]></category>
		<category><![CDATA[Vidéos]]></category>
		<guid isPermaLink="false">http://eboreal.com/devblog/?p=3409</guid>

					<description><![CDATA[]]></description>
										<content:encoded><![CDATA[]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>The Firewall V3 &#8211; Reprise du projet</title>
		<link>https://eboreal.com/devblog/the-firewall-ca-recommence/</link>
		
		<dc:creator><![CDATA[boreal]]></dc:creator>
		<pubDate>Sun, 27 Dec 2020 20:39:43 +0000</pubDate>
				<category><![CDATA[A la une]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[Jeux]]></category>
		<category><![CDATA[The Firewall - Tower Defense]]></category>
		<guid isPermaLink="false">http://eboreal.com/devblog/?p=3394</guid>

					<description><![CDATA[]]></description>
										<content:encoded><![CDATA[<p><div class="et_pb_section et_pb_section_2 et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_row et_pb_row_12">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_12  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_21  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><h2>Un nouveau départ</h2>
<p>Quelques années plus tard&#8230; je reprends pour la troisième fois (V3) ce jeu avec un nouveau visuel. C&rsquo;est le retour de la 2D, la 3D ne m&rsquo;a pas convaincu, je n&rsquo;ai pas été capable de produire quelque chose de correct et ça m&rsquo;a démotivé. Non pas que je n&rsquo;ai rien fait ces dernières années, même si je n&rsquo;ai pas publié ici, j&rsquo;ai fait, entre autres, un jeu de course de voiture multi-joueurs en tour par tour (voir <a href="/devblog/liste-des-jeux">la liste des jeux</a>).</div>
			</div>
			</div>
				
				
				
				
			</div><div class="et_pb_row et_pb_row_13">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_13  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_22  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><h2>Un nouveau visuel</h2>
<p>Voici une version de test du nouveau visuel (sans les défenses). C&rsquo;est un niveau relativement avancé, qui me permet de développer les principes de jeu avant de créer les autres niveaux et le scénario qui va servir de trame au jeu.</p></div>
			</div>
			</div>
				
				
				
				
			</div><div class="et_pb_row et_pb_row_14">
				<div class="et_pb_column et_pb_column_2_5 et_pb_column_14  et_pb_css_mix_blend_mode_passthrough">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_23  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p>On peut voir 3 chemins ; en haut l&rsquo;accès au serveur de mails (messages jaunes), au milieu l&rsquo;accès au réseau local d&rsquo;entreprise (messages bleus) et en bas l&rsquo;accès au serveur d&rsquo;e-commerce (messages verts).</p>
<p>Il est prévu de mettre un module de filtrage (firewall) au début pour séparer les flux et filtrer les messages qui ne sont pas reconnus (en gris).</p></div>
			</div>
			</div><div class="et_pb_column et_pb_column_3_5 et_pb_column_15  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_image et_pb_image_0">
				
				
				
				
				<a href="https://eboreal.com/devblog/wp-content/uploads/2020/12/Capture-decran-2020-12-27-200648.png" class="et_pb_lightbox_image" title="" data-rel="lightbox-gallery-AhIpAEAl" data-rl_title="" data-rl_caption=""><span class="et_pb_image_wrap "><img fetchpriority="high" decoding="async" width="1921" height="1078" src="https://eboreal.com/devblog/wp-content/uploads/2020/12/Capture-decran-2020-12-27-200648.png" alt="" title="Capture d’écran 2020-12-27 200648" srcset="https://eboreal.com/devblog/wp-content/uploads/2020/12/Capture-decran-2020-12-27-200648.png 1921w, https://eboreal.com/devblog/wp-content/uploads/2020/12/Capture-decran-2020-12-27-200648-300x168.png 300w, https://eboreal.com/devblog/wp-content/uploads/2020/12/Capture-decran-2020-12-27-200648-1024x575.png 1024w, https://eboreal.com/devblog/wp-content/uploads/2020/12/Capture-decran-2020-12-27-200648-768x431.png 768w, https://eboreal.com/devblog/wp-content/uploads/2020/12/Capture-decran-2020-12-27-200648-1536x862.png 1536w, https://eboreal.com/devblog/wp-content/uploads/2020/12/Capture-decran-2020-12-27-200648-1080x606.png 1080w" sizes="(max-width: 1921px) 100vw, 1921px" class="wp-image-3398" /></span></a>
			</div>
			</div>
				
				
				
				
			</div><div class="et_pb_row et_pb_row_15">
				<div class="et_pb_column et_pb_column_2_5 et_pb_column_16  et_pb_css_mix_blend_mode_passthrough">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_24  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p>Les messages, les différentes défenses et les serveurs ont été créés avec Inkscape en utilisant des icones provenant du site <a href="https://www.flaticon.com/" title="Flaticon">www.flaticon.com</a> (voir les auteurs).</p></div>
			</div>
			</div><div class="et_pb_column et_pb_column_3_5 et_pb_column_17  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_image et_pb_image_1">
				
				
				
				
				<a href="https://eboreal.com/devblog/wp-content/uploads/2020/12/Capture-decran-2020-12-27-200909.png" class="et_pb_lightbox_image" title="" data-rel="lightbox-gallery-AhIpAEAl" data-rl_title="" data-rl_caption=""><span class="et_pb_image_wrap "><img loading="lazy" decoding="async" width="1330" height="740" src="https://eboreal.com/devblog/wp-content/uploads/2020/12/Capture-decran-2020-12-27-200909.png" alt="" title="Capture d’écran 2020-12-27 200909" srcset="https://eboreal.com/devblog/wp-content/uploads/2020/12/Capture-decran-2020-12-27-200909.png 1330w, https://eboreal.com/devblog/wp-content/uploads/2020/12/Capture-decran-2020-12-27-200909-300x167.png 300w, https://eboreal.com/devblog/wp-content/uploads/2020/12/Capture-decran-2020-12-27-200909-1024x570.png 1024w, https://eboreal.com/devblog/wp-content/uploads/2020/12/Capture-decran-2020-12-27-200909-768x427.png 768w, https://eboreal.com/devblog/wp-content/uploads/2020/12/Capture-decran-2020-12-27-200909-1080x601.png 1080w" sizes="(max-width: 1330px) 100vw, 1330px" class="wp-image-3404" /></span></a>
			</div>
			</div>
				
				
				
				
			</div><div class="et_pb_row et_pb_row_16">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_18  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_25  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><h2>Nouveaux principes ?</h2>
<p>Il n&rsquo;y a pas de nouveauté par rapport à ce que <a href="/devblog/the-firewall-tower-defense-presentation">j&rsquo;avais prévu il y a 4 ans</a> (déjà). Mais si j&rsquo;arrive à avancer, le gameplay évoluera sûrement.</div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>The Firewall &#8211; changement de gameplay et nouveautés</title>
		<link>https://eboreal.com/devblog/the-firewall-changement-de-gameplay-et-nouveautes/</link>
		
		<dc:creator><![CDATA[boreal]]></dc:creator>
		<pubDate>Sat, 11 Mar 2017 19:49:11 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Jeux]]></category>
		<category><![CDATA[The Firewall - Tower Defense]]></category>
		<guid isPermaLink="false">http://eboreal.com/devblog/?p=3350</guid>

					<description><![CDATA[]]></description>
										<content:encoded><![CDATA[<p><div class="et_pb_section et_pb_section_3 et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_row et_pb_row_17">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_19  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_26  et_pb_text_align_center et_pb_bg_layout_dark">
				
				
				
				
				<div class="et_pb_text_inner"><div class=" et_pb_row et_pb_row_0">
<div class="et_pb_column et_pb_column_4_4 et_pb_column_0">
<div class="et_pb_text et_pb_module et_pb_bg_layout_light et_pb_text_align_left et_pb_text_0">
<h1 style="text-align: center;">Une Nouvelle Version</h1>
</div>
</div>
</div></div>
			</div><div class="et_pb_module et_pb_text et_pb_text_27  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner">Faire un jeu c&rsquo;est aussi accepter de se tromper. Pour ma part quand je commence un jeu, j&rsquo;ai une bonne idée dans ma tête de ce que je veux faire. Le type de jeu,  la progression, la façon de jouer, des challenges.</p>
<p>Je commence par faire un ou plusieurs niveaux, qui ne seront pas forcement les premiers niveaux, qui représentent à peu près la façon de jouer. Bien sûr je teste et je fais tester à mon entourage ces premiers niveaux. Dans le jeu actuel, le parti pris de rester très réaliste a un peu nuit au rythme du jeu. Je me suis aussi rendu compte que je m&rsquo;étais pas mal éloigné du concept et surtout des codes du « tower defense ».</p>
<p>Quand je me rends compte que ça ne « fonctionne pas », et bien je teste autre chose&#8230;</p>
<p>&nbsp;</div>
			</div>
			</div>
				
				
				
				
			</div><div class="et_pb_row et_pb_row_18">
				<div class="et_pb_column et_pb_column_1_2 et_pb_column_20  et_pb_css_mix_blend_mode_passthrough">
				
				
				
				
				<div class="et_pb_module et_pb_image et_pb_image_2">
				
				
				
				
				<a href="https://eboreal.com/devblog/wp-content/uploads/2017/02/level1.jpg" class="et_pb_lightbox_image" title="" data-rel="lightbox-gallery-qQifc5RS" data-rl_title="" data-rl_caption=""><span class="et_pb_image_wrap "><img loading="lazy" decoding="async" width="640" height="480" src="https://eboreal.com/devblog/wp-content/uploads/2017/02/level1.jpg" alt="" title="Version précédente avec le firewall en coupure" srcset="https://eboreal.com/devblog/wp-content/uploads/2017/02/level1.jpg 640w, https://eboreal.com/devblog/wp-content/uploads/2017/02/level1-300x225.jpg 300w" sizes="(max-width: 640px) 100vw, 640px" class="wp-image-3336" /></span></a>
			</div><div class="et_pb_module et_pb_text et_pb_text_28  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><em>Version précédente avec le firewall en coupure</em></div>
			</div>
			</div><div class="et_pb_column et_pb_column_1_2 et_pb_column_21  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_image et_pb_image_3">
				
				
				
				
				<a href="https://eboreal.com/devblog/wp-content/uploads/2017/03/IMG_1975.jpg" class="et_pb_lightbox_image" title="" data-rel="lightbox-gallery-qQifc5RS" data-rl_title="" data-rl_caption=""><span class="et_pb_image_wrap "><img loading="lazy" decoding="async" width="800" height="600" src="https://eboreal.com/devblog/wp-content/uploads/2017/03/IMG_1975.jpg" alt="Version courante avec le serveur en place et le réseau fonctionnel dès le début" title="" srcset="https://eboreal.com/devblog/wp-content/uploads/2017/03/IMG_1975.jpg 800w, https://eboreal.com/devblog/wp-content/uploads/2017/03/IMG_1975-300x225.jpg 300w, https://eboreal.com/devblog/wp-content/uploads/2017/03/IMG_1975-768x576.jpg 768w" sizes="(max-width: 800px) 100vw, 800px" class="wp-image-3357" /></span></a>
			</div><div class="et_pb_module et_pb_text et_pb_text_29  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><em>Version courante avec le serveur en place et le réseau fonctionnel dès le début</em></div>
			</div>
			</div>
				
				
				
				
			</div><div class="et_pb_row et_pb_row_19">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_22  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_30  et_pb_text_align_center et_pb_bg_layout_dark">
				
				
				
				
				<div class="et_pb_text_inner"><h1 style="text-align: center;">Les Changements</h1></div>
			</div><div class="et_pb_module et_pb_text et_pb_text_31  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner">J&rsquo;ai repris le niveau pour apporter les changements suivants :</p>
<ul>
<li>Le réseau et les serveurs sont actifs dès le début du niveau</li>
<li>Les équipements réseau (firewall, anti-virus, &#8230;) ne sont plus en coupure comme c&rsquo;est le cas la plupart du temps dans les réseaux réels.</li>
<li>L&rsquo;analyse des paquets se fait directement sur le câble (ce qui est complètement irréaliste) et non plus dans l&rsquo;équipement.</li>
</ul>
<p>Ce dernier point est le changement fondamental de la dernière version. En effet représenter graphiquement l&rsquo;analyse des paquets dans l&rsquo;équipement me paraissait trop compliquée à réaliser. J&rsquo;ai décider de tester un « scan » en direct sur le câble. Graphiquement  ça laisse plus de latitude, et ça reste beaucoup plus proche des codes des « towers defense ». Cela correspond plus ou moins au mode « failthrough » de certains équipements.</p>
<p>Bon, avec toutes ces libertés prises par rapport au fonctionnement du réseau, j&rsquo;ai décidé de changer un peu le titre en « The Firewall Fantaisy », comme ça on sait que ce n&rsquo;est pas une simulation pure et dure de la réalité, et tant pis pour le côté didactique du jeu.</p>
<p>Après ça on pourra mettre autant d&rsquo;anti-virus, de firewalls, &#8230; que l&rsquo;on souhaite pour obtenir le défenses nécessaires, ce qui ne correspond pas non plus à la réalité mais c&rsquo;est quand même plus proche des standards des « towers defense ».</div>
			</div><div class="et_pb_module et_pb_text et_pb_text_32  et_pb_text_align_center et_pb_bg_layout_dark">
				
				
				
				
				<div class="et_pb_text_inner"><h1>Les Nouveautés</h1></div>
			</div><div class="et_pb_module et_pb_text et_pb_text_33  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><h2>Les Paquets</h2>
<p>Les paquets réseau sont composés de 2 parties ; la partie extérieure représente le protocole (HTTP, SMPT, DNS, &#8230;) et la partie intérieure qui représente les données du paquet. Les protocoles sont distingués par des couleurs. Aussi, tant que les paquets n&rsquo;ont pas été scannés, ils restent blanc.</p>
<p>&nbsp;</div>
			</div><div class="et_pb_module et_pb_image et_pb_image_4">
				
				
				
				
				<a href="https://eboreal.com/devblog/wp-content/uploads/2017/03/Packets.jpg" class="et_pb_lightbox_image" title="" data-rel="lightbox-gallery-qQifc5RS" data-rl_title="" data-rl_caption=""><span class="et_pb_image_wrap "><img loading="lazy" decoding="async" width="1024" height="257" src="https://eboreal.com/devblog/wp-content/uploads/2017/03/Packets.jpg" alt="" title="" srcset="https://eboreal.com/devblog/wp-content/uploads/2017/03/Packets.jpg 1024w, https://eboreal.com/devblog/wp-content/uploads/2017/03/Packets-300x75.jpg 300w, https://eboreal.com/devblog/wp-content/uploads/2017/03/Packets-768x193.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" class="wp-image-3368" /></span></a>
			</div><div class="et_pb_module et_pb_text et_pb_text_34  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner">Les paquets sont aussi séparés en 2 groupes, les requêtes et le réponses (les autres paquets des différents protocoles sont joyeusement ignorés pour des raisons de simplicité). Les requêtes se distinguent des réponses par la taille du paquet.</p>
<p>&nbsp;</div>
			</div><div class="et_pb_module et_pb_text et_pb_text_35  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><h2>Le Firewall</h2>
<p>le firewall (boitier jaune) sert à analyser le protocole des paquets pour pouvoir les filtrer. Le scan sert à déterminer le protocole (couche extérieure du paquet) et ensuite le paquet est supprimé ou pas.</div>
			</div><div class="et_pb_module et_pb_image et_pb_image_5">
				
				
				
				
				<a href="https://eboreal.com/devblog/wp-content/uploads/2017/03/fw-scan.jpg" class="et_pb_lightbox_image" title="" data-rel="lightbox-gallery-qQifc5RS" data-rl_title="" data-rl_caption=""><span class="et_pb_image_wrap "><img loading="lazy" decoding="async" width="800" height="555" src="https://eboreal.com/devblog/wp-content/uploads/2017/03/fw-scan.jpg" alt="" title="" srcset="https://eboreal.com/devblog/wp-content/uploads/2017/03/fw-scan.jpg 800w, https://eboreal.com/devblog/wp-content/uploads/2017/03/fw-scan-300x208.jpg 300w, https://eboreal.com/devblog/wp-content/uploads/2017/03/fw-scan-768x533.jpg 768w" sizes="(max-width: 800px) 100vw, 800px" class="wp-image-3370" /></span></a>
			</div><div class="et_pb_module et_pb_text et_pb_text_36  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><h2>Le Boîtier Anti-Virus</h2>
<p>Le boîtier anti-virus analyse le contenu d&rsquo;un message (couche intérieure). Il faut que le protocole soit connu, donc déjà scanné par le firewall. Le boîtier détermine si un virus est présent. Si un virus est détecté, le message est supprimé.</div>
			</div><div class="et_pb_module et_pb_image et_pb_image_6">
				
				
				
				
				<a href="https://eboreal.com/devblog/wp-content/uploads/2017/03/av-scan.jpg" class="et_pb_lightbox_image" title="" data-rel="lightbox-gallery-qQifc5RS" data-rl_title="" data-rl_caption=""><span class="et_pb_image_wrap "><img loading="lazy" decoding="async" width="800" height="636" src="https://eboreal.com/devblog/wp-content/uploads/2017/03/av-scan.jpg" alt="" title="" srcset="https://eboreal.com/devblog/wp-content/uploads/2017/03/av-scan.jpg 800w, https://eboreal.com/devblog/wp-content/uploads/2017/03/av-scan-300x239.jpg 300w, https://eboreal.com/devblog/wp-content/uploads/2017/03/av-scan-768x611.jpg 768w" sizes="(max-width: 800px) 100vw, 800px" class="wp-image-3372" /></span></a>
			</div><div class="et_pb_module et_pb_text et_pb_text_37  et_pb_text_align_center et_pb_bg_layout_dark">
				
				
				
				
				<div class="et_pb_text_inner"><h1>Vidéo</h1></div>
			</div><div class="et_pb_module et_pb_video et_pb_video_0">
				
				
				
				
				<div class="et_pb_video_box">
				<video controls>
					<source type="video/mp4" src="https://eboreal.com/devblog/wp-content/uploads/2017/03/TheFirewall20170305.mp4" />
					
				</video></div>
				
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div></p>
]]></content:encoded>
					
		
		<enclosure url="http://eboreal.com/devblog/wp-content/uploads/2017/03/TheFirewall20170305.mp4" length="2366189" type="video/mp4" />

			</item>
		<item>
		<title>The Firewall &#8211; Début du premier niveau</title>
		<link>https://eboreal.com/devblog/the-firewall-debut-du-premier-niveau/</link>
		
		<dc:creator><![CDATA[boreal]]></dc:creator>
		<pubDate>Sun, 12 Feb 2017 20:48:04 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Jeux]]></category>
		<category><![CDATA[The Firewall - Tower Defense]]></category>
		<guid isPermaLink="false">http://eboreal.com/devblog/?p=3332</guid>

					<description><![CDATA[]]></description>
										<content:encoded><![CDATA[<p><div class="et_pb_section et_pb_section_4 et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_row et_pb_row_20">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_23  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_38  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner">Le concept du jeu a été décrit <a href="https://eboreal.com/devblog/the-firewall-tower-defense-presentation/" target="_blank" rel="noopener">dans cet article (<em><strong>Présentation de « The Firewall – Tower Defense »</strong></em>)</a>.</div>
			</div><div class="et_pb_module et_pb_divider et_pb_divider_0 et_pb_divider_position_ et_pb_space"><div class="et_pb_divider_internal"></div></div><div class="et_pb_module et_pb_text et_pb_text_39  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner">Le premier niveau de ce « tower defense » un peu spécial se déroule au domicile du joueur. Il doit mettre en ligne son site Web perso qu&rsquo;il auto-héberge.</div>
			</div><div class="et_pb_module et_pb_image et_pb_image_7">
				
				
				
				
				<span class="et_pb_image_wrap "><img loading="lazy" decoding="async" width="640" height="480" src="https://eboreal.com/devblog/wp-content/uploads/2017/02/level1.jpg" alt="" title="" srcset="https://eboreal.com/devblog/wp-content/uploads/2017/02/level1.jpg 640w, https://eboreal.com/devblog/wp-content/uploads/2017/02/level1-300x225.jpg 300w" sizes="(max-width: 640px) 100vw, 640px" class="wp-image-3336" /></span>
			</div><div class="et_pb_module et_pb_text et_pb_text_40  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner">Nous sommes dans le salon du joueur, il y a deux emplacements au sol, un pour la box et un pour le serveur. Le lien en bleu représente l&rsquo;internet et le lien en gris est le réseau LAN (interne) qui permet d&rsquo;accéder au serveur WEB.<br />
Le LAN n&rsquo;est pas encore activé.</div>
			</div><div class="et_pb_module et_pb_divider et_pb_divider_1 et_pb_divider_position_ et_pb_space"><div class="et_pb_divider_internal"></div></div>
			</div>
				
				
				
				
			</div><div class="et_pb_row et_pb_row_21">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_24  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_41  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p>Voici une petite animation de test, on peut voir un essai de circulation de paquets sur les différents réseaux et le « drag and drop » pour le choix (très limité encore) des appareils à mettre en place. Lorsqu&rsquo;on sélectionne un équipement une fenêtre popup apparait (elle est encore vide) pour la configuration.</p></div>
			</div><div class="et_pb_module et_pb_video et_pb_video_1">
				
				
				
				
				<div class="et_pb_video_box"><iframe loading="lazy" title="The Firewall 2017-02-12" width="1080" height="608" src="https://www.youtube.com/embed/sFZxBDZe1l0?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe></div>
				
			</div>
			</div>
				
				
				
				
			</div><div class="et_pb_row et_pb_row_22">
				<div class="et_pb_column et_pb_column_1_4 et_pb_column_25  et_pb_css_mix_blend_mode_passthrough">
				
				
				
				
				<div class="et_pb_module et_pb_image et_pb_image_8">
				
				
				
				
				<span class="et_pb_image_wrap "><img loading="lazy" decoding="async" width="80" height="80" src="https://eboreal.com/devblog/wp-content/uploads/2017/02/icon.jpg" alt="" title="" class="wp-image-3334" /></span>
			</div>
			</div><div class="et_pb_column et_pb_column_3_4 et_pb_column_26  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_42  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner">En plus du « splash screen » j&rsquo;ai fait une icône pour le jeu.</div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>The Firewall : Nouvelle maquette</title>
		<link>https://eboreal.com/devblog/the-firewall-nouvelle-maquette/</link>
		
		<dc:creator><![CDATA[boreal]]></dc:creator>
		<pubDate>Sun, 08 Jan 2017 22:30:16 +0000</pubDate>
				<category><![CDATA[A la une]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[The Firewall - Tower Defense]]></category>
		<guid isPermaLink="false">http://eboreal.com/devblog/?p=3320</guid>

					<description><![CDATA[]]></description>
										<content:encoded><![CDATA[<p><div class="et_pb_section et_pb_section_5 et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_row et_pb_row_23">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_27  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_image et_pb_image_9">
				
				
				
				
				<span class="et_pb_image_wrap "><img loading="lazy" decoding="async" width="650" height="697" src="https://eboreal.com/devblog/wp-content/uploads/2017/01/theFirewall-net.png" alt="" title="" srcset="https://eboreal.com/devblog/wp-content/uploads/2017/01/theFirewall-net.png 650w, https://eboreal.com/devblog/wp-content/uploads/2017/01/theFirewall-net-280x300.png 280w" sizes="(max-width: 650px) 100vw, 650px" class="wp-image-3321" /></span>
			</div><div class="et_pb_module et_pb_text et_pb_text_43  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><p>Maquette réalisée avec <a href="https://www.marmoset.co/hexels/">Hexels </a>en 3D isométrique</p></div>
			</div>
			</div>
				
				
				
				
			</div><div class="et_pb_row et_pb_row_24">
				<div class="et_pb_column et_pb_column_1_2 et_pb_column_28  et_pb_css_mix_blend_mode_passthrough">
				
				
				
				
				<div class="et_pb_module et_pb_image et_pb_image_10">
				
				
				
				
				<span class="et_pb_image_wrap "><img loading="lazy" decoding="async" width="478" height="395" src="https://eboreal.com/devblog/wp-content/uploads/2017/01/router.png" alt="" title="" srcset="https://eboreal.com/devblog/wp-content/uploads/2017/01/router.png 478w, https://eboreal.com/devblog/wp-content/uploads/2017/01/router-300x248.png 300w" sizes="(max-width: 478px) 100vw, 478px" class="wp-image-3326" /></span>
			</div>
			</div><div class="et_pb_column et_pb_column_1_2 et_pb_column_29  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_image et_pb_image_11">
				
				
				
				
				<span class="et_pb_image_wrap "><img loading="lazy" decoding="async" width="650" height="697" src="https://eboreal.com/devblog/wp-content/uploads/2017/01/theFirewall-net2.png" alt="" title="" srcset="https://eboreal.com/devblog/wp-content/uploads/2017/01/theFirewall-net2.png 650w, https://eboreal.com/devblog/wp-content/uploads/2017/01/theFirewall-net2-280x300.png 280w" sizes="(max-width: 650px) 100vw, 650px" class="wp-image-3330" /></span>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Processing</title>
		<link>https://eboreal.com/devblog/processing/</link>
		
		<dc:creator><![CDATA[boreal]]></dc:creator>
		<pubDate>Fri, 23 Dec 2016 17:36:20 +0000</pubDate>
				<category><![CDATA[Air Fun]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[Outils]]></category>
		<guid isPermaLink="false">http://eboreal.com/devblog/?p=485</guid>

					<description><![CDATA[Site officiel Processing est un framework permettant de créer des application rapidement en utilisant un dialecte de Java. Le principe est de fournir de quoi rapidement accéder à l&#8217;affichage, aux entrées et au son. Processing est idéal pour prototyper une application ou un jeu. J&#8217;ai fait un remake de « Flight Control » sans trop de difficultés. [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><a href="http://processing.org">Site officiel</a></p>
<p>Processing est un framework permettant de créer des application rapidement en utilisant un dialecte de Java. Le principe est de fournir de quoi rapidement accéder à l&rsquo;affichage, aux entrées et au son.</p>
<p>Processing est idéal pour prototyper une application ou un jeu.</p>
<p>J&rsquo;ai fait un remake de « Flight Control » sans trop de difficultés.</p>
<p><a href="https://eboreal.com/devblog/wp-content/uploads/2016/12/airfun.jpg" data-rel="lightbox-gallery-VUmPpSSq" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" class="alignnone size-full wp-image-750" src="https://eboreal.com/devblog/wp-content/uploads/2016/12/airfun.jpg" alt="" width="640" height="360" srcset="https://eboreal.com/devblog/wp-content/uploads/2016/12/airfun.jpg 640w, https://eboreal.com/devblog/wp-content/uploads/2016/12/airfun-300x169.jpg 300w" sizes="(max-width: 640px) 100vw, 640px" /></a></p>
<p>Il faut noter que la version Android diffère un peu de la version desktop dans le sens où il y a des restrictions à respecter comme l&rsquo;absence de threads.</p>
<p>&nbsp;</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>The Firewall : Maquette graphique</title>
		<link>https://eboreal.com/devblog/the-firewall-maquette-graphique/</link>
		
		<dc:creator><![CDATA[boreal]]></dc:creator>
		<pubDate>Tue, 01 Mar 2016 20:17:11 +0000</pubDate>
				<category><![CDATA[A la une]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[The Firewall - Tower Defense]]></category>
		<category><![CDATA[Design]]></category>
		<guid isPermaLink="false">http://eboreal.com/devblog/?p=695</guid>

					<description><![CDATA[]]></description>
										<content:encoded><![CDATA[<p><div class="et_pb_section et_pb_section_6 et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_row et_pb_row_25">
				<div class="et_pb_column et_pb_column_4_4 et_pb_column_30  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_44  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner"><h2>Appareils supportés</h2>
<p>Le jeu tournera exclusivement sur Apple iOS.</p>
<h2>Orientation</h2>
<p>Le jeu se jouera en mode portrait seulement.</p>
<h2>Emplacement sur l&rsquo;écran</h2>
<p>Sur iOS il y a 2 types de format d&rsquo;écran :</p>
<ul>
<li>Les iPhones : 16/9 (le ratio est identique pour tous les iPhones à partir du 5)</li>
<li>Les iPads : 4/3 (le ratio est identique pour tous les iPads y compris le dernier iPad Pro)</li>
</ul>
<p>Ce qui donne si on les superpose :</p>
<p><a href="https://eboreal.com/devblog/wp-content/uploads/2016/03/iPhone-iPad.jpg" rel="attachment wp-att-699" data-rel="lightbox-gallery-6nDli38r" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" class="aligncenter wp-image-699" src="https://eboreal.com/devblog/wp-content/uploads/2016/03/iPhone-iPad-169x300.jpg" alt="iPhone-iPad" width="350" height="622" srcset="https://eboreal.com/devblog/wp-content/uploads/2016/03/iPhone-iPad-169x300.jpg 169w, https://eboreal.com/devblog/wp-content/uploads/2016/03/iPhone-iPad.jpg 500w" sizes="(max-width: 350px) 100vw, 350px" /></a>Le but sera de présenter un écran cohérent aussi bien sur un iPhone que sur un iPad.</p>
<h2>iPad</h2>
<p>Sur l&rsquo;iPad l&rsquo;écran sera décomposé en 3 parties :</p>
<ol>
<li>Titre plus publicité superposés (la publicité cache le titre quand elle est disponible)</li>
<li>« Terrain » de jeu principal où se déroulera l&rsquo;action</li>
<li>Bandeau « outils »</li>
</ol>
<p><a href="https://eboreal.com/devblog/wp-content/uploads/2016/03/iPad-screen.jpg" rel="attachment wp-att-700" data-rel="lightbox-gallery-6nDli38r" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" class="aligncenter wp-image-700" src="https://eboreal.com/devblog/wp-content/uploads/2016/03/iPad-screen.jpg" alt="iPad-screen" width="350" height="622" srcset="https://eboreal.com/devblog/wp-content/uploads/2016/03/iPad-screen.jpg 500w, https://eboreal.com/devblog/wp-content/uploads/2016/03/iPad-screen-169x300.jpg 169w" sizes="(max-width: 350px) 100vw, 350px" /></a></p>
<h2>iPhone</h2>
<p>Sur l&rsquo;iPhone l&rsquo;écran sera décomposé en 4 parties :</p>
<ol>
<li>Publicité</li>
<li>Titre</li>
<li>« Terrain » de jeu principal</li>
<li>Bandeau « outils »</li>
</ol>
<p>Il y a deux changements majeurs : la publicité ne recouvre pas le titre et le bandeau outils voit sa hauteur doubler pour tenir compte de la faible largeur des iPhones.</p>
<h2><a href="https://eboreal.com/devblog/wp-content/uploads/2016/03/iPhone-screen.jpg" rel="attachment wp-att-704" data-rel="lightbox-gallery-6nDli38r" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" class="aligncenter wp-image-704" src="https://eboreal.com/devblog/wp-content/uploads/2016/03/iPhone-screen.jpg" alt="iPhone-screen" width="350" height="622" srcset="https://eboreal.com/devblog/wp-content/uploads/2016/03/iPhone-screen.jpg 500w, https://eboreal.com/devblog/wp-content/uploads/2016/03/iPhone-screen-169x300.jpg 169w" sizes="(max-width: 350px) 100vw, 350px" /></a>Terrain de jeu</h2>
<p>Le terrain de jeu sera composé d&rsquo;une grille 10&#215;10 dans laquelle le joueur viendra poser des éléments de défense et dessiner les liaisons entre les différents éléments.</p>
<p><a href="https://eboreal.com/devblog/wp-content/uploads/2016/03/the-firewall-03.jpg" rel="attachment wp-att-705" data-rel="lightbox-gallery-6nDli38r" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" class="size-full wp-image-705 aligncenter" src="https://eboreal.com/devblog/wp-content/uploads/2016/03/the-firewall-03.jpg" alt="the firewall 03" width="350" height="378" srcset="https://eboreal.com/devblog/wp-content/uploads/2016/03/the-firewall-03.jpg 350w, https://eboreal.com/devblog/wp-content/uploads/2016/03/the-firewall-03-278x300.jpg 278w" sizes="(max-width: 350px) 100vw, 350px" /></a>Les messages arriveront par le haut et les serveurs seront en bas.</p>
<h2>Le bandeau d&rsquo;outils</h2>
<p>Pour le bandeau d&rsquo;outils je n&rsquo;ai pas encore d&rsquo;idées précises mais cela devrait ressembler à ça (dans l&rsquo;idée) :</p>
<h2><a href="https://eboreal.com/devblog/wp-content/uploads/2016/03/outils.jpg" rel="attachment wp-att-707" data-rel="lightbox-gallery-6nDli38r" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" class="aligncenter wp-image-707" src="https://eboreal.com/devblog/wp-content/uploads/2016/03/outils.jpg" alt="outils" width="398" height="93" srcset="https://eboreal.com/devblog/wp-content/uploads/2016/03/outils.jpg 1216w, https://eboreal.com/devblog/wp-content/uploads/2016/03/outils-300x70.jpg 300w, https://eboreal.com/devblog/wp-content/uploads/2016/03/outils-768x179.jpg 768w, https://eboreal.com/devblog/wp-content/uploads/2016/03/outils-1024x239.jpg 1024w, https://eboreal.com/devblog/wp-content/uploads/2016/03/outils-1080x252.jpg 1080w" sizes="(max-width: 398px) 100vw, 398px" /></a>Dessins préparatoires</h2>
<p>Voila en prime quelques dessins préparatoires que j&rsquo;ai fait en amont du projet pour visualiser le jeu :</p>
<p><a href="https://eboreal.com/devblog/wp-content/uploads/2016/03/The-firewall-draw-05.jpg" rel="attachment wp-att-710" data-rel="lightbox-gallery-6nDli38r" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" class="size-full wp-image-710 aligncenter" src="https://eboreal.com/devblog/wp-content/uploads/2016/03/The-firewall-draw-05.jpg" alt="The firewall-draw 05" width="366" height="601" srcset="https://eboreal.com/devblog/wp-content/uploads/2016/03/The-firewall-draw-05.jpg 366w, https://eboreal.com/devblog/wp-content/uploads/2016/03/The-firewall-draw-05-183x300.jpg 183w" sizes="(max-width: 366px) 100vw, 366px" /></a></p>
<p><a href="https://eboreal.com/devblog/wp-content/uploads/2016/03/The-firewall-draw-04.jpg" rel="attachment wp-att-711" data-rel="lightbox-gallery-6nDli38r" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" class="size-full wp-image-711 aligncenter" src="https://eboreal.com/devblog/wp-content/uploads/2016/03/The-firewall-draw-04.jpg" alt="The firewall-draw 04" width="683" height="924" srcset="https://eboreal.com/devblog/wp-content/uploads/2016/03/The-firewall-draw-04.jpg 683w, https://eboreal.com/devblog/wp-content/uploads/2016/03/The-firewall-draw-04-222x300.jpg 222w" sizes="(max-width: 683px) 100vw, 683px" /></a></p>
<p><a href="https://eboreal.com/devblog/wp-content/uploads/2016/03/The-firewall-draw-01.jpg" rel="attachment wp-att-712" data-rel="lightbox-gallery-6nDli38r" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" class="size-full wp-image-712 aligncenter" src="https://eboreal.com/devblog/wp-content/uploads/2016/03/The-firewall-draw-01.jpg" alt="The firewall-draw 01" width="500" height="375" srcset="https://eboreal.com/devblog/wp-content/uploads/2016/03/The-firewall-draw-01.jpg 500w, https://eboreal.com/devblog/wp-content/uploads/2016/03/The-firewall-draw-01-300x225.jpg 300w" sizes="(max-width: 500px) 100vw, 500px" /></a></p>
<p><a href="https://eboreal.com/devblog/wp-content/uploads/2016/03/The-firewall-draw-02.jpg" rel="attachment wp-att-713" data-rel="lightbox-gallery-6nDli38r" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" class="size-full wp-image-713 aligncenter" src="https://eboreal.com/devblog/wp-content/uploads/2016/03/The-firewall-draw-02.jpg" alt="The firewall-draw 02" width="500" height="476" srcset="https://eboreal.com/devblog/wp-content/uploads/2016/03/The-firewall-draw-02.jpg 500w, https://eboreal.com/devblog/wp-content/uploads/2016/03/The-firewall-draw-02-300x286.jpg 300w" sizes="(max-width: 500px) 100vw, 500px" /></a></p>
<p><a href="https://eboreal.com/devblog/wp-content/uploads/2016/03/The-firewall-draw-03.jpg" rel="attachment wp-att-714" data-rel="lightbox-gallery-6nDli38r" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" class="size-full wp-image-714 aligncenter" src="https://eboreal.com/devblog/wp-content/uploads/2016/03/The-firewall-draw-03.jpg" alt="The firewall-draw 03" width="500" height="655" srcset="https://eboreal.com/devblog/wp-content/uploads/2016/03/The-firewall-draw-03.jpg 500w, https://eboreal.com/devblog/wp-content/uploads/2016/03/The-firewall-draw-03-229x300.jpg 229w" sizes="(max-width: 500px) 100vw, 500px" /></a></div>
			</div>
			</div>
				
				
				
				
			</div>
				
				
			</div></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Présentation de « The Firewall &#8211; Tower Defense »</title>
		<link>https://eboreal.com/devblog/the-firewall-tower-defense-presentation/</link>
		
		<dc:creator><![CDATA[boreal]]></dc:creator>
		<pubDate>Sat, 20 Feb 2016 21:10:12 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[The Firewall - Tower Defense]]></category>
		<category><![CDATA[Design]]></category>
		<guid isPermaLink="false">http://eboreal.com/devblog/?p=535</guid>

					<description><![CDATA[Cet article va me permettre de présenter le jeu que je suis en train de développer The Firewall &#8211; Tower Defense. Firewall Defense est un jeu de type « tower defense ». Un « tower defense » ? Mais qu&#8217;est-ce que c&#8217;est ? Wikipedia nous renseigne : Le tower defense (souvent abrégée en TD) est un type de jeu [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Cet article va me permettre de présenter le jeu que je suis en train de développer <strong>The Firewall &#8211; Tower Defense.</strong></p>
<p><strong>Firewall Defense</strong> est un jeu de type « tower defense ».</p>
<h2 style="text-align: left;">Un « tower defense » ? Mais qu&rsquo;est-ce que c&rsquo;est ?</h2>
<p>Wikipedia nous renseigne : <em>Le tower defense (souvent abrégée en TD) est un type de jeu vidéo où l’objectif est de défendre une zone contre des vagues successives d’ennemis se déplaçant suivant un itinéraire ou non, en construisant et en améliorant progressivement des tours défensives.</em></p>
<h2>Que va être le jeu ?</h2>
<p>Dans notre cas nous allons simuler un réseau informatique. Les vagues d&rsquo;ennemis sont les paquets réseau qui arrivent d&rsquo;Internet et les défenses seront les différents modules d&rsquo;un firewall.</p>
<p>Le jeu sera divertissant et addictif (je l&rsquo;espère) mais aussi un peu didactique pour ce qui concerne les réseaux informatiques.</p>
<h2>Les ennemis</h2>
<p>Les paquets (ou messages) peuvent être des requêtes web normales ou sécurisées, des e-mails des requêtes DNS&#8230; Le danger vient du fait que ces messages peuvent être des spam, ou des virus. Les virus peuvent infecter les serveurs.</p>
<h2>Les défenses</h2>
<p>Les protections seront les différents modules d&rsquo;un firewall :</p>
<ul>
<li>routage pour aiguiller les paquets</li>
<li>anti-virus</li>
<li>anti-spam</li>
<li>filtrage d&rsquo;URL</li>
<li>proxy pour déchiffrer les paquets securisés</li>
<li>&#8230;</li>
</ul>
<p>Les modules peuvent traiter un certain nombre de messages par seconde. Il y a deux possibilités quand le module sature : soit il laisse passer les message qu&rsquo;il ne peut pas traiter (mode passant) où il supprime les messages qu&rsquo;il ne peut pas traiter (mode bloquant).</p>
<p>Dans le cas d&rsquo;un « tower defense » classique, on utilise le mode « passant », c&rsquo;est-à-dire que le module laisse passer les ennemis lorsqu&rsquo;il est saturé.</p>
<p>Pour la jouabilité, il est préférable que le routage soit en mode bloquant et les modules de protection soient en mode « passant ». Dans la réalité, la plupart des modules sont en mode « bloquant » sauf certain modules comme les modules IDS (systèmes de détection d&rsquo;intrusion) qui peuvent être en mode « passant ».</p>
<h2>Les améliorations des défenses</h2>
<p>Les améliorations sont des type matérielle :</p>
<ul>
<li>augmentation des processeurs pour traiter plus de messages par seconde</li>
<li>augmentation de la mémoire pour permettre d&rsquo;absorber les pics de traffic en gardant les messages en attente de traitement</li>
</ul>
<p>Les améliorations sont aussi logicielle pour permettre la détection de nouveaux virus.</p>
<h2>Les cibles (serveurs)</h2>
<p>Les paquets arrivent d&rsquo;Internet traversent le firewall et arrivent sur différents serveurs :</p>
<ul>
<li>serveur web (site personnel, entreprise, e-commerce&#8230;)</li>
<li>serveur de mail</li>
<li>serveur DNS</li>
<li>réseau interne (utilisateurs)</li>
<li>&#8230;</li>
</ul>
<p>Les serveurs peuvent être infectés si des virus arrivent à les atteindre. Il faut alors les désinfecter ce qui coûte des ressources et occasionne une indisponibilité du service.</p>
<h2>Les améliorations des serveurs</h2>
<p>Les serveurs peuvent être améliorés de manière matérielle :</p>
<ul>
<li>augmentation des processeurs pour traiter plus de messages par seconde</li>
<li>augmentation de la mémoire pour permettre d&rsquo;absorber les pics de traffic en gardant les messages en attente de traitement</li>
</ul>
<p>Les améliorations sont aussi logicielle pour augmenter la résistance des serveurs aux attaques.</p>
<h2>Quelles différences avec un « tower defense » classique ?</h2>
<p>La différence majeure avec un « tower defense » classique est que tous les paquets qui arrivent ne sont pas des ennemis. Au contraire, la plupart sont des messages auxquels il faut répondre pour gagner des points qui permettent d&rsquo;améliorer les défenses.</p>
<p>pour sensibiliser les joueurs aux problèmes de sécurité, il sera nécessaire de « mettre à jour » les différents modules du firewall pour se défendre contre les nouvelles attaques.</p>
<p>Les serveurs infectés se mettront à émettre des virus et des spams qui feront baisser votre réputation.</p>
<h2>Les scores</h2>
<p>Chaque paquet acquitté ou e-mail reçu ou envoyé permettra de gagner des point qui serviront à financer les améliorations et permettre au joueur d&rsquo;agir.</p>
<p>En parallèle, la proportion de messages acquittés fera évoluer la réputation ou notoriété du joueur qui recevra plus de messages à traiter.</p>
<h2>La progressivité</h2>
<p>Le jeu aura une série de niveaux. la progressivité sera dans les différents scénarios qui pourront aller du serveur web personnel à l&rsquo;entreprise internationale.</p>
<h2>Les objectifs</h2>
<p>Chaque niveau (ou scénario) aura un objectif en terme de points, réputation nombre d&rsquo;infection&#8230; Et peut-être un objectif de temps minimum.</p>
<p>L&rsquo;objectif peut aussi être exprimée en nombre de messages d&rsquo;un certain type à envoyer ou recevoir.</p>
<h2>Doit-on être un spécialiste réseau pour pouvoir jouer à « The Firewall &#8211; Tower Defense » ?</h2>
<p>Absolument pas ! Le jeu devra être accessible à tous. Pour cela, toutes les conventions seront sous la forme de codes de couleurs.</p>
<h2>Conclusion</h2>
<p>Le principe du jeu à été posé, le prochain article traitera de la maquette graphique.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Retour en ligne</title>
		<link>https://eboreal.com/devblog/retour-en-ligne/</link>
		
		<dc:creator><![CDATA[boreal]]></dc:creator>
		<pubDate>Thu, 18 Feb 2016 23:24:08 +0000</pubDate>
				<category><![CDATA[A la une]]></category>
		<category><![CDATA[Blog]]></category>
		<guid isPermaLink="false">http://eboreal.com/devblog/?p=520</guid>

					<description><![CDATA[Me voila de retour en ligne pour vous parler des mes anciens et nouveaux projets. Depuis l&#8217;article précédent, le jeu « Sail Boat Sim » n&#8217;a malhaureusement pas évolué. Mais depuis j&#8217;ai fait un petit jeu en processing : « Air Fun » qui est librement inspiré de « Flight Control ». C&#8217;est un jeu qui tourne sur Android, pour le [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Me voila de retour en ligne pour vous parler des mes anciens et nouveaux projets.<br />
Depuis l&rsquo;article précédent, le jeu « Sail Boat Sim » n&rsquo;a malhaureusement pas évolué.<br />
Mais depuis j&rsquo;ai fait un petit jeu en <a href="http://processing.org" target="_blank">processing</a> : « Air Fun » qui est librement inspiré de « Flight Control ».</p>
<p><a href="https://eboreal.com/devblog/wp-content/uploads/2016/02/airfun.jpg" rel="attachment wp-att-522" data-rel="lightbox-gallery-hN2OHLMy" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" class="alignnone size-full wp-image-522" src="https://eboreal.com/devblog/wp-content/uploads/2016/02/airfun.jpg" alt="airfun" width="640" height="360" srcset="https://eboreal.com/devblog/wp-content/uploads/2016/02/airfun.jpg 640w, https://eboreal.com/devblog/wp-content/uploads/2016/02/airfun-300x169.jpg 300w" sizes="(max-width: 640px) 100vw, 640px" /></a></p>
<p>C&rsquo;est un jeu qui tourne sur Android, pour le <a href="http://eboreal.com/airfun/Air_Fun.apk" target="_blank">télécharger c&rsquo;est ici</a>.</p>
<p>J&rsquo;ai aussi fait un jeu iOS avec <a href="http://codea.io" target="_blank">Codea</a> : « Super Lunaire » qui est un jeu d’atterrissage de vaisseau dans des conditions plus ou moins compliquées.</p>
<p><a href="https://eboreal.com/devblog/wp-content/uploads/2016/02/superlunaire.jpg" rel="attachment wp-att-523" data-rel="lightbox-gallery-hN2OHLMy" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" class="alignnone size-full wp-image-523" src="https://eboreal.com/devblog/wp-content/uploads/2016/02/superlunaire.jpg" alt="superlunaire" width="640" height="480" srcset="https://eboreal.com/devblog/wp-content/uploads/2016/02/superlunaire.jpg 640w, https://eboreal.com/devblog/wp-content/uploads/2016/02/superlunaire-300x225.jpg 300w" sizes="(max-width: 640px) 100vw, 640px" /></a></p>
<p><a href="http://eboreal.com/SuperLunaire" target="_blank">Le site de Super Lunaire est ici</a>.</p>
<p>Je vous parlerai prochainement du développement de ces deux jeux, mais aussi d&rsquo;un de mes nouveaux projet : « Firewall Defense » qui est un « tower defense » mais dans le monde du réseau.</p>
<p>&nbsp;</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Nostalgie</title>
		<link>https://eboreal.com/devblog/nostalgie/</link>
		
		<dc:creator><![CDATA[boreal]]></dc:creator>
		<pubDate>Mon, 03 Jun 2013 19:41:49 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Sail Boat Sim Race]]></category>
		<guid isPermaLink="false">http://eboreal.com/devblog/?p=381</guid>

					<description><![CDATA[&#160; J&#8217;ai trouvé dans un livre des feux tout jauni datant de 1964 ce manuel&#8230; j&#8217;en ai extrait quelques passages savoureux. C&#8217;est quand même dommage que les modes d&#8217;emploi d&#8217;aujourd&#8217;hui ne soient pas aussi « poétiques ».]]></description>
										<content:encoded><![CDATA[<p>&nbsp;<br />
J&rsquo;ai trouvé dans un livre des feux tout jauni datant de 1964 ce manuel&#8230; j&rsquo;en ai extrait quelques passages savoureux. C&rsquo;est quand même dommage que les modes d&#8217;emploi d&rsquo;aujourd&rsquo;hui ne soient pas aussi « poétiques ».</p>
<p style="text-align: center;">
<a href="https://eboreal.com/devblog/wp-content/uploads/2013/06/IMG_00000.jpg" data-rel="lightbox-gallery-9gKNjGro" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" class="size-full wp-image-382 aligncenter" alt="IMG_00000" src="https://eboreal.com/devblog/wp-content/uploads/2013/06/IMG_00000.jpg" width="606" height="931" srcset="https://eboreal.com/devblog/wp-content/uploads/2013/06/IMG_00000.jpg 606w, https://eboreal.com/devblog/wp-content/uploads/2013/06/IMG_00000-195x300.jpg 195w" sizes="(max-width: 606px) 100vw, 606px" /></a>
</p>
<p style="text-align: center;">
<p><a href="https://eboreal.com/devblog/wp-content/uploads/2013/06/IMG_00010.jpg" data-rel="lightbox-gallery-9gKNjGro" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" class="alignnone size-full wp-image-383" alt="IMG_00010" src="https://eboreal.com/devblog/wp-content/uploads/2013/06/IMG_00010.jpg" width="590" height="939" srcset="https://eboreal.com/devblog/wp-content/uploads/2013/06/IMG_00010.jpg 590w, https://eboreal.com/devblog/wp-content/uploads/2013/06/IMG_00010-188x300.jpg 188w" sizes="(max-width: 590px) 100vw, 590px" /></a>
</p>
<p style="text-align: center;">
<p><a href="https://eboreal.com/devblog/wp-content/uploads/2013/06/IMG_00020.jpg" data-rel="lightbox-gallery-9gKNjGro" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" class="alignnone size-full wp-image-384" alt="IMG_00020" src="https://eboreal.com/devblog/wp-content/uploads/2013/06/IMG_00020.jpg" width="595" height="674" srcset="https://eboreal.com/devblog/wp-content/uploads/2013/06/IMG_00020.jpg 595w, https://eboreal.com/devblog/wp-content/uploads/2013/06/IMG_00020-265x300.jpg 265w" sizes="(max-width: 595px) 100vw, 595px" /></a>
</p>
<p style="text-align: center;">
<p><a href="https://eboreal.com/devblog/wp-content/uploads/2013/06/IMG_00021.jpg" data-rel="lightbox-gallery-9gKNjGro" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" class="alignnone size-full wp-image-385" alt="IMG_00021" src="https://eboreal.com/devblog/wp-content/uploads/2013/06/IMG_00021.jpg" width="592" height="181" srcset="https://eboreal.com/devblog/wp-content/uploads/2013/06/IMG_00021.jpg 592w, https://eboreal.com/devblog/wp-content/uploads/2013/06/IMG_00021-300x92.jpg 300w" sizes="(max-width: 592px) 100vw, 592px" /></a>
</p>
<p style="text-align: center;">
<p><a href="https://eboreal.com/devblog/wp-content/uploads/2013/06/IMG_00030.jpg" data-rel="lightbox-gallery-9gKNjGro" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" class="alignnone size-full wp-image-386" alt="IMG_00030" src="https://eboreal.com/devblog/wp-content/uploads/2013/06/IMG_00030.jpg" width="590" height="218" srcset="https://eboreal.com/devblog/wp-content/uploads/2013/06/IMG_00030.jpg 590w, https://eboreal.com/devblog/wp-content/uploads/2013/06/IMG_00030-300x111.jpg 300w" sizes="(max-width: 590px) 100vw, 590px" /></a>
</p>
<p style="text-align: center;">
<p><a href="https://eboreal.com/devblog/wp-content/uploads/2013/06/IMG_00090.jpg" data-rel="lightbox-gallery-9gKNjGro" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" class="alignnone size-full wp-image-387" alt="IMG_00090" src="https://eboreal.com/devblog/wp-content/uploads/2013/06/IMG_00090.jpg" width="587" height="122" srcset="https://eboreal.com/devblog/wp-content/uploads/2013/06/IMG_00090.jpg 587w, https://eboreal.com/devblog/wp-content/uploads/2013/06/IMG_00090-300x62.jpg 300w" sizes="(max-width: 587px) 100vw, 587px" /></a>
</p>
<p style="text-align: center;">
<p><a href="https://eboreal.com/devblog/wp-content/uploads/2013/06/IMG_00092.jpg" data-rel="lightbox-gallery-9gKNjGro" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" class="alignnone size-full wp-image-388" alt="IMG_00092" src="https://eboreal.com/devblog/wp-content/uploads/2013/06/IMG_00092.jpg" width="585" height="404" srcset="https://eboreal.com/devblog/wp-content/uploads/2013/06/IMG_00092.jpg 585w, https://eboreal.com/devblog/wp-content/uploads/2013/06/IMG_00092-300x207.jpg 300w" sizes="(max-width: 585px) 100vw, 585px" /></a>
</p>
<p style="text-align: center;">
<p><a href="https://eboreal.com/devblog/wp-content/uploads/2013/06/IMG_00100.jpg" data-rel="lightbox-gallery-9gKNjGro" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" class="alignnone size-full wp-image-389" alt="IMG_00100" src="https://eboreal.com/devblog/wp-content/uploads/2013/06/IMG_00100.jpg" width="584" height="127" srcset="https://eboreal.com/devblog/wp-content/uploads/2013/06/IMG_00100.jpg 584w, https://eboreal.com/devblog/wp-content/uploads/2013/06/IMG_00100-300x65.jpg 300w" sizes="(max-width: 584px) 100vw, 584px" /></a>
</p>
<p style="text-align: center;">
<p><a href="https://eboreal.com/devblog/wp-content/uploads/2013/06/IMG_00140.jpg" data-rel="lightbox-gallery-9gKNjGro" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" class="alignnone size-full wp-image-390" alt="IMG_00140" src="https://eboreal.com/devblog/wp-content/uploads/2013/06/IMG_00140.jpg" width="588" height="200" srcset="https://eboreal.com/devblog/wp-content/uploads/2013/06/IMG_00140.jpg 588w, https://eboreal.com/devblog/wp-content/uploads/2013/06/IMG_00140-300x102.jpg 300w" sizes="(max-width: 588px) 100vw, 588px" /></a>
</p>
<p style="text-align: center;">
<p><a href="https://eboreal.com/devblog/wp-content/uploads/2013/06/IMG_01000.jpg" data-rel="lightbox-gallery-9gKNjGro" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" class="alignnone size-full wp-image-391" alt="IMG_01000" src="https://eboreal.com/devblog/wp-content/uploads/2013/06/IMG_01000.jpg" width="591" height="930" srcset="https://eboreal.com/devblog/wp-content/uploads/2013/06/IMG_01000.jpg 591w, https://eboreal.com/devblog/wp-content/uploads/2013/06/IMG_01000-191x300.jpg 191w" sizes="(max-width: 591px) 100vw, 591px" /></a></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Pourquoi utiliser JMonkeyEngine ?</title>
		<link>https://eboreal.com/devblog/pourquoi-utiliser-jmonkeyengine/</link>
		
		<dc:creator><![CDATA[boreal]]></dc:creator>
		<pubDate>Sat, 01 Jun 2013 15:21:30 +0000</pubDate>
				<category><![CDATA[A la une]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[Sail Boat Sim Race]]></category>
		<guid isPermaLink="false">http://eboreal.com/devblog/?p=378</guid>

					<description><![CDATA[Ces derniers temps j&#8217;ai ajouté un début de jeu en réseau (voir la vidéo) et aussi des shaders pour animer les voiles et les drapeaux sur les bouées (voir la vidéo). Un shader est un programme qui est exécuté directement sur la carte graphique. Tout cela a été possible grâce à la librairie jMonkeyEngine (JME). [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Ces derniers temps j&rsquo;ai ajouté un début de jeu en réseau (<a title="Vidéo Réseau" href="https://eboreal.com/devblog/video-reseau/">voir la vidéo</a>) et aussi des shaders pour animer les voiles et les drapeaux sur les bouées (<a title="Vidéo Shaders" href="https://eboreal.com/devblog/video-shaders/">voir la vidéo</a>). Un shader est un programme qui est exécuté directement sur la carte graphique.</p>
<p>Tout cela a été possible grâce à la librairie <a href="http://jmonkeyengine.org">jMonkeyEngine</a> (JME). Non seulement cette librairie est très complète et bien documentée, mais elle bénéficie d&rsquo;une communauté réactive et bienveillante (c&rsquo;est en tout cas ce que j&rsquo;ai ressenti à mon égard).<br />
Plus qu&rsquo;une librairie, c&rsquo;est en fait un moteur de jeu complet (graphisme 3D, son, interface utilisateur, réseau&#8230;).</p>
<p>Vous l&rsquo;aurez compris, si vous avez un projet de jeu ou d&rsquo;application 3D en java alors je vous recommande chaudement jMonkeyEngine. La lecture des tutoriels (y compris en vidéo) peut paraître fastidieuse, mais c&rsquo;est indispensable à mon avis pour comprendre le fonctionnement de ce moteur.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Vidéo Shaders</title>
		<link>https://eboreal.com/devblog/video-shaders/</link>
		
		<dc:creator><![CDATA[boreal]]></dc:creator>
		<pubDate>Thu, 30 May 2013 17:20:50 +0000</pubDate>
				<category><![CDATA[Sail Boat Sim Race]]></category>
		<category><![CDATA[Vidéos]]></category>
		<guid isPermaLink="false">http://eboreal.com/devblog/?p=374</guid>

					<description><![CDATA[]]></description>
										<content:encoded><![CDATA[]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Multijoueurs version 1</title>
		<link>https://eboreal.com/devblog/multijoueurs-version-1/</link>
		
		<dc:creator><![CDATA[boreal]]></dc:creator>
		<pubDate>Mon, 20 May 2013 15:39:52 +0000</pubDate>
				<category><![CDATA[A la une]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[Sail Boat Sim Race]]></category>
		<guid isPermaLink="false">http://eboreal.com/devblog/?p=361</guid>

					<description><![CDATA[Dans la continuité du codage du moteur du jeu, voici la partie multijoueurs. Le moteur permet donc de jouer soit sur réseau local, soit sur internet. Quelle est l&#8217;architecture du moteur du jeu ? Le moteur utilise une architecture client/serveur. Le client sert à l&#8217;affichage et à la saisie des commandes du joueur et le [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Dans la continuité du codage du moteur du jeu, voici la partie multijoueurs. Le moteur permet donc de jouer soit sur réseau local, soit sur internet.</p>
<h3>Quelle est l&rsquo;architecture du moteur du jeu ?</h3>
<p>Le moteur utilise une architecture client/serveur. Le client sert à l&rsquo;affichage et à la saisie des commandes du joueur et le serveur est utilisé pour centraliser le calcul des positions des différents joueurs.</p>
<h3>Quels sont les messages échangés ?</h3>
<p>Les messages de service comme les connexions, le démarrage de la course&#8230; sont envoyés par TCP pour assurer que les messages arrivent à bon port. Chaque client envoie régulièrement les commandes effectuées par le joueur sous la forme d&rsquo;un message UDP plus rapide mais moins fiable. Le serveur envoie régulièrement aussi les positions de tous les bateaux à tous les clients, ceci sous la forme d&rsquo;un message UDP également.</p>
<h3>Gestion des temps de transferts entre le serveur les les clients</h3>
<p>Pour que l&rsquo;affichage ne soit pas trop saccadé, le client calcule les déplacements de tous les bateaux entre deux messages du serveur. A chaque message reçu du serveur, le client met à jour la position du bateau correspondant et continue la simulation locale.</p>
<h3>Analyse du code</h3>
<p>Le client et le serveur partage tout le code de la simulation, mais le serveur n&rsquo;a pas d&rsquo;affichage.</p>
<h4>Le serveur</h4>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Vidéo Réseau</title>
		<link>https://eboreal.com/devblog/video-reseau/</link>
		
		<dc:creator><![CDATA[boreal]]></dc:creator>
		<pubDate>Sun, 19 May 2013 16:37:57 +0000</pubDate>
				<category><![CDATA[Sail Boat Sim Race]]></category>
		<category><![CDATA[Vidéos]]></category>
		<guid isPermaLink="false">http://eboreal.com/devblog/?p=355</guid>

					<description><![CDATA[]]></description>
										<content:encoded><![CDATA[]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Vidéo instruments</title>
		<link>https://eboreal.com/devblog/video-instruments/</link>
		
		<dc:creator><![CDATA[boreal]]></dc:creator>
		<pubDate>Sat, 11 May 2013 12:13:59 +0000</pubDate>
				<category><![CDATA[Sail Boat Sim Race]]></category>
		<category><![CDATA[Vidéos]]></category>
		<guid isPermaLink="false">http://eboreal.com/devblog/?p=303</guid>

					<description><![CDATA[]]></description>
										<content:encoded><![CDATA[]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Principe des courses de bateaux</title>
		<link>https://eboreal.com/devblog/principe-des-courses-de-bateaux/</link>
		
		<dc:creator><![CDATA[boreal]]></dc:creator>
		<pubDate>Sat, 11 May 2013 11:30:13 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Sail Boat Sim Race]]></category>
		<guid isPermaLink="false">http://eboreal.com/devblog/?p=297</guid>

					<description><![CDATA[Les bateaux doivent effectuer un certain parcours délimité par des bouées avec seulement l’aide du vent et en respectant certaines règles. Le premier arrivé gagne la course. Exemple de parcours :]]></description>
										<content:encoded><![CDATA[<p>Les bateaux doivent effectuer un certain parcours délimité par des bouées avec seulement l’aide du vent et en respectant certaines règles. Le premier arrivé gagne la course.</p>
<p style="text-align: center;">Exemple de parcours : <a href="https://eboreal.com/devblog/wp-content/uploads/2012/10/parcours-copie.png" data-rel="lightbox-gallery-zig3X0vG" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" class="size-medium wp-image-293 aligncenter" alt="parcours copie" src="https://eboreal.com/devblog/wp-content/uploads/2012/10/parcours-copie-300x288.png" width="300" height="288" srcset="https://eboreal.com/devblog/wp-content/uploads/2012/10/parcours-copie-300x288.png 300w, https://eboreal.com/devblog/wp-content/uploads/2012/10/parcours-copie.png 429w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Nouveaux instruments de navigation</title>
		<link>https://eboreal.com/devblog/nouveaux-instruments-de-navigation/</link>
		
		<dc:creator><![CDATA[boreal]]></dc:creator>
		<pubDate>Fri, 12 Apr 2013 13:26:25 +0000</pubDate>
				<category><![CDATA[A la une]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[Sail Boat Sim Race]]></category>
		<guid isPermaLink="false">http://eboreal.com/devblog/?p=271</guid>

					<description><![CDATA[Des nouveaux instruments ont fait leur apparition. Il s&#8217;agit d&#8217;un indicateur de la direction du vent relatif, et un indicateur de la direction de la prochaine bouée. Il y a aussi une vue de dessus qui est accessible en utiisant la touche 5 du pavé numérique. Le retour à la vue de derrière se fait [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Des nouveaux instruments ont fait leur apparition. Il s&rsquo;agit d&rsquo;un indicateur de la direction du vent relatif, et un indicateur de la direction de la prochaine bouée.<br />
<a href="https://eboreal.com/devblog/wp-content/uploads/2013/04/20130412-001.png" data-rel="lightbox-gallery-g660w7Z5" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" class="alignnone size-full wp-image-273" src="https://eboreal.com/devblog/wp-content/uploads/2013/04/20130412-001.png" alt="20130412-001" width="806" height="465" srcset="https://eboreal.com/devblog/wp-content/uploads/2013/04/20130412-001.png 806w, https://eboreal.com/devblog/wp-content/uploads/2013/04/20130412-001-300x173.png 300w, https://eboreal.com/devblog/wp-content/uploads/2013/04/20130412-001-768x443.png 768w" sizes="(max-width: 806px) 100vw, 806px" /></a><br />
Il y a aussi une vue de dessus qui est accessible en utiisant la touche 5 du pavé numérique. Le retour à la vue de derrière se fait avec la touche 2 du pavé numérique, et le zoom avec les touches + et -.<br />
<a href="https://eboreal.com/devblog/wp-content/uploads/2013/04/20130412-002.png" data-rel="lightbox-gallery-g660w7Z5" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" class="alignnone size-full wp-image-274" src="https://eboreal.com/devblog/wp-content/uploads/2013/04/20130412-002.png" alt="20130412-002" width="659" height="373" srcset="https://eboreal.com/devblog/wp-content/uploads/2013/04/20130412-002.png 659w, https://eboreal.com/devblog/wp-content/uploads/2013/04/20130412-002-300x170.png 300w" sizes="(max-width: 659px) 100vw, 659px" /></a><br />
Il est possible d&rsquo;afficher la grille de vent avec la touche w.<br />
<a href="https://eboreal.com/devblog/wp-content/uploads/2013/04/20130412-003.png" data-rel="lightbox-gallery-g660w7Z5" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" class="alignnone size-full wp-image-275" src="https://eboreal.com/devblog/wp-content/uploads/2013/04/20130412-003.png" alt="20130412-003" width="983" height="701" srcset="https://eboreal.com/devblog/wp-content/uploads/2013/04/20130412-003.png 983w, https://eboreal.com/devblog/wp-content/uploads/2013/04/20130412-003-300x214.png 300w, https://eboreal.com/devblog/wp-content/uploads/2013/04/20130412-003-768x548.png 768w, https://eboreal.com/devblog/wp-content/uploads/2013/04/20130412-003-400x284.png 400w" sizes="(max-width: 983px) 100vw, 983px" /></a><br />
Le vent en vue de dessus :<br />
<a href="https://eboreal.com/devblog/wp-content/uploads/2013/04/20130412-004.png" data-rel="lightbox-gallery-g660w7Z5" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" class="alignnone size-full wp-image-276" src="https://eboreal.com/devblog/wp-content/uploads/2013/04/20130412-004.png" alt="20130412-004" width="1153" height="713" srcset="https://eboreal.com/devblog/wp-content/uploads/2013/04/20130412-004.png 1153w, https://eboreal.com/devblog/wp-content/uploads/2013/04/20130412-004-300x186.png 300w, https://eboreal.com/devblog/wp-content/uploads/2013/04/20130412-004-768x475.png 768w, https://eboreal.com/devblog/wp-content/uploads/2013/04/20130412-004-1024x633.png 1024w, https://eboreal.com/devblog/wp-content/uploads/2013/04/20130412-004-1080x668.png 1080w" sizes="(max-width: 1153px) 100vw, 1153px" /></a></p>
<p>La vidéo du parcours complet :<br />
<iframe loading="lazy" src="http://www.youtube.com/embed/m2E_CFxCXDE?rel=0" width="560" height="315" frameborder="0" allowfullscreen="allowfullscreen"></iframe></p>
<p>Pour les courageux ou les inconscients&#8230; les sources sont disponibles sur <a title="GitHub" href="https://github.com/eespie/sailboatsim" target="_blank">GitHub</a>.<br />
Par contre le code est vraiment moche, il faut encore beaucoup de remise en forme et de restructuration.<br />
Le point d&rsquo;entrée est la classe&#8230; Main.java.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Un vent nouveau</title>
		<link>https://eboreal.com/devblog/un-vent-nouveau/</link>
		
		<dc:creator><![CDATA[boreal]]></dc:creator>
		<pubDate>Fri, 05 Apr 2013 20:49:52 +0000</pubDate>
				<category><![CDATA[A la une]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[Sail Boat Sim Race]]></category>
		<category><![CDATA[Code]]></category>
		<guid isPermaLink="false">http://eboreal.com/devblog/?p=258</guid>

					<description><![CDATA[]]></description>
										<content:encoded><![CDATA[<p><div class="et_pb_section et_pb_section_7 et_section_regular" >
				
				
				
				
				
				
				<div class="et_pb_row et_pb_row_26">
								<div class="et_pb_column et_pb_column_4_4 et_pb_column_31  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_text et_pb_text_45  et_pb_text_align_left et_pb_bg_layout_light">
				
				
				
				
				<div class="et_pb_text_inner">Comme la version précédente ne me convenait pas, j&rsquo;ai décidé de reprendre la façon de calculer le vent. Je voulais quelque chose de plus prédictible, de plus simple à mettre en œuvre et que l&rsquo;on puisse interroger pour n&rsquo;importe quel point de la carte.</p>
<p>voila le résultat :</p>
<p><a href="https://eboreal.com/devblog/wp-content/uploads/2013/04/Capture-d’écran-2013-03-10-à-23.23.15-copie.png" data-rel="lightbox-gallery-gTZDXv8i" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" class="alignnone size-full wp-image-260" alt="Capture d’écran 2013-03-10 à 23.23.15 - copie" src="https://eboreal.com/devblog/wp-content/uploads/2013/04/Capture-d’écran-2013-03-10-à-23.23.15-copie.png" width="426" height="321" srcset="https://eboreal.com/devblog/wp-content/uploads/2013/04/Capture-d’écran-2013-03-10-à-23.23.15-copie.png 426w, https://eboreal.com/devblog/wp-content/uploads/2013/04/Capture-d’écran-2013-03-10-à-23.23.15-copie-300x226.png 300w" sizes="(max-width: 426px) 100vw, 426px" /></a></p>
<p>Actuellement les effets sont un peu exagérés, mais c&rsquo;est pour pouvoir visualiser facilement les effets des côtes sur la direction et la force du vent.</p>
<p>L&rsquo;algorithme est assez simple, il consiste à chercher dans un certain rayon (actuellement 300 unités) autour du point concerné si il y a de la terre. Pour ça on « lance » des rayons et pour chaque rayon on calcule la somme des altitudes trouvées.</p>
<p><a href="https://eboreal.com/devblog/wp-content/uploads/2013/04/IMG_0001.jpg" data-rel="lightbox-gallery-gTZDXv8i" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" class="alignnone  wp-image-261" alt="IMG_0001" src="https://eboreal.com/devblog/wp-content/uploads/2013/04/IMG_0001.jpg" width="532" height="235" srcset="https://eboreal.com/devblog/wp-content/uploads/2013/04/IMG_0001.jpg 887w, https://eboreal.com/devblog/wp-content/uploads/2013/04/IMG_0001-300x133.jpg 300w, https://eboreal.com/devblog/wp-content/uploads/2013/04/IMG_0001-768x339.jpg 768w" sizes="(max-width: 532px) 100vw, 532px" /></a></p>
<p>La somme des altitudes trouvées (pondérée par la distance au point que l&rsquo;on étudie) permet de calculer un effet en force et direction sur le vent général (vent synoptique). Pour les rayons proches du sens du vent général, la déviation est faible, mais la force du vent est diminuée. Par contre pour les rayons aux alentours de 45° du vent, la déviation sera plus importante. Pour les rayons proches de la perpendiculaire du vent la force sera augmentée.</p>
<p>&nbsp;</p>
<pre lang="java" line="1">
public Vector3f getWindComposant(Vector3f location) {
    Vector3f currWind = mainWindDir.mult(data.globalWindSpeed);
    for (int angleDeg = -180; angleDeg &lt; 0; angleDeg += stepAngleDeg) {
        float direction = data.globalWindDirection + (FastMath.DEG_TO_RAD * angleDeg);
        Vector3f dirToExplore = new Quaternion().fromAngleAxis(direction, Vector3f.UNIT_Y).mult(Vector3f.UNIT_Z);
        float heightCoeff = 0;
            for (int displacement = -maxDisplacement; displacement &lt;= maxDisplacement; displacement += stepDisplacement) {
            if (displacement == 0) {
                continue;
            }
            Vector3f posToExplore = location.add(dirToExplore.mult(displacement));
            float height = inGameState.getTerrainHeight(posToExplore);
            heightCoeff += FastMath.abs((float) stepDisplacement / (float) displacement) * height;
        }
        heightCoeff = (heightCoeff * data.globalWindSpeed) / coeffSum;
        float deviationAngle = data.globalWindDirection + (FastMath.DEG_TO_RAD * ((2 * angleDeg) + 180f));
        Vector3f deviation = new Quaternion().fromAngleAxis(deviationAngle, Vector3f.UNIT_Y).mult(Vector3f.UNIT_Z).mult(heightCoeff);
        currWind.addLocal(deviation);
    }
    float currWindspeed2 = currWind.lengthSquared();
    if (currWindspeed2 &gt; (maxWindSpeed * maxWindSpeed)) {
        currWind.normalizeLocal().multLocal(maxWindSpeed);
    } else if (currWindspeed2 &lt; 1) {
        currWind.normalizeLocal();
    }
    return currWind;
}
</pre></div>
			</div>
			</div>			
				
				
				
				
			</div>		
				
				
			</div></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Faire souffler le vent</title>
		<link>https://eboreal.com/devblog/faire-souffler-le-vent/</link>
		
		<dc:creator><![CDATA[boreal]]></dc:creator>
		<pubDate>Sat, 27 Oct 2012 12:05:58 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Sail Boat Sim Race]]></category>
		<guid isPermaLink="false">http://eboreal.com/devblog/?p=243</guid>

					<description><![CDATA[Maintenant que le parcours est fonctionnel, je me suis attaqué à calculer le vent en fonction du relief. J&#8217;ai commencé par étudier les méthodes de calculs aéro et hydro dynamiques, à base d&#8217;équations de Navier-Stroke ou Euler. Tous les logiciels ou librairies sont très chers ou très compliqués pour un simple jeu&#8230; Ma première idée [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Maintenant que le parcours est fonctionnel, je me suis attaqué à calculer le vent en fonction du relief. J&rsquo;ai commencé par étudier les méthodes de calculs aéro et hydro dynamiques, à base d&rsquo;équations de Navier-Stroke ou Euler. Tous les logiciels ou librairies sont très chers ou très compliqués pour un simple jeu&#8230;</p>
<p>Ma première idée est de déformer une grille en fonction du terrain :</p>
<p><a href="https://eboreal.com/devblog/wp-content/uploads/2012/10/Capture-d’écran-2012-10-26-à-18.55.36.png" data-rel="lightbox-gallery-hxO6Nglo" data-rl_title="" data-rl_caption=""><img loading="lazy" decoding="async" class="alignnone size-full wp-image-245" title="" src="https://eboreal.com/devblog/wp-content/uploads/2012/10/Capture-d’écran-2012-10-26-à-18.55.36.png" alt="" width="694" height="697" srcset="https://eboreal.com/devblog/wp-content/uploads/2012/10/Capture-d’écran-2012-10-26-à-18.55.36.png 694w, https://eboreal.com/devblog/wp-content/uploads/2012/10/Capture-d’écran-2012-10-26-à-18.55.36-150x150.png 150w, https://eboreal.com/devblog/wp-content/uploads/2012/10/Capture-d’écran-2012-10-26-à-18.55.36-300x300.png 300w" sizes="(max-width: 694px) 100vw, 694px" /></a></p>
<p>La déformation est proportionnelle à l&rsquo;altitude.</p>
<p><a href="https://eboreal.com/devblog/wp-content/uploads/2012/10/Capture-d’écran-2012-10-26-à-22.16.41.png" data-rel="lightbox-gallery-hxO6Nglo" data-rl_title="" data-rl_caption=""><img loading="lazy" decoding="async" class="alignnone size-full wp-image-247" title="" src="https://eboreal.com/devblog/wp-content/uploads/2012/10/Capture-d’écran-2012-10-26-à-22.16.41.png" alt="" width="722" height="711" srcset="https://eboreal.com/devblog/wp-content/uploads/2012/10/Capture-d’écran-2012-10-26-à-22.16.41.png 722w, https://eboreal.com/devblog/wp-content/uploads/2012/10/Capture-d’écran-2012-10-26-à-22.16.41-300x295.png 300w" sizes="(max-width: 722px) 100vw, 722px" /></a></p>
<p>Pas terrible, certaines parties se chevauchent, cela ne va pas être évident d&rsquo;en tirer quelque chose.</p>
<p>Une autre idée a consisté à ne déformer la grille que perpendiculairement au vent :</p>
<p><a href="https://eboreal.com/devblog/wp-content/uploads/2012/10/Capture-d’écran-2012-10-26-à-22.52.12.png" data-rel="lightbox-gallery-hxO6Nglo" data-rl_title="" data-rl_caption=""><img loading="lazy" decoding="async" class="alignnone size-full wp-image-248" title="" src="https://eboreal.com/devblog/wp-content/uploads/2012/10/Capture-d’écran-2012-10-26-à-22.52.12.png" alt="" width="694" height="695" srcset="https://eboreal.com/devblog/wp-content/uploads/2012/10/Capture-d’écran-2012-10-26-à-22.52.12.png 694w, https://eboreal.com/devblog/wp-content/uploads/2012/10/Capture-d’écran-2012-10-26-à-22.52.12-150x150.png 150w, https://eboreal.com/devblog/wp-content/uploads/2012/10/Capture-d’écran-2012-10-26-à-22.52.12-300x300.png 300w, https://eboreal.com/devblog/wp-content/uploads/2012/10/Capture-d’écran-2012-10-26-à-22.52.12-440x440.png 440w" sizes="(max-width: 694px) 100vw, 694px" /></a></p>
<p>Voila, ce n&rsquo;est pas parfait, mais c&rsquo;est beaucoup plus près de ce que je voulais obtenir comme effet.</p>
<p>En faisant tourner la carte (ou le vent) on obtient ces différentes déviations :</p>
<p><a href="https://eboreal.com/devblog/wp-content/uploads/2012/10/Capture-d’écran-2012-10-27-à-09.30.30.png" data-rel="lightbox-gallery-hxO6Nglo" data-rl_title="" data-rl_caption=""><img loading="lazy" decoding="async" class="alignnone size-full wp-image-249" title="" src="https://eboreal.com/devblog/wp-content/uploads/2012/10/Capture-d’écran-2012-10-27-à-09.30.30.png" alt="" width="735" height="718" srcset="https://eboreal.com/devblog/wp-content/uploads/2012/10/Capture-d’écran-2012-10-27-à-09.30.30.png 735w, https://eboreal.com/devblog/wp-content/uploads/2012/10/Capture-d’écran-2012-10-27-à-09.30.30-300x293.png 300w" sizes="(max-width: 735px) 100vw, 735px" /></a></p>
<p><a href="https://eboreal.com/devblog/wp-content/uploads/2012/10/Capture-d’écran-2012-10-27-à-09.31.28.png" data-rel="lightbox-gallery-hxO6Nglo" data-rl_title="" data-rl_caption=""><img loading="lazy" decoding="async" class="alignnone size-full wp-image-250" title="" src="https://eboreal.com/devblog/wp-content/uploads/2012/10/Capture-d’écran-2012-10-27-à-09.31.28.png" alt="" width="721" height="714" srcset="https://eboreal.com/devblog/wp-content/uploads/2012/10/Capture-d’écran-2012-10-27-à-09.31.28.png 721w, https://eboreal.com/devblog/wp-content/uploads/2012/10/Capture-d’écran-2012-10-27-à-09.31.28-150x150.png 150w, https://eboreal.com/devblog/wp-content/uploads/2012/10/Capture-d’écran-2012-10-27-à-09.31.28-300x297.png 300w" sizes="(max-width: 721px) 100vw, 721px" /></a></p>
<p><a href="https://eboreal.com/devblog/wp-content/uploads/2012/10/Capture-d’écran-2012-10-27-à-09.32.21.png" data-rel="lightbox-gallery-hxO6Nglo" data-rl_title="" data-rl_caption=""><img loading="lazy" decoding="async" class="alignnone size-full wp-image-251" title="" src="https://eboreal.com/devblog/wp-content/uploads/2012/10/Capture-d’écran-2012-10-27-à-09.32.21.png" alt="" width="707" height="716" srcset="https://eboreal.com/devblog/wp-content/uploads/2012/10/Capture-d’écran-2012-10-27-à-09.32.21.png 707w, https://eboreal.com/devblog/wp-content/uploads/2012/10/Capture-d’écran-2012-10-27-à-09.32.21-296x300.png 296w" sizes="(max-width: 707px) 100vw, 707px" /></a></p>
<p><a href="https://eboreal.com/devblog/wp-content/uploads/2012/10/Capture-d’écran-2012-10-27-à-09.33.19.png" data-rel="lightbox-gallery-hxO6Nglo" data-rl_title="" data-rl_caption=""><img loading="lazy" decoding="async" class="alignnone size-full wp-image-252" title="" src="https://eboreal.com/devblog/wp-content/uploads/2012/10/Capture-d’écran-2012-10-27-à-09.33.19.png" alt="" width="723" height="716" srcset="https://eboreal.com/devblog/wp-content/uploads/2012/10/Capture-d’écran-2012-10-27-à-09.33.19.png 723w, https://eboreal.com/devblog/wp-content/uploads/2012/10/Capture-d’écran-2012-10-27-à-09.33.19-150x150.png 150w, https://eboreal.com/devblog/wp-content/uploads/2012/10/Capture-d’écran-2012-10-27-à-09.33.19-300x297.png 300w" sizes="(max-width: 723px) 100vw, 723px" /></a></p>
<p>J&rsquo;ai mis quelques jours pour obtenir un effet qui me parait acceptable, maintenant il faut en déduire la direction et la force du vent.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Marques de parcours</title>
		<link>https://eboreal.com/devblog/marques-de-parcours/</link>
		
		<dc:creator><![CDATA[boreal]]></dc:creator>
		<pubDate>Sun, 21 Oct 2012 20:46:38 +0000</pubDate>
				<category><![CDATA[A la une]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[Sail Boat Sim Race]]></category>
		<guid isPermaLink="false">http://eboreal.com/devblog/?p=234</guid>

					<description><![CDATA[Le parcours est décrit comme une succession de bouées à passer. Chaque bouée est surmontée d&#8217;une flèche verte indiquant le sens de passage (ici il faut passer à gauche de la bouée). Le départ et l&#8217;arrivée sont matérialisés par une ligne entre deux bouées. La ligne s’efface lorsque la le départ ou l&#8217;arrivée sont franchis. [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Le parcours est décrit comme une succession de bouées à passer. Chaque bouée est surmontée d&rsquo;une flèche verte indiquant le sens de passage (ici il faut passer à gauche de la bouée).</p>
<p><a href="https://eboreal.com/devblog/wp-content/uploads/2012/10/Capture-d’écran-2012-10-21-à-22.04.59.png" data-rel="lightbox-gallery-pa3w9oRy" data-rl_title="" data-rl_caption=""><img loading="lazy" decoding="async" class="alignnone size-full wp-image-235" title="" src="https://eboreal.com/devblog/wp-content/uploads/2012/10/Capture-d’écran-2012-10-21-à-22.04.59.png" alt="" width="877" height="456" srcset="https://eboreal.com/devblog/wp-content/uploads/2012/10/Capture-d’écran-2012-10-21-à-22.04.59.png 877w, https://eboreal.com/devblog/wp-content/uploads/2012/10/Capture-d’écran-2012-10-21-à-22.04.59-300x156.png 300w, https://eboreal.com/devblog/wp-content/uploads/2012/10/Capture-d’écran-2012-10-21-à-22.04.59-768x399.png 768w" sizes="(max-width: 877px) 100vw, 877px" /></a></p>
<p>Le départ et l&rsquo;arrivée sont matérialisés par une ligne entre deux bouées. La ligne s’efface lorsque la le départ ou l&rsquo;arrivée sont franchis.</p>
<p><a href="https://eboreal.com/devblog/wp-content/uploads/2012/10/Capture-d’écran-2012-10-21-à-22.12.07.png" data-rel="lightbox-gallery-pa3w9oRy" data-rl_title="" data-rl_caption=""><img loading="lazy" decoding="async" class="alignnone size-full wp-image-237" title="" src="https://eboreal.com/devblog/wp-content/uploads/2012/10/Capture-d’écran-2012-10-21-à-22.12.07.png" alt="" width="779" height="487" srcset="https://eboreal.com/devblog/wp-content/uploads/2012/10/Capture-d’écran-2012-10-21-à-22.12.07.png 779w, https://eboreal.com/devblog/wp-content/uploads/2012/10/Capture-d’écran-2012-10-21-à-22.12.07-300x188.png 300w, https://eboreal.com/devblog/wp-content/uploads/2012/10/Capture-d’écran-2012-10-21-à-22.12.07-768x480.png 768w, https://eboreal.com/devblog/wp-content/uploads/2012/10/Capture-d’écran-2012-10-21-à-22.12.07-400x250.png 400w" sizes="(max-width: 779px) 100vw, 779px" /></a></p>
<p>Pour l&rsquo;instant il n&rsquo;y a pas de top départ ni de chronométrage.</p>
<p>Voici le parcours actuel (à rendre plus ludique rapidement).<br />
<iframe loading="lazy" src="http://www.youtube.com/embed/W80Kiv4I5f4" width="420" height="315" frameborder="0" allowfullscreen="allowfullscreen"></iframe></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Vidéo marques de parcours</title>
		<link>https://eboreal.com/devblog/video-marques-de-parcours/</link>
		
		<dc:creator><![CDATA[boreal]]></dc:creator>
		<pubDate>Sun, 21 Oct 2012 12:18:11 +0000</pubDate>
				<category><![CDATA[Sail Boat Sim Race]]></category>
		<category><![CDATA[Vidéos]]></category>
		<guid isPermaLink="false">http://eboreal.com/devblog/?p=305</guid>

					<description><![CDATA[]]></description>
										<content:encoded><![CDATA[]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>XStream</title>
		<link>https://eboreal.com/devblog/xstream/</link>
		
		<dc:creator><![CDATA[boreal]]></dc:creator>
		<pubDate>Thu, 11 Oct 2012 16:14:27 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Outils]]></category>
		<category><![CDATA[Sail Boat Sim Race]]></category>
		<guid isPermaLink="false">http://eboreal.com/devblog/?p=205</guid>

					<description><![CDATA[Tous les fichiers de configuration (exceptés ceux de JMonkeyEngine) sont gérés avec XStream. Pour l&#8217;instant l&#8217;architecture consiste à créer une classe contenant les données pour chaque objet. Par exemple pour la classe Boat nous avons la classe associée BoatData qui est sérialisée en XML par XStream. Je ne sais pas si, à terme, la solution [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><a href="https://eboreal.com/devblog/wp-content/uploads/2012/10/XStream-About-XStream.png" data-rel="lightbox-gallery-VPZuu6od" data-rl_title="" data-rl_caption=""><img loading="lazy" decoding="async" class="size-full wp-image-206 alignleft" style="border: 5px solid white;" title="" src="https://eboreal.com/devblog/wp-content/uploads/2012/10/XStream-About-XStream.png" alt="" width="348" height="114" srcset="https://eboreal.com/devblog/wp-content/uploads/2012/10/XStream-About-XStream.png 348w, https://eboreal.com/devblog/wp-content/uploads/2012/10/XStream-About-XStream-300x98.png 300w" sizes="(max-width: 348px) 100vw, 348px" /></a>Tous les fichiers de configuration (exceptés ceux de JMonkeyEngine) sont gérés avec <a href="http://x-stream.github.io/" target="_blank">XStream</a>.</p>
<p>Pour l&rsquo;instant l&rsquo;architecture consiste à créer une classe contenant les données pour chaque objet. Par exemple pour la classe <em>Boat</em> nous avons la classe associée <em>BoatData</em> qui est sérialisée en <em>XML</em> par <em>XStream</em>.</p>
<p>Je ne sais pas si, à terme, la solution sera pérenne (évolution des classes data et support des anciennes versions de fichier XML).</p>
<p>Le <em>wrapper</em> pour <em>XStream</em> ressemble à ça :</p>
<pre lang="java" line="1">package com.sailboatsim.utils;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import com.thoughtworks.xstream.XStream;

public class Conf {
    @SuppressWarnings("unchecked")
    public T load(String pSection, String pFile) {
        XStream xStream = new XStream();
        FileInputStream fis;
        try {
            fis = new FileInputStream(Utils.getFilePath(pSection, pFile));
        } catch (Exception e) {
            // Default values
            return null;
        }
        return (T) xStream.fromXML(fis);
    }

    public void save(T pObj, String pSection, String pFile) {
        XStream xStream = new XStream();
        try {
            FileOutputStream fos = new FileOutputStream(Utils.getFilePath(pSection, pFile));
            xStream.toXML(pObj, fos);
        } catch (Exception e1) {
            e1.printStackTrace();
        }
    }
}</pre>
<p>pour sauver un fichier, par exemple depuis <em>BoatData</em> la sauvegarde est appelée avec :</p>
<pre lang="java" line="1">new Conf().save(this, "Boat", boatName);</pre>
<p>et la lecture avec création d&rsquo;un object <em>BoatData</em> :</p>
<pre lang="java" line="1">new Conf().load("Boat", boatName);</pre>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Nouveaux décors</title>
		<link>https://eboreal.com/devblog/nouveaux-decors/</link>
		
		<dc:creator><![CDATA[boreal]]></dc:creator>
		<pubDate>Wed, 10 Oct 2012 19:43:25 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Sail Boat Sim Race]]></category>
		<guid isPermaLink="false">http://eboreal.com/devblog/?p=197</guid>

					<description><![CDATA[Il est maintenant possible de charger des décors différents. Pour l&#8217;instant il n&#8217;est possible de modifier que la hauteur du terrain (image dite heightmap). Le relief est indiqué par la couleur, les parties claires indiquent les hauteurs du relief. Cette image donne le décor de la vidéo ci-dessous. La caméra a été modifiée pour suivre [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Il est maintenant possible de charger des décors différents. Pour l&rsquo;instant il n&rsquo;est possible de modifier que la hauteur du terrain (image dite heightmap). Le relief est indiqué par la couleur, les parties claires indiquent les hauteurs du relief.</p>
<p><a href="https://eboreal.com/devblog/wp-content/uploads/2012/10/Prendre-une-photo-101012-2138-2.png" data-rel="lightbox-gallery-k6pHClId" data-rl_title="" data-rl_caption=""><img loading="lazy" decoding="async" class="alignnone  wp-image-198" title="" src="https://eboreal.com/devblog/wp-content/uploads/2012/10/Prendre-une-photo-101012-2138-2.png" alt="" width="511" height="511" srcset="https://eboreal.com/devblog/wp-content/uploads/2012/10/Prendre-une-photo-101012-2138-2.png 511w, https://eboreal.com/devblog/wp-content/uploads/2012/10/Prendre-une-photo-101012-2138-2-150x150.png 150w, https://eboreal.com/devblog/wp-content/uploads/2012/10/Prendre-une-photo-101012-2138-2-300x300.png 300w, https://eboreal.com/devblog/wp-content/uploads/2012/10/Prendre-une-photo-101012-2138-2-440x440.png 440w" sizes="(max-width: 511px) 100vw, 511px" /></a></p>
<p>Cette image donne le décor de la vidéo ci-dessous.</p>
<p>La caméra a été modifiée pour suivre le bateau en vue de derrière.<br />
<iframe loading="lazy" src="http://www.youtube.com/embed/NKHGVEsRUQc" frameborder="0" width="560" height="315"></iframe></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Vidéo Nouveaux décors</title>
		<link>https://eboreal.com/devblog/video-nouveaux-decors/</link>
		
		<dc:creator><![CDATA[boreal]]></dc:creator>
		<pubDate>Wed, 10 Oct 2012 12:46:14 +0000</pubDate>
				<category><![CDATA[Sail Boat Sim Race]]></category>
		<category><![CDATA[Vidéos]]></category>
		<guid isPermaLink="false">http://eboreal.com/devblog/?p=313</guid>

					<description><![CDATA[]]></description>
										<content:encoded><![CDATA[]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Mouvements du bateau</title>
		<link>https://eboreal.com/devblog/mouvements-du-bateau/</link>
		
		<dc:creator><![CDATA[boreal]]></dc:creator>
		<pubDate>Wed, 03 Oct 2012 20:39:17 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Sail Boat Sim Race]]></category>
		<guid isPermaLink="false">http://eboreal.com/devblog/?p=123</guid>

					<description><![CDATA[J&#8217;ai ajouté quelques mouvements au bateau. Maintenant il se penche en fonction de la direction et de la force du vent apparent. J&#8217;ai aussi ajouté le tangage en fonction de la direction des vagues. Les polaires de vitesse on été améliorées, je peux directement importer une polaire depuis le site http://www.ffvoile.net/ffv/web/pratique/habitable/ORC_IMS/certificats.asp pour l&#8217;instant la polaire [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>J&rsquo;ai ajouté quelques mouvements au bateau. Maintenant il se penche en fonction de la direction et de la force du vent apparent.<br />
J&rsquo;ai aussi ajouté le tangage en fonction de la direction des vagues.</p>
<p>Les polaires de vitesse on été améliorées, je peux directement importer une polaire depuis le site <a href="http://www.ffvoile.net/ffv/web/pratique/habitable/ORC_IMS/certificats.asp">http://www.ffvoile.net/ffv/web/pratique/habitable/ORC_IMS/certificats.asp</a> pour l&rsquo;instant la polaire utilisée dans la vidéo est celle d&rsquo;un First 36.7 Racing de 2001.</p>
<p>Prochaine étape, gérer un parcours.</p>
<p><center><br />
<iframe loading="lazy" src="http://www.youtube.com/embed/lAv8uyS8vo4" frameborder="0" width="560" height="315"></iframe></center></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Du vent dans les voiles</title>
		<link>https://eboreal.com/devblog/du-vent-dans-les-voiles/</link>
		
		<dc:creator><![CDATA[boreal]]></dc:creator>
		<pubDate>Thu, 13 Sep 2012 21:21:25 +0000</pubDate>
				<category><![CDATA[A la une]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[Sail Boat Sim Race]]></category>
		<guid isPermaLink="false">http://eboreal.com/devblog/?p=117</guid>

					<description><![CDATA[Voici un essai d&#8217;orientation des voiles en fonction de la direction du vent.]]></description>
										<content:encoded><![CDATA[<p>Voici un essai d&rsquo;orientation des voiles en fonction de la direction du vent.</p>
<p><center><br />
<iframe loading="lazy" src="http://www.youtube.com/embed/_ir9nB0QtyM" frameborder="0" width="560" height="315"></iframe></center></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Vidéo déplacement du bateau</title>
		<link>https://eboreal.com/devblog/video-deplacement-du-bateau/</link>
		
		<dc:creator><![CDATA[boreal]]></dc:creator>
		<pubDate>Wed, 12 Sep 2012 13:20:36 +0000</pubDate>
				<category><![CDATA[Sail Boat Sim Race]]></category>
		<category><![CDATA[Vidéos]]></category>
		<guid isPermaLink="false">http://eboreal.com/devblog/?p=329</guid>

					<description><![CDATA[]]></description>
										<content:encoded><![CDATA[]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Calcul du vent relatif &#8211; un peu de trigonométrie</title>
		<link>https://eboreal.com/devblog/calcul-du-vent-relatif-un-peu-de-trigonometrie/</link>
		
		<dc:creator><![CDATA[boreal]]></dc:creator>
		<pubDate>Tue, 11 Sep 2012 20:42:49 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Sail Boat Sim Race]]></category>
		<guid isPermaLink="false">http://eboreal.com/devblog/?p=109</guid>

					<description><![CDATA[Quand le bateau se déplace, le vent apparent (ou relatif) est différent du vent réel. Cet effet est d&#8217;autan plus sensible que le bateau va vite. Du vent relatif (force et direction) on déduit la vitesse du bateau en utilisant une fonction dont la courbe est traditionnellement représentée sous la forme d&#8217;une polaire. Note : [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Quand le bateau se déplace, le vent apparent (ou relatif) est différent du vent réel. Cet effet est d&rsquo;autan plus sensible que le bateau va vite.</p>
<p><a href="https://eboreal.com/devblog/wp-content/uploads/2012/09/vent_relatif.jpg" data-rel="lightbox-gallery-urK89Tpd" data-rl_title="" data-rl_caption=""><img loading="lazy" decoding="async" class="alignnone size-full wp-image-110" title="" src="https://eboreal.com/devblog/wp-content/uploads/2012/09/vent_relatif.jpg" alt="" width="1187" height="1687" srcset="https://eboreal.com/devblog/wp-content/uploads/2012/09/vent_relatif.jpg 1187w, https://eboreal.com/devblog/wp-content/uploads/2012/09/vent_relatif-211x300.jpg 211w, https://eboreal.com/devblog/wp-content/uploads/2012/09/vent_relatif-768x1092.jpg 768w, https://eboreal.com/devblog/wp-content/uploads/2012/09/vent_relatif-721x1024.jpg 721w, https://eboreal.com/devblog/wp-content/uploads/2012/09/vent_relatif-1080x1535.jpg 1080w" sizes="(max-width: 1187px) 100vw, 1187px" /></a></p>
<p>Du vent relatif (force et direction) on déduit la vitesse du bateau en utilisant une fonction dont la courbe est traditionnellement représentée sous la forme d&rsquo;une polaire.</p>
<p><em>Note :</em></p>
<p>En fait traditionnellement  les polaires sont données en fonction de la vitesse et de l&rsquo;angle « absolu » du vent par rapport au bateau et non en fonction du vent relatif.</p>
<p>Le vent relatif (celui indiqué par la girouette en au du mat) sera indiqué au joueur (vitesse et direction) le vent absolu est utilisé par le programme pour calculer la vitesse du bateau.</p>
<p>&nbsp;</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Ajout d&#8217;un peu de décor</title>
		<link>https://eboreal.com/devblog/ajout-dun-peu-de-decor/</link>
		
		<dc:creator><![CDATA[boreal]]></dc:creator>
		<pubDate>Wed, 05 Sep 2012 22:02:00 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Sail Boat Sim Race]]></category>
		<guid isPermaLink="false">http://eboreal.com/devblog/?p=106</guid>

					<description><![CDATA[Voila le rendu avec le terrain par défaut de JMonkeyEngine :]]></description>
										<content:encoded><![CDATA[<p>Voila le rendu avec le terrain par défaut de JMonkeyEngine :</p>
<p><center><iframe loading="lazy" src="http://www.youtube.com/embed/iYzhZD67Reo" frameborder="0" width="420" height="315"></iframe></center></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Essais de déplacements du bateau</title>
		<link>https://eboreal.com/devblog/essais-de-deplacements-du-bateau/</link>
		
		<dc:creator><![CDATA[boreal]]></dc:creator>
		<pubDate>Sun, 02 Sep 2012 21:16:51 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Sail Boat Sim Race]]></category>
		<guid isPermaLink="false">http://eboreal.com/devblog/?p=91</guid>

					<description><![CDATA[Mise en place de l&#8217;eau et déplacement du bateau : &#160; Pour la suite, comme la gestion du déplacement du bateau fonctionne, il faudra ajouter : P.S. J&#8217;ai essayé de packager le programme pour webstart et pour application Mac, échec à chaque fois.]]></description>
										<content:encoded><![CDATA[<p>Mise en place de l&rsquo;eau et déplacement du bateau :</p>
<p><center><iframe loading="lazy" src="http://www.youtube.com/embed/vKG_I45Jrpw" frameborder="0" width="560" height="315"></iframe></center>&nbsp;</p>
<p>Pour la suite, comme la gestion du déplacement du bateau fonctionne, il faudra ajouter :</p>
<p>
		<div class='et-custom-list etlist-check'>
			<ul>
<li>calcul de la vitesse du bateau en fonction du vent (inertie du bateau)</li>
<li>rotation des voiles en fonction du vent</li>
<li>roulis du bateau en fonction du vent (orientation + force)</li>
<li>tangage en fonction de la vitesse (valeur et orientation) relative des vagues</li>
</ul>
		</div></p>
<p>P.S. J&rsquo;ai essayé de packager le programme pour webstart et pour application Mac, échec à chaque fois.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Première étape se (re)former à JMonkeyEngine</title>
		<link>https://eboreal.com/devblog/premiere-etape-se-reformer-a-jmonkeyengine/</link>
		
		<dc:creator><![CDATA[boreal]]></dc:creator>
		<pubDate>Thu, 30 Aug 2012 20:29:28 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Sail Boat Sim Race]]></category>
		<guid isPermaLink="false">http://eboreal.com/devblog/?p=79</guid>

					<description><![CDATA[J&#8217;avais déjà pas mal étudié les tutoriels de JMonkeyEngine v1, mais il faut que je me remette à jour avec la v3. Les tutoriels sont vraiment très bien faits, on sent bien que JMonkeyEngine est fait pour développer des jeux, tout est axé là-dessus. J&#8217;ai chargé le modèle de bateau dans JME3 : bon ce [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>J&rsquo;avais déjà pas mal étudié les tutoriels de JMonkeyEngine v1, mais il faut que je me remette à jour avec la v3.</p>
<p>Les tutoriels sont vraiment très bien faits, on sent bien que JMonkeyEngine est fait pour développer des jeux, tout est axé là-dessus.</p>
<p><div class='et-box et-shadow'>
					<div class='et-box-content'><div class='et-custom-list etlist-check'>
			<ul>
<li>Hello SimpleApplication – Initializing a SimpleApplication</li>
<li>Hello Node – Transforming Geometries and Nodes in the Scenegraph</li>
<li>Hello Assets – Loading 3-D models, scenes, and other assets.</li>
<li>Hello Loop – Triggering actions in the update loop</li>
<li>Hello Input – Responding to keyboard and mouse input</li>
<li>Hello Material – Setting Materials, Textures, Transparency</li>
<li>Hello Animation – Controlling animated models</li>
<li>Hello Picking – Shooting, pressing buttons, selecting, picking up items</li>
<li>Hello Collision – Making walls and floors solid</li>
<li>Hello Terrain – Creating hilly landscapes with textures</li>
<li>Hello Audio – Accompanying places and actions with 3D sound</li>
<li>Hello Effects – Creating particle effects such as fire, explosions, spells.</li>
<li>Hello Physics – Bouncing balls and falling bricks</li>
</ul>
<p><strong> </strong>
		</div></div></div></p>
<p>J&rsquo;ai chargé le modèle de bateau dans JME3 :</p>
<p><a href="https://eboreal.com/devblog/wp-content/uploads/2012/08/Capture-d’écran-2012-08-30-à-22.27.37.png" data-rel="lightbox-gallery-LcLEvSDb" data-rl_title="" data-rl_caption=""><img loading="lazy" decoding="async" class="alignnone size-full wp-image-80" title="" src="https://eboreal.com/devblog/wp-content/uploads/2012/08/Capture-d’écran-2012-08-30-à-22.27.37.png" alt="" width="1083" height="745" srcset="https://eboreal.com/devblog/wp-content/uploads/2012/08/Capture-d’écran-2012-08-30-à-22.27.37.png 1083w, https://eboreal.com/devblog/wp-content/uploads/2012/08/Capture-d’écran-2012-08-30-à-22.27.37-300x206.png 300w, https://eboreal.com/devblog/wp-content/uploads/2012/08/Capture-d’écran-2012-08-30-à-22.27.37-768x528.png 768w, https://eboreal.com/devblog/wp-content/uploads/2012/08/Capture-d’écran-2012-08-30-à-22.27.37-1024x704.png 1024w, https://eboreal.com/devblog/wp-content/uploads/2012/08/Capture-d’écran-2012-08-30-à-22.27.37-1080x743.png 1080w" sizes="(max-width: 1083px) 100vw, 1083px" /></a></p>
<p>bon ce n&rsquo;est qu&rsquo;un début.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Gérer les plugins en Java</title>
		<link>https://eboreal.com/devblog/gerer-les-plugins-en-java/</link>
		
		<dc:creator><![CDATA[boreal]]></dc:creator>
		<pubDate>Wed, 29 Aug 2012 21:15:19 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Outils]]></category>
		<category><![CDATA[Sail Boat Sim Race]]></category>
		<guid isPermaLink="false">http://eboreal.com/devblog/?p=75</guid>

					<description><![CDATA[Comme je suis un fervent partisan de la programmation extrêmement modulaire à base de plugins, j&#8217;ai trouvé une librairie qui m&#8217;a l&#8217;air très pratique : JSPF A suivre&#8230;]]></description>
										<content:encoded><![CDATA[<p>Comme je suis un fervent partisan de la programmation extrêmement modulaire à base de plugins, j&rsquo;ai trouvé une librairie qui m&rsquo;a l&rsquo;air très pratique : <a href="https://code.google.com/p/jspf/" target="_blank">JSPF</a></p>
<p>A suivre&#8230;</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Choix de l&#8217;environnement de programmation</title>
		<link>https://eboreal.com/devblog/choix-de-lenvironnement-de-programmation/</link>
		
		<dc:creator><![CDATA[boreal]]></dc:creator>
		<pubDate>Tue, 28 Aug 2012 20:09:08 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Outils]]></category>
		<category><![CDATA[Sail Boat Sim Race]]></category>
		<guid isPermaLink="false">http://eboreal.com/devblog/?p=52</guid>

					<description><![CDATA[Pour le développement du programme, je compte utiliser JMonkeyEngine : C&#8217;est donc en Java que va être codé le jeu. Il y a du pour et du contre, mais comme j&#8217;ai déjà fait un jeu en C, je peux essayer le Java.]]></description>
										<content:encoded><![CDATA[<p>Pour le développement du programme, je compte utiliser <a href="http://jmonkeyengine.org" target="_blank">JMonkeyEngine</a> :</p>
<p style="text-align: center;"><a href="https://eboreal.com/devblog/wp-content/uploads/2012/08/jmonkeyengine.png" data-rel="lightbox-gallery-33UcZ1FF" data-rl_title="" data-rl_caption=""><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-61" title="" src="https://eboreal.com/devblog/wp-content/uploads/2012/08/jmonkeyengine.png" alt="" width="300" height="196" srcset="https://eboreal.com/devblog/wp-content/uploads/2012/08/jmonkeyengine.png 1666w, https://eboreal.com/devblog/wp-content/uploads/2012/08/jmonkeyengine-300x196.png 300w, https://eboreal.com/devblog/wp-content/uploads/2012/08/jmonkeyengine-768x503.png 768w, https://eboreal.com/devblog/wp-content/uploads/2012/08/jmonkeyengine-1024x671.png 1024w, https://eboreal.com/devblog/wp-content/uploads/2012/08/jmonkeyengine-1080x707.png 1080w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p><center><iframe loading="lazy" src="http://www.youtube.com/embed/WZ_alfF5Zt4" frameborder="0" width="560" height="315"></iframe></center><center></center></p>
<p>C&rsquo;est donc en Java que va être codé le jeu. Il y a du pour et du contre, mais comme j&rsquo;ai déjà fait un jeu en C, je peux essayer le Java.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>modèle 3D pour les bateaux</title>
		<link>https://eboreal.com/devblog/modele-3d-pour-les-bateaux/</link>
		
		<dc:creator><![CDATA[boreal]]></dc:creator>
		<pubDate>Mon, 27 Aug 2012 20:08:22 +0000</pubDate>
				<category><![CDATA[A la une]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[Outils]]></category>
		<category><![CDATA[Sail Boat Sim Race]]></category>
		<guid isPermaLink="false">http://eboreal.com/devblog/?p=43</guid>

					<description><![CDATA[Petit essai avec AC3D qui est le seul modeleur avec lequel je peux me débrouiller rapidement pour faire un modèle simple.]]></description>
										<content:encoded><![CDATA[<p>Petit essai avec <a href="http://www.inivis.com/" target="_blank">AC3D</a> qui est le seul modeleur avec lequel je peux me débrouiller rapidement pour faire un modèle simple.</p>
<p><a href="https://eboreal.com/devblog/wp-content/uploads/2012/08/boat2.png" data-rel="lightbox-gallery-RbJa7KpY" data-rl_title="" data-rl_caption=""><img loading="lazy" decoding="async" class="alignnone  wp-image-44" title="" alt="" src="https://eboreal.com/devblog/wp-content/uploads/2012/08/boat2.png" width="1353" height="1105" srcset="https://eboreal.com/devblog/wp-content/uploads/2012/08/boat2.png 1353w, https://eboreal.com/devblog/wp-content/uploads/2012/08/boat2-300x245.png 300w, https://eboreal.com/devblog/wp-content/uploads/2012/08/boat2-768x627.png 768w, https://eboreal.com/devblog/wp-content/uploads/2012/08/boat2-1024x836.png 1024w, https://eboreal.com/devblog/wp-content/uploads/2012/08/boat2-1080x882.png 1080w" sizes="(max-width: 1353px) 100vw, 1353px" /></a></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Un premier dessin du jeu</title>
		<link>https://eboreal.com/devblog/un-premier-dessin-du-jeu/</link>
		
		<dc:creator><![CDATA[boreal]]></dc:creator>
		<pubDate>Mon, 27 Aug 2012 19:12:37 +0000</pubDate>
				<category><![CDATA[A la une]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[Sail Boat Sim Race]]></category>
		<guid isPermaLink="false">http://eboreal.com/devblog/?p=29</guid>

					<description><![CDATA[J&#8217;ai fait un dessin pour avoir une idée du visuel. L&#8217;idée est de diriger le bateau en vue de haut un peut à la manière de Micro Machines, ou plus récemment BangBangRacing. Le look est du genre cartoon.]]></description>
										<content:encoded><![CDATA[<p>J&rsquo;ai fait un dessin pour avoir une idée du visuel.</p>
<p><a href="https://eboreal.com/devblog/wp-content/uploads/2012/08/plan.jpg" data-rel="lightbox-gallery-nZc95GVi" data-rl_title="" data-rl_caption=""><img loading="lazy" decoding="async" class="size-full wp-image-25 alignnone" title="" src="https://eboreal.com/devblog/wp-content/uploads/2012/08/plan.jpg" alt="" width="1791" height="1496" srcset="https://eboreal.com/devblog/wp-content/uploads/2012/08/plan.jpg 1791w, https://eboreal.com/devblog/wp-content/uploads/2012/08/plan-300x251.jpg 300w, https://eboreal.com/devblog/wp-content/uploads/2012/08/plan-768x642.jpg 768w, https://eboreal.com/devblog/wp-content/uploads/2012/08/plan-1024x855.jpg 1024w, https://eboreal.com/devblog/wp-content/uploads/2012/08/plan-1080x902.jpg 1080w" sizes="(max-width: 1791px) 100vw, 1791px" /></a></p>
<p>L&rsquo;idée est de diriger le bateau en vue de haut un peut à la manière de Micro Machines, ou plus récemment <a href="http://bangbangracing.com" target="_blank">BangBangRacing</a>.</p>
<p>Le look est du genre cartoon.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Les choix de base pour le développement du jeu</title>
		<link>https://eboreal.com/devblog/les-choix-de-base-pour-le-developpement-du-jeu/</link>
		
		<dc:creator><![CDATA[boreal]]></dc:creator>
		<pubDate>Sun, 26 Aug 2012 18:48:47 +0000</pubDate>
				<category><![CDATA[Blog]]></category>
		<guid isPermaLink="false">http://eboreal.com/devblog/?p=20</guid>

					<description><![CDATA[Les premières idées qui me viennent à l&#8217;esprit pour ce jeu (sans nom encore à ce jour) : La liste s&#8217;allonge dangereusement&#8230;]]></description>
										<content:encoded><![CDATA[<p>Les premières idées qui me viennent à l&rsquo;esprit pour ce jeu (sans nom encore à ce jour) :</p>
<p><div class='et-box et-shadow'>
					<div class='et-box-content'><div class='et-custom-list etlist-check'>
			<ul>
<li>Course de bateaux</li>
<li>Temps réel</li>
<li>mono et multijoueurs</li>
<li>commandes simples à maîtriser : barre (direction) + changement de voiles</li>
<li>courses courtes (5 minutes max, mais plutôt 2~3 minutes)</li>
<li>sur internet</li>
<li>sur PC/Mac/Linux + téléphones (au moins Android)</li>
</ul>
		</div></div></div></p>
<p>La liste s&rsquo;allonge dangereusement&#8230;</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Ça y est ça (re)commence</title>
		<link>https://eboreal.com/devblog/ca-y-est-ca-recommence/</link>
		
		<dc:creator><![CDATA[boreal]]></dc:creator>
		<pubDate>Wed, 22 Aug 2012 18:23:19 +0000</pubDate>
				<category><![CDATA[A la une]]></category>
		<category><![CDATA[Blog]]></category>
		<guid isPermaLink="false">http://eboreal.com/devblog/?p=4</guid>

					<description><![CDATA[Tout a (re)commencé en lisant cet article (en anglais). Le démon m&#8217;a repris, j&#8217;ai décidé de me (re)lancer dans l&#8217;écriture d&#8217;un jeu vidéo. L&#8217;idée m&#8217;a même effleuré de le faire financer grâce à Kickstarter ou équivalent. Le jeu en question est un jeu de course de bateaux. Le but sera d&#8217;en faire quelque chose de [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><a href="https://eboreal.com/devblog/wp-content/uploads/2012/08/gamasutra1.png" data-rel="lightbox-gallery-I2A11RCP" data-rl_title="" data-rl_caption=""><img loading="lazy" decoding="async" class="alignleft size-thumbnail wp-image-28" title="" src="https://eboreal.com/devblog/wp-content/uploads/2012/08/gamasutra.png" alt="" width="150" height="150" /></a>Tout a (re)commencé en lisant <a href="http://www.gamasutra.com/view/feature/176187/how_camouflaj_saved_rpubliques_.php" target="_blank">cet article</a> (en anglais). Le démon m&rsquo;a repris, j&rsquo;ai décidé de me (re)lancer dans l&rsquo;écriture d&rsquo;un jeu vidéo.</p>
<p>L&rsquo;idée m&rsquo;a même effleuré de le faire financer grâce à <a href="http://www.kickstarter.com/" target="_blank">Kickstarter</a> ou équivalent.</p>
<p>Le jeu en question est un jeu de course de bateaux.</p>
<p>Le but sera d&rsquo;en faire quelque chose de suffisamment simple à comprendre et amusant à jouer pour toucher un peu plus de monde que seulement les marins.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
