<?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>Sail Boat Sim Race | devblog</title>
	<atom:link href="https://eboreal.com/devblog/category/jeux/sail-boat-sim-race/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>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-KkWNrxKJ" 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-KkWNrxKJ" 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-KkWNrxKJ" 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-KkWNrxKJ" 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-KkWNrxKJ" 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-KkWNrxKJ" 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-KkWNrxKJ" 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-KkWNrxKJ" 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-KkWNrxKJ" 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-KkWNrxKJ" 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-DFNS50mn" 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-UUTh0JJY" 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-UUTh0JJY" 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-UUTh0JJY" 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-UUTh0JJY" 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_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">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-IVtwT3Ni" 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-IVtwT3Ni" 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-9rH4xCZZ" 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-9rH4xCZZ" 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-9rH4xCZZ" 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-9rH4xCZZ" 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-9rH4xCZZ" 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-9rH4xCZZ" 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-9rH4xCZZ" 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-SWDKFYxO" 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-SWDKFYxO" 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-qeQMVp4H" 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-jQKvvp3r" 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-LW8wBlMB" 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-TcH1wiBe" 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-8caZhNye" 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-wkn5yJZG" 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-2OJiir6x" 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>
	</channel>
</rss>
