jaught Posted November 11, 2017 Share Posted November 11, 2017 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. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.