An experimental voxel game engine.
Some projects using noa
:
The easiest way to start building a game with noa
is to clone the
examples repo and start hacking
on the code there. The comments in the hello-world
example source walk
through how to instantiate the engine, define world geometry, and so forth.
The example repo also shows the intended way to import noa's
peer dependencies, test a world, build for production, etc.
See the API reference for engine classes and methods.
Documentation PRs are welcome! See the source for details, API docs
are generated automatically via npm run docs
.
This engine is under active development and contributions are welcome.
Please open a discussion issue before submitting large changes.
PRs should be sent against the develop
branch!
Code style/formatting are set up with config files and dev dependencies, if you use VSCode most of it should work automatically. If you send PRs, please try to be sorta-kinda consistent with what's already there.
See history.md for full changes and migration for each version.
Recent changes:
v0.33
:
registry.registerMaterial
.v0.32
: Fixes npm versioning issue - no code changes.
v0.31
:
noa.timeScale
noa.world.chunkSortingDistFn
v0.30
:
import {Engine} from 'noa-engine'
tickRate
is now in ticks per second, not ms per tickmaxRenderRate
, stickyFullscreen
v0.29
:
65535
worldGenWhilePaused
manuallyControlChunkLoading
and related APIsMade with 🍺 by @fenomas, license is MIT.
Uses Babylon.js for 3D rendering.