npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

noa-engine

v0.33.0

Published

Experimental voxel game engine

Downloads

143

Readme

noa-engine

An experimental voxel game engine.

Some projects using noa:


Usage

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.

Docs

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.

Status, contributing, etc.

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.

Change logs

See history.md for full changes and migration for each version.

Recent changes:

  • v0.33:

    • Much improved API docs
    • Terrain now supports texture atlases! See registry.registerMaterial.
    • Added a fast way to specify that a worldgen chunk is entirely air/dirt/etc.
    • Modernized keybinds to use KeyboardEvent.code strings, and changed several binding state properties
    • Bunch of internal improvements to support shadows - see examples
  • v0.32: Fixes npm versioning issue - no code changes.

  • v0.31:

    • Change the speed of the world! See noa.timeScale
    • Now possible to control chunk processing order: noa.world.chunkSortingDistFn
    • Much improved type exports and API docs
  • v0.30:

    • Engine now a named export, use import {Engine} from 'noa-engine'
    • many performance and size optimizations
    • now generates proper type declarations and API references!
    • can now configure separate vert/horiz values for chunk load distance
    • core option tickRate is now in ticks per second, not ms per tick
    • adds several init options, e.g. maxRenderRate, stickyFullscreen
  • v0.29:

    • maximum voxel ID is now 65535
    • adds option worldGenWhilePaused
    • adds option manuallyControlChunkLoading and related APIs
    • performance and bug fixes

Credits

Made with 🍺 by @fenomas, license is MIT.

Uses Babylon.js for 3D rendering.