I am trying to calculate / guesstimate the costs of running an MMORPG for a client. And now I need a pretty accurate estimate for the monthly bandwidth cost so I can calculate the possible revenue of the investor / client. So what is a pretty reasonable bandwidth cost for each player per hour?
The MMORPG I'm trying to make is a virtual conference with gamification. We can go to booths, see other people, make a transaction in the booths. And we will also have a quest and mini-game system for the gamification.
We will be making it using Unity + Forge. We were thinking of using Photon before, but when I reached out to them, they said I need to subscribe for Photon Industries since it's not a game, per se, which is like 2.5x the cost of PUN.
We will split the server into two: the game server and the REST API server. I'm in charge of the game side of the project so the REST API and backend is not my jurisdiction. I this is the specs of the game that I had in mind:
- The event will be held for 10 days, possibly running 24 hours straight.
- Max customer that we have anticipated is around 1000-2000 CCU
- There will be multiple scenes / rooms that the customer can go to (e.g. Commerce area, Lobby area, Mini-Game area, etc)
- The quest system, booth transactions, and other features that doesn't need real time update will be handled by the backend.
So that leaves these data that needed to be synced:
Player:
- position : 4 bytes * 3 (X, Y , Z) = 12 bytes
- currentScene: 1 byte
- avatarModel: 4 bytes (will use bitmasking to handle the current type of clothing and accessories of the player model)
- playerAction: 4 bytes (player's enumerated action type)
- playerActionTarget: 4 bytes (player's action's target)
Scene:
- sceneStatus: 16 bytes (any status of the current scene e.g. the current quest. Still unsure how many bytes I need to sync)
So, this is what I have calculated so far using AWS EC2 (possibly wrong):