1 points par GN⁺ 2024-11-09 | 1 commentaires | Partager sur WhatsApp
  • Forum TIGSource

    • TIGSource a ouvert un serveur Discord officiel.
    • Le forum couvre divers sujets et discussions, avec la participation de nombreux membres.
  • Return of the Obra Dinn

    • Une discussion est en cours sur le style graphique du jeu et les problèmes de tramage.
    • Une tentative consiste à rendre l’image en haute résolution puis à la réduire pour résoudre le problème de scintillement.
    • Une méthode visant à stabiliser le mouvement en fixant le motif de tramage est également discutée.
  • Processus de tramage

    • Obra Dinn est rendu en niveaux de gris 8 bits, puis converti en 1 bit.
    • Deux motifs de tramage sont utilisés pour produire divers effets visuels.
    • Sur les images animées, les motifs de tramage peuvent poser problème.
  • Stabilisation du tramage

    • Des recherches sont menées sur une méthode consistant à fixer le motif de tramage à la géométrie pour améliorer la stabilité.
    • Des efforts sont faits pour trouver le meilleur résultat en essayant plusieurs méthodes de mapping.
  • Conclusion

    • La résolution du problème de tramage a pris beaucoup de temps, mais a finalement permis de préserver le style visuel du jeu tout en corrigeant le problème.
    • Le jeu final devrait proposer deux modes d’affichage.

