Collagol stands for Collaborative Game of Life is a persistent game of life universe.
The page is just a facade using Canvas2D in Javascript for the world that is updated using a Go backend. Front and back communicate through a websocket, each update sends the entire world to every connected user.
Sorted by priority:
- RLE Sharing
- Smarter zoom on region
- Add timestamps for messages
- Show messages once they are downloaded
- Rename brushes
- Change eraser size dynamically
- Optimize update & network using tiles
- Temporary RLE
- Identify which cells was placed by player
Done:
Fix cursor not aligned (overhaul projection/unprojection)Bigger worldImplement Hashlife/Fast updaterTranslation and scrollOptimized networkingBetter mobile support / responsive designOne IP at a time onlyRedo CSS to support more resolutionsShortcuts for rotation and flippingBigger eraserAdd send buttonChange /connected endpoint to WSOptimize draw using Uint32