Update Summer 2020:
- Open Sourced w/ BSD License: https://github.com/robmurrer/sessionlink
- Still working on it… but stuck in a Refactor From Hell.
This was never meant to be a single player game… Perhaps the biggest change in humanity over the past 200 years is the ability to communicate over the wire or the air thousands of miles away instantly.
The Hive Mind is a real thing and is buzzing with all of your data. The aggregate.
I’ve been working on a proof of concept prototype for multi-user editing. Co-design if you will. Essentially a google docs shared cursor:
This has been my side project for a few months and it uses Typescript, React, and WebSockets. Beware that there is no privacy features yet. So be good.
Open it up in two+ different browsers/machines etc 🙂
Standback google docs.
I will do a walk-through of the source code soon. Here are some shots during development.
We still have callback hell here with my commando function. It is passed into every block and is the way that everything updates. Not sure if I will keep this but it works.
Main render from “Playbox” the root component of app. I have a file drop that isn’t being used yet.
The kids these days call it hydration/dehydration instead of deserialize/serialize:
On the todo list:
- Private Channels w/ XOR Key
- JSON Deltas not full blobs for transmission of edits
- Throttling server/client
- Usernames/Colors not random
- Actually Reseeding the data to new users
- Collision Avoidance Schemes w/ Time travel
- File Sharing
- Markdown Editing
- DataTable Editing