_Misanthrope 10 hours ago

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).

butz 4 hours ago

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 3 hours ago

    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 38 minutes ago

      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.

simonw 11 hours ago

Great job making this work intuitively on a mobile touch screen.

  • vunderba 8 hours ago

    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 7 hours ago

    Yes and a bit more difficult but enjoyable. I hope someday we get good touch controls for a video game.

  • colordrops 11 hours ago

    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 9 hours ago

      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 3 hours ago

        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 9 hours ago

      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. :)

vunderba 11 hours ago

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 11 hours ago

    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 10 hours ago

      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.

      • JSLegendDev 10 hours ago

        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.

      • hombre_fatal 10 hours ago

        Why would you compare a game framework to wasm?

        • zfg 10 hours ago

          Because WebAssembly brings every game framework to the web.

      • ternnoburn 10 hours ago

        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.

BrenBarn 3 hours ago

Awesome. Can we hope for Arctic Adventure next? :-)

teruakohatu 11 hours ago

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 10 hours ago

    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 9 hours ago

      Thank you for the tip. You did a wonderful job.

craniumslows 10 hours ago

My inspiration at learning TurboPascal and writing my first little games was this game! How cool. Very fun to see it again! Thanks.

  • _Misanthrope 9 hours ago

    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 10 hours ago

It looks like the hitboxes are a lot tighter than the original version.

  • _Misanthrope 8 hours ago

    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.

Geste 9 hours ago

Loaded fast, played nicely, very cool !

mouse_ 8 hours ago

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 8 hours ago

    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.