HN user

JSLegendDev

627 karma
Posts102
Comments39
View on HN
godotengine.org 2mo ago

Godot Usage and Engine Growth

JSLegendDev
3pts0
islamicsystems.itch.io 2mo ago

Visit a Mosque in video game format and learn things about Islam

JSLegendDev
7pts4
mwalterskirchen.dev 2mo ago

What Software Engineers Can Learn from the Aviation Industry

JSLegendDev
3pts0
news.ycombinator.com 3mo ago

Ask HN: My Mac decided out of the blue to delete Node. Why?

JSLegendDev
1pts2
rekindle.ink 5mo ago

ReKindle – web-based operating system designed specifically for E-ink devices

JSLegendDev
2pts0
jslegenddev.substack.com 5mo ago

You Should Make Web Games

JSLegendDev
26pts0
jslegend.itch.io 6mo ago

Try My Mouse/Trackpad Driven Battle System in the Browser

JSLegendDev
2pts0
news.ycombinator.com 6mo ago

Ask HN: What tools/workflow do you use to write technical books?

JSLegendDev
3pts0
jslegenddev.substack.com 6mo ago

The Phaser Game Framework in 5 Minutes

JSLegendDev
1pts0
openwebf.com 6mo ago

WebF Beta: Bring JavaScript and the Web Dev to Flutter

JSLegendDev
2pts3
jslegenddev.substack.com 7mo ago

Why Text in Vampire Survivors Used to Look Weird

JSLegendDev
1pts0
jslegend.itch.io 7mo ago

Sonic Infinite Runner Game – Phaser 4 Version

JSLegendDev
1pts0
jorenjoestar.github.io 8mo ago

Pixel Art Filtering

JSLegendDev
1pts0
jslegenddev.substack.com 8mo ago

Export Web Games for Desktop in One Click

JSLegendDev
6pts1
jslegenddev.substack.com 9mo ago

You Can Now Make PS2 Games in JavaScript

JSLegendDev
5pts0
jslegenddev.substack.com 10mo ago

How Do Devs Make Levels Without Game Engines?

JSLegendDev
2pts0
jslegenddev.substack.com 10mo ago

The Struggle of Wrapping a JavaScript Game for Desktop

JSLegendDev
4pts0
jslegenddev.substack.com 11mo ago

Starting game development in JavaScript with no experience

JSLegendDev
80pts40
jslegenddev.substack.com 11mo ago

The Kaplay Game Library in 5 Minutes

JSLegendDev
2pts0
www.youtube.com 1y ago

Build a Duck Hunt Clone in TypeScript – Game Dev Tutorial [video]

JSLegendDev
1pts0
blog.merzlabs.com 1y ago

Cordova is still not dead in 2024 – My personal take

JSLegendDev
2pts1
ionic.io 1y ago

Important Announcement: The Future of Ionic's Commercial Products

JSLegendDev
2pts0
jslegend.itch.io 1y ago

Harvest Move – A game that requires careful movement

JSLegendDev
18pts2
www.nbcnews.com 1y ago

Federal judge rules copyrighted books are fair use for AI training

JSLegendDev
31pts30
news.ycombinator.com 1y ago

Ask HN: How do you determine if something is a sunk cost VS needing patience?

JSLegendDev
6pts5
github.com 1y ago

Kaplay – A JavaScript/TypeScript Game Library that feels like a game

JSLegendDev
1pts0
jslegenddev.substack.com 1y ago

A List of Games Made with Kaplay JavaScript Library

JSLegendDev
1pts0
jslegenddev.substack.com 1y ago

How to Build a Sonic Infinite Runner Game in TypeScript

JSLegendDev
1pts0
devclass.com 1y ago

Microsoft pitches for React Native in confusing world of desktop development

JSLegendDev
4pts1
shawnfromportland.substack.com 1y ago

The great displacement is already well underway?

JSLegendDev
517pts500

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!

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.

https://discord.com/invite/aQ6RuQm3TF

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/

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.

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.

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!

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

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.

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.