Object-Oriented Networking ECS

This project centers on integrating a custom ECS system into an OOP-based networking framework, FishNetworking. Each game object is assigned an ID and subscribed to specific systems, which communicate directly with other connections that share the same system. For example, if two connections both have a system1 game object active, they can update each other on the system's activities in real-time.

These systems generate usage data for each subscribed entity, which is then compiled by a central data system that organizes entities based on tags. Systems pull from this centralized data and react to the organized entity lists. For instance, if entity1 is subscribed to both the jump system and the cancel jump system, the central system processes both and ensures the cancel jump system stops the jump action due to conflicting tags. This is done using temporary tags, ensuring the cancel jump system only activates when specifically triggered.

While this project was highly educational, it proved to be inefficient without further optimization. While extremely modular, it’s network usage wasn’t optimal.

ECS With System Interaction

ECS Implemented In An Object Oriented Multiplayer Framework

Complex Class Abstraction For Easy System Implementation

Communication Between Manager Classes Via Relay