Show HN: A remake of my 2004 PDA video game (nicollet.net)
Play the game online: https://nicollet.net/blog/darklaga/darklaga.html
Technical article about the remake: https://nicollet.net/blog/darklaga/remake.html
I have tested Firefox, Chrome and Edge on desktop and mobile (no access to a device capable of running Safari).
It's amazing how much difference 20 years makes: the hardware is so much more powerful, the web as a deployment platform is so much easier than side-loading onto a PDA through a serial cable or sharing .exe files through e-mail, and my experience as a professional developer makes almost everything so much easier... but at the same, it didn't feel that the language, editor or debugger (TypeScript on Visual Studio Code) were significantly better than good old Visual C++ 6.
Repository with the code of the remake: https://github.com/VictorNicollet/Darklaga (sadly, I cannot provide the video and audio assets themselves under any open license).
25 comments
[ 2.7 ms ] story [ 60.1 ms ] threadNice work. Loved these sorts of games as a kid.
If that's the case, it really doesn't matter what technologies you use.
This constraint + your solution was pretty interesting:
> Only use technologies that can be expected to still be present (and backwards-compatible) 20 years from now.
I'd bet on that in 20 years TypeScript will no longer be maintained and also no longer be the most popular transpilation source language for JavaScript. Seems the JavaScript ecosystem always eventually finds a new "source" language even though everyone at the time is certain it won't happen with this current one.
Probably still wouldn't be hard to get the game running though, will still be easy to install old TypeScript compiler and run it.
And regarding testing on Safari, if you have access to any Linux distribution, you can try testing on GNOME Web, it uses WebKit, same rendering engine as Safari (with probably some minor differences).
Finally, you should put this game up on itch.io, as I am sure some players might like to leave some monetary support.
For Safari, I ended up having to investigate a crash on iOS Safari specifically, because it did not happen on Mac Safari.
I considered itch.io but I am still undecided on the whole affair.
I ran "npm install" and then the build script, but then got a bit lost.
When I open dist/darklaga.html, my browser dev tools (correctly) tells me that I can't get at "darklaga.bin".
I worked around this by going on the live demo, grabbing the "darklaga.bin" from the dev tools "Networks" tab, and plugging it to the dist/ directory. But it would be even better if I could just download the repo and make the bin from there.
/edit:
Whether WebGL as a whole will be replaced by WebGPU remains to be seen, but the 1.0 feature set is simple enough that I can imagine web browsers implementing those in terms of WebGPU, whereas the 2.0 features are more likely to be dropped, because they were never expected to be universally supported.
Well, this is a possible reason, but I'm not sure I agree with.
So I think WebGL is not going away anytime soon.
I played a bit however after 2 minutes or so some enemy ships get stuck going in a square pattern across the edge of the screen where they are impossible to hit and the game stops progressing. I refreshed once and got the same issue after a few minutes (Firefox).
These days it's been taken to extremes (signs of the times?) and called "Bullet Heaven" (you exterminate hordes of wimpy enemies) or "Bullet Hell" (you evade myriads of bullets).
I must admit, since I no longer have access to the level editor, I edit the level files with HxD :-)
Didn't know I could still do typescript and just have my workflow strip the annotations out though. That's really worth exploring.