6 ms·
Pharaoh's Tomb HD – A Remake Made in JavaScript with Kaplay
- magic_hamster 2y agoOkay, this is pretty cool.
- JSLegendDev 2y agoThis was made with the JavaScript Library Kaplay. Check it out here : https://kaplayjs.com https://kaplayjs.com Game was made by Misanthrope. His twitter can be found here : https://x.com/petergencur https://x.com/petergencur
- simonw 2y agoGreat job making this work intuitively on a mobile touch screen.
- colordrops 2y agoI was thinking that I haven't yet experienced this particular control mechanic for a video game. It's not perfect but it works on a mobile touch screen.
- modeless 2y agoI faced a similar problem when porting Cave Story to the web with mobile support, and I like the solution I came up with: https://thelongestyard.link/cave-story/ https://thelongestyard.link/cave-story/ Cave Story is not a simple or easy platformer and clearly not designed with touch controls in mind, but I've been able to finish the game with touch controls alone.
- colordrops 2y agoNice they seem to work really well! The idea of relative movements makes a lot more sense than fixed button locations on touch screens.
- _Misanthrope 2y agoYeah, I wanted minimal approach like make it just work without adding anything on top. Although, overlay buttons would have been much easier to implement, heh. Also, jump or shoot (at least) as buttons would be more accessible and I might do that as option once I focus on touch later on. I'm also toying with the idea of zooming it in with a follow cam, but I'm getting much ahead of myself now. :)
- _Misanthrope 2y agoThank you, it means a lot!
- vunderba 2y agoWorks fine on a PC but I found that the jump is measurably delayed (at least on iOS Safari) which makes it about 10x more difficult, anyone else experiencing this? Hoping this is an implementation detail and not something inherent to the Kaplay engine.
- pryelluw 2y agoYes and a bit more difficult but enjoyable. I hope someday we get good touch controls for a video game.
- teruakohatu 2y agoGames back then were brutal. I am not sure if there is a bug but I got stuck on the third level with no way to continue nor anyway to die. Just stuck.
- _Misanthrope 2y agoYess, the old games did have softlocks like in this one! You can press R to reset the level. And L to load the latest autosave. I didn't expect game to be shared this early so there is a missing info about these controls. :)
- teruakohatu 2y agoThank you for the tip. You did a wonderful job.
- _Misanthrope 2y agoThank you for your words! :)
- vunderba 2y agoNice. I didn't detect any measurable input lag - which is good because these old-school games can be tough as nails. I briefly flipped through the docs - it seems like Kaplay shares a lot in common with PhaserJS. I'd be interested in a comparison between the two frameworks.
- JSLegendDev 2y agoI 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 https://www.youtube.com/watch?v=o8a6jXRnYfc
- zfg 2y agoWhy is it better than just doing it in WebAssembly? With WebAssembly you'll get native builds as well as web builds, higher performance, and you're not restricted in the language you use.
- hombre_fatal 2y agoWhy would you compare a game framework to wasm?
- zfg 2y agoBecause WebAssembly brings every game framework to the web.
- hombre_fatal 2y agoNo, 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.
- 2y ago
- pavel_lishin 2y agoI wonder if anyone's remade Dangerous Dave. I've never beaten it! I'm not even sure if I've watched a video of the game being beaten.
- zfg 2y agoA Dangerous Dave remake: https://www.maizure.org/projects/lets-make-dangerous-dave/index.html https://www.maizure.org/projects/lets-make-dangerous-dave/in... https://github.com/MaiZure/lmdave https://github.com/MaiZure/lmdave Deadly Dave, based on MaiZure's remake: https://github.com/skoperst/deadly-dave https://github.com/skoperst/deadly-dave Another one compiled to WebAssembly: https://github.com/shlomnissan/dave-wasm https://github.com/shlomnissan/dave-wasm https://shlomnissan.github.io/dave-wasm/ https://shlomnissan.github.io/dave-wasm/
- andrewstuart 2y agoTough game. Love the atmosphere.
- craniumslows 2y agoMy inspiration at learning TurboPascal and writing my first little games was this game! How cool. Very fun to see it again! Thanks.
- _Misanthrope 2y agoNice! I was learning Pascal waay back at school. And this is my first game that I'm dabbing into game dev with, as well. What a small world. :)
- Dwedit 2y agoIt looks like the hitboxes are a lot tighter than the original version.
- _Misanthrope 2y agoYes they are! They copy the actual object dimensions, more or less. In the original, hitboxes were of tile size (16x16). It made the game much harder to play, especially nowadays when even knowing this fact, it felt very unfair or deceiving at times. There are many quirks that were happening in the background because of it and it was fun remaking that. Although, this change is one of those that are meant to refresh it and bring closer to today's standards.
- _Misanthrope 2y agoControls hint! ↓ You can press R to reset the level. And L to load the latest autosave. I didn't expect game to be shared this early so there is missing info about these controls :). (Also, touch users would be out of luck in this one, sorry..) Btw, there are just 5 levels so far (original has 60).
- _Misanthrope 2y agoUpdate: Added the pause menu in levels (press Esc). On touch, there is a burger icon to open it. You can restart the level or load the game from there as well now. Still a way to go to implement proper start menu and etc. :)
- Geste 2y agoLoaded fast, played nicely, very cool !
- mouse_ 2y agoMobile controls could potentially be improved by anchoring first touch position I touch and drag right to move to the right, but I find the character sometimes starts to move to the left simply because my thumb jitters naturally, even though I'm still holding to the right of first press. I also find it hard to anticipate if my taps are going to jump or throw a spear. Awesome job!! I remember when HTML5 was first pushed as the replacement for flash based webapps, the input latency was always terrible and I mourned the death of Flash. I'm glad that this seems to be a mostly solved issue, most of the recent web games I've tried have felt as good as native or flash.
- _Misanthrope 2y agoIt is actually implemented as you mention, there is just some weird thing going on with that, not necessarily tied with touch itself. There is a threshold in place as well to prevent that, yet it happens at times. Will have to investigate more at some point. Jump is a single tap or tap and hold for continuous jump until direction changed (translated to some point from original). Spear is a double tap (which means jump is slightly delayed and double has to be quick). Yeah, it is not optimal setup, check other comments about this topic. :) And thank you very much for your words! I feel you with Flash vs HTML5 Canvas debacle, heh.
- butz 2y agoHD should imply at least higher resolution graphics and updated audio, but this version seems to be just a direct remake, as far as I see. Unless I missed button that toggles graphics mode?
- BrenBarn 2y agoThe graphics and the audio are both updated. The original didn't have the smoothing and fading in the graphics; it was almost just solid blocky colors. It's still lo-fi but not nearly as lo-fi as the original.
- InsideOutSanta 2y agoThey did a really great job updating the graphics in a way that (in my personal opinion) makes them look more appealing than the original, but still makes them look like a classic videogame.
- Narishma 2y agoYes, a trap a lot of HD remakes and fan-made HD mods fall into is that they upgrade sprite or texture resolution but keep animation framerate or geometry the same, which creates a janky/disjointed look that I can't stand.
- BrenBarn 2y agoAwesome. Can we hope for Arctic Adventure next? :-)
- Narishma 2y agoThere's some kind of collision detection issue going on as I immediately fell through the pyramid bricks in the first level and got stuck inside them.
- algem 2y agoPretty cool, i liked the touch controls on my phone. They weren’t perfect but were intuitive.