Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/moddio/taro

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

game-engine html5-game io multiplayer-browser-game multiplayer-game-engine multiplayer-game-server nodejs websocket

Last synced: 6 days ago
JSON representation

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

Awesome Lists containing this project

README

        

# 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](https://github.com/moddio/moddio2)

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



Taro Engine logo


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](https://nodejs.org) are not supported due to package incompatibility and degraded performance.

## Running a game server
Taro engine will run games made using [modd.io](https://www.modd.io).

To run the game server, execute the following command:
```
npm run server --game=
```
*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](https://beta.modd.io/sandbox/game/two-houses/scripts)). Go to menu -> about.

How to get game id

## Quick start example - Run "Two Houses" locally

Install [Node 14](https://nodejs.org) 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
```

```
and uncomment
```

```

## How to customize game client UI
Game client's user interface is rendered by [/src/index.ejs](https://github.com/moddio/taro/blob/master/src/index.ejs) file and the theme files in [/src/templates/](https://github.com/moddio/taro/tree/master/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](https://discord.gg/XRe8T7K) 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](https://www.isogenicengine.com/) back in 2016.