Project Hedra is an ambitious open-world, low-poly RPG in which players choose a class, explore endless procedurally generated worlds, unlock skills and complete procedurally generated quests. The project began when its creator was around 15 years old, as a way to learn how OpenGL worked. Scope creep quickly took over, and after a few years it had grown into a full-fledged 3D game and game engine. The codebase totals around 100k lines of code, with first-class support for Linux and Windows.
The game offers a wide range of features, including procedurally generated worlds, quests and bosses, more than 100 items with a rarity system, and a skill tree with dozens of skills. Players can pick from four classes with two specializations each, and can fish, craft, trade, recruit companions and pets, and travel between different dimensions. The engine is equally extensive, with a modern OpenGL renderer, skinned mesh and animation support, screen-space reflections and ambient occlusion, Steam integration, modding and Python scripting support, and a chunk system for infinite worlds.
Technical highlights include a world renderer that draws the entire world in roughly three draw calls using OpenGL multi-draw elements, and terrain generated with Marching Cubes, an isosurface extraction algorithm. The project name comes from tetrahedra, the shape used in the Marching Tetrahedra algorithm the creator originally implemented. The world has no save file: only the player's data and a world seed are stored, and everything else is generated at runtime.
The creator notes that the game's models are stored as plaintext .PLY and .DAE files without textures, meaning the project is essentially text that is read and turned into interactive images. The project was shared on Hacker News.
Source: Hacker News · Summarized by HeadlinesBriefing