jaught

Members
  • Content Count

    1
  • Joined

  • Last visited

  1. 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.