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

aurora

v2.1.3

Published

A small entity-component-system game engine/framework.

Downloads

54

Readme

Aurora is a small entity-component-system game engine for real-time-strategy games. It's also sort of a mod API, but more on that later...

Aurora is being developed alongside its intended use case, Forge, and still churns quite a bit. There's also lots of test code present which requires refactoring and possible removal, but the basic architecture is stable and usable.

Aurora is based on four basic classes:

  • Engine
  • Entity
  • Component
  • System

In a nutshell:

  • Components are JSON data with some useful helper methods.
  • Entities are are arrays of components with some useful helper methods.
  • Systems are pre-defined functions which are run each simulation loop and act on a subset of entities who have instances of the relevant components.
  • The engine:
    • Tells all systems to update each game loop
    • Handles the creation and destruction of entities and components
    • Handles the loading of assets using Three.js (geometries, materials, etc.)

The wiki contains more detailed information about the architecture and usage of Aurora and extensive documentation of the different classes and methods available can be found in /docs or at ianpaschal.github.io/aurora.

Mod API

"I read something above that said Aurora is 'sort of a mod API'."

That's correct. With Aurora, there's not really a distinction between core content and mods. Because all entities are both represented and saved as JSON (plus whatever other image assets or sounds), it's easy to add new units to the game without actually having to eval() any Javascript. This is especially useful for modded multiplayer where the required mods can be safely sent to all players in the game.

Obviously this exempts "systems" from being added as they are the actual executable functions which process a world's entities, but exchanging those should eventually be possible as well as the users' discretion.

Read more on the wiki.

License

Aurora is licensed under the MIT license.