面白いスクラッチゲーム23ページ目
23ページ目では下記ジャンルのスクラッチゲームを紹介していくよ!
ディープラーニングの「VAE(変分オートエンコーダ)」のデコーダー部分を、まるごとスクラッチで再現しているのがすごいところだよ。80次元の「潜在ベクトル」という数値の組み合わせから、64×64ピクセルのアニメ絵を生成してるんだ。乱数をそのまま使うんじゃなくて、「コレスキー分解」っていう数学的な処理で、学習データの特徴を持った乱数に変換してから線形変換で画像にしてる。
円形のステージで物理演算を実現しているのがすごいところだよね。普通のスイカゲームは四角い箱だけど、この作品は惑星型の丸いエリアになっていて、壁に当たったときの跳ね返りや重力の向きを三角関数で計算しているんだ。しかもクローンを使わずに、1つのリストですべてのフルーツの位置・速度・サイズを管理して、ペンのスタンプ機能で描画しているのも特徴的。
マイクラの世界観そのまんまのプラットフォーマーで、速度変数つかった慣性移動がガチでぬるぬる動くのよ。壁にぶつかったら上キーで壁キックできるのもアツい。ゾンビとかスケルトン、溶岩を避けながらステージ右端まで到達すると次のレベルに進む仕組みで、レベルごとに地形もトラップも変わるから飽きない。
クラウド変数を使ったオンラインランキングが実装されているんだ。クラウド変数って数値しか保存できないから、5人分のスコアを1つの数値にまとめる工夫がされている。具体的には、各スコアに10000を足してから文字列のように連結して、「1250011800110009500...」みたいな長い数値として保存してるんだよね。
イエローソウルでメタトンをぶち抜くバトルが熱い。Zキーで弾を撃って敵のハートを狙うんだけど、攻撃パターンが7種類もあって全然飽きない。上から降ってくるBOX、プレイヤーを追尾してくるハート弾、ランダム位置から狙い撃ちしてくるブラスター、四方から迫る雷マーク、左右に往復する落雷まであってガチで避けゲーとしての完成度が高い。
このスクラッチ作品では、Undertale風のバトルシステムがしっかり再現されてるよ。プレイヤーのソウル(ハート)は十字キーで自由に動かせて、Xキーを押しながらだと低速移動できるから細かい弾避けも可能。特に面白いのは「青ソウル」と「赤ソウル」の切り替え機能で、青ソウル時は重力がかかってジャンプ操作が必要になる。
このスクラッチは、ペットが10秒放置されると自動でコメントしてくれる仕組みが面白い!内部でタイマー変数を使って時間を計測していて、ちょうど10秒になったら「おなかすいた~」とか「さんぽにいきたい~」みたいにランダムでリアクションするんだ。さらに、「イベント中」っていう変数を使ってイベント実行中はタイマーをリセットする工夫があって、お世話してる間はカウントがストップする。
文字列を使った独自のセーブシステムが本当に面白いよ!パンツ・シャツ・顔・背景、それぞれのコスチューム番号を「1.5.3.2」みたいな形式で1つの文字列にまとめて保存してるんだ。ロードするときは、文字列の各位置の文字を取り出して、「1文字目と2文字目が数字とピリオドか」とか細かく判定しながら、正しいコスチューム番号を復元している。
スマブラの醍醐味である「ダメージ蓄積システム」を完全再現しているのがすごいところだね。攻撃を受けるたびに5%ずつダメージが溜まっていくんだけど、面白いのはダメージ量に応じて吹っ飛び方が段階的に変わる仕組み。5%、10%、15%...って条件分岐で細かく設定されていて、繰り返し回数と移動距離を調整することで、低ダメージ時はちょっとだけ飛ぶけど、高ダメージ(45%以上)になると画面外まで一気に吹っ飛ぶ…
このゲームの核心は、リアルタイムな箱生成システムだね。プレイヤーが長押ししている間、一定間隔でクローンを作り続けて箱を積み上げる仕組みになってる。面白いのは、箱の数をカウントして最大9個まで制限をかけていること。
右から流れてくる障害物をジャンプで避けながら、宝箱をゲットしてスコアを稼ぐランゲーム風の作品だよ。クローン機能を使って障害物と宝箱が次々と生成される仕組みになっていて、ゲームが進むにつれて障害物の出現間隔がどんどん短くなっていく難易度設計がされてる。宝箱に近づくと自動でキャッチされてスコアが加算され、コスチューム番号に応じてボーナス倍率が変わるのも面白いポイント。
速度変数-sxと-syを使った本格的な物理演算が特徴だよ。毎フレーム速度を0.8倍して摩擦を表現し、キー入力で加速、それから実際に移動するという流れ。ジャンプ、スピンジャンプ、グライド、ダイビング、壁ジャンプと多彩なアクションそれぞれに細かく物理パラメータが調整されていて、プロっぽい滑らかな動きを実現してるんだ。
フルーツたちがリアルに跳ねたり転がったりするのは、リストを使った自作の物理エンジンのおかげなんだ。フルーツごとに位置・速度・サイズをリストで管理して、毎フレーム重力や空気抵抗、壁との反発をまとめて計算してるよ。特に注目なのが「ポリゴン内判定」の処理で、座標がある図形の中にあるかを数学的に調べる方法を使ってる。
グリッドをクリックして音符を配置し、プレイヤーオブジェクトが左から右に移動しながら音を奏でる仕組みが秀逸だね。特に注目したいのは、クローン機能を使って大量の音符オブジェクトを効率的に管理している点。各音符はクローンとして生成され、プレイヤーとの当たり判定で音が鳴る仕組みになっている。
呪術廻戦の秤金次をScratchで再現した対ダミー格闘ゲームなんだけど、注目すべきはやっぱり領域展開「坐殺博徒」のガチャ要素。パチンコショットやシャッタードアの色(緑→赤→金→虹)でスロットのロック数が変わって、リーチ演算も原作リスペクトの寸劇が入る。天井システムまで実装されてて、ジャックポット引いたら4分11秒の無双タイムに突入するのが最高にアツい。
雪玉を作って投げるまでの2段階アクションが革新的だね。スペースキーを押し続けて雪玉を作成し、Aキーを押し続けて照準を合わせる複雑な操作システムが実装されている。この仕組みは状態変数を巧みに使い分けることで実現されていて、プレイヤーの行動を「雪玉作成中」「照準中」「通常移動」の3つの状態で管理している。
難易度選択で敵と自分の移動速度が変わる設計が面白いね。例えば難易度1では主人公の速度が6で、難易度2だと5.5、難易度3では5と段々遅くなる。一方、敵のレインボーフレンズは難易度が上がるほど少しずつ速くなるんだ。
矢印が飛んでくるタイミングに合わせてキーを連打する、おなじみFNFのリズムゲーをScratchで再現した一作!ミスらず繋げばコンボが乗ってスコアが爆伸びする仕組みで、ハマると止まらん。叩くたびにキャラのアニメが切り替わって画面がノリノリで揺れる演出もアツい。
このスクラッチの最大の特徴は、独自のダイアログエンジンを一から構築していることだね。普通のスクラッチゲームでは「◯と言う」ブロックを使うところを、このプロジェクトではテキストを文字単位で描画する超高度なシステムを作っている。フォントサイズを動的に測定して自動改行を実装したり、/speakerや/waitといったコマンドでキャラクター切り替えやタイミング制御ができるようになってる。
6×5のグリッドにドロップを配置して、縦横に3つ揃えて消していく本格的なパズドラ再現だね!技術的に最も印象的なのは、リストとクローンを組み合わせたドロップ管理システム。各ドロップにIDを割り振って、判定・消去・圧縮・補充の一連の流れを複数のカスタム定義で分担処理してるんだ。
すごく複雑なメッセージ送受信システムでアニメーションを構成してるのが印象的だね!9つものメッセージが順番に送られて、それぞれのタイミングで異なるスプライトが連携して動いているよ。特にクローンを使った演出では、変数で管理した3つのクローンがそれぞれ違う軌道で動くようにプログラムされていて、まさに「立体的なアニメーション」を実現してる。