1 points par GN⁺ 2024-07-06 | 1 commentaires | Partager sur WhatsApp
  • Un projet qui transforme en jeu d’arcade PICO-8 de 45 secondes ce moment que tout le monde attendait enfant : « quand le logo DVD touche exactement un coin de l’écran »
  • Grâce à une portée réduite centrée sur une seule blague, la complexité de l’UI et la charge de production ont diminué par rapport au projet précédent, ReShape, ce qui en a fait une bonne expérience pour apprendre PICO-8
  • PICO-8 est une fantasy console très contrainte, où il faut gérer soi-même jusqu’aux collisions et aux particules, ce qui donne même aux petits jeux une sensation cohérente
  • Les limites peu pratiques de l’éditeur de code intégré ont été contournées avec l’extension VS Code pico8-ls et une configuration include code.pb, mais la recherche dans la référence du langage reste décevante
  • Même une mécanique simple devient plus facile à expliquer et à partager avec un thème fort, et les contraintes de PICO-8 facilitent la publication telle quelle de petites créations

Un jeu de logo DVD de 45 secondes

  • « Put the DVD Logo in the Corner » est un court jeu d’action arcade dont le but est de faire toucher au logo DVD un coin de l’écran
  • Il a été réalisé avec PICO-8, sur une période de 4 jours, du 27 au 30 juin 2023
  • Une partie dure environ 45 secondes, et le jeu a été conçu autour d’une blague et d’un souhait d’enfance, sans intention de l’allonger davantage
  • Le jeu est disponible sur itch, et son code peut être consulté sur GitHub
  • Recevoir les high scores des amis a été une expérience amusante ; au moment de l’écriture, le meilleur score d’un ami était de 21 points, contre 26 pour le développeur

Premier jeu créé avec PICO-8

  • PICO-8 est une fantasy console comparable à un émulateur pour une console qui n’existe pas réellement
    • Elle impose des limites de graphismes, de son, de taille de code et de puissance de calcul qui imitent les consoles des années 1980
    • On peut y créer sprites, musique, effets sonores et écrire le code directement dans la console
  • Ses outils sont plus simples et plus rudimentaires que ceux des moteurs de jeu modernes
    • Les collisions doivent être gérées manuellement, au pixel près
    • Les effets de particules doivent eux aussi être implémentés en dessinant directement des pixels à l’écran
  • Cette simplicité et ces contraintes donnent aux jeux PICO-8 une sensation relativement homogène, et amènent à voir positivement l’idée que les contraintes stimulent la créativité
  • L’un des jeux PICO-8 les plus connus est la version originale de Celeste, créée lors d’une game jam
    • Cette version PICO-8 de Celeste est jouable comme easter egg dans le jeu final

Expérience avec les outils de développement PICO-8

  • PICO-8 inclut un éditeur de sprites, un éditeur d’effets sonores, un éditeur musical et un éditeur de code
  • L’éditeur de sprites faisait regretter Aseprite, mais la possibilité d’éditer directement les sprites dans PICO-8 était appréciable
  • L’éditeur d’effets sonores n’était pas du tout intuitif au départ, mais il est devenu rapidement plus clair après avoir regardé la vidéo de Gruber
  • L’éditeur musical n’était pas idéal pour quelqu’un habitué à jouer au clavier, mais restait relativement intuitif
  • L’éditeur de code était la partie la plus inconfortable
    • Même en élargissant la fenêtre, la longueur des lignes n’augmente pas : seule la taille de la police change
    • L’équipe de PICO-8 visait clairement une sensation de console très particulière, et si cela répondait à cet objectif, c’était malgré tout trop difficile à supporter dans ce cas précis

Écrire le code via VS Code

  • Pour utiliser VS Code à la place de l’éditeur intégré, l’extension pico8-ls a été installée
    • Elle fournit la coloration syntaxique et une référence de l’API
  • Le fichier principal PICO-8 ne contenait que include code.pb, tandis que le vrai code était écrit dans code.pb
  • Cette configuration est nécessaire parce que PICO-8 stocke le code et les données de sprites et de musique dans un seul et même fichier
    • L’idée n’était pas de modifier simultanément ce même fichier dans VS Code et dans PICO-8
  • Dans l’ensemble, cette façon de travailler a donné satisfaction, mais il manquait un moyen plus pratique d’explorer la référence du langage PICO-8
    • Le manuel PICO-8 ne permettait pas facilement une recherche restreinte, par exemple uniquement sur les noms de fonctions

