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

@ud-viz/game_shared

v4.4.0

Published

Game library interpretable in a nodejs and in a browser environment based on THREE.js

Downloads

102

Readme

@ud-viz/game_shared

NPM package version

Game library interpretable in a nodejs and in a browser environment based on THREE.js.

Since the library is interpretable in a nodejs environment there is no output (audio, graphic) and input. In that case you need to use @ud-viz/game_browser

Overview

flowchart TB
subgraph component

  subgraph Audio
    Audio.Model
  end

  subgraph Collider
    Collider.Controller
    Collider.Model
  end

  subgraph ExternalScript
    ExternalScript.Model
  end

  subgraph GameScript
    GameScript.Model
    GameScript.Controller
  end

  subgraph Render
    Render.Model
  end

end

subgraph state

  Diff
  State

end

Context-->|initialize Controller + tick|Object3D
Object3D-->|compose of|component
Context-->|create|state

Some component (ones needing the web api to works) don't have Controller meaning these component are not controlled by Context. Only Model is manipulated.

Installation

You can install @ud-viz/game_shared via npm:

npm install @ud-viz/game_shared

Example

const { ScriptBase, Context, Object3D } = require('@ud-viz/game_shared');

// Create a game script to compose your Object3D
const GameScript = class extends ScriptBase {
  // add your method
  myMethod() {}

  // different event dispatch by Context
  load() {
    console.log('loading');
  }

  init() {
    console.log('init');
  }

  tick() {
    console.log('tick');
  }

  onEnterCollision() {
    console.log('onEnterCollision');
  }

  isColliding() {
    console.log('isColliding');
  }

  onLeaveCollision() {
    console.log('onLeaveCollision');
  }

  // your script id
  static get ID_SCRIPT() {
    return 'id_script';
  }
};

// Create your @ud-viz/game_shared Context
const context = new Context(
  [GameScript],
  new Object3D({
    components: {
      GameScript: {
        idScripts: [GameScript.ID_SCRIPT],
      },
    },
  })
);

// Load and step your game
context.load().then(() => {
  setInterval(() => context.step(), 50);
});

Documentation

Online Documentation

Contributing

Contributions are welcome! Feel free to submit bug reports, feature requests, or pull requests on the GitHub repository. See Contributing.md.

License

This package is licensed under the GNU Lesser General Public License Version 2.1, with copyright attributed to the University of Lyon.

Credits

@ud-viz/game_shared is developed and maintained by VCityTeam. See Contributors.md.