Project Hedra est un RPG ambitieux en monde ouvert et low-poly, dans lequel les joueurs choisissent une classe, explorent des mondes infinis générés procéduralement, débloquent des compétences et accomplissent des quêtes générées procéduralement. Le projet a commencé lorsque son créateur avait environ 15 ans, pour apprendre le fonctionnement d'OpenGL. L'élargissement du périmètre a rapidement pris le dessus et, au bout de quelques années, le projet était devenu un jeu 3D complet et un moteur de jeu. Le code source totalise environ 100 000 lignes, avec une prise en charge de premier plan de Linux et de Windows.
Le jeu propose un large éventail de fonctionnalités, notamment des mondes générés procéduralement, des quêtes et des boss, plus de 100 objets dotés d'un système de rareté, et un arbre de compétences comptant des dizaines de compétences. Les joueurs peuvent choisir parmi quatre classes, chacune avec deux spécialisations, et ils peuvent pêcher, fabriquer, commercer, recruter des compagnons et des animaux de compagnie, et voyager entre différentes dimensions. Le moteur est tout aussi complet, avec un moteur de rendu OpenGL moderne, la prise en charge des maillages skinnés et de l'animation, des reflets en espace écran et de l'occlusion ambiante, l'intégration à Steam, la prise en charge des mods et du scripting en Python, ainsi qu'un système de chunks pour les mondes infinis.
Parmi les points techniques remarquables, un moteur de rendu du monde dessine l'ensemble du monde en environ trois appels de dessin grâce aux éléments multi-draw d'OpenGL, et le terrain est généré avec Marching Cubes, un algorithme d'extraction d'isosurfaces. Le nom du projet provient des tétraèdres, la forme utilisée dans l'algorithme Marching Tetrahedra que le créateur avait initialement implémenté. Le monde ne dispose d'aucun fichier de sauvegarde : seules les données du joueur et une graine (seed) du monde sont stockées, tout le reste étant généré à l'exécution.
Le créateur précise que les modèles du jeu sont stockés sous forme de fichiers .PLY et .DAE en texte brut, sans textures, ce qui signifie que le projet est essentiellement du texte lu puis transformé en images interactives. Le projet a été partagé sur Hacker News.
Source: Hacker News · Résumé par HeadlinesBriefing