I think the game Cross Code (a game written in JS) was ported to consoles using a pretty complex process.
Here is a detailed blog post about the topic : https://www.radicalfishgames.com/?p=6892
HN user
I think the game Cross Code (a game written in JS) was ported to consoles using a pretty complex process.
Here is a detailed blog post about the topic : https://www.radicalfishgames.com/?p=6892
Thanks for the feedback! Very much appreciated!
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).
More info here, if you're interested : https://jslegenddev.substack.com/p/export-web-games-for-desk...
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!
Thanks! Didn't know that game. Thanks for sharing.
The game is also open source. Repo can be found here : https://github.com/ErikGXDev/golf-course
Note: I'm not the dev!
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)
I plan this time on also publishing a written version on my Substack available here : https://jslegenddev.substack.com/
That's strange, I developed the game using Firefox as my primary testing browser since it's the one I usually use.
Would you mind describing in more details how the text rendering looks like?
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.
I made a video explaining why I prefer to use Kaplay. It's 12 min long.
It's not a direct comparison with Phaser but I think it could give you a clear picture of where Kaplay stands and what it offers compared to Phaser.
Link here : https://www.youtube.com/watch?v=o8a6jXRnYfc
This was made with the JavaScript Library Kaplay. Check it out here : https://kaplayjs.com
Game was made by Misanthrope. His twitter can be found here : https://x.com/petergencur
Thanks!
lol xD
Thanks!
The jumping right before hitting an enemy is intended. If you do this, you can then more reliably land on another enemy right after and gain a x2, x3, etc... combo depending on how many enemies you land on before hitting the ground again.
Thanks for sharing your thoughts.
I don't disagree with your points. However, using React for making the UI portion of your game is still using React for game dev. The default would have been to just make your UI within the canvas itself.
Now in the post, I explained that considering option 1) Using React for the game rendering vs 2) Using React only for the UI, I went with 2) and explained why.
However, I want to thank you for explaining why React is unsuitable for rendering the game itself.
I also discovered that it's possible use the love2D library with this to make games in typescript!
Does Obsidian have code search features?
YouTube's recommendation system could be a distraction or harmful for kids but I agree that I would probably just do a YouTube playlist myself.
Also in terms of UX. I think YouTube playlists aren't that great so there is potential to improve that.
Thanks for the feedback!
Thanks for catching this. Will correct it ASAP.
Thanks!
I'm actually looking for a job. So if anyone has any opportunities feel free to contact me at jslegend[at]protonmail.com [at === @]. I'll then send you an actual CV with my skill and experience. I'm looking for fullstack or frontend roles and I'm based in Canada.
I created this portfolio website for my YouTube channel. That's why I haven't put my info there. It's meant more as a template.
If you're interested in learning how I built this project:
You can watch the video tutorial here : https://www.youtube.com/watch?v=gwtfWORCN0U
Or look at the source code directly : https://github.com/JSLegendDev/2d-portfolio-kaboom
Thanks for the feedback!
Thanks!
That's a great idea! Thanks.
The issue should now be fixed thanks to the following code :
// prevent itch.io scrolling
window.addEventListener("keydown", function (e) {
if ([32, 37, 38, 39, 40].indexOf(e.keyCode) > -1) {
e.preventDefault();
}
});I should have probably specified the context but the code example I shared is not coming from a perspective of using React.
I think with React the way to handle state is dictated by the library so there isn't much choice you have to make. You basically have to follow whatever pattern React gives you.
Dave the diver is a successful game made in Godot : https://store.steampowered.com/app/1868140/DAVE_THE_DIVER/
Granted it's not a mobile game but still.
Glad it helped!
As a bonus, here are the options I explored when evaluating technologies to wrap my JS games as desktop apps.
Electron : Known as being bloated, but allows you to make sure that your game is rendered the same on all platforms. It achieves this by shipping a whole chromium browser with a specific version where you game is ran. It's established and there are plenty of resources on how to use it. Another advantage is that you can use the Steam API if you ever wanted to put your games on Steam. This is done through the node Steam API bindings.
NW.js : Same thing as Electron. Less secure by default, you need to go out of your way to implement best security practices. Easier to use than Electron. It's basically drag and drop.
Tauri : Very promising and mobile support coming soon. Unfortunately you can't use the Steam API through the node Steam API bindings. Uses Rust so maybe you can interface with the Steam API through it. It has a JS API which allows you to write your app without needing to write Rust code. Uses the default webview of the OS so is less bloated. Cannot 100% guarantee that the game will be rendered the same on all platforms because unlike Electron it doesn't ship a whole chromium browser.
Neutralinojs : Same principles as Tauri but less popular and more limited.