1 points par GN⁺ 2024-04-28 | 1 commentaires | Partager sur WhatsApp
  • Keep Out est un jeu d’aventure en donjon basé sur WebGL, créé par Little Workshop, dans lequel le joueur tente de s’échapper d’un donjon
  • Tous les niveaux sont générés procéduralement, ce qui promet une partie unique à chaque fois
  • Avant de commencer, il est possible de choisir la disposition du clavier parmi qwerty, Qwerty, Azerty, Qwertz et Qzerty
  • L’écran de jeu inclut des indications de touches comme ESC, Space, X, F, C, R, TAB, ainsi qu’un affichage Level 1
  • Sur mobile ou appareil orientable, il faut passer en mode paysage pour voir l’écran de jeu

Présentation du jeu

  • Keep Out est un jeu WebGL créé par Little Workshop
  • Le jeu est présenté comme « une aventure en donjon pour les courageux »
  • Lorsque le joueur s’échappe du donjon, le message « Congratulations, hero! You have escaped the dungeon. » s’affiche
  • En cas de défaite, les messages « You have fought valiantly, but your foes have defeated you. » et « Your courage will be remembered. » s’affichent

Jouabilité et indications à l’écran

  • Tous les niveaux sont générés procéduralement, et chaque partie est unique
  • Sur l’écran de démarrage, il est possible de choisir les dispositions de clavier suivantes
    • qwerty
    • Qwerty
    • Azerty
    • Qwertz
    • Qzerty
  • L’écran comporte des menus comme How to play, Restart game, About et Share this
  • Après une défaite, les options Restart Level et Share this s’affichent
  • Après s’être échappé du donjon, il est possible de suivre @PlayKeepOut pour recevoir les mises à jour
  • Une indication demande de tourner l’appareil en landscape mode

