• This repository has been archived on 03/Oct/2023
  • Stars
    star
    286
  • Rank 144,690 (Top 3 %)
  • Language
    JavaScript
  • License
    MIT License
  • Created about 4 years ago
  • Updated about 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

HTML5 multiplayer game engine (Now archived, new version available at https://github.com/moddio/moddio2)

HTML5 Game Engine

Taro is a multiplayer game engine. It can support up to 64 concurrent players hosted on a $5 / month VM while running Box2D physics. Join us on Discord or support us on Patreon.

Demo


What's included in the box.

  • Box2D Physics
  • Netcode using UWS and LZ-string compression
  • Inventory & item system
  • Unit attributes (HP, Energy, etc)
  • Weapon system (melee & projectile)
  • Dialogues
  • Shops
  • Unit control (top-down WASD or platformer)
  • Client-side predicted projectile + unit movement (optional)
  • Basic AI
  • Mobile controls
  • and more!

Node Version

Node Versions below 14 are not supported due to package incompatibility and degraded performance.

Running a game server

Taro engine will run games made using modd.io.

To run the game server, execute the following command:

npm run server --game=<gameID>

*if the gameID argument is not provided, then the engine will use game.json stored in root directory instead.

Your game's Game ID can be found in your modd.io's game's sandbox (example). Go to menu -> about.

How to get game id

Quick start example - Run "Two Houses" locally

Install Node 14 or later and then...

git clone https://github.com/moddio/taro.git
cd taro
npm install
npm run server --game=5a7fd59b1014dc000eeec3dd

Connecting to the game server

Visit http://localhost:80 to start testing game.

Compiling game.js for faster loading

Once you make changes, run

npm run build

and edit /src/index.ejs file, and comment

<script type="text/javascript" src="/engine/loader.js"></script>

and uncomment

<script type="text/javascript" src="./game.js"></script>

How to customize game client UI

Game client's user interface is rendered by /src/index.ejs file and the theme files in /src/templates/

How to make games on modd.io

Please visit https://www.modd.io/tutorials for more information.

We need contributors, and we are also hiring

Performance optimization is a hard problem that takes aeons to solve. We are always looking for more developers to help us. To be a contributor, please contact m0dE in our Discord If you find yourself enjoying working with us, then we should seriously consider working together.

Taro is completely free and open source under the MIT license.

Taro Engine was originally forked from Isogenic Game Engine back in 2016.