Les contraintes facilitent la sortie de petits jeux

  • Pendant le développement, plusieurs idées d’extension sont apparues
    • ramasser des jetons pour augmenter le temps
    • des améliorations pour la TV ou le logo DVD
    • des ennemis qui perturbent le logo
    • une direction proche d’un clone de Vampire Survivors
  • Avec Godot, il est probable que ces envies auraient été explorées davantage
  • PICO-8 étant simple, mettre un tout petit jeu dans son état actuel sur itch paraissait naturel
  • La simplicité de PICO-8 agit comme une forme d’autorisation à publier aussi des résultats simples

Un thème rend le jeu plus facile à expliquer

  • En tant que joueur, l’auteur avait souvent tendance à ignorer l’histoire ou le thème pour se concentrer sur les mécaniques
    • Enfant, il passait les cinématiques, et même après avoir joué des centaines d’heures à Path of Exile, il dit ne pas être capable d’en expliquer l’histoire
    • À l’inverse, dans l’un de ses jeux préférés, Outer Wilds, histoire et mécaniques comptaient toutes les deux
  • En créant des jeux aussi, il lui est arrivé de penser que le thème n’avait pas tant d’importance
  • « Put the DVD Logo in the Corner » était l’exact opposé
    • La mécanique se résume à « faire toucher à un petit rectangle le coin d’un grand rectangle »
    • La mécanique en elle-même n’est pas passionnante, mais grâce au thème, c’était le jeu le plus amusant à présenter aux autres
  • C’est un point que l’auteur veut garder en tête pour ses prochains jeux

La suite

  • Ce jeu et le travail avec PICO-8 ont été très appréciés, et l’envie est de créer d’autres jeux plus petits avec une sensation arcade
  • Ensuite, l’auteur expérimentait une idée consistant à créer quelque chose qui s’exécute dans la barre d’adresse de Firefox à l’aide de la spécification OpenSearch
  • Une mise à jour du 5 juillet 2024 indique qu’OpenSearch a ensuite été utilisé pour faire tourner Wordle dans la barre d’adresse de Firefox

