会社勤めのプランナーがオフにUnity個人開発ゲームのイベントシステムを作ってみた
こんにちは、「仕様です。」(@shiyoumasayume)という名前でSNSをやっているゲームプランナーです。
普段は会社でたくさんの人と一緒にコンシューマー向けタイトルの開発をしているのですが、最近では在宅での仕事も増え、結果として自分の自由な時間が増えました。そこで勉強も兼ねて普段の業務では作れないようなゲームを個人開発したりしています。
さて、この記事では作成中のゲームを例に
「OPからEDまでを繋ぐゲーム内イベントの仕組み」
を考えてみたいと思います。
このnote単体で読んでいただいても大丈夫ですが、作っているゲームについての詳細を知りたいという方は開発内容まとめなどを見ていただけると嬉しいです!
作成中のゲーム「Dr.Holeking」についての全記事はこちら
開発に使うもの
PC
・MacBook Air 2020 13インチモデル
・第10世代の1.2GHzクアッドコアIntel Core i7プロセッサ
・Intel Iris Plus Graphics
・16GB 3,733MHz LPDDR4Xメモリ
・1TB SSDストレージ
ゲームエンジン
・Unity バージョン2020.1.2f1
Google chrome
・調べ物をするときに
Twitter / note
・経過報告用
Macbook AirにUnityというツールを入れてゲームを作成しています。
ノートPCが1台だけで開発というコンパクトな装備です。
作ろうとしているゲームの概要
今回作っている「Dr.Holeking」というゲームはこんな要素を持っています。
・ポストアポカリプス(崩壊後の世界)なSFモノ
・基地のリソースを管理して襲来する敵を倒す
・敵を倒して得たリソースを使って基地の地下を掘削し、地球の核へと到達する
・iPhoneの縦持ちでプレイ
プレイヤーが遊ぶときの流れはこんな具合です。
1.基地のリソースを消費して基地設備を整える
2.襲来する敵を倒す
3.敵を倒して得たリソースでさらに基地を増築or地面の掘削を進める。
敗北条件:所有する基地の設備が襲来する敵を倒しきれなかった
クリア条件:特定の深度まで掘削を進めた
ゲームクリアまでに必要なイベントの数
まずはゲーム開始からゲームクリアまでに実装が必要なイベントの数を洗い出します。
ゲームにクリアに直結する行動を何回とるか
このゲームのクリア条件は特定の深度まで掘り進むこと。掘削という行動を「10回」繰り返すとゲームクリアになるとします。現在Dr.Holekingのクリア条件は地下1500kmまで掘り進むとクリアという想定しており、1回に掘り進む距離は150kmとなります。
1回の掘削を行うまでの手数
掘削はゲームクリアに直結する要素であるため、すぐ10回達成というようにはしません。1回の掘削にかかる費用を設け、ゲーム内の行動や戦闘を何度か繰り返してから1回の掘削ができるようにします。いかに掘削にかかるコストを貯めるかという部分で工夫してもらい、掘削という行動に達成感を得られるように設計していきます。
イベントの起点
プレイヤーが工夫した結果として掘削ができるようになります。そのためプレイの区切りでイベントを挟むタイミングとしては掘削が適しているでしょう。逆にイベントがないとゲームが進行していることがわかりにくくもなりそうです。
シナリオイベントの数
ゲームクリアに必要な掘削は10回ですので、それと同じ数のイベント数が必要です。さらに、ゲーム開始時とゲームクリア時用にイベントがそれぞれ1つずつ。また掘削以外にゲームクリア前最後の障壁となる要素を設けたいので、それにも1つ。
シナリオイベントとして必要なイベントは13個。この13個を実装すればDr.Holekingというゲームのシナリオは最低限完成ということになるでしょう。
というわけで掘削する度にイベントの枠が呼び出される、という機能を実装していきます。
実装してみた
掘削を行う度に1回イベントが再生されます。
ちょっと小さくて見づらいのですが、
「150kmの深さに到達しました」
「300kmの深さに到達しました」
「450kmの深さに到達しました」
など毎回異なるテキストが表示されています。これは動画以降の掘削も同様で、到達深度に応じて異なるイベント枠を呼び出し、その中身にある仮テキストを表示できるようになりました。
あとはこの仮テキストをシナリオ用のメッセージに変更することでシナリオイベントを組んでいくことができます。イベントとしてはそれぞれ個別の枠になっているので、イベントごとに異なる演出処理を盛り込むことも可能です。
SEをつけてみた
今回ちょっと見た目的な実装としてはかなり地味だったので、ゲーム内SEを少し実装してみました。
サウンドの有無でかなり印象って変わりますね!
というわけで
ゲームに必要なシナリオイベント数とそれを呼び出すシステムについてまとめました。イベントシーンの書き起こしなどについてはまた別途まとめていきたいと思います。
このゲーム開発は毎週ごとに期日と作業内容を決めて進めています。
前回期日
・9月6日(日)
作業項目
済)ゲームボリュームのためのシナリオプロット策定
済)シナリオ面から必要なシステムの洗い出し
・パートナーAIのイメージ台詞作成、実装
シナリオプロット策定とシナリオに必要なシステムの洗い出しは完了しました。今回のイベントシステムの他にいくつか必要要素があり、それはまた別途実装したらnoteにまとめようと思います。
パートナーAIのイメージ台詞についても進めていますが、こちらはシーンの書き起こし時に一緒に本格的に進めていこうと思います。というのも、Dr.Holekingのイベントは基本的にパートナーAIとの会話で構成される想定のため、イメージ台詞をちゃんと用意するならいっそイベントの書き起こしとして作業した方が良いなと思ったためです。
次回のスケジュールです
次回期日
・9月13日(日)
作業項目
セーブ機能の作成
この記事を投稿するのが9月12日なんですが…日曜日ごとの区切りがわかりやすいので翌日までの期日で進めます。
シーケンス機能が入ってきて、実際のゲームボリュームに紐づく機能の実装が増えてきました。ここから先のデバッグなども考慮してセーブ機能を実装します。
引き続き開発を進めていきますので、見守っていただけると幸いです。
この続きが気になる方はこちら!
ここまで読んでいただきありがとうございました!
よろしければコメント、スキ、フォローお願い致します!
Twitterもやっていますのでよろしければこちらでも絡んでいただけると嬉しいです。
https://twitter.com/shiyoumasayume
他にも色々な記事を書いています。
よろしければサポートお願いします!いただいたサポートをモチベーションにまた活動を続けていきます