Coder Social home page Coder Social logo

moddio / moddio2 Goto Github PK

View Code? Open in Web Editor NEW
466.0 6.0 37.0 40.05 MB

HTML5 multiplayer game engine

Home Page: https://www.modd.io/

License: MIT License

CSS 0.34% JavaScript 89.92% EJS 0.72% TypeScript 9.02%
game-engine html5-game io iogames multiplayer-browser-game multiplayer-game-engine multiplayer-game-server multiplayer-online-game nodejs websocket

moddio2's Introduction

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


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 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. To learn how to use the game editor, visit 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.

How to get game json in game's in-game editor

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:

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:

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

Credits

Isogenic Game Engine

Phaser

PlanckJS

uWebsocket

Box2D

Kenney Assets

Hero Icons

moddio2's People

Contributors

420kyle69 avatar acheo avatar antocorr avatar bergice avatar billyboyyy avatar bruh-9000 avatar capibawa avatar damienvesper avatar danielmjacobson avatar dependabot[bot] avatar grenagar avatar m0de avatar minotalen avatar moe-moe-pupil avatar nagendraallam avatar nickyvanurk avatar nishantdesai1306 avatar nishantdesaimoddio avatar paganaye avatar pankaj9296 avatar parthvakharia avatar pavle-goloskokovic avatar pineapplebrain avatar pranshu6 avatar recon-cyber avatar sky4ce09 avatar sloont avatar tohodragon avatar vietnamneko avatar xcjames29 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

moddio2's Issues

prize

The prize is no longer working like it isn't giving modd coins anymore, idk if it was a limited time event or what but either way nobody is receiving modd coins anymore even though I was receiving modd coins some hours ago

Set entity variable loads previous content and cant be changed

When you open the interaction window from the 'set entity variable' script it loads the previous content if you used it before.
On reopening that script the setter value can't be selected/changed.
Reloading the page solves that issue temporarily until a second 'set entity variable' script is created again.

Camera moved in map mode

The function to make a player's camera look at a specific place still moves the camera while in the map editor (i assume other editors too, like entity editor, etc)

Glitch outside game map

It’s possible to glitch outside of the map if you teleport out of it, and you will be able to stay in the void until you move, and when you move you will be pushed back into the map

476b7a02f93618cf32cf558cd79ca810b28a813c

Select item crashs the game

When i select a item in any slot, my game crashs, this only happens when i press the number of the slot
(Example: if i press [4] Kebind to select the slot 4, if that slot has a item, the game crashs only for me)
This is the console when this bug happens
imagen_2023-06-21_173719627
Also i can't use the mouse cursor to select a slot with a item

Join glitch

Theres a problem it wont let me join any games and idk why?
Can y’all try and fix it.

Tiledsheet bug and map button bugged

When I join any game, I see the game tiledsheet on the left of my screen.
Also, when I press the map button (when I’m making a game)
my whole Ui dissapears…

This is a example of the tiledsheet bug...
Tiledsheet bug

This is the console thing...
Console
Dont forget that when i press the map button my whole Ui dissapears!

Pick tile triggering at wrong time

In the ingame editor if holding right click and then pressing the middle mouse button (scroll wheel) it will select the tile as if you stopped pressing the right click button

Chat: change server text color feature

Make it so you can set the default color of text sent by the server instead of making it always yellow, and also allow specific messages to have different colors

send current animation of units to new players joining game

image

issue: new players joining see the 0th frame despite the current animation of a unit being not 0

create a test game first which has an NPC unit with a non-0th index animation frame set. me joining the game should display the correct, non-0th frame.

Cancel making region broken

When making a new region in the ingame editor, while making a region if you click the cancel button it won’t actually cancel anything it will just create the region anyway. This is the same if you press the X and exit out of the region, it shouldn’t create it if you do that.

Make entity select item at slot not working

in the video below i made it so the game changes inv slot to 2nd one after chatting but Im still using the item at the 1st slot

Untitled.video.-.Made.with.Clipchamp.23.mp4

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.