-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Description
Context
We currently have a singleplayer game. Diablo perspective but guns as weapons (for both player and enemy), goal is to clear each room out of X max and get loot at the end.
Old gameplay: https://youtu.be/ck-nqOgGjXo?t=79
Apart from guns & bullets, player characters have abilities, 3 active and 1 passive.
We have / want typical RPG spells and special attacks, distilled to just "abilities" that have a wide range of unique effects, such as: life drain, mind control, hp / damage / speed / etc. boosts, as well as the opposite effect to debuff enemies.
Problem
Since we are using Entitas for the client, but we want to introduce PvP and Coop, the need to move Entitas to a C# backend solution arises.
Option 1 (Ideal, clean):
I would assume that for each match, we would create a micro-instance with a separate Entitas running in order to isolate Entities and Systems from other matches, then either recycling or destroying / recreating them on demand.
Option 2 (Risky):
I don't think, at any point, did our entity count within a game level surpass or came close to 100 Entities, so if 1000 matches are running, and somehow we do have EVERYBODY AND EVERYTHING in the same 1 Entitas instance and we isolate them by matches, it might work but that means 100,000 Entities, a few dozen Systems operating on them. Don't know about thisone.
Option 3 (Unlikely):
Some sort of P2P but since there's a certain amount of Physics involved, I can literally feel my soul leaving my body having to deal with any of this. Plus, the game is mobile first, so any lag, disconnect will be / feel unfair. Also client authoritative is cumbersome to check for cheating.
Metadata
Metadata
Assignees
Labels
Projects
Status