That's because I'm using GemShell. It's tool that generates executables using, under the hood, Neutralino which is similar to Tauri (uses the OS's webview rather than packaging a Chromium instance).
Hi everyone!
I'm the dev behind this work-in-progress game.
This post was intended for my existing audience and I didn't expect for it to be posted on HN.
Anyway, now that it's here, feedback on performance is still very much appreciated!
The reason I'm not making this web playable despite being built using web technologies is that I'm targeting Steam for this game. Therefore, I need to make sure the game works well when installed as an executable on Mac, Windows, Linux.
There was already trust established between me and my audience so that's why it felt appropriate to tell them to download executables.
I understand why HN users not familiar with me, would be wary of downloading random executables from the internet. It's a good instinct to have!
"The reason I'm not making this web playable despite being built using web technologies is that I'm targeting Steam for this game. Therefore, I need to make sure the game works well when installed as an executable on Mac, Windows, Linux."
If it runs on the web, it should run the same as an executable, otherwise your exporter is broken. I would likely debug on the web first (just to get access to chrome dev tools including the profiler and performance meassurement tools). Is there some way to do comfortable debugging/profiling with the way you export via GemShell?
I think you have to ask yourself what you're trying to get out of this, strategically. I know it's probably a "forbidden" option, but Unity is really good at hitting all the platforms at the same time and giving you the ability to deeply understand why things might be running like shit.
I'm working with a partner on a steam game and it was the most rational choice we could arrive at. Our goal is to make enough revenue from the this project to justify another one. We seek to make a living doing this.
I struggle with the lack of advocacy for effective tools on this platform. If we are being honest about the overall engineering proposition, the trade of moderate, unknown capitalist exploitation risk for platform targeting stability might actually be worth it if the goal is to get the game into the hands of as many players as possible.
Electron/Tauri/whatever is just the start of the battle. You also have to consider different input, storage, etc., systems if you want to hit targets like Steam Deck - which is a huge deal for visibility these days. The web is a nasty abstraction layer once we start talking about things like Xbox controllers.
KAPLAY is the successor to Kaboom.js which was unfortunately abandoned.
As for Phaser VS KAPLAY:
Performance wise, Phaser is still better however there are perfs improvement coming to KAPLAY.
KAPLAY has an easier to use syntax for its API. Things are easier to do in KAPLAY VS Phaser while being less verbose. Phaser however, has more features considering it's more battle tested since it's been around for far longer.
I recommend joining the KAPLAY discord to see what others are building. I'm not aware of any famous games made in KAPLAY yet.
Nice! This made my day :) Thanks to you and your son for playing my game.
I'm hoping to publish a step by step tutorial soon on how to develop this in JavaScript for anyone interested in learning gamedev.
I usually post my tutorials on my YouTube channel here : https://youtube.com/@jslegenddev
(Plenty of tutorials available already for people interested in JS gamedev)
Without going into the Web/WebAssembly debate,
KAPLAY is just too good as a library to pass up. It's intuitive, easy and comes with a lot built-in. It makes making games actually fun with it's ECS-like API.
If KAPLAY existed as a WASM runtime or in another language, I would use it.
Use the technology you know and move quickly in. For a game like this, personal preference is way more important than optimal language/technology choice.
No, the game framework would have to be designed for that, or someone would have to put in a lot of work to get something like an emscripten pipeline working.
reply