CSSQuake

Renderização e Implementação

  • O jogo usa CSS e HTML apenas para renderização; toda a lógica central do jogo é escrita em JavaScript/TypeScript.
  • Elementos DOM e transformações CSS 3D substituem a renderização tradicional em canvas/WebGL.
  • A etapa de build extrai dados de QuakeC/progs.dat para JSON (estados, modelos, ataques, sons) consumidos pelo runtime em TypeScript para uma jogabilidade “Quake-like”.
  • Alguns comentaristas mencionam recursos de áudio em CSS (folhas de estilo aural), mas o som nesta demo é controlado por uma opção no jogo / atalho de teclado, e não por CSS puro.

Relação com Outros Projetos e Linhagem

  • Várias pessoas comparam isso a um projeto semelhante de “CSS Doom”; a discussão esclarece que são projetos separados.
  • Ambos são vistos como parte de uma longa linha de engines experimentais em CSS3D e demos de FPS que vieram antes deles.

Jogabilidade, Controles e Problemas de UX

  • Foram relatadas várias peculiaridades de controle: movimento com efeito de elasticidade, ficar preso em cantos e inclinações, atravessar objetos e dificuldade para sair do jogo.
  • O menu pode desaparecer ao clicar na janela; a solução alternativa é usar Tab para mostrar o menu, Esc para sair ou fechar a aba.
  • Alguns botões originalmente exigiam atirar em vez de tocar; esse comportamento foi ajustado depois.
  • Extensões de modo escuro podem tornar partes do mapa quase invisíveis.

Desempenho e Diferenças entre Navegadores

  • As experiências variam bastante: alguns veem 60 FPS suaves até em hardware modesto, enquanto outros relatam travamentos severos ou crashes.
  • Safari/WebKit é frequentemente descrito como instável e com falhas; Chrome e Firefox em várias plataformas costumam ser mais suaves.
  • Muitos contrastam o desempenho irregular com o quão bem o Quake original rodava em hardware muito mais fraco dos anos 1990, destacando o custo de usar CSS como pipeline de renderização.

Reações ao CSS como Meio

  • Há forte admiração pelo feito técnico e pelo espírito de “porque podemos”.
  • Alguns veem isso como um uso impressionante, mas inerentemente ineficiente, de uma linguagem declarativa de estilo.
  • Outros argumentam que é simplesmente aproveitar os recursos existentes de transformações 3D e um desafio divertido, não uma escolha séria de engine.

Nostalgia e Notas Culturais

  • Há inúmeras reações nostálgicas de pessoas que jogaram Quake décadas atrás e ainda lembram dos níveis e do movimento pela memória muscular.
  • A discussão também inclui brincadeiras leves sobre piadas de CSS (float, z-index, centralizar divs) e comentários no estilo “a ciência foi longe demais?”.