【Webアプリケーション開発】テトリス風ブロック落としゲーム

使用言語

メイン:TypeScript(Canvas描画含む)
サブ:HTML、CSS

使用ソフト・サービス

VSCode、Vite、Supabase(DB、リアルタイム通信)、GitHub、Vercel

制作期間

3週間

担当範囲

企画・制作
サポーター:Claude(コードの解説・レビュー。実装は自分で行いました)

制作のこだわり

本格的な2Dゲームを作ってみたくて制作しました。

最初にソロプレイモードを作り、その後、2人対戦モードを実装しました。
ロックディレイ・ゴースト・ホールド・Next表示など、遊びやすさにこだわった操作性を整えた後、2人対戦での盤面の同期、おじゃまブロック、勝敗判定を追加しました。また、使われなくなった対戦部屋を整理する仕組み(終了した部屋の記録、定期的な削除、古い待機部屋の除外)も入れています。

大変だったのは、画面に見えない内部処理です。落下や通信に使うタイマーが二重に動いてしまう不具合や、ライン消去とゲームオーバー判定の順序の問題など、見た目には現れなくても、対処しないと正常に動かない処理がたくさんありました。

全部を自力でやるにはまだ時間がかかるので、今後は、こうした見えない部分まで目を配れる力をつけていきたいです。