<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
     xmlns:atom="http://www.w3.org/2005/Atom"
     xmlns:content="http://purl.org/rss/1.0/modules/content/"
     xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Astra Genesis, Devlog</title>
    <link>https://www.playastragenesis.com/fr/devlog</link>
    <atom:link href="https://www.playastragenesis.com/fr/feed.xml" rel="self" type="application/rss+xml" />
    <description>Le journal de développement d&apos;Astra Genesis : ce que je construis, ce que je casse, et pourquoi.</description>
    <language>fr</language>
    <lastBuildDate>Thu, 27 Aug 2026 09:00:00 GMT</lastBuildDate>
    <generator>Astra Genesis, site vitrine</generator>
    <image>
      <url>https://www.playastragenesis.com/assets/logo/icon-512.png</url>
      <title>Astra Genesis</title>
      <link>https://www.playastragenesis.com</link>
    </image>
    <item>
      <title>Un mois à refaire l&apos;écran Recherche, et ce que ça m&apos;a appris</title>
      <link>https://www.playastragenesis.com/fr/devlog/refaire-ecran-recherche</link>
      <guid isPermaLink="true">https://www.playastragenesis.com/fr/devlog/refaire-ecran-recherche</guid>
      <pubDate>Thu, 27 Aug 2026 09:00:00 GMT</pubDate>
      <description>Soixante-quatre technologies tenaient dans une grille correcte et parfaitement illisible. Il a fallu un mois pour comprendre que le problème n&apos;était pas la grille.</description>
      <content:encoded><![CDATA[<p>L&#39;écran Recherche existait depuis huit mois. Il fonctionnait. Les soixante-quatre
technologies s&#39;affichaient, les prérequis étaient justes, la file tournait. Et
personne, moi compris, n&#39;arrivait à décider quoi chercher.</p>
<h2 id="le-premier-diagnostic-qui-etait-faux">Le premier diagnostic, qui était faux</h2>
<p>Ma première idée a été : c&#39;est trop dense. Huit branches, huit technologies
chacune, ça fait un mur. J&#39;ai donc essayé de désencombrer. J&#39;ai réduit les
cartes, ajouté du blanc, sorti les descriptions dans une infobulle.</p>
<p>Ça n&#39;a rien changé. C&#39;était plus joli et toujours aussi impossible à décider.</p>
<h2 id="le-vrai-probleme">Le vrai problème</h2>
<p>Ce qui manquait n&#39;était pas de la place, c&#39;était <strong>la conséquence</strong>. Une carte
disait « Photovoltaïque avancé, coût 400 Données, 12 minutes ». Nulle part elle ne
disait ce que ça faisait à ma colonie, maintenant, avec ma colonie à moi.</p>
<p>La différence entre les deux formulations :</p>
<blockquote>
<p>Photovoltaïque avancé, +6 % de rendement des panneaux solaires</p>
</blockquote>
<blockquote>
<p>Photovoltaïque avancé, <strong>+18 électricité</strong> sur vos quatre champs solaires,
soit de quoi alimenter la Presse à plaques qui vous manque</p>
</blockquote>
<p>La deuxième demande au moteur de connaître l&#39;état réel de la partie au moment de
l&#39;affichage. C&#39;est plus de travail : il faut que chaque effet de technologie soit
une fonction évaluable sur l&#39;état courant, et pas une ligne de texte écrite à la
main. J&#39;ai dû réécrire la table des effets pour ça.</p>
<h2 id="ce-que-la-refonte-a-donne">Ce que la refonte a donné</h2>
<ul>
<li><strong>Un panneau de file collant</strong> à gauche, toujours visible, qui répond à
« qu&#39;est-ce qui tourne en ce moment » sans faire défiler.</li>
<li><strong>Huit branches réellement colorées</strong>, la couleur reprise partout ailleurs dans
le jeu. La couleur ne décore pas, elle identifie.</li>
<li><strong>Un arbre vertical</strong> plutôt qu&#39;horizontal, parce qu&#39;un écran est plus haut que
large une fois qu&#39;on tient compte du HUD.</li>
<li><strong>La doctrine du palier X en double confirmation</strong>, parce que trois personnes
l&#39;ont choisie par erreur pendant les tests. Un choix définitif mérite qu&#39;on
demande deux fois.</li>
</ul>
<h2 id="ce-que-je-retiens">Ce que je retiens</h2>
<p>Quand un écran est illisible, la tentation est de le simplifier. Neuf fois sur
dix dans ce projet, le vrai problème n&#39;était pas la quantité d&#39;information : il
manquait celle qui permettait de décider. Enlever ne suffit pas. Il faut souvent
ajouter la bonne, et c&#39;est plus coûteux.</p>
<p>L&#39;écran affiche aujourd&#39;hui <em>plus</em> de texte qu&#39;avant. Il est beaucoup plus
simple à utiliser.</p>
]]></content:encoded>
      <dc:creator>Gaetan</dc:creator>
      <category>Design</category>
      <category>Développement</category>
    </item>
    <item>
      <title>Pourquoi la production ne s&apos;arrête jamais quand vous fermez le jeu</title>
      <link>https://www.playastragenesis.com/fr/devlog/production-hors-ligne</link>
      <guid isPermaLink="true">https://www.playastragenesis.com/fr/devlog/production-hors-ligne</guid>
      <pubDate>Wed, 12 Aug 2026 09:00:00 GMT</pubDate>
      <description>Un jeu de gestion qui punit l&apos;absence n&apos;est pas difficile, il est juste exigeant sur votre emploi du temps. Voilà comment Astra Genesis calcule ce qui s&apos;est passé pendant que vous n&apos;étiez pas là.</description>
      <content:encoded><![CDATA[<p>Il y a une règle que je me suis donnée au premier jour de ce projet, et qui a
survécu à tout le reste : <strong>fermer le jeu ne doit jamais coûter quelque chose.</strong></p>
<p>Ça a l&#39;air anodin. Ça ne l&#39;est pas du tout. C&#39;est la contrainte qui a le plus
influencé l&#39;architecture du moteur, bien avant les graphismes ou l&#39;équilibrage.</p>
<h2 id="le-probleme-avec-la-plupart-des-jeux-de-gestion">Le problème avec la plupart des jeux de gestion</h2>
<p>Dans un jeu de gestion en ligne classique, la boucle est simple : vous lancez une
production, elle met huit heures, et vous devez revenir la récupérer. Si vous
revenez trop tard, l&#39;entrepôt est plein et le reste est perdu. Si un joueur passe
pendant la nuit, vos ressources partent avec lui.</p>
<p>Ce n&#39;est pas de la difficulté. C&#39;est un impôt sur votre disponibilité. Un joueur
qui peut se connecter six fois par jour bat un joueur qui joue mieux mais qui
travaille. Et surtout : rien de tout ça n&#39;est <em>intéressant</em>. Personne n&#39;a jamais
raconté à un ami une décision passionnante prise à trois heures du matin pour
sauver une flotte.</p>
<h2 id="ce-que-fait-astra-genesis-a-la-place">Ce que fait Astra Genesis à la place</h2>
<p>Le moteur ne simule pas le temps en continu. Il stocke un horodatage, et quand
vous revenez, il calcule ce qui aurait dû se passer entre les deux. C&#39;est ce que
fait la fonction de rattrapage :</p>
<pre><code class="language-js">// Le serveur rejoue les heures d&#39;absence, borne par borne :
// chaque fin de construction, chaque fin de recherche et chaque
// retour d&#39;expédition est traité dans l&#39;ordre, avec les taux de
// production tels qu&#39;ils étaient à cet instant précis.
catchUp(state, elapsedSeconds);
</code></pre>
<p>Le détail qui compte est dans cette dernière phrase. Un rattrapage naïf
multiplie la production actuelle par la durée d&#39;absence, ce qui est faux dès
qu&#39;un événement change les taux au milieu. Si votre usine se termine deux heures
après votre déconnexion, les six heures suivantes doivent utiliser le nouveau
débit, pas l&#39;ancien. Le rattrapage découpe donc l&#39;absence aux bornes des
événements, et recalcule les taux à chaque borne.</p>
<p>C&#39;est plus long à écrire. C&#39;est aussi la seule version honnête.</p>
<h2 id="ce-qui-ne-se-produit-pas-non-plus">Ce qui ne se produit pas non plus</h2>
<ul>
<li><strong>Les entrepôts ne débordent pas</strong> au sens punitif. Une chaîne saturée
s&#39;arrête et attend, elle ne détruit rien.</li>
<li><strong>Aucun événement ne se déclenche en votre absence</strong> pour vous retirer quelque
chose. Les incursions arrivent avec un préavis que vous voyez avant de fermer.</li>
<li><strong>Il n&#39;y a pas de bouton pour accélérer</strong> contre de l&#39;argent réel, parce qu&#39;il
n&#39;y a rien à accélérer : le temps passe pareil que vous soyez là ou non.</li>
</ul>
<h2 id="le-vrai-cout-de-ce-choix">Le vrai coût de ce choix</h2>
<p>Il faut être honnête : cette règle rend l&#39;équilibrage plus difficile. Sans
pression temporelle, la seule tension qui reste est celle des arbitrages. Chaque
palier doit poser une vraie question de plan d&#39;usine, sinon il ne reste plus rien
du tout. C&#39;est un jeu où je ne peux pas me cacher derrière un compte à rebours
pour faire semblant qu&#39;il se passe quelque chose.</p>
<p>Tant mieux. C&#39;était l&#39;idée.</p>
]]></content:encoded>
      <dc:creator>Gaetan</dc:creator>
      <category>Développement</category>
      <category>Design</category>
    </item>
  </channel>
</rss>