1 commentaires

 
GN⁺ 2024-07-06
Commentaires sur Hacker News
  • Surpris de découvrir le Recurse Center. Ça ressemble à une résidence d’artistes pour programmeurs.
    J’ai déjà séjourné en résidence en tant qu’artiste, et ça m’a beaucoup aidé à ouvrir de nouvelles perspectives. J’aimerais qu’il y ait davantage d’occasions, dans les sciences aussi, de faire des choses « absurdes » : non commerciales et non compétitives. Ce serait bénéfique pour la société, ou au moins certainement utile aux personnes qui ont la chance d’y entrer.
    https://www.recurse.com/

    • Je suis l’auteur. Si Recurse a l’air amusant et magique, c’est effectivement le cas, et ça vaut la peine d’envisager de postuler.
      Même si vous êtes accepté, vous pouvez différer jusqu’au moment qui vous convient, et c’est gratuit. Le modèle économique repose sur le placement professionnel, mais j’avais clairement indiqué en postulant que je ne cherchais pas d’emploi.
      Ce que Recurse a surtout fait pour moi, c’est me reconnecter à mon goût. Quand j’y suis arrivé, je faisais un jeu assez classique façon Flash, avec un score et un thème léger ; là-bas, je suis parti dans une direction beaucoup plus étrange. L’un de mes premiers projets consistait à détourner la spécification OpenSearch pour créer un Wordle qui s’exécutait dans la barre d’adresse de Firefox.
      https://eieio.games/nonsense/implementing-wordle-in-the-fire...
      C’était l’endroit parfait pour fabriquer ce genre de choses. Les gens m’encourageaient, me soutenaient et s’y intéressaient, ce qui m’a fait comprendre que le type de travail que j’avais vraiment envie de faire pouvait aussi intéresser d’autres personnes. Je crois avoir sorti huit jeux pendant mes 12 semaines à RC, et sans RC je n’aurais probablement pas commencé à faire le genre de choses que je fais aujourd’hui. Beaucoup de gens vivent sans doute des expériences similaires, dans les jeux comme dans d’autres domaines techniques. C’est un peu comme trouver le product-market fit de ses propres centres d’intérêt.
      RC m’a aussi mis en relation avec des gens qui faisaient des choses proches. La communauté est grande, bienveillante et bizarre dans le bon sens du terme. C’est comme un atelier d’écriture pour des personnes qui veulent programmer et devenir de meilleurs programmeurs.
      On pourrait croire que je fais trop la promotion de RC, et c’est un peu le cas, mais je ne suis pas payé pour ça : je suis juste un ancien reconnaissant. J’écris encore ceci depuis l’espace de RC, où je passe parfois pour discuter avec les participants de la session ou travailler.
    • J’ai fréquenté le Recurse Center il y a quelques années, mais ça ne m’a pas vraiment convenu, ce qui m’a surpris parce que tout le monde en parlait comme d’une expérience positive.
      Aujourd’hui encore, j’ai du mal à expliquer précisément pourquoi je n’y ai pas trouvé de valeur.
      C’était peut-être lié au lieu. New York City est chère ; j’avais les économies nécessaires pour tenir un congé sans solde, mais beaucoup de choses me paraissaient déraisonnablement coûteuses. La réputation d’impolitesse des New-Yorkais a aussi renforcé cette distance. J’avais entendu les louanges des autres, mais, comme certains visiteurs qui ne se sentent pas pleinement accueillis par la ville, je ne me suis pas bien accordé avec l’environnement du Recurse Center.
      Cela dit, un point positif est que certains résidents et anciens sont devenus assez connus dans le secteur tech. Les croiser par hasard dans l’espace peut mener à des conversations profondes. À mon époque, on pouvait y rencontrer des gens comme Robert Lefkowitz et Filippo Valsorda, et c’était une expérience assez chouette.
      https://www.recurse.com/residents
      https://www.linkedin.com/in/r0ml
      https://filippo.io
    • https://sfpc.study/ vaut aussi le détour.
      La School for Poetic Computation est une école expérimentale basée à New York City et en ligne, qui soutient l’apprentissage à la croisée de l’art, du code, du hardware et de la théorie critique. C’est un lieu où l’on apprend et où l’on réfléchit à ce qu’on a appris.
  • https://youtu.be/QOtuX0jL85Y?si=Kwo8OZSYOVzoI-Uh
    La référence incontournable à The Office.

    • J’ai l’impression que si le logo touche un coin avec l’angle exact, il se retrouve ensuite coincé à rebondir indéfiniment entre des coins diamétralement opposés.
      En fait, je ne vois même pas très bien comment il peut toucher exactement un coin.
    • Au début, je me suis dit « hein ? », puis j’ai cliqué sur le lien et compris qu’il s’agissait de la version américaine de The Office.
      Pendant quelques secondes, j’ai cru que c’était moi qui déraillais.
  • Je suis le développeur. Ça a été une surprise amusante de voir ça arriver en une, et je suis content que ça parle aux gens ; j’espère que vous essaierez aussi PICO-8.
    Si vous avez des questions, je peux y répondre. Depuis, je n’ai terminé aucun autre jeu PICO-8 et mon travail est devenu encore plus étrange, mais PICO-8 me manque et je bidouille des idées pour Playdate et Picotron.
    https://news.ycombinator.com/item?id=40800869

  • Ce genre de chose me fait vraiment aimer PICO-8. C’est l’un des environnements de codage les plus amusants que j’aie utilisés depuis la découverte d’ActionScript dans Macromedia Flash MX.

    • Pour beaucoup, le gros attrait est l’IDE intégré rétro, mais pour moi ce sont plutôt les contraintes limitées à l’exécution qui me plaisent.
      J’aimerais pouvoir travailler le code, le son et les graphismes avec des éditeurs modernes haute résolution, tout en conservant les contraintes de résolution, de puissance CPU et d’API.
    • PICO-8 est vraiment une petite plateforme adorable. J’ai quelques projets inachevés dessus, et voir ça me donne envie d’y retourner.
  • Cette histoire, qui traite de la souffrance psychologique et sociale causée par le fait que le logo DVD ne touche presque jamais le coin de l’écran, mérite aussi d’être mentionnée : https://www.youtube.com/watch?v=_ws0QtAiiXQ

  • Si vous voulez juste voir l’économiseur d’écran, j’en ai fait un il y a longtemps.
    https://stanchak.github.io/dvd/

  • Ce serait vraiment amusant sur Playdate. On pourrait faire avancer le temps avec la petite manivelle, et donner des points bonus si l’on maintient le bon rythme.

  • Pam affirme avoir vu le logo DVD toucher le coin quand elle était seule dans la salle de réunion. Elle semble croire que c’est vraiment ce qu’elle a vu.

  • Lien pour lancer directement le jeu : https://itseieio.itch.io/dvdlogo
    Code source (PICO-8) : https://github.com/nolenroyalty/put-the-dvd-logo-in-the-corn...

  • C’était vraiment amusant, et l’explication de l’environnement PICO-8 était bonne. J’ai obtenu 19 points, mais je crois avoir eu de la chance sur la fin.