1 points par GN⁺ 4 시간 전 | 1 commentaires | Partager sur WhatsApp
  • Démo CSSQuake qui exécute Quake dans le navigateur, avec sur la page l’initialisation de cssQuake v0.230 et l’état coming soon!
  • Le rendu est assuré par PolyCSS renderer v0.2.6, et les journaux montrent le chargement des ressources manifest, progs, definitions, weapon model et id1/pak0.pak
  • Le jeu inclus est Quake Shareware version 1.06, avec la mention de copyright Quake (C) 1996 id Software, Inc.
  • L’écran multijoueur propose le nom, la couleur, la carte, fraglimit, timelimit, le nombre maximal de joueurs, ainsi que les actions Create, Join et Copy Link
  • Les indications de commandes et les bascules de débogage sont également visibles, ce qui montre que la page affiche à la fois une démo d’exécution et une interface de configuration

Démo Quake initialisée dans le navigateur

  • Le titre de la page est cssQuake - Powered by PolyCSS, et le corps affiche v0.230 ainsi que coming soon!
  • Le journal en bas affiche === cssQuake v0.230 initialized ===
  • L’état de chargement apparaît dans l’ordre suivant
    • Host_Init
    • Loaded manifest
    • Loaded progs
    • Loaded definitions
    • Weapon model
    • Assets from id1/pak0.pak
  • La zone d’indicateurs de performance affiche 0 FPS et 0 MS
  • Les liens associés sont cssQuake GitHub, id Software Quake GitHub, Layoutit

Paramètres multijoueur et commandes

  • Dans le menu Multiplayer, il est possible de définir le nom, la couleur, la carte, fraglimit, timelimit et le nombre maximal de joueurs
    • La carte affichée par défaut est E1M1 the Slipgate Complex
    • Les boutons d’action sont Create, Join, Copy Link
  • La liste des cartes affiche les éléments suivants
    • E1M1 the Slipgate Complex
    • E1M2 Castle of the Damned
    • E1M3 the Necropolis
    • E1M4 the Grisly Grotto
    • E1M5 Gloom Keep
    • E1M6 The Door To Chthon
    • E1M7 The House of Chthon
    • E1M8 Ziggurat Vertigo
  • Les indications de commandes sont divisées en Gameplay et Menu
    • Gameplay : déplacement avec WASD, visée à la souris, tir au clic, saut avec Space, course avec Shift, accroupissement avec Ctrl
    • Menu : navigation avec les flèches, sélection avec Enter, retour avec Esc
  • Dans les paramètres Debug et Gameplay, les bascules suivantes sont affichées
    • Show outlines, Show stats panel, Show FPS panel
    • Réglage du Crosshair
    • Dynamic lighting, Mute sounds, Show particles, Show enemies
    • Disable damage, Disable movement, Disable attacks, Invert mouse

1 commentaires

 
GN⁺ 4 시간 전
Commentaires sur Hacker News
  • C’est une réalisation impressionnante, mais ça me perturbe de me dire que Quake sur un PC Pentium-133 des années 90 semblait tourner plus fluidement que sur mon Mac M1 Pro

    • Ce moteur n’est pas optimisé pour les performances. Il utilise du CSS, après tout
    • Pour référence, sur Chrome sur M2, ça tourne de façon ultra fluide, mais sur Safari ça saccade et ça semble beaucoup se découper
    • Aucun problème du tout sur Firefox + Linux. En revanche, Gnome Web rame et se comporte bizarrement. Ça ressemble à un problème côté WebKit/Safari
    • Si c’était Quake compilé en C, il tournerait incroyablement vite sur M1, même en 8K plein écran
    • Attends, Quake tournait sur un Pentium-133 ? J’avais un Pentium MMX 233MHz et je pensais que ça ne tournerait pas bien, donc je n’ai même jamais essayé de me le procurer
  • Génial. Encore plus difficile à quitter que vim

    • Si vous voulez voir le menu, appuyez sur Tab. Pour revenir au jeu, cliquez en dehors des éléments du menu
    • Tu as fait comment pour quitter ? Rien ne semble marcher
  • Impressionnant. Est-ce que ce n’est pas seulement un moteur de rendu conçu pour utiliser du CSS, mais bien une réimplémentation complète du moteur et de toute la logique du jeu ? On dirait bien, vu qu’il y a pas mal de comportements différents de l’original
    Par exemple, certains boutons doivent être tirés dessus au lieu d’être touchés, et certaines portes secrètes s’ouvrent au contact au lieu de nécessiter un tir

    • Bonjour ! Merci pour le signalement, les boutons devraient maintenant fonctionner correctement
      Côté logique de jeu, pendant la phase de build, on exécute un petit extracteur JS sur QuakeC/progs.dat pour générer en JSON les informations source comme les états, modèles, attaques et sons. Le runtime navigateur est en TypeScript, et utilise ces informations pour reproduire un gameplay proche de Quake
    • Non, c’est seulement le moteur de rendu. Le jeu lui-même est en TypeScript
  • C’est la première chose vue sur Internet depuis longtemps qui m’a fait rire sincèrement
    J’ai aussi regardé https://cssdoom.wtf/ et c’était excellent. Les deux sont bien plus légers et agréables que l’actualité du moment \o/

  • Ce CSS Quake semble nécessiter du JS pour s’exécuter

  • Même si je vois la prolifération du CSS comme du bricolage empilé sur du bricolage, et même si je déteste passionnément la stack web CSS/JS/HTML, j’estime que c’est un excellent et tout à fait légitime cas d’usage du CSS :)

  • Ça vient de https://github.com/NielsLeenheer/cssDOOM ?

  • Très cool. Je me demande jusqu’où vont les limites. On voit un chien abattu flotter dans les airs ; c’est à cause du CSS ou est-ce quelque chose qu’on peut corriger ?

    • .dog { display: float; }
  • C’est impressionnant, mais ce genre de chose ne devrait quand même pas être possible avec un langage de style déclaratif

    • Le CSS n’est utilisé que pour le rendu, pas pour la logique du jeu
  • Waouh, vraiment génial. Ça tourne de façon très fluide. C’est complètement fou de constater qu’environ 25 ans plus tard, la mémoire musculaire est toujours là