Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/moddio/moddio2
HTML5 multiplayer game engine
https://github.com/moddio/moddio2
game-engine html5-game io io-games iogames multiplayer-browser-game multiplayer-game multiplayer-game-engine multiplayer-game-server multiplayer-online-game nodejs websocket
Last synced: 5 days ago
JSON representation
HTML5 multiplayer game engine
- Host: GitHub
- URL: https://github.com/moddio/moddio2
- Owner: moddio
- License: mit
- Created: 2022-07-23T17:27:09.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2024-04-13T15:59:37.000Z (7 months ago)
- Last Synced: 2024-04-14T12:03:31.125Z (7 months ago)
- Topics: game-engine, html5-game, io, io-games, iogames, multiplayer-browser-game, multiplayer-game, multiplayer-game-engine, multiplayer-game-server, multiplayer-online-game, nodejs, websocket
- Language: JavaScript
- Homepage: https://www.modd.io/
- Size: 32.4 MB
- Stars: 447
- Watchers: 6
- Forks: 37
- Open Issues: 97
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Moddio Game Engine 2
Moddio is a Multiplayer-First Game Engine. It has a built-in server-authoritative netcode, including snapshot interpolation and client-side reconciliation. It can support 50+ concurrent players or 300+ moving entities hosted on a $5/month VM. Join us on Discord
Demo
## What's included in the box.
- Box2D Physics
- Server-authoritative netcode using Websocket, Snapshot interpolation, Client-side reconciliation, and LZ-string compression
- Inventory & Item system
- Built-in Attributes (e.g. HP, Energy, etc) with regeneration rates
- Built-in Item system (melee & projectile)
- Dialogues (ideal for visual novel-style games)
- Shops (for selling items)
- Unit control (top-down WASD or platformer)
- Client-side predicted projectile + unit movement (optional)
- Unit AI including A\* pathfinding
- Mobile controls
- and more!## Running the game
Make sure you have [Node 16](https://nodejs.org) or later.
First, setup the repo```
git clone https://github.com/moddio/moddio2.git
cd moddio2
npm install
npm run tsc
```Then, to start the server run:
```
npm run server
```You can now play the game at http://localhost:8080
## How do I create a new game from scratch?
Moddio games are created & edited using Moddio Game Editor available at [https://www.modd.io](https://www.modd.io).
To learn how to use the game editor, visit [https://learn.modd.io](https://learn.modd.io).After creating your game, you can export the `game.json` file for use in your local installation. To do this, navigate to `Menu` in the Moddio Game Editor and click `Export Game`.
Next, rename the downloaded Game JSON file to `game.json` and move it into the `src` directory.
To load your game file, simply start the server by running:
```bash
npm run server
```You will be presented with a dropdown menu, where you can use the arrow keys to select your game file. Alternatively, you can pre-select your game file by running:
```bash
npm run server --game=game.json
```## How to contribute
Moddio is completely free and open source under the MIT license, and we are always looking for more contributors.
To learn about how to become a contributor, please visit [how to contribute page](https://docs.modd.io/how-to-contribute)## Credits
[Isogenic Game Engine](https://www.isogenicengine.com/)
[Phaser](https://phaser.io/)
[PlanckJS](https://github.com/piqnt/planck.js)
[uWebsocket](https://github.com/uNetworking/uWebSockets)
[Box2D](https://github.com/erincatto/box2d)
[Kenney Assets](https://www.kenney.nl/)
[Hero Icons](https://github.com/tailwindlabs/heroicons)