Archives de catégorie : Demiurge

L’actualité de Demiurge et ses différentes versions. Des petites infos sur son univers, des points techniques, des décisions, des consultations de sa communauté, etc…

Demiurge, la naissance d’un concept

J’aimerais me remettre sur le développement de Demiurge, mais ça attendra de me sentir un peu mieux dans mon environnement. Je ne vais pas parler de ce soucis ici, mais plus tôt exposer comment je vois ce logiciel. Et ça pourra toujours servir d’introduction à une succession d’articles sur les idées et le développement de Demiurge.

Tout d’abord, j’ai dis logiciel, et non jeu-vidéo. Au début, c’est en tant que jeu-vidéo que j’ai parlé et montré les images du développement de Demiurge. Mais, mon idée a évoluer avec le temps pour donner un projet de réalité virtuelle. J’aurais préféré dire metavers, plus tôt que réalité virtuelle, car en ce moment ce terme est employé pour parler des logiciels de mondes virtuels utilisant les casques comme Oculus Rift ou d’autres marques. Cependant mon projet pourra tout à fait, et même aura intérêt à utiliser ce type de technologie, ainsi que plus encore selon les avancés dans le domaine. Je vais qu’en-même utiliser le terme metavers pour être précise et aussi par nostalgie de mes expériences passées dans ActiveWorlds et SecondLife.

Avant Demiurge, j’avais un projet de metavers en 3D, puis j’ai voulu créer un site de réseautage social avec des objectifs politiques progressistes. Au font de moi, je voulais faire bien plus sur Internet. J’avais, au tout départ, le désir de créer une nation sur Internet. Une vrai nation, avec une reconnaissance mondiale, une monnaie, de vrais citoyenxs, etc… Et il se trouve que depuis, le concept de cryptomonnaies et les technologies Bitcoin, Ethereum, Ripple, etc… ont vu le jour. Forcément, ayant mis les pieds sur les marchés des cryptos et ayant commencé à m’intéresser aux technologies sur le plan technique, j’ai vu le potentiel pour réaliser le rêve visionnaire que j’avais il y a longtemps.

Je suis sur Internet depuis avant les années 2000. Bon, à l’époque, nous n’avions que du 56k, et un temps de connexion gratuit de seulement 10h par mois avec Liberty Surf. Il existait plusieurs fournisseurs d’accès, et ce dernier était le mien. Youtube, Facebook, Twitter, la cryptomonnaie, mais aussi dans le monde du jeu vidéo, Minecraft et autres, ou dans le metavers, SecondLife, n’existaient pas. ActiveWorlds existait, mais je n’ai pu y accéder que lorsque les forfaits étaient devenu illimités en France. Pour la petite anecdote sur moi, j’ai commencé à vouloir créer un business avant mes 18 ans, avec … du porno. Bon, je disais toujours que je faisais de l’érotisme, pas du porno, mais bref. J’avais créé un site sur lequel j’exposais des dessins érotiques dont j’étais l’auteure et des poèmes érotiques qui venait de visiteurs (oui je n’ai pas eu de visiteuses) pour alimenter le site et leur permettre de s’exprimer. Je n’ai pas pu lancer vraiment mon business parce qu’à l’époque je ne savais pas comment fournir un RIB à une compagnie américaine de régit publicitaire pour adultes, et puis j’étais mineur qu’en-même x) Mais, en y repensant, j’avais cette état d’esprit d’envoyer une demande de contrat pour faire du business avant 18 ans. Je me sens fière là 😀 Maintenant, je n’aime plus trop la publicité, du coup je ne le fais plus. Je veux dire, même en dehors du porno, parce que ça aussi j’ai arrêté. Même si je devrais refaire un truc, d’autant que je voulais déjà faire quelque chose de safe à l’époque. Bref, à cette époque, c’était les débuts de Google, et je me souviens que j’avais même acheté un exemplaire du magazine Capital, parce que j’étais vraiment dans cet esprit de faire du business et gagner beaucoup d’argent et apparaître un jour dans les médias comme une jeune entrepreneuse qui réussi. Je rêvais un peu trop à l’adolescence 😀

