CSSQuake
(cssquake.com)- ブラウザでQuakeを実行する CSSQuake デモで、ページには
cssQuake v0.230の初期化とcoming soon!の状態があわせて表示される - レンダリングは PolyCSS renderer v0.2.6 が担当し、manifest・progs・definitions・weapon model・
id1/pak0.pakアセットの読み込みログを確認できる - 同梱ゲームは Quake Shareware version 1.06 で、
Quake (C) 1996 id Software, Inc.の著作権表記が表示される - マルチプレイヤー画面では、名前、色、マップ、fraglimit、timelimit、最大プレイヤー数の設定と Create、Join、Copy Link の操作を提供する
- 操作案内とデバッグ切り替えまで表示されており、現在のページは実行デモと設定UIをあわせて見せる状態になっている
ブラウザで初期化されるQuakeデモ
- ページタイトルは cssQuake - Powered by PolyCSS で、本文には
v0.230とcoming soon!が表示される - 下部ログには
=== cssQuake v0.230 initialized ===が表示される - 読み込み状態は次の順で表示される
Host_InitLoaded manifestLoaded progsLoaded definitionsWeapon modelAssets from id1/pak0.pak
- パフォーマンス表示エリアには 0 FPS と 0 MS が表示される
- 関連リンクは cssQuake GitHub、id Software Quake GitHub、Layoutit
マルチプレイヤーと操作設定
- Multiplayer メニューで、名前、色、マップ、fraglimit、timelimit、最大プレイヤー数を設定できる
- デフォルトのマップ表示は
E1M1 the Slipgate Complex - 操作ボタンは
Create、Join、Copy Link
- デフォルトのマップ表示は
- マップ一覧には次の項目が表示される
E1M1 the Slipgate ComplexE1M2 Castle of the DamnedE1M3 the NecropolisE1M4 the Grisly GrottoE1M5 Gloom KeepE1M6 The Door To ChthonE1M7 The House of ChthonE1M8 Ziggurat Vertigo
- 操作案内は Gameplay と Menu に分かれる
- Gameplay: WASD移動、Mouse視点、Click発射、Spaceジャンプ、Shiftダッシュ、Ctrlしゃがみ
- Menu: 方向キーで移動、Enterで選択、Escで戻る
- Debug と Gameplay 設定には次のトグルが表示される
- Show outlines、Show stats panel、Show FPS panel
- Crosshair 調整
- Dynamic lighting、Mute sounds、Show particles、Show enemies
- Disable damage、Disable movement、Disable attacks、Invert mouse
1件のコメント
Hacker Newsのコメント
すごい成果だけど、90年代の Pentium-133 PC で動かしていた Quake のほうが、自分の Mac M1 Pro より滑らかだった気がして気になる
すばらしい。vimより終了しにくい
印象的だね。これは CSS を使うように作られたレンダラーだけでなく、エンジンとゲームロジック全体を再実装 したということ? 原作と違う挙動の部分がかなりあって、そう見える
たとえば、あるボタンは触れる代わりに撃たないと作動せず、ある隠し扉は撃つ代わりに触れると開く
ゲームロジック側では、ビルド段階で QuakeC/progs.dat の上に小さな JS 抽出器 を走らせて、状態、モデル、攻撃、サウンドのような元情報を JSON に生成しています。ブラウザのランタイムは TypeScript で、その情報を使って Quake ライクなプレイを実装しています
長いことインターネットを見てきた中で、久しぶりに心から笑わせてくれたものだった
https://cssdoom.wtf/も見てみたけど、これも良かった。どちらも最近の時事ニュースよりずっと気楽でいい \o/
この CSS Quake は動かすのに JS が必要みたい
CSS という ハックの上にハックを積み重ねたもの の広がりと、CSS/JS/HTML というウェブスタックを熱烈に嫌う立場ではあるけれど、これは CSS のすばらしく正当な使い道だと思う :)
これって https://github.com/NielsLeenheer/cssDOOM から持ってきたの?
https://bsky.app/profile/html5test.com/post/3mok5febchs2g
とてもクール。限界がどこにあるのか気になる。撃った 犬が空中に浮いている のが見えるけど、これは CSS のせいなのかな、それとも直せるもの?
.dog { display: float; }印象的ではあるけど、こういうことは 宣言的スタイル言語 でできてはいけない気がする
うわ、本当にすごい。ものすごく滑らかに動く。25年くらい経っても筋肉の記憶 がそのまま残っているなんて、信じられないくらい不思議だ