[HN Gopher] Pharaoh's Tomb HD - A Remake Made in JavaScript with...
       ___________________________________________________________________
        
       Pharaoh's Tomb HD - A Remake Made in JavaScript with Kaplay
        
       Author : JSLegendDev
       Score  : 115 points
       Date   : 2025-01-18 22:44 UTC (1 days ago)
        
 (HTM) web link (pt-hd.iocaihost.me)
 (TXT) w3m dump (pt-hd.iocaihost.me)
        
       | magic_hamster wrote:
       | Okay, this is pretty cool.
        
       | JSLegendDev wrote:
       | 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
        
       | simonw wrote:
       | Great job making this work intuitively on a mobile touch screen.
        
         | colordrops wrote:
         | I 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 wrote:
           | I 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/
           | 
           | 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 wrote:
             | Nice they seem to work really well! The idea of relative
             | movements makes a lot more sense than fixed button
             | locations on touch screens.
        
           | _Misanthrope wrote:
           | Yeah, 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 wrote:
         | Thank you, it means a lot!
        
         | vunderba wrote:
         | Works 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 wrote:
         | Yes and a bit more difficult but enjoyable. I hope someday we
         | get good touch controls for a video game.
        
       | teruakohatu wrote:
       | Games 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 wrote:
         | Yess, 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 wrote:
           | Thank you for the tip. You did a wonderful job.
        
             | _Misanthrope wrote:
             | Thank you for your words! :)
        
       | vunderba wrote:
       | Nice. 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 wrote:
         | 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
        
           | zfg wrote:
           | Why 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 wrote:
             | Why would you compare a game framework to wasm?
        
               | zfg wrote:
               | Because WebAssembly brings every game framework to the
               | web.
        
               | hombre_fatal wrote:
               | 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.
        
               | zfg wrote:
               | They are designed for that.
        
             | JSLegendDev wrote:
             | 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.
        
             | ternnoburn wrote:
             | 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.
        
       | pavel_lishin wrote:
       | I 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 wrote:
         | A Dangerous Dave remake:
         | 
         | https://www.maizure.org/projects/lets-make-dangerous-dave/in...
         | 
         | https://github.com/MaiZure/lmdave
         | 
         | Deadly Dave, based on MaiZure's remake:
         | 
         | https://github.com/skoperst/deadly-dave
         | 
         | Another one compiled to WebAssembly:
         | 
         | https://github.com/shlomnissan/dave-wasm
         | 
         | https://shlomnissan.github.io/dave-wasm/
        
       | andrewstuart wrote:
       | Tough game. Love the atmosphere.
        
       | craniumslows wrote:
       | My inspiration at learning TurboPascal and writing my first
       | little games was this game! How cool. Very fun to see it again!
       | Thanks.
        
         | _Misanthrope wrote:
         | Nice! 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 wrote:
       | It looks like the hitboxes are a lot tighter than the original
       | version.
        
         | _Misanthrope wrote:
         | Yes 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 wrote:
       | _Controls 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).
        
       | Geste wrote:
       | Loaded fast, played nicely, very cool !
        
       | mouse_ wrote:
       | Mobile 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 wrote:
         | It 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 wrote:
       | HD 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 wrote:
         | The 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 wrote:
           | They 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 wrote:
             | Yes, 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 wrote:
       | Awesome. Can we hope for Arctic Adventure next? :-)
        
       | Narishma wrote:
       | There'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 wrote:
       | Pretty cool, i liked the touch controls on my phone. They weren't
       | perfect but were intuitive.
        
       ___________________________________________________________________
       (page generated 2025-01-19 23:02 UTC)