Dans cette période, après qu’on se soit retrouvé avec une facture téléphoniques de quelques milliers de francs (oui il n’y avait pas l’euro non plus) à cause de mes dépassements de forfait … sourire gêné … j’ai commencé à imaginer ce que pourrait devenir Internet. Et finalement, après avoir pris mon pied à construire un palais sur ActiveWorlds, mais être frustrée par les limitations en espace, à cause des problèmes techniques de l’époque concernant la bande passante, et aussi après avoir eu plaisir avec des jeux-vidéo, mais frustrée par le fait qu’on n’y construisait pas ou n’y inventait pas comme on a pu le faire sur Minecraft par la suite, j’ai projeté de lancer un projet de logiciel 3D perso. Et assez vite, un metavers plus optimisé. Et comme je découvrais le potentiel des forums, des tchats, des blogs et des portails (oui avant il y avait des portails avec plein de sites référencés selon des thèmes et c’était pratique et beau à voir – en même temps Google n’était qu’un nouveau concept naissant), j’ai voulu savoir si des gens avaient essayé d’exploiter plus que ça encore ce potentiel pour créer des pays. Et presque, mais pas vraiment. J’ai trouvé à l’époque des sites, ou parfois de simples pages (en HTML et c’est tout, la majorité du temps. Oui oui, c’était l’époque hein. CSS, PHP, voilà quoi…) qui parlaient de nations virtuelles. Sauf que c’était une sorte de jeu d’imagination. Des gens inventaient leur nation et se partageaient leurs liens entre elleux pour le plaisir. Voilà voilà. Évidemment, qui aurait oser vouloir faire la même chose, mais pour de vrai ? … Moi … Qui a dis que j’étais tout à fait saine d’esprit ? xD

Bref, je vais arrêter là, la petite histoire qui aurait continué sur mon apprentissage du HTML, puis du CSS, puis du C et C++, de Blender, etc… et de mon premier logiciel de tchat en C avec les sockets, les protocoles HTTP, puis d’autres ensuite, de mon premier visualiseur d’objets 3D à base de RWX (format de fichier de ActiveWorlds, que je m’étais amusé à analyser et chercher partout des bribes de documentation technique dessus), etc… D’ailleurs, ce visualiseur 3D ayant attiré l’attention d’un mec qui allait aussi sur ActiveWorld, et LeVillage.org (même techno), et qui voulais faire un clone de la technologie, m’a valu d’être contacté pour fournir la technologie qu’il peinait à développer. D’autant que je reproduisais cette technologie avec … OpenGL … c’est tout. Non non pas Unity, ou je ne sais quoi de déjà tout fait, clé en main. Je faisais ça avec mes … et mon couteau lol Pour revenir sur Demiurge, c’est avec les mêmes … et couteau (non mais c’est une expression hein) que j’ai fais la demo un peu buggé que vous pouvez télécharger ici. Je ne savais pas le faire, mais je l’ai fais qu’en-même :p

J’entrerai dans les détails sur comment je vois Demiurge aujourd’hui dans un prochain article. Là j’ai raconté un peu ma vie, mais ça donne un aperçu de comment le concept est né 🙂

[Demiurge Mini] Eau améliorée et fond spatial du monde îles flottantes

Plusieurs jours sans nouvelles de Demiurge Mini. Je développais les coins de l’eau et le fond du monde. Je n’ai pas fini les graphismes des coins de l’eau et pareil pour le code pour toutes les configurations de tuiles à placer, mais ça avance. En attendant, j’ai donc codé un générateur de fond spatial et voici un aperçu du jeu avec les étoiles et les nuages de gaz magenta. Là il s’agit d’un monde en îles flottantes comme je l’avais indiqué la dernière fois. C’est le seul type de monde car je ne m’occupe pas encore plus que ça de la génération des mondes. Je vais avancer encore sur les coins de l’eau, mais en même temps je m’attaquerai aux items et d’autres trucs 🙂

Capture d’écran_2017-06-28_19-34-01

[Demiurge Mini] Le terrain et le graphisme s’améliore encore

J’ai retiré temporairement l’eau et la bedrock pour avoir une bonne capture qui rend compte de l’amélioration du terrain. J’ai ajouté l’affichage de bordures pour la dirt et de parois sur la face avant du sol. Ce que je souhaite faire c’est proposer un profondeur pas trop élevé, de 3 ou 4 niveaux, au monde pour permettre de sculpter des montagnes en terre, pierre, etc… et aussi pouvoir représenter proprement les murs des bâtiments qu’on veut construire.

Capture d’écran_2017-06-18_21-11-05

Cette vue de monde île flottante me donne envie d’ajouter un fond fait d’étoiles comme dans le prototype de la version 3D. Comme dans ma vision de l’univers de Demiurge les mondes peuvent êtres de différentes formes et que l’espace n’est pas tout à fait similaire à celui de notre réalité, je peux vous confirmer qu’il y aura des îles flottantes dans l’espace :p Pour donner un indice sur ce qui m’inspire pour l’univers de Demiurge, j’ai envie qu’on puisse classer le jeu entre autres dans la catégorie space opera. Je vous laisse chercher le jeu Allods qui représente l’esthétique visuelle qui m’inspire le plus dans cette catégorie 😉

[Demiurge Mini] Séance de pixel-art

