Scratchでゲームを作るコツ
Scratchで複雑なことをするのは面倒だ。
しかし、ある時私はScratchの限界を知りたくなったので、
結構、複雑なゲームが作れるか試してみた。
ぷよぷよっぽいパズルゲーム
https://scratch.mit.edu/projects/250474669
結論でいうと、失敗、ほぼ作れないと思われるというか、
作り方を間違えたというか・・
普通のゲーム作るときの感じで、描画処理を中心に作ったのが失敗。
描画処理と呼んでるのは、Scratchのペンを利用し、
画面で必要な情報をすべて変数で持ち、単位時間=0.1秒ごとに、以下のような処理を繰り返して、画面の表示を行う手法を言っています。
①ペンの描画をクリア
②変数から、状態を計算
③スプライトの位置を計算し、スタンプ
その結果、入力操作、ブロックに関する処理、描画時間がかみ合わず、
軽快に動作しなくなってしまった。
Scratchでパフォーマンスの問題は解決しにくいという結論になり、
これ以降、軽快な動作を確保しつつ作ることを教訓に得ました。
次に、RPGなどのマップチップを活用したゲームに挑戦しました。
https://scratch.mit.edu/projects/417775647
ちょっとバグってますが、描画自体はできます。
しかし、続けていって、わかったんですが、素材数の暴力がきつい。
Scratchでは仕組みが簡易的過ぎてある程度の情報量があると、DBが使えないのが厳しくなります。
キャラクターの動きなど、リソースが増えるほど、
ロジックが増える、素材も増える。
そう、つまりゲーム開発は素材との闘いなのだと気づいたわけです。
そこで、素材の少ないゲームといえば・・
ADVゲーム風のUIを作ることにしました
https://scratch.mit.edu/projects/417125372/
これはうまくいったかな、ストーリー部分の入力は気合が必要になります。
こんな感じでまとめると、Scratchでゲームを作るコツとして、
以下3点を気にする必要がある。
①メッセージの制御
作るゲームにはどういったシーンがあるのか?
シーンに応じて、メッセージを作るとよさそう
②リソース数の検討
登場するキャラクター数、モーション数、エフェクト数、アイテムなどのアイコン数、
効果音など、使いまわしも加味しつつ、全数が少なくなる検討が必要
③入力制御、表示時間の管理
ペンによる描画なら、1コマあたり、何秒間隔で表示するのか、
クローンを使うなら、メインのゲーム画面で、大体どれぐらいのクローン含めたスプライトで動作するのか
実際試してみて、すこしでも表示が遅いと感じるなら、減らすか、
そもそも、絶対数を決めてゲームを作るか
そうなると、RPGのようなリソースが多いタイプのゲーム、
格闘ゲームのような、入力時間がシビアで制御が複雑なゲームは結構厳しいということになる