はじめてゲームプログラミング 「キャッチ」&「リリース」のギミックを作る【1回目】計画編

はじプロ ギミック解説
この記事は約5分で読めます。
コンじゃぶろー
コンじゃぶろー

こんにちは!コンじゃぶろーです!

健康診断で低血圧を指摘されました。5年前は肥満で高血圧だったのに、食事や運動で10kg痩せたら、今度は低血圧ですって(驚)

一つ改善したら、また新しい課題が出てくるんですね。人生は、プログラミングと一緒だなぁなんて思いつつ

今日から、アプリを使って毎朝血圧を計る事に決めました。まずは、日々の記録からはじめてみます。

皆様も、お身体にはお気をつけて

はじめてゲームプログラミング 「キャッチ」&「リリース」のギミックを作る【1回目】計画編

さて、今日は新しいギミックを作っていきます。

コンじゃぶろー
コンじゃぶろー

これまでに、「投げる」と「つかむ」は作ったので、それを合わせたギミックを作っていきます。

もぐお
もぐお

既に作ってるなら楽勝だね!

コンじゃぶろー
コンじゃぶろー

いやいや、個別に作るのは出来ても違う機能を組み合わせると途端に難易度が上がるよ

もぐお
もぐお

えぇ?そうなの!?

コンじゃぶろー
コンじゃぶろー

難易度が高いので、何回かに分けて記事にしようと思います。

はじめてゲームプログラミング 開発の計画をしてみる

まず、今回は少し複雑な物を作るので、開発の予定を決めたいと思います。

もぐお
もぐお

計画!?やだ!絶対やだ!

そういうの苦手で、じんましんが出る!

コンじゃぶろー
コンじゃぶろー

大丈夫!苦手な人程、計画をすると上手く出来るようになるよ

やってみよう!

予定を立てるメリット

予定を立てるメリットをまとめるとこんな感じになります。

  • 完成品の定義が出来て、ゴールが明確になる
  • 対応漏れを防ぐ
  • 問題が起きた時の方向転換がしやすい
  • 複数のメンバーで作業を分担出来る

今回は、1人で作るので作業分担は考えなくてもOKです。1番のメリットは、ゴールが明確に出来る事です。ゴールが決まって無いと、作業効率がかなり落ちます。

もぐお
もぐお

いきあたりばったりの方が楽なんだけどなぁ

コンじゃぶろー
コンじゃぶろー

もちろん、行き当たりばったりで作る方法にもメリットはあるのでかまいません

今回は、少し複雑な物になるので、どういった作業がありそうか事前に洗い出す方法をとります。

簡単な検証をする場合は、行き当たりばったりにサクっと作ろう!

コンじゃぶろー語録

作業を洗い出してみる

予定を立てる時の手順は、以下のような順になります。

  • 作業の洗い出し
  • 作業順を決める
コンじゃぶろー
コンじゃぶろー

ヒント

作業順によって、効率が良くなったり悪くなったりするよ

■想定される作業

  • 設計:キャッチギミックと投げるギミックの設計
  • 設計の検証(プロトタイプの作成):設計の要件を満たすシンプルなギミックを作成
  • 開発:見た目を考慮して作成
  • テスト:色々な操作を試した、不具合が無いか確認
  • 品質アップ(作り込み)

以上です。本当は、この後に作業時間を出して、いつ開発が終了するのかを見積もりますが、ここでは割愛します。

作業予定は、細かければ細かい程良いですが、あまり慣れていないうちは1時間くらいできりあげて作業に入っていきましょう

コンじゃぶろー
コンじゃぶろー

間違った予定を立てても、大丈夫!

何回も繰り返し開発する事で、どんどん精度が上がります。

あまり予定に時間をかけすぎないようにしましょう。

はい、予定が出揃った所で、今回の記事でのゴール地点を設定します。この記事では、設計までやっていきましょう。

コンじゃぶろー
コンじゃぶろー

それでは、設計していきましょう。

はじめてゲームプログラミング 設計準備 既に作ったギミックのおさらい

以前に作成したギミックを組み合わせるので、どんなギミックを作ったのかおさらいしましょう。

キャッチするギミック

キャッチのギミックは、ワープを使った物になります。

キャッチは検証用に作った為、非常に簡単な構造になっているので、以下の改造を加えます。

  • 握った瞬間だけワープする(キャッチタイミングを作る)
  • 握るのをやめるとボールを離す(投げる)

設計と言うと、仕様書や設計書を書く事がほとんどだと思いますが、1人で作るのでメモ書きくらいで良いと思います。

投げるギミック

投げるギミックに関しては、球を打ち出すノードンを使おうと思います。

以前作った物も、投げる瞬間に球を射出してそれを投石機の原理で遠くに投げています。

ここでも、改造するポイントを整理してみましょう。

  • 投げる時に、キャッチしているボールを消す
  • 投げるモーション終了後に、ボールを打ち出す

はじめてゲームプログラミング 検証用ギミックの構造を設計してみよう

過去に作った、「キャッチ」して、「投げる」をどのように改造するかが見えてきました。

コンじゃぶろー
コンじゃぶろー

今のままでも、だいたい整理出来てるので、開発に入れると思います。

でも、もう一つやっておいた方が良い事があります。

この後開発に入って1番困るのは、ボールの状態や腕の状況がこんがらがって頭が爆発してしまいます。

もぐお
もぐお

今、投げてる時?キャッチしてる時?キャッチしようとしている時?あー!訳が分からなくなってきた!

コンじゃぶろー
コンじゃぶろー

モチベーションの低下にもつながってしまうので、こうならないようにしましょう。

状態の遷移を整理して、順番に並べておきましょう。この一手間で、かなり作りやすくなりますよ。

今回の場合状態遷移は、こうなります。出来れば遷移図にするととても分かりやすいです。

  • 待機状態
  • キャッチ開始(ボタン入力)
  • キャッチング状態(数秒)
  • キャッチモーション(ボールに触れた時)
  • キャッチ済み状態
  • 投げる開始(ボタンリリース)
  • 投げる終了

それぞれの状態が変わる条件を書いたり、遷移先を矢印で引っ張ったりして図にすると分かりやすくなります。

コンじゃぶろー
コンじゃぶろー

はい、今日はこれでOKです。しっかり寝てプログラミングに備えましょう!次回は今日設計した物を、物凄くシンプルな構造で組んでいきます。

もぐお
もぐお

ここまで整理したら、組めそうな気がする!楽しみだ!

長々とご清聴ありがとうございました。

ではでは、また。皆様のよいゲーム作りをお祈りしております。

コメント

タイトルとURLをコピーしました