このプロジェクトについて
黒8マスターは、スマホ横向き向けに設計されたオフライン対応のブラックエイトビリヤードPWAです。ウェブページを開くだけで遊べるほか、ホーム画面に追加でき、初回読み込み後はオフラインでも動作します。
遊び方としては、プレイヤーは球卓上で指をスライドしてキュー方向を調整し、右側の力度バーで打球の強さをコントロールし、「打球」をタップして確定します。最初の合法ポット後にソリッドまたはストライプが割り当てられ、自分のグループをすべて落としてから黒8をポットすれば勝利です。手球がポケットに落ちる、的球に当たらない、または先に誤ったグループに当たるとファウルとなり、相手にフリーボールが与えられます。プレイヤーがフリーボールを得た場合は、球卓上の合法な位置をタップして手球を移動できます。
機能面では、Matter.jsを使用して球の衝突、クッション反射、摩擦減速、6ポケット検出を実現し、簡易ブラックエイトルール、完全なターン状態、勝敗判定を含みます。簡単・普通・難しいの3段階のコンピューター対戦相手、3種類の球卓・キュー・環境テーマ、調整可能な照準線、力度感度、効果音、振動を提供します。インターフェースは横向きセーフエリアに適応し、オフラインキャッシュとインストール可能なPWAに対応しています。
ローカル開発にはNode.js 22以上とpnpmが必要です。pnpm installとpnpm devを実行した後、ターミナルに表示されるローカルアドレスをブラウザで開き、スマホを横向きに回転させます。検証にはpnpm testとpnpm buildを実行できます。テストはルール判定、AIの合法な的球選択、衝突、摩擦、クッション反射、ポケット判定をカバーしています。
公開フローでは、mainブランチへのプッシュごとにテストと本番ビルドが実行され、すべて通過するとGitHub ActionsがdistをGitHub Pagesに公開します。初回公開時はリポジトリのSettings → Pages → Build and deploymentでGitHub Actionsを選択する必要があります。技術スタックはTypeScript、Vite、Phaser 3、Matter.js、Vitest、vite-plugin-pwaです。
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.