3 ms·
These are fun projects. About six years ago I launched Pixmap on android, which is a little collaborative pixel editing app, supporting larger images (like 1024
by winrid 2y ago
These are fun projects. About six years ago I launched Pixmap on android, which is a little collaborative pixel editing app, supporting larger images (like 1024x1024 grids etc). I had a queue that would apply each event to png images, and then clients would load the initial PNG on connect, and then each pixel draw event is just one small object sent to the client. This way I could take advantage of image compression on initial load, and then the change sets are very small. Also, since each event is stored in a log, you can "rewind" the images [0].
[0] 22mb: https://blog.winricklabs.com/images/pixmap-rewind-demo.gif https://blog.winricklabs.com/images/pixmap-rewind-demo.gif
- usernamed7 2y agoNeat! I was exploring a similar idea about per-pixel updates to many web clients, but i found it would be way too bandwidth/storage intensive to do what I wanted to do. So I've been tinkering with canvases that can be addressed by API calls https://x.com/RussTheMagic/status/1816749136487588311 https://x.com/RussTheMagic/status/1816749136487588311
- winrid 2y agoI see what you're doing is submitting shapes over the wire. That's a bit different than what a pixel art application has to do, unless we were doing like color fill and stuff, which it doesn't support. Every pixel you draw it shows your name next to the square, too, so it's not like "draw a shape and submit" kinda thing. regarding storage of the log, compression is a thing :)
- usernamed7 2y agoFor sure, different projects - what I was doing when i started, expressing individual pixel updates was a huge storage hog, as trying to draw the most rudimentary shapes resulted in quite large storage (even after gzip) - and would translate to large bandwidth requirements (as I was going for realtime). I moved over to canvas drawings because I could express rendering with much more expressive syntax.
- winrid 2y agoYeah, my goal at some point was to add animations and stuff, and then I'd do something like you're doing. But I moved onto other projects :)