dreamt

Assorted reusable bits of game code and, aspirationally, a flexible, 3D, performant, networked game engine

Usage no npm install needed!

<script type="module">
  import dreamt from 'https://cdn.skypack.dev/dreamt';
</script>

README

Dreamt

A thing I dreamt up to help me keep pace with my creative whims in the realm of 3D networked video games.

Probably not ready for anyone else to use.

Stands on the shoulders of open-source giants. Currently this list includes THREE.js, ECSY, CANNON.js (actually, the active ECMAScript fork, cannon-es) etc.

Designed to be friendly with FP rendering engines (e.g. React). See src/render/EntityRenderConnector.ts

Package Version Open Issues Build Status Coverage Status Dependencies Status Dev Dependencies Status Commitizen Friendly

Docs

click here for documentation and API reference materials

Contents

Developing

These steps need to be performed whenever you make changes:

  1. Write awesome code in the src directory.
  2. Build (clean, lint, and transpile): npm run build
  3. Create unit tests in the test directory.
  4. Verify code coverage: npm run cover:check
  5. Commit your changes using git add and git cz
  6. Push to GitHub using git push and wait for the CI builds to complete.

Note: This project uses automated changelog generation as long as you follow Conventional Commits, which is made simple through the included Commitizen CLI.

Releasing

Follow these steps to update the NPM package:

  1. Perform all development workflow steps including pushing to GitHub in order to verify the CI builds. You don't want to publish a broken package!
  2. Check to see if this qualifies as a major, minor, or patch release: npm run changelog:unreleased
  3. Bump the NPM version following Semantic Versioning by using one of these approaches:
    • Specify major, minor, or patch and let NPM bump it: npm version [major | minor | patch] -m "chore(release): Bump version to %s."
    • Explicitly provide the version number such as 1.0.0: npm version 1.0.0 -m "chore(release): Bump version to %s."
  4. The push to GitHub is automated, so wait for the CI builds to finish.
  5. Publish the new version to NPMJS: npm publish

Contributing

  1. Create a fork on GitHub
  2. Use the Suggested Development Workflow
  3. Create a GitHub pull request from your fork

Alternatively, (though less awesomely):

  1. Create an issue on GitHub
  2. Describe the issue in as much detail as possible. This makes up for not going the pull request route.
    • What happened
    • What did you expect
    • What browser/OS versions were you using
    • What have you tried to fix

Credits