Programmation en direct, série Minecraft et planète

La semaine du 1er au 6 août 2016 a commencé avec 3 jours de code sur Demiurge en direct sur ma chaîne Youtube 🙂 Quelques jours avant, j’ai testé Twitch, puis Youtube live et c’est finalement le dernier qui s’est montré à mes yeux le plus pratique et adapté à ma très mauvaise connexion internet. Je n’ai pas une très bonne idée de ce que ça doit donner de regarder un de mes directs, mais je sais déjà qu’il y a en général à la fin un décalage d’une heure à peu près avant que le live puisse totalement être arrêté alors que j’ai arrêté de diffuser sur mon ordinateur. C’est énorme et je ne parle pas des quelques images qui parfois ne passent pas. Mais bon, si je ne peux pas vraiment vous proposer de venir me voir coder en direct mes jeux, vous pouvez regarder les rediffusions que j’ai rangé dans la playlist « Programmation de jeux en direct » sur ma chaîne 🙂

Bon, c’est très long, une vidéo dure en moyenne 3h, mais vous pouvez aller à quelques endroits pour regarder ce qui vous intéresserez le plus. Je ne suis pas encore décidé, mais j’ai dans la tête, l’idée de récupérer ces vidéos et de faire des versions raccourcis avec explications en voix-off et musique plus appropriée pour rendre le contenu plus confortable et utile 🙂 C’est une idée comme-ça, il faut que je vois si c’est possible dans mon emploi du temps.

La fin de semaine était consacrée à l’épisode Minecraft sur le temple du Nether. Je suis encore loin de la fin de la réalisation, donc cette fois je n’envisage pas de le sortir la semaine prochaine 🙂 J’ai avancé sur la séquence de recherche de ressources et crafting. C’est très long à faire, il y a beaucoup de matériaux nécessaires pour le temple, et en plus, il y a eu une coupure de courant jeudi qui m’a obligé à arrêter le travail plus tôt que prévu. Je parlerais du problème du crafting de grandes quantités de ressources dans cette séquence, mais vous verrez 🙂 Je sais en tout cas que j’aurais à terminer cette séquence la semaine prochaine et pourrais démarrer la construction du temple. Il restera deux séquences à faire pour vraiment finaliser l’épisode, donc patience :p

Enfin, cette nuit, je me suis endormis vers 3h du matin parce qu’une idée pour Demiurge me trottait dans la tête, et j’ai voulu faire des petites expériences de mathématiques. Je souhaite, lorsque le moteur du jeu sera suffisamment avancé, produire des planètes sphériques sachant que le monde de Demiurge est un espace cubique. Essayez donc de mettre des cubes ou des carrés sur la surface d’une sphère et vous comprendrez vite le problème :p

Distorsion en barillet
Distorsion en barillet avec un cache en forme de cercle pour créer l’illusion d’une sphère.

J’ai donc cherché comment traficoter l’équation paramétrique de la sphère pour faire une illusion de sphère qui permet de placer une grille carré dessus. Cette technique que j’essayais de reproduire et sur laquelle j’ai déjà fais des schémas et équations il y a un peu plus d’un an, s’appelle une distorsion en barillet. Vous prenez une grille et vous lui affectez une équation de son espace qui permet de faire ressortir un volume sphérique par déformation.
Sur Internet, j’ai trouvé un site permettant de faire des simulations d’équations paramétriques et j’y ai fais mon petit traficotage et finalement, je me suis rabattu sur l’équation d’une tore qui se rapproche le plus d’une planète.
x = (1+9*cos(theta))*cos(phi)
y = (1+9*cos(theta))*sin(phi)
z = (1+9)*sin(theta)
Et tout à l’heure, j’ai réfléchis aux avantages et inconvénients de la distorsion en barillet et de l’équation d’une tore. Plusieurs problèmes se posent comme le problème des distances en diagonal sur un monde constitué de cubes, par rapport à son aspect sphérique vue de l’espace, ou les déformations aux pôles pour une tore, même si cette forme les atténuent mieux qu’une sphère.

Géode en nid d'abeile (source Wikipédia)
Géode en nid d’abeille (source Wikipédia).

Je ne pense pas pouvoir éviter d’utiliser une illusion avec la distorsion en barillet puisque c’est très pratique pour voir l’horizon et les objets du décor se déformer en atterrissant sur ou en décollant hors de la planète. Par contre, j’ai eu l’idée d’utiliser une géode en nid d’abeille constituées uniquement d’hexagones. Une géode en nid d’abeille classique contient des hexagones et quelques pentagones.
J’ai donc ouvert un logiciel de dessin et me suis mis à griffonner des hexagones à base de pixels qui seraient en faite les chunks de forme cubique et vérifier si on pouvait les mettre côte à côte sans chevauchement des pixels. J’ai trouvé une forme qui me plait bien et fait une petite construction de carte pour ensuite tracer un cercle représentant la planète.

Recherches de formes pour des régions hexagonales constitué de cubes, sur une planète sphérique.
Recherches de formes pour des régions hexagonales constituées de cubes, sur une planète sphérique.

Le résultat, sans déformation volumétrique, me donne de l’espoir 🙂 Dés que l’occasion se présentera, je ferais quelques expériences. En attendant, dans le code de Demiurge, je dois arriver au stade d’un subchunk un minimum optimisé 🙂

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *