Project Plateau
Project Plateau: four glass plates, one living valley, and the road back to camp.
翻訳待ち
No updates detected yet. GitHub releases will appear here.
XBill 2.1 をブラウザで遊べるように移植したゲーム(GitHub Pages 版・GPL-3.0以降)
Loading the full README. The saved excerpt is shown below.
1994 年の X Window System 用ゲーム XBill を、ブラウザで遊べるように移植したものです。GitHub Pages で公開しています。 ビル軍団(Bill)が、あなたのコンピュータの OS を Wingdows に入れ替えようとしてきます。ビルを叩いて、OS を守りましょう。 • スマホ(縦向き)でもパソコンでも遊べます。ログインは不要です。 • Google Apps Script 版もあります: Kawade502/xbill-gas(ゲームは同じです。ランキングは別々です)Read the full README ↗
1994 年の X Window System 用ゲーム XBill を、ブラウザで遊べるように移植したものです。GitHub Pages で公開しています。
ビル軍団(Bill)が、あなたのコンピュータの OS を Wingdows に入れ替えようとしてきます。ビルを叩いて、OS を守りましょう。
https://kawade502.github.io/xbill-webremake/
日本語・English・简体中文・繁體中文・한국어・Español・Français・Deutsch・Português・Русский・हिन्दी・Bahasa Indonesia・Italiano・Nederlands・Polski・Türkçe の16言語に対応しています。ブラウザの言語設定から自動で選び、タイトル画面の 🌐 で切り替えられます(選んだ言語は端末に保存。?lang=en のようにURLでも指定できます)。
src/i18n/<言語>.json(日本語が基準)。python3 tools/check_i18n.py で、鍵の過不足・{n} などの食い違い・日本語の混入を検査できますレベル10をクリアすると、結果画面に「証明書をダウンロード」ボタンが出ます。名前・最終スコア・日付を入れた PNG 画像(1200×800)を、ブラウザの中で作って保存します(サーバーには何も送りません)。スコアは自己申告で、サーバーでの検証はありません。
レベル10をクリアすると、結果画面から、記念の SBT(譲渡できない NFT)を希望できます(任意)。
0x54Cf87755CFC5a67e99ea648945614797106A65C(Polygon、PolygonScan)ゲーム本体は、サーバーの要らない静的なページです。ランキングだけ、小さな API(Cloudflare Workers)を呼びます。
src/ ゲームの部品(ビルドで 1 枚の HTML にまとめる)
index.html 画面の骨組み。<!-- @include 名前 --> で下の部品を読み込む
styles.html CSS
assets.html オリジナルの絵(自動生成)
sprites.html 絵の読み込みと描画
sound.html 効果音
game.html ゲーム本体(ルール、操作、画面、ランキングの画面)
docs/ GitHub Pages で公開する完成品(ビルドの出力。手で編集しない)
worker/ ランキング API(Cloudflare Workers + KV)とそのテスト
tools/build_pages.py src/ から docs/index.html を作る
tools/make_assets.py オリジナルの絵(XPM)から src/assets.html を作る
tools/make_ogp.py SNS 共有用の画像(docs/ogp.png)とファビコンを作る
third_party/xbill-2.1/ オリジナルの絵の元データ、README、ライセンス表記
pages.config.json 公開 URL と、ランキング API の URL
cd worker
npm install
npx wrangler login
npx wrangler kv namespace create RANKING # 出た id を wrangler.toml の id に書く
npx wrangler deploy # 出た Worker の URL を、次の pages.config.json に書く
npm test # テスト
wrangler.toml の ALLOWED_ORIGINS に、ゲームを公開する URL の Origin(例: https://ユーザー名.github.io)を入れます。
API の URL が空のままだと、ランキングはその端末のブラウザにだけ保存されます。
同じ Worker は、ビールジョッキ の杯数の記念 SBT の申請も POST /beer-sbt-request で受け付けます(受け付けるかどうかは wrangler.toml の BEER_SBT_REQUESTS_ENABLED で切り替えます)。
いたずらへの備え(worker/src/limit.js、wrangler.toml の [[ratelimits]]):
npx wrangler kv key list --binding RANKING --remote --prefix sbt:req:(ビールジョッキは beer:sbt:req:)で見る# pages.config.json の siteUrl と rankingApi を自分の URL に書き換える
python3 tools/make_ogp.py # 共有画像(必要なときだけ)
python3 tools/build_pages.py # docs/index.html を作る
docs/ をコミットして push し、リポジトリの Settings → Pages で、Branch を main、フォルダを /docs にします。
(cd worker && npx wrangler dev --port 8787) &
python3 tools/build_pages.py --out /tmp/xbill-local --api http://127.0.0.1:8787
(cd /tmp/xbill-local && python3 -m http.server 8000 --bind 127.0.0.1) # http://127.0.0.1:8000/
Worker の KV(キー ranking)に、上位 20 件を JSON で保存します。KV には排他制御がなく、反映に最大 1 分ほどかかることがあります。
白紙に戻すには、npx wrangler kv key delete ranking --binding RANKING --remote を実行します。
src/game.html の LEVELS(レベルごとの、ビルの数・出現の勢い・速さなど)だけを変えれば調整できます。
PC の台数とケーブルの本数は、オリジナルの式のままです。
公開ページでは、Cloudflare Web Analytics でアクセス数を数えています。Cookie を使わず、個々の訪問者を追跡しません(ページビュー・国・参照元・端末の種類などの集計だけ)。
pages.config.json の analyticsToken(ページに載る公開用の値)。空にすると計測しませんdocs/ を作るときだけ入れます(--out を付けた手元の確認用には入れません)LICENSE)NOTICE.md を見てください。