O Project Hedra é um RPG ambicioso de mundo aberto e low-poly, no qual os jogadores escolhem uma classe, exploram mundos infinitos gerados proceduralmente, desbloqueiam habilidades e completam missões geradas proceduralmente. O projeto começou quando seu criador tinha cerca de 15 anos, como uma forma de aprender como o OpenGL funcionava. O crescimento do escopo logo tomou conta do projeto e, depois de alguns anos, ele havia se transformado em um jogo 3D completo e em um motor de jogo. A base de código totaliza cerca de 100 mil linhas de código, com suporte de primeira classe para Linux e Windows.
O jogo oferece uma ampla gama de recursos, incluindo mundos gerados proceduralmente, missões e chefes, mais de 100 itens com um sistema de raridade e uma árvore de habilidades com dezenas de habilidades. Os jogadores podem escolher entre quatro classes, com duas especializações cada, e podem pescar, criar itens, negociar, recrutar companheiros e mascotes e viajar entre diferentes dimensões. O motor é igualmente extenso, com um renderizador OpenGL moderno, suporte a malhas com skinning e animação, reflexos no espaço de tela e oclusão ambiente, integração com a Steam, suporte a mods e scripts em Python, e um sistema de chunks para mundos infinitos.
Destaques técnicos incluem um renderizador de mundo que desenha o mundo inteiro em cerca de três chamadas de desenho usando elementos multi-draw do OpenGL, e um terreno gerado com Marching Cubes, um algoritmo de extração de isosuperfícies. O nome do projeto vem dos tetraedros, a forma usada no algoritmo Marching Tetrahedra que o criador implementou originalmente. O mundo não tem arquivo de save: apenas os dados do jogador e uma semente (seed) do mundo são armazenados, e todo o resto é gerado em tempo de execução.
O criador observa que os modelos do jogo são armazenados como arquivos .PLY e .DAE em texto simples, sem texturas, o que significa que o projeto é essencialmente texto que é lido e transformado em imagens interativas. O projeto foi compartilhado no Hacker News.
Fonte: Hacker News · Resumido por HeadlinesBriefing