top of page
Technique
Articles techniques sur Unity, le multijoueur, les serveurs, l'auto-hébergement, l'open source, les builds et les outils de développement.
Pourquoi la nouvelle version s'appelle 2026.7.19 – et pas 0.9.2 🗓️
Si vous faites la mise à jour aujourd'hui, vous passez de la version 0.9.1 à la 2026.7.19. Ça ressemble à une faute de frappe, mais c'est une décision réfléchie : nous avons changé notre système de numérotation – des versions « sémantiques » aux versions basées sur la date (année.mois.compteur). Voici pourquoi. L'ancien système répondait à des questions que personne ne pose. Le versionnage sémantique (0.9.1, 1.2.3 …) vient du monde des bibliothèques logicielles. Là-bas, c'est
Marcel Dütscher
28 juil.3 min de lecture
Grand ménage : comment nous utilisons enfin correctement le cache de GitHub 🧹
Dans notre dernier article technique, nous avions mesuré ce que coûte vraiment notre chaîne de compilation et de vérification – et constaté : pas d'argent, mais du temps d'attente et de l'espace de stockage. L'article se terminait par « le grand ménage est prévu, mais pas encore fait ». Finalement, ça a été plus rapide que prévu : depuis ce midi, c'est sur la branche principale. Voici les chiffres. Le résultat d'abord. L'espace de cache occupé par notre dépôt est passé de 5,3
Marcel Dütscher
27 juil.5 min de lecture
Mille builds par mois — et pas un seul ne coûte un centime ⚙️
D'abord, une correction. La première version de cet article affirmait que nos minutes de build sur GitHub étaient épuisées et que cela nous avait obligés à passer à un compte Pro. C'était faux, et d'une manière qu'un seul coup d'œil à la documentation aurait suffi à éclaircir : pour les dépôts publics, les minutes de build GitHub sont gratuites. Les artefacts et les caches aussi. Notre dépôt est public depuis fin mai — nous n'avons donc jamais payé une seule minute, et nous n
Marcel Dütscher
26 juil.4 min de lecture
SignPath a dit non : nos builds Windows restent non signés pour l'instant
Il y a quelques jours, nous vous racontions ici sur le blog que nous avions postulé au programme open source gratuit de la SignPath Foundation pour obtenir un certificat de signature de code pour nos installateurs Windows. La réponse est arrivée — et c'est non. Comme ce devblog ne sert pas seulement à fêter les réussites, mais aussi à raconter honnêtement comment se passe vraiment un projet comme le nôtre, cette nouvelle a aussi sa place ici. Petit rappel : de quoi s'agissait
Marcel Dütscher
15 juil.2 min de lecture
Notre GitHub parle maintenant : le podcast automatique des développeurs 🎙️
Le développement de Blocks Beyond The Stars se fait entièrement au grand jour sur GitHub — chaque commit, chaque pull request, chaque version peut y être consulté. Mais soyons honnêtes : qui fait défiler une liste de commits le soir ? Désormais, il existe une solution plus confortable : vous pouvez tout simplement vous faire lire à voix haute les nouvelles du projet. Notre GitHub a maintenant son propre podcast. Qu'est-ce que Podlog ? Podlog est un service qui observe un dépô
Marcel Dütscher
13 juil.2 min de lecture
Une signature de code gratuite pour l'open source : notre candidature chez SignPath 🔏
Si vous installez notre jeu sous Windows, vous connaissez peut-être ce moment : « Windows a protégé votre ordinateur » — SmartScreen met en garde contre un « éditeur inconnu », et il faut d'abord cliquer sur « Informations complémentaires → Exécuter quand même ». Ce n'est pas un virus : c'est tout simplement parce que nos installateurs ne sont pas encore signés. Nous voulons nous débarrasser de cet avertissement — sans devoir acheter un certificat hors de prix. Le problème de
Marcel Dütscher
12 juil.3 min de lecture
Du tag Git au serveur en ligne : notre pipeline de release
Aujourd'hui, une release de Blocks Beyond the Stars tient en une seule commande : pousser un tag Git. Tout le reste, c'est la machine qui s'en charge. Dans cet article, je présente notre pipeline CI/CD – et j'explique pourquoi l'effort en vaut la peine, même pour un projet de loisir. Le workflow de release. Dès qu'un tag comme v0.7.4 est poussé, GitHub Actions construit le paquet complet : les installateurs Windows (Setup, Portable, MSI), un build Linux, un build WebGL pour l
Marcel Dütscher
7 juil.2 min de lecture
Maintenance du serveur sans éjecter les joueurs
Que se passe-t-il au juste pour les joueurs quand nous devons mettre le serveur à jour ? La réponse simple serait : débrancher la prise. Nous avons construit la meilleure réponse – et c'est l'une de mes fonctionnalités préférées, même si, dans l'idéal, on la remarque à peine. L'annonce. Le serveur peut envoyer un message de maintenance à chaque monde en cours. Dans le jeu apparaît alors une bannière avec un compte à rebours : « Redémarrage du serveur dans 10 minutes. » Il fau
Marcel Dütscher
6 juil.2 min de lecture
Mots de passe, limites de tentatives et comptes sans e-mail
Blocks Beyond the Stars est aussi joué par des enfants. Ça façonne non seulement la conception du jeu, mais aussi la technique de sécurité qui se cache derrière. Trois exemples. Des comptes sans e-mail – exprès. Chez nous, un compte joueur ne demande pas d'adresse e-mail. Ce n'est pas une fonctionnalité qui manque, c'est une décision : nous voulons le moins de données personnelles possible, surtout de la part des jeunes joueurs. Ce que nous ne stockons pas ne peut pas être pe
Marcel Dütscher
6 juil.2 min de lecture
Un petit VPS comme flotte de serveurs de jeu
Tous nos mondes en ligne – le portail, les mondes officiels, les mondes créés par les joueurs – tournent sur un seul serveur Linux loué (un VPS). Pas de centre de données, pas de facture cloud à cinq chiffres. Dans cet article, je montre comment le serveur est configuré et ce que nous avons appris en chemin. La sécurité d'abord. Avant que le jeu ait le droit de s'installer sur le serveur, il y a eu la protection de base : un pare-feu (ufw) qui n'ouvre que les ports nécessaire
Marcel Dütscher
5 juil.2 min de lecture
Comment fonctionnent nos mondes hébergés
Ton propre monde sur Internet, que tes amis peuvent rejoindre à tout moment – sans que personne ait besoin d'installer un serveur. C'est l'idée derrière nos mondes hébergés (Hosted Worlds), et dans cet article, je lève le voile sur ce qui se passe vraiment derrière le bouton « Jouer » du portail. Le cœur de tout ça, c'est le WorldHost : un petit service sur notre serveur qui gère les mondes. Chaque monde tourne dans son propre conteneur Docker – complètement isolé, avec sa pr
Marcel Dütscher
5 juil.2 min de lecture
Dans les coulisses : comment nous avons produit 28 vidéos YouTube en 30 minutes 🎬
Comment un papa, un enfant et une IA ont transformé une montagne de séquences de jeu brutes en deux playlists complètes – sans passer une seule heure dans un logiciel de montage. Blocks Beyond the Stars a enfin sa chaîne YouTube – avec 22 Shorts et 6 vidéos plus longues, entre Let's Play et tutoriels. Et franchement ? La façon dont elles ont vu le jour mérite d'être racontée, car le « montage » proprement dit a pris environ une demi-heure. Voici toute la chaîne de production.
Marcel Dütscher
2 juil.3 min de lecture
Plus de 1000 tests pour un jeu amateur — du gaspillage ?
Notre projet compte maintenant bien plus d'un millier de tests automatisés : environ 990 côté serveur, à peu près 120 dans le client Unity. Pour un projet familial, ça ressemble à de l'excès. C'est tout le contraire — et voici pourquoi. Les tests sont notre deuxième développeur. Dans un projet solo, personne n'est là pour dire en revue de code : « Attends, ça casse la fabrication. » Les tests sont ce collègue. Chaque mécanique de jeu — recettes, oxygène, faim, comportement de
Marcel Dütscher
2 juil.2 min de lecture
Un jeu voxel dans le navigateur
Blocks Beyond The Stars ne tourne pas seulement comme programme Windows et Linux, mais aussi directement dans le navigateur — sans installation, un clic dans le portail suffit. Le chemin pour y arriver a été plus instructif que prévu. Unity WebGL est un monde à part. Unity sait exporter vers le web depuis longtemps, mais le diable se cache dans les détails. Notre plus grosse pierre d'achoppement : dans le navigateur, il n'y a pas de vrais threads en arrière-plan comme dans le
Marcel Dütscher
30 juin2 min de lecture
Le jour où nos shaders ont disparu du build
Dans l'éditeur Unity, tout était parfait. Dans le build final : des surfaces roses et des effets manquants. Bienvenue dans l'un des pièges Unity les plus vicieux — et chez quelques-uns de ses cousins. Le shader stripping. Au moment du build, Unity jette tout ce qui ne semble servir à rien — shaders compris. Le problème : si on charge des shaders à l'exécution via Shader.Find() (comme nous avec nos plus de 20 shaders maison pour l'eau, l'atmosphère, les hologrammes et bien d'a
Marcel Dütscher
27 juin2 min de lecture
La lumière dans un monde voxel : vraies lumières ou flood fill ?
Un joueur pose une lampe dans sa base. Que se passe-t-il techniquement ? Cette question innocente a déclenché chez nous une décision de fond — et la réponse est un bel exemple du fait que la solution « plus moderne » n'est pas toujours la meilleure. Option A : de vraies lumières Unity. Chaque bloc lumineux devient une source de lumière ponctuelle, et le moteur calcule tout. C'est superbe — mais ça ne passe pas à l'échelle. Un monde voxel peut avoir des centaines de blocs lumi
Marcel Dütscher
27 juin2 min de lecture
100 % généré par IA : notre workflow avec Unity 6, .NET 8 et Python
L'une des questions qu'on nous pose le plus souvent : comment construit-on exactement un jeu voxel multijoueur complexe entièrement avec l'IA ? La réponse courte : avec des règles très strictes. L'IA est fantastique pour écrire du code, mais elle perd vite de vue la vision d'ensemble de l'architecture. C'est pourquoi j'ai imposé dès le premier jour une architecture client/serveur stricte. Notre stack technique en un coup d'œil : Client : Unity 6 pour le rendu, les entrées et
Marcel Dütscher
26 juin1 min de lecture
La refonte graphique : plus d'allure sans changer de moteur
À un moment, le diagnostic honnête était sur la table : le jeu se jouait bien, mais il avait une tête de prototype. Au lieu de lorgner vers un autre pipeline de rendu, voire un autre moteur, on s'est posé une seule question : quel potentiel visuel dort encore dans l'URP d'Unity si on le pousse vraiment dans ses retranchements ? La réponse : un potentiel étonnant. Anticrénelage (SMAA). Les mondes de blocs sont faits d'arêtes — et des arêtes qui scintillent gâchent n'importe qu
Marcel Dütscher
26 juin2 min de lecture
De MIT à AGPL : pourquoi on a changé de licence
Blocks Beyond The Stars est open source — depuis le début. Mais sous quelle licence ? Ça, on l'a changé en profondeur en cours de route : de la licence permissive MIT à l'AGPL-3.0. Voici pourquoi. Ce que MIT aurait signifié : avec MIT, n'importe qui peut prendre notre code, le modifier et le revendre comme produit fermé — sans rien rendre en retour. Pour des bibliothèques, c'est souvent exactement ce qu'il faut. Pour un jeu complet avec des serveurs, ça nous semblait injuste
Marcel Dütscher
25 juin2 min de lecture
Textures et sons générés par IA dans le pipeline d'assets
Blocks Beyond The Stars n'a ni graphiste ni sound designer. Pourtant, chaque nouveau bloc reçoit sa propre texture et chaque nouvelle fonctionnalité son propre son. Notre outil pour ça : l'IA générative — avec un workflow bien défini autour. Les textures. Les nouvelles tuiles de blocs sont créées avec les modèles d'image d'OpenAI. Le prompt décrit le matériau, le style et l'esthétique voxel du jeu ; le résultat est ramené à la taille d'une tuile et rangé dans notre atlas de b
Marcel Dütscher
23 juin2 min de lecture
bottom of page