Jump to content

Advice regarding libraries and development technologies for new MP framework


jaught
 Share

Recommended Posts

Hey!

I've decided to build a simple 2D framework for building multiplayer/MMO games (similar scope to Agar.io), I have significant experience in building multiplayer engines for windows/linux but I have never touched web. If you have any advice on libraries and development technologies, or general advice, I would greatly appreciate it.

My current tech stack (if you think this is naive feel free to call me out, as I am indeed naive.):

  • Language: Typescript
  • Client
    • Platform: Browser
    • IDE: VS2017
    • Rendering: Pixi.js
    • Physics: Box2D or similar
    • Level Editor: Tiled or similar
    • Animation: Spline
  • Server
    • Platform: Linux VM via google or aws
    • Run time: Node.js
    • Web Server: Apache
    • Database: MySQL
  • Shared
    • Modules: UMD
    • Networking: WebSocks / Socket.io
    • Data Structures: typescript-collections
    • Logging: Log4ts (based on Log4js)

My framework will be a microservice architecture that will used to create the basis for the client engine and the server authority engine and then a bunch of microservices that clients interact with (Authenticator, Inventory, Logging, etc).

Q: Why don't I use Phaser or other for the client engine? From what I can see is that Phaser is hard and/or in optimal to run on the server side. I could use it on the client and then bunch together similar components and run them on the server but from what I can see Pixi provides a lot of runtime functionality that I will need, and I like the idea of using same physics and other libraries on both client and server.

Thanks in advance!

Edit 0:
Object pooling: Opool
Edit 1:
Typescript Optionals: https://www.npmjs.com/package/ts-optional

Node Websockets: https://www.npmjs.com/package/ws

Browser Event Emitter: eventemitter3
Edit 2:
Docker: for creating instances of node.js microservices.
Scaling: not sure yet, but simplest case will be a c++ service that will spawn docker services and join the cluster as a ring node and will limit the time slice of each microservice.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...