Ce soir, j’ai eu envie d’améliorer un peu quelques tiles et du coup je me suis attaquée à la terre et la bedrock. La terre ne me satisfait pas encore totalement, parce que les bords sont trop en ligne verticale, du coup ça donne l’impression que le sol est un peu labouré. Je reviendrais dessus, mais le centre de la tile est joli et aussi la bedrock est très bien réussi 🙂 Je ferais des variantes des tiles pour faire des transitions avec l’eau, l’herbe, et aussi donner un côté moins répétitif au décor :p
Capture d’écran_2017-06-09_22-16-06Pour dessiner les tiles, je teste une technique assez simple en 4 ou 5 couleurs qui aide beaucoup à faire des dessins d’objets naturels 🙂 J’aime bien faire du pixel-art. On peut faire tellement de choses quand on a acquis assez d’expérience et les styles sont très variés. Du plus simple avec 2 ou 3 couleurs sans effets particuliers, aux pixel-arts ultra détaillés, à plusieurs couleurs, des effets de lumière, et d’ombre. Les plus riches en détails m’impressionnent au plus haut point 😮

 

[Demiurge Mini] Des items et replantage des arbres

J’ai ajouté des items supplémentaires qu’on peut obtenir en coupant les arbres. Pour l’instant, il n’y a pas de quantité. Une fois obtenu les items, ils sont infini dans l’inventaire. Ça changera bien sûr 😉 J’ai aussi ajouté la possibilité de planter des glands, ce qui donne des pousses de chêne sur le sol 🙂 Les chemins sont en fait des cases de terre creusés, mais on ne récupère pas encore de terre pour l’instant. J’avoue ne pas y avoir pensé sur le moment lol

Capture d’écran_2017-06-08_21-14-28

[Demiurge Mini] Action et inventaire

J’ai ajouté la possibilité de supprimer les arbres ou le sol devant soi. Je dis supprimer, parce que les actions ne sont qu’à l’état de prototypes, donc il n’y a ni animation, ni items à récupérer. J’ai aussi ajouté un début d’interface en bas de l’écran avec l’objet dans la main du personnage. Il faut une pelle pour creuser le sol, et rien pour supprimer un arbre. J’ai aussi ajouté un inventaire tout simple. On appuie sur la touche I, il s’ouvre et on peut sélectionner au avec les flèches haut et bas, l’objet à avoir en main. On referme l’inventaire et on peut faire l’action correspondant à l’objet 🙂

Capture d’écran_2017-06-07_21-00-43

[Demiurge Mini] Génération procédurale du terrain

La dernière fois, j’ai oublié de préciser que j’avais aussi développé un brouillard de guerre, c’est à dire la zone noire qui cache le terrain à certains endroits. Aujourd’hui je vous montre le résultat après avoir ajouté la génération procédurale du terrain à l’aide d’un bruit de Perlin 2D. Les arbres aussi utilise leur propre bruit à partir d’une graine. La graine est légèrement modifié pour les arbres pour ne pas avoir un schéma de placement trop proche de celui du sol. La fréquence du bruit du générateur pour les arbres est différent pour donner une forme plus rude que le sol qui est plus lissé dans son schéma.

Demiurge Mini, en plein teste du terrain généré par bruit de Perlin 2D.
Demiurge Mini, en plein teste du terrain généré par bruit de Perlin 2D.

[Demiurge Mini] Ajout du personnage et des arbres

J’ai ajouté le personnage qui représente lae joueux, géré les collisions avec les obstacles et ajouté aussi le placement des arbres. Le personnage est repris de mon jeu de labyrinth, mais ça changera bien entendu. Les graphismes ne vont pas non plus rester comme-ça. Les arbres sont placés aléatoirement, sans schéma. En fait, dans la capture d’écran, les arbres semblent suivre des lignes verticales, ce qui est incohérent avec l’aléatoire pur. La raison est que, pour commencer simplement, j’ai créé l’île en codant des colonnes qui s’étalent sur la longueur de sorte à former une sorte d’ellipse. Mais, en plaçant les arbres, j’ai suivit la configuration de l’île pour placer mes valeurs aléatoires en oubliant de tirer au sort la valeur pour chaque arbre. Je l’ai fait pour des colonnes d’arbres. En bref, c’est un bug x)

Capture d’écran_2017-06-02_20-13-25

Demiurge se met à la mitose x)