1 commentaires

 
GN⁺ 2024-11-09
Commentaires sur Hacker News
  • Je fais de la programmation graphique depuis plus de 10 ans, et pourtant je ne m’en étais pas rendu compte en jouant au jeu. Vu le langage visuel global du jeu, je dirais que ces 100 heures ont été vraiment bien investies
    À ce niveau, ça aurait presque pu être présenté à SIGGRAPH sur le thème de la cohérence temporelle en rendu non photoréaliste

    • La stabilité du dithering sautait clairement aux yeux quand on parcourait la scène, mais je n’aurais jamais imaginé qu’un tel niveau de travail avait été nécessaire pour y parvenir. Après avoir lu cet article, je pense que je l’apprécierai encore davantage à l’avenir
  • Pour ceux qui ne connaissent pas, Return of the Obra Dinn et Papers, Please sont tous deux des jeux de Lucas Pope, considérés comme de vrais classiques multi-récompensés
    Même si vous ne jouez pas habituellement, ils valent largement le détour. Aucun des deux n’est un jeu typique

    • Papers, Please est un chef-d’œuvre. Pour Obra Dinn, j’ai eu l’impression d’avoir raté quelque chose : après un peu d’histoire, il ne me restait pas assez d’indices pour recouper avec les autres, et le jeu n’en donnait plus davantage
    • Papers, Please fait partie de mes jeux préférés de tous les temps. J’ai même créé des flashcards pour mémoriser les informations essentielles et je me suis entraîné en boucle pour améliorer mes performances d’inspection
      Peu de jeux m’ont poussé à ce point. Je n’ai pas essayé Obra Dinn parce que son style visuel ne m’attirait pas, mais si vous aimez les jeux d’enquête, Curse of the Golden Idol vaut aussi le coup d’œil. C’est assez proche de ces jeux en termes de créativité, et très amusant
    • Il y a sur son site web beaucoup de super projets réalisés en game jam. Ce sont des idées vraiment amusantes et créatives, et certaines sont même devenues des jeux complets
    • Je joue aux jeux de tir à la première personne depuis Wolfenstein 3D, mais Return of the Obra Dinn est le seul jeu qui m’ait donné la nausée
      Cela dit, je l’ai quand même terminé
  • Le dithering 1 bit prononcé est un sujet vraiment fascinant. Il existe aussi plusieurs approches en 2D, chacune avec ses avantages, ses inconvénients et ses compromis
    Il est surprenant de voir que quelque chose qui était au cœur de l’expérience informatique des années 80 devient au contraire assez délicat sur du matériel moderne. Sur mon projet[0], j’ai découvert qu’il était presque impossible de faire un mapping 1:1 entre les pixels hors écran et le canvas fourni par le navigateur
    [0] https://sheep.horse/2023/1/improved_web_component_for_pixel-...

    • Ça me fait toujours rire de voir qu’une carte nVidia assez récente met plusieurs secondes à changer de résolution, alors qu’un Atari vieux de 35 ans pouvait changer plusieurs fois de résolution au sein d’un seul rafraîchissement d’écran
      Un petit jeu que j’avais fait utilisait un affichage couleur basse résolution sur les 3/4 de l’écran, puis en bas une résolution horizontale doublée en 4 couleurs pour afficher plus de texte. On changeait donc de résolution 120 fois par seconde sans trop ralentir le CPU
  • Aucune des approches proposées ne semble vraiment bien fonctionner, et ce problème paraît bien plus complexe qu’il n’en a l’air
    Ce qui aurait le plus de chances de marcher serait sans doute un motif de dithering « fractal » permettant un zoom fluide et invariant à l’échelle, traité en espace texel pour que les déplacements de caméra et d’objet fonctionnent tous les deux correctement, ou bien un rendu suréchantillonné avec filtrage bilinéaire ou du motif de dithering, suivi en espace écran d’une sorte de passe de diffusion d’erreur via un compute shader
    Cela dit, je ne suis pas certain que ça fonctionnerait bien en pratique. Si ce n’est pas suffisant, une autre possibilité semblerait être de traiter simplement le tout en espace écran, puis de reprojeter le résultat en espace texel d’une manière préservant la résolution, d’utiliser ensuite les informations de l’espace texel à l’image suivante pour produire une solution compatible en espace écran, puis de remapper en espace texel, afin d’accumuler progressivement à l’exécution un motif fractal par texel. C’est peut-être la meilleure solution, mais elle semble extrêmement coûteuse en mémoire, en calcul et en complexité

    • Depuis la semaine dernière, j’ai réussi à faire en sorte que l’approche fractale fonctionne plutôt bien
      https://x.com/dgant/status/1851840125065453894
      https://x.com/dgant/status/1851835968342446576?t=kCUSWCtJEc_...
      Le principe consiste à utiliser un dithering en espace monde, à appliquer un dithering 2D sur des surfaces mappées en triplanaire, à choisir l’échelle des coordonnées selon la profondeur pour maintenir le motif de dithering dans la plage [1px, 2px), puis à peindre les surfaces suffisamment lointaines en coordonnées sphériques. Il y a quelques repeints au niveau des seuils de profondeur, mais en pratique ce n’est pas très gênant
  • Pour ceux que ça intéresse, j’ai creusé un peu plus et retrouvé d’anciens journaux de développement qu’il avait publiés sur ce sujet [1] [2]
    La partie sur l’algorithme d’upscaling Scale2X m’a particulièrement marqué, et c’est assez génial [3]
    [1] https://forums.tigsource.com/index.php?topic=40832.260
    [2] https://forums.tigsource.com/index.php?topic=40832.msg121719...
    [3] https://www.scale2x.it

  • J’adore le fait que cette personne partage tout sur les forums
    Je me souviens avoir vu les premiers travaux sur Papers, Please, et il y a quelque chose de formidable dans le fait de partager son processus et de l’exposer aux retours

    • J’ai l’impression qu’il faut avoir une certaine audience pendant qu’on travaille. Sinon, on a l’impression de crier dans le vide
    • Tigsource est une véritable mine d’or d’informations et de documents de conception. Beaucoup de jeux célèbres comme Spelunky et Dead Cells y sont aussi nés
  • Discussion de l’époque : https://news.ycombinator.com/item?id=15766249

  • C’est de loin le meilleur article sur le dithering que j’aie vu jusqu’ici. J’ai travaillé sur le dithering noir et blanc de Return to Dark Castle
    Je voulais utiliser le dithering d’Atkinson, mais c’était difficile à implémenter dans un shader à cause de la façon dont les valeurs des pixels voisins se propagent entre elles, et à l’époque j’étais aussi très stressé et fatigué. Je ne crois pas avoir pensé à fixer le motif à l’offset de la scène, donc il devait probablement y avoir du scintillement dans les niveaux à défilement comme les catacombes ou le helicopter pack. Ou peut-être que si, mais je ne m’en souviens plus. Quoi qu’il en soit, c’est excellent

  • J’ai récemment essayé d’y jouer sur un 5K Studio Display après l’avoir téléchargé sur GOG, mais je n’ai pas réussi à obtenir un rendu où les magnifiques pixels ne deviennent pas flous. C’est vraiment dommage
    J’ai parcouru tous les menus de réglages

    • Il faut trouver un moyen de l’afficher dans une résolution qui soit un multiple entier de la résolution du jeu, avec du letterboxing
  • Pour le plaisir, la bande-son du jeu est ici
    https://www.youtube.com/watch?v=8qvdAWLcPyU