gamejam
gamejamに参加したよ
去年は入部してなかったので初参加です。久しぶりに海をみました。電車の中でうおおおとか叫んでました。周りの人に迷惑だったのは間違いありませんが自分の「海だ!デカい!すごい!強い!?」みたいな安直な感性を割と気に入っています。冷笑とは対偶の位置にいたいですね。お題は「ランダム」でした。ランダムってすごく難しいですよね。言ってしまえばなんでもランダムなので。いろいろ考えたんですけど時間がなかったのと僕の知識とか技術がおざなりなのでコンパクトで遊んでもらいやすくて、確実に完成させられるものを選びました。
ブロック崩しをつくったお
球があって軌道を決めて発射!
?ブロックみたいなのに当たればランダムにアイテムget! ボムに当たれば周囲を巻き込んで爆発!大量コンボを目指そうみたいなゲーム性です。ランダム要素としてはアイテムがランダムなのとブロック類の生成がランダムです。ゲーム性とかがシンプルな分、音とか演出をつけました。ドパガキにやさしいゲームを作りたかった。
制作日記
使ったツール
ブラウザで動くゲームを作るにあたり、今回はJavaScript向けの2Dゲームフレームワーク「Phaser」を採用。npmやビルドツールは使わず、CDN読み込み(を1行書くだけ)で導入し、index.htmlとgame.jsの2ファイルだけで開発を進めました。プログラミング自体はほぼ初心者からのスタートでしたが、壁の反射や当たり判定をライブラリ側が担ってくれるので、自分で物理演算を書く必要がなかったのが助かりました。
1〜2日目:基本システムの構築
まずは「ボールを発射してブロックに当て、数字を減らして壊す」という基本ループを実装。そこに「ラウンドが進むごとにブロックの段が下に迫ってきて、危険ラインに達するとゲームオーバー」という進行の仕組みを追加しました。
ブロックの配置は毎回ランダム生成。出現率や数字の大きさをラウンド数に応じて調整し、序盤は簡単、後半は歯応えが出るようバランスを取りました。

3日目:「はてなボックス」とボム連鎖
お題「ランダム」の目玉として、?ブロック(はてなボックス)を実装。壊すとランダムで、
ボール数が1個増えるアイテム
次のショットのボールが床で1回だけ跳ね返るアイテム
のどちらかがドロップする仕様にしました。

さらに、当てると周囲のブロックをまとめて破壊する「ボムブロック」も追加。ボム同士が連鎖すると画面上のブロックが一気に吹き飛ぶ、爽快感のある瞬間が生まれました。


演出まわり:パチスロ風の盛り上げ方
せっかく連鎖するなら派手に見せたいと思い、演出を強化。
ヒットごとのブロックのスクイーズ演出
破壊時の破片パーティクル・スコアのポップアップ表示
連鎖数がある程度まとまると「CHAIN×〇」の文字が画面にドーンと出る演出

8連鎖以上では「JACKPOT!!」演出が発動し、画面フラッシュ・カメラのズームパンチ・放射状の光・星の花火が一気に出る
効果音もWeb Audio APIで、音声ファイルを使わずその場で波形を合成して鳴らす方式にしました。ヒット音・爆発音・連鎖の駆け上がる音階・ジャックポット時のファンファーレまで、全部コードだけで生成しています。
Play Bricks Breaker on itch.io
よかったら遊んでね
コメント入力