Console Web Support #91
Labels
Console
Related to the Console crate
Discussion
Discussions and non-concrete issues.
help wanted
Extra attention is needed
A common question about Gamercade has been "does it support web target?" or "are there web examples?" which has lead to some confusion. WASM is currently synonymous with browsers, so it's easy to understand why. In the case of Gamercade, WASM was selected due to its flexibility as a compilation target from multiple languages.
Currently, the priority and focus areas of Gamercade has always been on delivering a consistent multiplayer experience. This is much easier to do with desktop apps, since we only need to reason about a single WASM runtime.
The difficulty with browsers is due to the sheer number of them and each with potentially unique implementations, especially with regards to desktop browsers, tablets, and mobile. It's important that Gamercade provides a simple development experience regardless of platform, and that games are completely deterministic regardless of platform. I don't want the games to need to worry about which platforms theyre on, it needs to just work regardless of platform.
It's not impossible, of course, but here are some key areas that need to be addressed.
If this isn't feasable, it may be worth exploring something like a stripped down version which doesn't support multiplayer or some other features, but I'm also hesitant to go this route since it may convey and incomplete image of the Console. This is also important when thinking about mobile browsers.
On a more opinionated note, I think web games are awesome. But arguably one of their best selling points, the ease and speed of getting users into games, also comes with a drawback: it's very non committal and super fast to close out of the browser or game. Additionally, I think Gamercade is positioned as a great middle ground in terms of game content/complexity/depth. It has just enough tools to create a flexible development environment for deep and interesting games, but also imposes enough constraints to keep projects focused on delivering solid core set of features. I worry that web support might push developers towards developing more instant-play, simple, or casual games, for which there are already great alternatives for: pixi, phaser, playcanvas, rust-to-wasm crates like macroquad and bevy, and of course other fantasy consoles like wasm4, pico8, and tic80.
If someone wants to tackle this problem, the first few steps would probably be:
I have stated in some other places that due to these reasons I am not intending to add browser support as a core feature in the near or far future. But if the general use case for Gamercade changes I am open to reconsidering. Of course, of anyone wants to take on this large challenge, I'm here to help!
The text was updated successfully, but these errors were encountered: