Open mrwonko opened 1 year ago
Reflect the menu stack in the URL to allow for deep-linking, e.g. to editors or joining a server. Allow passing of query parameters, e.g. the filename to edit or server IP.
With well-routed URLs, I wonder how much server-side rendering becomes possible... Could the menus work without any clientside scripts (JS/WASM)?
For rendering, there appears to be a new standard called WebGPU that provides high performance graphics APIs akin to Vulkan & co.
I wonder how much effort it would be to delegate text rendering to the browser, enabling users to select and copy it, and giving us utf-8 support. We could automatically convert the bitmap fonts to OpenType for backwards compatibility.
I already touched on the idea of running parts of the game on a second device in #27. Taking that one step further, why not make it run in a browser? Add a special mode where the game acts as a web server serving itself as a web version, optionally providing UDP proxying to enable multiplayer.
I was thinking about this in the context of showing my editors to other people, especially getting musicians to try future music tools (#13). With a web version, there's much less friction. (Can websites use midi?)
But another cool use case would be web admin panels for game servers. Again, the "make everything work the same using simple building blocks" principle enables a myriad of applications.