Skip to content
This repository has been archived by the owner on Oct 3, 2023. It is now read-only.

moddio/taro

Repository files navigation

Taro (Archived)

⚠️ Important Notice: This Taro repository is now archived and no longer actively maintained.

We are excited to announce that we have upgraded Taro to its new and improved version, Moddio2! 🚀

You can find the latest and actively maintained version of our project at the following repository:

👉 Moddio2 Repository

Thank you for your support and continued interest in our project!

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.


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.