<?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>A la une | devblog</title>
	<atom:link href="https://eboreal.com/devblog/category/a-la-une/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; 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[<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-2gQ2ViX5" 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-2gQ2ViX5" 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>
]]></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[<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_image et_pb_image_2">
				
				
				
				
				<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_26  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_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_3">
				
				
				
				
				<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_21  et_pb_css_mix_blend_mode_passthrough et-last-child">
				
				
				
				
				<div class="et_pb_module et_pb_image et_pb_image_4">
				
				
				
				
				<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>
]]></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[<div class="et_pb_section et_pb_section_4 et_section_regular" >
				
				
				
				
				
				
				<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_27  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-4kjjwxNj" 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-4kjjwxNj" 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-4kjjwxNj" 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-4kjjwxNj" 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-4kjjwxNj" 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-4kjjwxNj" 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-4kjjwxNj" 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-4kjjwxNj" 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-4kjjwxNj" 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-4kjjwxNj" 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>
]]></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-ahJL46Rx" 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-ahJL46Rx" 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>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>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>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-VFFIpZtQ" 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-VFFIpZtQ" 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-VFFIpZtQ" 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-VFFIpZtQ" 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[<div class="et_pb_section et_pb_section_5 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_28  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-pmGvyX3j" 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-pmGvyX3j" 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>
]]></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-4X591dwI" 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-4X591dwI" 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>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>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-E4rwbiNj" 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-AXYUS5BU" 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>Ç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-BUMm0alR" 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>