1 commentaires

 
GN⁺ 2024-04-28
Avis sur Hacker News
  • Je suis la personne qui l’a créé. Je ne sais pas trop pourquoi il est remonté aujourd’hui, mais ce projet date de 2015.
    Si Keep Out vous a plu, vous pouvez aussi jeter un œil à mon récent projet WebGL : https://equinox.space

    • C’est probablement parce qu’Equinox Space est passé la semaine dernière et a reçu un bon accueil ; comme les gens ont aimé, quelqu’un a dû fouiller dans d’anciens travaux et tomber sur ce projet de 2015.
      Equinox Space était vraiment excellent aussi.
    • Pour un projet de 2015, je me demande s’il est prévu de le publier en open source.
    • J’ai essayé Equinox, mais je me cognais sans arrêt le visage contre les murs, et il était difficile de se retourner pour retrouver de la visibilité.
      Les contrôles de déplacement donnent le vertige, mais le rendu et l’audio sont vraiment bons.
    • C’est une expérience vraiment superbe, je la partage autour de moi.
      Je me demande s’il serait possible de mettre la musique du jeu quelque part. Elle m’a pas mal touché et j’aimerais l’ajouter à ma playlist.
    • J’avais déjà vu le jeu de donjon auparavant, mais c’est seulement cette fois que je suis allé “jusqu’au bout”, jusqu’au niveau 12, et j’ai supposé que c’était un jeu sans fin.
      J’ai aussi terminé Equinox ; dans les deux cas, ce sont de petits packages très solides.
  • Dans les navigateurs basés sur Chromium, il faudrait utiliser getLayoutMap() au lieu de demander à l’utilisateur, et prévoir une solution de repli manuelle pour Safari/Firefox ou les navigateurs qui ne le prennent pas en charge.
    Dans tous les cas, détecter ou demander la disposition du clavier est pertinent pour afficher l’image des commandes, mais dans le code réel, il faut au final utiliser les keycodes pour les touches basées sur la position. Ainsi, même si la détection est incorrecte ou si la disposition n’est pas dans la liste, l’utilisateur peut utiliser les touches aux positions attendues.

    • Cette API ne peut pas connaître ma disposition de clavier, et par principe elle n’a aucun moyen de la connaître. La disposition n’est pas dans le logiciel, mais dans le firmware du clavier.
      Plutôt que d’utiliser une API imparfaite qui n’existait pas au moment où ce jeu a été créé, ou un choix de dispositions beaucoup trop limité, il vaudrait mieux faire en sorte que le jeu fonctionne bien avec les flèches et la souris, ou mieux exploiter les flèches qui servent déjà au déplacement de base. Ou alors rendre configurable l’écran d’aide avec les 6 touches.
  • Pour la distribution de jeux, WebGL est vraiment excellent grâce à sa faible friction.
    Lors d’un week-end pluvieux de bidouille, j’ai rapidement porté à l’arrache en WASM/WebGL une décompilation fan-made du Tomb Raider original il y a quelques semaines : https://eikehein.com/stuff/sabatu/
    Cette version utilise des assets alternatifs créés par des fans et inspirés de TR1. La communauté TR compte plusieurs sites qui hébergent beaucoup d’excellents niveaux de fans, et j’aimerais un jour pousser la finition assez loin pour qu’on puisse y jouer directement dans le navigateur.

    • On dirait que les flèches servent à se déplacer, SPACE à sortir/ranger l’arme, End à faire un demi-tour, et Del/PgDn à se déplacer latéralement.
      Comment tire-t-on avec l’arme ?
    • Mon Dieu, je me demande comment ça a été fait. Ce serait super de pouvoir voir le code aussi.
  • C’est vraiment chouette, et c’était agréable d’y jouer un peu dans le navigateur.
    En revanche, je n’aime pas le système de santé. J’aimerais que l’effet des potions sur les points de vie soit plus clair. Une barre de vie traditionnelle en segments, avec une potion qui restaure un segment, serait sans doute mieux. La touche R est trop proche des touches de déplacement : en paniquant pour fuir, je l’ai pressée plusieurs fois, et le fait de pouvoir utiliser une potion même avec la vie au maximum donne une impression de système trop approximatif. Il pourrait aussi être intéressant de faire acheter ce genre d’objets dans une boutique après chaque niveau.
    Je n’ai jamais réussi à m’habituer aux déplacements strictement à 90 degrés, et mes doigts confondaient sans cesse les déplacements latéraux et la rotation. Avec le temps, on doit s’y faire, mais ce jeu est plutôt construit comme un jeu d’arcade, alors que je suis plus habitué aux déplacements de type FPS.
    La carte serait plus utile si elle ne s’affichait que tant qu’on maintient TAB enfoncé, pour pouvoir la consulter rapidement. J’aurais aussi aimé un peu plus de variété dans les accessoires, mais je ne suis allé que jusqu’au niveau 8, donc il y en a peut-être davantage ensuite. J’ai apprécié que de nouveaux types d’ennemis continuent d’apparaître.

    • Moi aussi, j’ai apprécié le jeu. Je confondais les déplacements latéraux et la rotation, et il m’arrivait souvent d’utiliser par erreur des choses comme des bombes.
      Je suis arrivé au niveau 13 ou 14, puis je me suis lassé. Il n’y a pas de sauvegarde, et il n’était pas clair si le jeu continuait indéfiniment, s’il bouclait à l’infini, ou s’il avait une fin.
      Ce serait aussi utile de connaître le but de ce jeu. Ce genre est souvent celui qu’on voit dans des projets pour enfants, par exemple dans des camps, où un développeur senior prépare une API et des graphismes faciles à utiliser, puis les enfants codent la logique de haut niveau. S’il est open source, il peut servir à cela ; il peut aussi être destiné à être davantage développé et commercialisé, mais il existe tellement d’applications similaires que ça ne semble pas évident. Ou bien cela peut être une vitrine pour le studio. Ce contexte aiderait à recevoir des retours ou à permettre aux visiteurs de comprendre.
    • Je préfère que la carte soit un toggle. Cela permet de regarder la carte tout en se déplaçant et de trouver son chemin, ce qui réduit la confusion.
      La vue 3D est nécessaire pour voir les objets, les jarres et les ennemis, et c’est bien, mais idéalement ces éléments devraient aussi apparaître sur la carte.
  • Si ce style de jeu vous plaît et que vous voulez une expérience plus aboutie, la série Legend Of Grimrock est exactement ce qu’il faut : https://store.steampowered.com/sub/49358/

    • Potato Flowers in Full Bloom est un dungeon crawler au tour par tour indé récent, et il est vraiment excellent.
      https://store.steampowered.com/app/1601280/Potato_Flowers_in...
    • Ce genre s’appelle un dungeon crawler à la première personne.
      https://dungeoncrawlers.org/
    • Le fonctionnement ici est assez différent. Grimrock a plutôt des déplacements du type “quand je bouge, tu bouges aussi”, tandis que dans ce jeu les ennemis se déplacent en temps réel.
      Cela peut sembler subtil, mais au final cela donne un gameplay complètement différent.
    • Moi aussi, j’ai pensé à Grimrock, mais si vous aimez ce genre de jeux, je recommande aussi un jeu appelé Barony.
      C’est un joyeux bazar de RPG multijoueur, avec beaucoup de profondeur et de secrets à découvrir, et il est aussi généré procéduralement.
  • On trouve plus d’informations ici : https://www.littleworkshop.fr/projects/keepout/
    Il utilise Three.js.

    • Ces derniers jours, la plupart des travaux de ce site ont été liés sur HN. Ils font clairement un travail superbe et inspirant.
  • Je me demande s’il existe un endroit où l’on peut consulter le code source

  • Les graphismes sont excellents, mais je préfère ce genre de jeu de réflexion dans le navigateur, auquel je peux jouer en écoutant à moitié une réunion Zoom : https://slices.ovh

  • Le mode de contrôle ne me plaît pas tant que ça. La main gauche a cinq doigts, mais il y a six touches, donc je dois constamment déplacer mes doigts, tandis que la main droite n’a presque rien à faire
    Ce serait bien de trouver une façon d’utiliser les deux mains

    • Ce serait bien de pouvoir aussi faire les rotations avec les touches fléchées
    • Les contrôles sont clairement un peu rudimentaires, mais c’est justement pour ça que ça a eu un succès immédiat auprès d’un enfant de six ans
      C’est facile à expliquer et simple à manier
    • Je suppose qu’on n’est pas censé appuyer sur les six touches en même temps
    • Ce n’est pas une disposition de touches assez standard dans les jeux ? Je ne suis pas du tout un gamer acharné, mais ces contrôles me sont très familiers dans quelques jeux auxquels j’ai joué
  • Le jeu tournait très bien sur Firefox Android. À un moment, il s’est bloqué et les déplacements ou actions n’étaient plus pris en compte, mais l’écran et les menus fonctionnaient encore
    Je suis allé jusqu’au niveau 12, et comme j’avais tout acheté, j’ai eu l’impression qu’il n’y avait plus vraiment d’objectif
    J’ai aimé la variété des ennemis et des attaques, ainsi que les différentes armes et la façon dont elles « évoluent ». Ce serait amusant si le bouclier de glace pouvait annuler les boules de feu, car cela semblerait être une conséquence naturelle
    Après avoir débloqué toutes les armes de base, ce serait bien d’avoir accès à un palier supérieur, comme un ensemble « épique ». Pas simplement quelque chose verrouillé derrière de l’argent et invisible tant qu’on n’a pas acheté ce qui précède ; il faudrait d’autres conditions
    Je m’attendais aussi à des salles au trésor « cachées », mais les murs ne se brisaient pas, même avec des bombes
    Ce serait bien d’avoir un combat de boss tous les 5 niveaux. On pourrait généralement l’implémenter en rendant un ennemi de base géant et plus difficile. S’il y avait eu une raison du type « atteindre le niveau X pour sauver la princesse » ou « atteindre le centre de la Terre », j’aurais continué, mais après le niveau 10, une fois tout débloqué, je me suis demandé si le jeu était terminé
    L’expérience globale était vraiment plaisante et les graphismes excellents. Seul le texte de fin de niveau semblait de moindre qualité que le reste, mais c’est peut-être un problème de rendu de police

    • Même en détestant les jeux mobiles, à part Pixel Dungeon, j’ai trouvé celui-ci incroyablement bon
      C’est probablement le premier shooter 3D sur téléphone dont j’ai apprécié les contrôles et le gameplay, et le fait qu’il tourne dans le navigateur est excellent
    • Intéressant. J’utilise Fennec de F-Droid, et je n’ai eu que l’interface de contrôle et un écran noir
  • C’était une très bonne expérience
    Le bouton « About » du menu mène à une page web en 404. Comme quelqu’un d’autre l’a signalé, la bonne URL est https://www.littleworkshop.fr/projects/keepout/

    • Merci pour le signalement du bug, je viens de le corriger