TypeScript ECS and multiplayer game development toolkit

javelin

Javelin is a suite of packages used to build multiplayer games for the web.

The primary goals of Javelin are speed, minimalism, and ease-of-use. A secondary goal is to provide examples of client-side prediction, input reconciliation, and other algorithms commonly used in fast-paced online games.

Docs

Visit https://javelin.games

Packages

Package Description
@javelin/ecs Build games using the Entity-Component System pattern
@javelin/net Synchronize @javelin/ecs instances between client and server
@javelin/devtool Inspect and manipulate remote and local @javelin/ecs instances
@javelin/hrtime-loop Create a smooth, high-resolution game loop in NodeJS

Examples

Example Description
networking Entity/component synchronization over WebRTC datachannels

Scripts

Script Description
yarn build Build all packages and examples
yarn test Run all unit and integration tests
yarn perf Run all performance tests
yarn example:basic Preview basic ECS capabilities
yarn example:networking An example of synchronizing entities over WebRTC

Development

yarn --ignore-engines
yarn build
yarn example:networking

Note that when developing, changes to code in local, dependent packages will not automatically refresh development apps. Just build the dependent packages and restart the dev server process when you want to test a change.

Download Details:

Author: 3mcd

Demo: https://javelin.games/introduction/

Source Code: https://github.com/3mcd/javelin

#nodejs #node #javascript #typescript

TypeScript ECS and multiplayer game development toolkit
18.70 GEEK