5,772 karma · joined January 26, 2011
@AshleyGullen@mastodon.gamedev.place
https://www.construct.net/en/blogs/ashleys-blog-2
I've also long felt that "cookies" is a really poor term - these days it really refers to "storage on your local device accessed by websites", and the confusion literally leads to data loss.
Not sure why that error happened when exporting a GIF - I just tried it and it's working here (Chrome/Windows). Could you copy and paste the error message and send it to me at ashley@construct.net? I'll see if I can figure it out from that.
[1] https://www.construct.net/en/tutorials/exporting-image-seque...
[2] https://www.construct.net/en/tutorials/exporting-videos-tran...
The UI was separately developed with JavaScript, it wasn't made in Construct itself (which is mostly canvas-based). The whole runtime is also in-house - we don't use PixiJS or any other libraries, once again it's all our own in-house engine, custom WebGL/WebGPU renderer, etc.
Apart from a few extra services on the side, the main app is all static resources so no real backend to speak of. Again, engineered like a traditional desktop app with everything running locally, which also means the UI always responds promptly (no waiting for network) and it all works offline.
Maybe I should write up a blog post about how it all works, but not sure how many people out there want to hear more!
Also desktop PWAs are IMO underrated and a really good way to distribute a desktop app without having to bundle a whole browser engine with your app. We do this for Construct (www.construct.net) - a complete game development IDE - and I think it's worked out great.
I think it's also worth sometimes revisiting the assumptions made for the current algorithms and approaches in use. The original design was for dial-up modems. The networking landscape is completely different now. Maybe some of the original assumptions are no longer valid and a different set of tradeoffs is worthwhile.
So as much as this is a fascinating piece of history and an impressive technical solution to the constraints of the time, I think modern games ought to move past it.
1000 units in intense combat can be synced with about 50 KiB/s - so why go to the trouble of deterministic gameplay, dealing with de-sync bugs, and making it diffiuclt to late join?
It can export videos, GIFs, image sequences, can use modern JavaScript coding, and has a surprisingly strong block-based visual alternative to coding.
It doesn't let pages see what you're clicking on outside of the page. That would indeed be a serious privacy violation. It merely tells the page that it's not on-screen any more. Personally I don't see any problem with that.