Skip to content

Tick based multiplayer network game built on top of ProjectYellow with an electron and PIXI frontend

Notifications You must be signed in to change notification settings

ramon54321/ProjectIsotope

Repository files navigation

Overview

This project serves as a base for client / server communication through a ledger action based approach.

The server is able to modify the NetworkState with setter functions, which are recorded. These actions are then popped periodically and sent to the client, which then applies the actions to it's instance of the NetworkState class. The NetworkState also implements the Serializable annotation which allows the entire state to be deep-serialized, which is needed when sending the entire state to the client with the fullState event. This is useful when a new client connects to an existing session for example.

The utils.ts file contains a function for replacing an object in memory, while maintaining it's original memory reference address. This is needed to replace the entire network state, while also ensuring any references to the network state instance remain valid. The function also ensures that any existing object references down the hierarchy remains valid.

Research

PIXI Renderer

https://github.com/pixijs/pixi-lights

PIXI Structure Shaders

https://www.html5gamedevs.com/topic/31711-how-to-use-vertex-shader-with-pixijs/

About

Tick based multiplayer network game built on top of ProjectYellow with an electron and PIXI frontend

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published