Dans ce blog, j’ai créé une nouvelle catégorie pour publier l’actualité de Demiurge et si vous regardez la catégorie vous constaterez qu’il y a en fait 3 catégories. Demiurge, le jeu en projet depuis fin 2011, donc qui va sur ses 6 ans, n’a pas beaucoup avancé après que j’ai du faire le constat que ma première tentative était vite devenu une usine à gaz ingérable. Aujourd’hui, je souhaitais continuer à développer le moteur du jeu, et notamment le moteur graphique 3D, mais la motivation reste trop fragile et finalement, je dois me résoudre à changer encore la manière de voir ce projet. Le soucis principal est que la conception d’un moteur 3D est plus compliqué qu’un moteur en 2D en vue de dessus. Le niveau de difficulté augmente lorsque vous passez de la 2D en vue de dessus ou de côté, à la vue isométrique toujours 2D. Un moteur 2,5D si il est isométrique reste plus facile que la 3D sans FPS. Un moteur 2,5D simulant du FPS comme Doom ou DukeNukem3D est un peu plus technique, mais lorsqu’on sait comment faire, ça ne devrait pas non plus être trop ardu à réaliser. Le plus difficile des moteurs que j’ai eu à faire ou observer est le moteur 3D pour le FPS affichant des boxels partout. Un moteur comme Minecraft n’est pas du tout facile à faire, et demande d’avoir exploré et maitrisé différents concepts du monde de la 2D et de la 3D classique avant de s’y lancer à corps perdu. Pourtant, je me suis lancée sur Demiurge en 3D à la fin de l’année à laquelle j’ai découvert et exploré Minecraft et quelques mods, sans même avoir seulement fini un seul prototype de jeux 2D de type plateformer ou de jeux en 2,5D isométriques plus proche du style avec des terrains nivelables. C’est une grossière erreur de débutante un peu orgueilleuse, il faut le dire, que je déconseille à mon tour de reproduire. Si vous êtes débutant.e.x, ne brûlez pas les étapes, même si vous êtes surdoué.e.x. Vous perdrez du temps, de l’énergie, du plaisir et si vous n’avez pas l’entêtement que j’ai, sûrement aussi la passion et toute motivation.

Bon parlons donc de cette mitose de Demiurge. Et bien, The Fantastic Labyrinth a été le projet qui a tout changé, et c’était un peu le but aussi :p D’autres choses comme le défi Tetris que j’ai codé en 20 heures pendant 5 jours, et aussi la découverte de Minicraft, un jeu réalisé par Notch, fin 2011, en 48 heures, à l’occasion d’un concours, m’ont démontrés que diviser un projet trop complexe et demandant plus d’expérience apportait plus d’avantages que se borner à faire un gros projet d’un seul coup. Surtout quand on est seule sur un truc qui serait plus viable en équipe. Demiurge va donc se divisé en 3 grandes versions :

  • Demiurge Mini : Il va s’agir d’un jeu 2D en vue de dessus qui s’inspire de jeux Nintendo et qui présente l’univers de Demiurge et exploite un certain nombre de constituants du gameplay de Demiurge. Le monde sera en 2D sans profondeur, c’est à dire tout sur le même plan. On pourra miner, crafter, cultiver, etc… Mais, il n’y aura pas d’accès à des niveaux inférieurs comme on peut le voir dans Minicraft. Le développement peut donc se concentrer sur l’essentiel pour jouer et donner corps à l’univers de Demiurge en restant sur des algorithmes assez basiques.
  • Demiurge 2D : Version intermédiaire de Demiurge qui sera énormément inspiré de Dwarf Fortress. Ce n’est pas vraiment le principe des colonies de nains qui m’intéressent dans cette inspiration, mais plus tôt l’introduction de la profondeur, et donc du monde en 3D et d’un affichage qui pourra soit être sous forme ASCII, sous forme 2D en vue de dessus, soit en 2,5D isométrique (vue dimétrique). C’est en raison des différentes manières d’afficher que ce jeu est intermédiaire, car le passage en 3D est une autre manière d’afficher, donc une évolution logique 🙂 Plus de mécaniques du gameplay seront présents, ce qui permet d’approcher du projet final avec une approche encore assez facile à mettre en œuvre pour moi.
  • Demiurge 3D : Il s’agit de la version finale qui contiendra tout le gameplay et l’univers de Demiurge. Le jeu sera bien plus riche que ce que les premières démos laissent à imaginer. A part la 3D, ça n’aura presque plus rien à voir avec le classique clone de Minecraft qu’à été le projet au départ. Bien sûr, il sera toujours question de miner, cultiver, etc… de construire surtout, détruire aussi, faire de la magie, etc… Mais, ce n’est pas tout, et vous en saurez plus déjà avec la version Mini 😉

Voilà un projet qui va vraiment pouvoir sortir de ses difficultés et qui, je l’espère, profitera de ses premières heures de gloire dés la version Mini. En tout cas, je me sens bien plus à l’aise avec ça, surtout depuis le défi Tetris. Faites-moi un petit retour sur ce que tout ça vous inspire, dans les commentaires 😉