A multi-threaded, renderer-independent TypeScript voxel engine for building customizable voxel-based games and applications.
Divine Voxel Engine is a multi-threaded, renderer-independent voxel engine built in TypeScript. It provides a customizable foundation for creating voxel-based games and applications, handling core tasks like data management, meshing, lighting, and world simulation while allowing developers to plug in their preferred rendering technology.
Game developers and creative coders building voxel-based games, simulations, or interactive 3D experiences in TypeScript/JavaScript who need a flexible, high-performance engine.
Developers choose DVE for its modular, renderer-agnostic design, multi-threaded performance, and extensive customization options through its JSON-based voxel model system, avoiding lock-in to a specific graphics library.
A multi-threaded, renderer independent, fully customizable TypeScript voxel engine.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
The engine uses parallel meshing and world updates in workers, with optional shared memory, to handle large voxel worlds efficiently, as shown in the architecture details.
Core logic is separate from rendering, allowing integration with Babylon.js, Three.js, or WebGPU, giving developers flexibility to choose their graphics library.
Voxel geometry and behavior are defined via JSON, similar to Blockbench, supporting AO, lighting, and particle effects, enabling extensive customization without code changes.
Includes generation, updates, lighting, flow, and power systems, plus an archiving API to export worlds as JSON for persistence and sharing.
Getting started requires multiple git commands, submodule updates, and npm runs, which can be error-prone and time-consuming for new users.
The Three.js and WebGPU packages are marked as 'in dev' and not actively worked on, limiting options beyond Babylon.js for production use.
The JSON-based model system and modular architecture require deep understanding of voxel data structures and TypeScript, with sparse beginner-friendly tutorials.
Originally built with SharedArrayBuffers but faced issues, now optional; this history suggests potential reliability concerns in multi-threaded environments.