Si Net by W-Siqi - 1

NetworkFrameworks

A lightweight networking framework in Unity based on Entity-Component-System(ECS)

Unknown VersionUnknown LicenseUpdated 9 days agoCreated on January 22nd, 2020
Go to source

SiNet

A lightweight networking framework of 3D synchronizing.
Which separate data synchronizing from the logic built on these data.

It is used in and driven by a acedemic project in Carnegie Mellon University.

demo1: Car driving, hello world

image

demo2: VR character present

present the whole body in muliplayer VR,by synchronizing positon, animation and behaviour. image image

Features

This is an under developing project (see Devlog), evolving with the project using this framework.

  1. provide a Entity-Component-System for wrting data synchronizing logic.
  2. Build an application layer protocal and its transmitting fucntions
  3. Remote Procedure Calls (RPC) for event communication between servers and clients.

How it works

separate data synchronzing from logic codes

In OOP, we inheritance hierachies.
In an ECS design, we use combination to describe the commonality and difference between entitits(classes), and support polymorphism by removing and adding components in the runtime. image

separate the codes of source entity and its replication on other clients.

By instancing different entity, we can write two versions on authority side and replication side:

image

Our framework will do the mapping between two side across servers and clients:
iamge

Show all projects by W-Siqi