Bonjour !
Je viens de publier un jeu vidéo un peu bizarre,
ayant la particularité d'être au format PDF.
Le gameplay est celui d'un dungeon-crawler à énigmes :
de l'exploration et des puzzles de jeu d'aventure old school.
En bref, Undying Dusk c'est:
* ~ 200 000 pages de PDF
* une esthétique rétro : résolution de 160x120 pixels & un palette de 16 couleurs
* un monde composé de 10 niveaux, à explorer en vue subjective, case par case
* plein d'items, d'armes et de sorts à découvrir pour faire face à 15 monstres différents
* 20 morceaux de musique d'ambiance
* des milliers de page "Game Over", et un seul chemin jusqu'à la victoire
* 4 secrets dissimulés, ainsi qu'un épilogue caché
* un hall of fame en ligne, pour ceux atteignent la fin du jeu
Le jeu est disponible à prix libre ici : https://lucas-c.itch.io/undying-dusk
PS: J'espère que ce type de post est OK. J'ai bien lu les règles du forum, mais n'hésitez pas à me signaler si je devrais présenter ça ailleurs.
Salut Dr Kurt,
J'ai testé ça et c'est plutôt sympa, et un peu fou aussi !
___
J'ai qqs questions techniques du coup :
Je n'y connais pas grand chose en "pdf", je sais tout au plus qu'on peut en générer par un système de scripts, mais les pages du document, elles, sont bien statiques ? = Tu as dû générer des pages pour TOUS les cas possibles ? Genre, si je me balade sur la map après avoir tué un ennemi, je ne suis pas sur les mêmes pages que quand je me baladais sur la map avant le combat ? Et idem si je ramasse des pièces d'or ? Et donc il faut une version spécifique de TOUT le terrain avec TOUTES les position possibles, selon TOUS les angles de vue possible, pour : le cas où je n'ai encore rien fait ; le cas où j'ai ramassé de l'or dans un coffre ; le cas où j'ai ramassé l'or et acheté une épée avec ; le cas où j'ai ramassé l'or, acheté l'épée et tué un monstre qui bloque la suite ; mais encore le cas où j'ai tué le monstre sans avoir encore ramassé l'or et acheté l'épée ; et ce avec toute les combinaisons possible d'états du perso (HP, mana, or, équipement,...) ... ?!
Bon, ça expliquerait les 198 089 pages ... et pas mal de p'tites magouilles dans ton game-design (comme p.ex. le fait que de toute façon on ne peut pas tuer tel monstre si on n'a pas d'abord acheté l'épée et donc avant cela ouvert tel coffre ; avec donc 2 versions du combat : sans l'épée, qui mène ua décès ; avec l'épée qui mène à la suite ; avec à chaque fois des successions d'attaques / esquives / coups critiques en fait prédéterminés, avec tout au plus qqs embranchements selon qu'on fasse attaque puis sort de feu, ou attaque puis attaque, ou sort de feu puis attaque ; avec de toute façon quand on gagne une issu parfaitement établie, en terme de HP restants, qui renvoie donc à une nouvelle version de la map bien identifiée (= monstre vaincu, donc version sans le monstre, et avec tant d'HP restant obligatoirement, et tant d'or obligatoirement puisque cela implique qu'on ait nécessairement obtenu x d'or avant dans tel coffre puis dépensé y pour acheté l'épée ; etc.).
Habile ...
En tout cas dans un tel cadre cela fonctionne très bien (en tout cas jusque là où je me retrouve coincé ... ), et c'est pas loin du tour de force, même si forcément les contraintes que cela implique se font sentir.
Du coup, comment tu génères tout cela ? J'imagine bien pas à la main . Tu as créer une appli qui te génères le pdf à partir des règles que tu établies, en générant et organisant tous les cas possibles ?
En même temps j'imagine que ce n'est pas "si compliqué" que ç'a l'air de prime abord : p.ex. si je suis sur la case de coordonnées (8;12) du 1er niveau, regardant vers le sud, à l'étape 4 de la progression (j'ai tué le monstre qui bloque le pont, donc passés l'étape 3 qui était d'acheter l'épée, l'étape 2 qui était d'ouvrir le coffre pour récupéré l'or nécessaire, et l'étape 1 correspondant à l'obtention de la clé du coffre), étape correspondant nécessairement à un et un seul état possible de l'ensemble du jeu (y compris l'état du perso en terme d'HP, équipement, etc.), tu peux formaliser un code unique synthétisant l'ensemble de ces infos (p.ex. 1081234 pour 1er niveau, coordonnées x=08 / y=12, orientation sud = 3, étape 4) renvoyant donc à une page unique automatiquement classée ausein de l'ensemble des pages à générer. (Et puis une fois que tout est généré y'a plus qu'à élaguer les "pages vides", et la page initialement codée 1081234 se retrouvera peut-être un truc genre 32801ème, enfin bref, coder comme dans mon exemple sur 7 chiffres n'implique pas qu'il y ait des millions de pages puisque plein de codes possibles de 7 chiffres ne correspondront à aucune page et seront "coupés au montage".)
En tout cas c'est original et intellectuellement sympa comme idée !
Après, en terme d'intérêt vidéoludique ... faut reconnaitre que c'est se compliquer la vie pour se trouver surtout plein de contraintes très limitantes ... mais je vois bien que c'est avant tout un exercice de style, et à ce titre c'est très réussi !
Je note que ce faisant, ça oblige à cadrer le game-design et la progression dans le jeu de façon plus serrée que jamais, déconstruisant d'une certaine façon ces grands principes, et pour cela aussi je trouve la démarche super intéressante.
___
En revanche, je vois dans les crédits que ton jeu est en fait une [adaptation ?] d'un jeu pré-existant auquel tu fais d'énormes emprunts (notamment concernant les graphismes et le système de jeu), je pense que par respect pour l'auteur du jeu d'origine, dont tu t'approprie quand même une grosse part du travail, ce serait bien de mentionner cela explicitement dans la présentation de ton projet ainsi que sur l' "écran titre" du jeu en lui-même (et pas juste reléguer l'info en toute dernière page des crédits... :/).
J'ai jeté un oeil à son jeu, et je note quand même que le tien est bien plus fluide et agréable à parcourir, Heroine Dusk étant bourré de combats aléatoires bien relou tous les deux pas, alors que ton concept t'ayant contraint à dégraisser au maximum, j'ai eu bien plus de plaisir à m'y plonger. D'ailleurs, je ne sais pas du coup quelle est l'ampleur de tes emprunts à Clint Bellanger, notamment est-ce qu'au final le level-design et les énigmes de ton Undying Dusk viennent de toi, ou sont aussi issus d'Heroine Dusk ?
___
Sinon, quelques petits soucis et bugs que j'ai rencontré (facile à pointer dans un jeu d'un tel format !) :
- Page 102483 : l'idée du feuillage qu'on traverse est bonne, sauf que y'a surtout un mur de dessiné, donc on traverse pas qu'un feuillage, là ça fonctionne moins (et puis quand on se retourne une fois de l'autre côté il n'y a plus de parois du tout ??) --> un aménagement graphique serait bienvenu je pense, comme densifier le feuillage pour qu'il masque entièrement une part importante du mur (de sorte qu'il devienne crédible qu'il cache une ouverture), ou sinon une tenture à la place ou un truc du genre ? Et puis garder ce mur spécial visible quand on est de l'autre côté.
- Page 141534 : il serait bien d'avoir un bouton pour fermer le livre (placé comme les boutons de défilement des écrans précédents), parce que là en l'état quand on clique dans la foulée du défilement des pages, je me suis p.ex. trouvé avec l'image du livre sélectionnée / en surbrillance au lieu qu'il se ferme. Je me demande en passant si à cet endroit ça pourrait pas être sympa d'avoir l'anim qui boucle, plutôt que le livre se ferme après une poignée de frames ? (Et donc avoir un bouton de fermeture, à côté du bouton qui fait défiler les pages qui lui pourrait renvoyé sur la première frame quand on arrive à la dernière).
- Page 165387 : le "page up" de la page 89905 se trouve toujours affiché, du coup sur la tête du zombie :P.
- Page 166532, quand on attaque, sur l'écran suivant (page 109186) la barre de vie du zombie affiche un nombre de PV plus élevé.
- Page 165887 : un peu / beaucoup abusé la bible posée devant la tombe alors qu'on ne la voit pas sur les autres vues ! (Même la vue 34944 !) Là c'est vraiment un truc bêtement retors pas du tout cohérent avec la logique du jeu, ça perd le joueur de façon juste "bête et méchante", à éviter. En plus l'indice sensé nous inciter à chercher est lui aussi incohérent (outre la façon dont il est donné ... un panneau au milieu d'un plan d'eau, vraiment ??) puisqu'il parle de la tombe du "Saint Knight" ... or (si j'ai bien suivi ...) on est devant son mausolée, donc la tombe est sensée être à l'intérieur ! Ca m'a perdu aussi ça, pour là encore de mauvaises raisons. Bref, toute cette énigme mériterait d'être repensée.
- Page 138369 : ça dit qu'il faudrait regarder derrière le lierre avant de quitter les lieux ... sauf que ça ne correspond pas au stade du jeu où cette page prend place (à ce stade on a nécessairement déjà récupéré le parchemin derrière le lierre).
- Et si je peux me permettre de remonter un dernier "problème" : au stade où j'en suis (page 130750) le jeu me parait pas du tout clair sur ce qu'il attend de moi !
___
Bon, en tout cas, l'expérience est vraiment sympa, félicitation à toi pour ce concept, autant original que stimulant pour les neurones !
Who! Un jue en pdf c'est original.
Ca a l'air de représenter un sacré travail !
Merci Nival !
Merci pour ce retour super détaillé et flatteur
Oui, ça marche très exactement comme ça !
Exactement ! C'est du Python et c'est du code libre et open-source : https://github.com/Lucas-C/undying-dusk
Tout à fait d'accord. Le jeu qui en résulte n'est pas révolutionnaire en soi, c'est le support et la démarche qui en font (peut-être) un jeu intriguant, original, voir amusant !
J'ai tout de même casé quelques énigmes dans le jeu qui ne peuvent exister que dans un format PDF,
et ne pourraient pas être reproduite si le jeu était transposé dans un autre format
Clint Bellanger est l'un des premiers a avoir testé le jeu. L'idée lui a plu et il m'a donné sa bénédiction.
De plus, en pur terme légaux, Clint avait fait le choix de publier Heroine Dusk sous licence GPL pour le code, et Creative Commons pour les assets, encourageant ainsi volontairement des adaptations du jeu : https://github.com/clintbellanger/heroine-dusk/
Merci !
Les énigmes sont entièrement de moi, par contre 95% des niveaux (géographie) sont identiques.
Pourquoi pas, merci pour la suggestion !
Je vais y réfléchir, mais je pense que tu as raison et que ça pourrait être amélioré.
Au début je me suis dit que ce serait un peu difficile à faire techniquement, mais en y réfléchissant c'est tout à fait envisageable aussi. Bien vu !
Intéressant. Oui ça pourrait être plus sympa de faire "boucler" l'animation ! Je me le note.
Bien vu ! ça a été corrigé dans la dernière version publiée sur itch.io (v1.0.2)
Oui, c'est parce que le zombie récupère de la vie lorsqu'il mord !
OK, je prends note ! Merci du retour
Bien vu, c'est un bug ! Merci !!
Tu n'arrives pas à vaincre le zombie c'est ça ?
Quelqu'un ma remonté être bloqué ici également, et j'ai fourni un indice ici :
https://www.reddit.com/r/UndyingDuskPdfGame/comments/n59yp1/v101_extra_hints_and_a_map/
---
Merci beaucoup pour le temps que tu as pris pour m'écrire ce message !!
C'est génial, ça m'aide beaucoup
Mon petit coin de web