_Misanthrope 4 days 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).

simonw 4 days ago

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

  • vunderba 4 days 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.

  • colordrops 4 days 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 4 days 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 4 days 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 4 days 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. :)

  • pryelluw 4 days ago

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

butz 4 days 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 4 days 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 4 days 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.

      • Narishma 4 days ago

        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.

vunderba 4 days 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 4 days 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 4 days 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 4 days 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.

      • ternnoburn 4 days 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.

      • hombre_fatal 4 days ago

        Why would you compare a game framework to wasm?

        • zfg 4 days ago

          Because WebAssembly brings every game framework to the web.

          • hombre_fatal 3 days ago

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

              They are designed for that.

mouse_ 4 days 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 4 days 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.

craniumslows 4 days 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 4 days 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. :)

Narishma 4 days ago

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.

teruakohatu 4 days 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 4 days 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 4 days ago

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

algem 3 days ago

Pretty cool, i liked the touch controls on my phone. They weren’t perfect but were intuitive.

Dwedit 4 days ago

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

  • _Misanthrope 4 days 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.

BrenBarn 4 days ago

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

Geste 4 days ago

Loaded fast, played nicely, very cool !