【ゲーム開発】新作ゲーム「ピザ・キング・ファイト」の制作を振り返って~エンジニア編~(開発)
こんにちは。
株式会社Black Beard Design Studioです。
先日、弊社カジュアルゲーム専門の開発ラインVoyageeから、
完全無料のゲームアプリ第2作目「ピザ・キング・ファイト」がリリースされました!
▼iOSの方はこちらから▼
▼Androidの方はこちらから▼
3日間連続投稿で、
「ピザ・キング・ファイト」の開発裏話をお送りしております!
今回はエンジニア編です!
プランナー編…https://note.com/bbds_blog/n/nf63cf348c671
デザイナー編…近日公開予定
今回の「ピザ・キング・ファイト」の企画目標は
「ボヤゲーとしてゲーム性・コンテンツの充実を探求する」でした。
各担当者がどのようなアプローチで開発に向き合ったか
ぜひご覧くださいませ。
エンジニア編
初めまして。
「ピザ・キング・ファイト」のエンジニアチームの佐藤です。
実は私はエンジニアではなくデザイナーなのですが、
今回の企画はエンジニアチームとして参加しました。
その目線から裏話をお届けしていければと思っておりますので、
ぜひ最後までご覧いただけますと幸いです。
※今回の開発では、エンジニア側はチームで活動しました。
メインプログラマーからは別途記事を投稿予定ですので、どうぞお楽しみに!
■企画目標への応え方について
今回は話を聞いた時点でそれなりの物量になることが予想でき、
先に走っている企画が落ち着いてからでは遅いと思いましのたので、
平行して作業を進める必要があると考えました。
限られたリソースの中、どうやって並行して作業を進めるか考えた結果、
Unityのビジュアルスクリプティング(旧Bolt)を使用してみようと思いました。
ビジュアルスクリプティングは名前の通り(?)
ノードベースで処理を設計するタイプの言語、またはツールです。
ScratchやUEのブループリントあたりが有名かと思います。
シェーダー開発などはノードベースでデザイナーが主導で行う、
なんてこともかなり多くなってきたのではないでしょうか。
それほどノードベースのプログラミングは我々非エンジニアにとっては重要な存在です。
私自身はPythonでMayaの簡単な自動化を行ったり、
UnrealEngineのブループリント等を触ったことがある、程度のデザイナーであり、
C#とはそれほど仲が良くありませんでしたが、
導入したおかげでデザイナー主導でも平行してプロトタイプを作ることができ、
メインプログラマーとの分業も出来ましたので、
完璧とはもちろん言えませんが、ゲーム性、コンテンツの充実に貢献出来たのではないかと思います。
このワークフロー自体は特別新しいものではありませんが、
Unityでも気軽に出来るようになった、というのは選択肢が広がってとても良いことだと感じています。
■制作にあたって大変だったこと・解決方法
ビジュアルスクリプティングのおかげで、早いスタートを切れたことに変わりはありませんが、
まだまだ発展途上と感じられる場面も少なくなく、
通常のコーディングと全く遜色がない、とまでは言えないところが中々どうして苦労した部分でした。
今回初めてこの機能を触るにも関わらず、使用例が少なかったため、色々作り終わってから、
あ、こういうこと出来ないんだ、という場面が多くあり、作り直すこと事も必然と増えました。
(例えば、オブジェクト変数を追加削除など、編集をしても既に配置済みのプレハブには反映されない、など、名前からしてまぁよく見れば確かに…という感じではあるのですが)
プロトタイプ開発という視点で見れば作り直すことは良くあることですので、ある意味では問題ではなかったのかもしれませんが、
最終的にビジュアルスクリプティング自体に慣れるまでにはそこそこ時間がかかったように感じます。
(その間全く使い方が分からなかったわけではなく、段々と付き合い方が分かってきた、という感じでしょうか)
そして今回、UnityはGitで管理しておりましたが、
ビジュアルスクリプティング自体はバイナリデータのため、Gitとの相性があまり良くありませんでした。
一人で作業をしているうちは良いのですが、ブループリントの様な差分ツールがビジュアルスクリプティングには無く(見つけられなかっただけかもしれません)、
GitはSVNのようにファイルのロックも出来ないので、
メインプログラマーが合流してからはお互いの作業がコンフリクトしないように声を掛け合いながらの作業となりました。
また、コード内部の検索機能もあまり良くないので、大きな機能を作ると、修正などで再度手を入れる際に少し骨が折れることもありました。
今回のプロジェクトに関して言えばビジュアルスクリプティングで出来なかった事、というものはあまりありませんでしたが、
付き合い方を覚えるまでは思っていたように物事が進まなかったです。
ですが、大きな恩恵があったことも確かですので、今回の場合で言いますと、
ビジュアルスクリプティングが得意な場面(ロジックの作成など)、
従来のC#が得意な場面(データの作成など)でそれぞれ上手く使い分けて行くことが大事でした。
■今回の発見と今後の展望・目標
非エンジニア主導でプロジェクトのスタートを切れたおかげで、
限られたリソースの中で比較的早い段階でゲームをテストプレイすることが出来るようになり、チームからも沢山アイディアが出たように思います。
もちろん、全てが採用されたわけではなく、おかげで大変になったことも沢山ありましたが、
3Dのデータを用意する人間と実装する人間が同じだったので、
複数の手をまたぐ必要がなく、思いついたことへのチャレンジは比較的取り組みやすかったように思います。
ですが、一人で完結させるという事の限界も改めて感じましたので、
小規模ではあるもののデータの用意から実装までの経験を経て感じた風通しの良さ、それを保ったまま、ボトルネックになる部分を極力抑えつつ、
より高い要求に応えられるワークフローの研究を続けていきたいと改めて考えるようになりました。
小規模な開発の場合、特に、プランナー、デザイナー、エンジニアなどの肩書を超えてゲーム開発に向き合う場面が多くなり、
消極的になってしまうことも少なくなかったのですが、今後は少しだけ怖がらずに立ち向かえるような気がします。
また、ビジュアルスクリプティング自体の使用例は少ないものの、関数名、機能はC#のそれとほとんど変わりませんので、
C#のコードを参考にノードを組むことも出来たため、ビジュアルスクリプティングから入ってUnityC#へ行く、という事も可能ではないかと思います。
ビジュアルスクリプティングのおかげで、前よりもC#と仲良くなれる気が、今はしています。
まとめ
色々と課題となる部分もありましたが、ビジュアルスクリプティングのおかげで
ゲームの基本操作からプロップの挙動、NPCのAIまで、一通りを非エンジニア主導でプロトタイピングする事が出来ました。
前述のとおり、これ自体は目新しいことではありませんが、Unityでも出来るようになった、という事は、
弊社の様なデザイナーが多い場面で開発する場合に、縛りが減り、ゲーム開発の間口がさらに広がった事を意味します。
つまりそれはデザイナー自体、ひいては全てのゲームを作りたいと思う人の可能性も広がったという事でもあると思います。
かつてデザイナーにとって不可侵領域だった場所が、
UnrealEngineを皮切りに、現在はUnityでもさらに一歩踏み込めるようになったおかげで、
デザイナー自身が作りきれる場面も増えたため、表現の幅、活躍の場をもっと広げられるようになりました。
デザイナーはよりイマジネーションを膨らませることができ、エンジニアはよりコアな作業に集中出来る、より良い関係を築けるチャンスなのだと思います。
このチャンスをどう生かしていくか、どうやったらより良いチームを、より良いゲームを作れるか、それは一体どんなものなのか、
そんな夢を思い描かせてくれるいい機会になりました。
最後に
以上、担当エンジニアによる
「ピザ・キング・ファイト」開発裏話でした!
今後もnoteでは開発ゲームについての投稿をしていく予定ですので、
どうぞお楽しみに!
そして、「ピザ・キング・ファイト」は完全無料でプレイできますので、
まだダウンロードしていない方はぜひ以下のリンクよりどうぞ!
▼「ピザ・キング・ファイト」ダウンロードはこちらから▼
App Store:https://bit.ly/3NikSkU
Google Play ストア:https://bit.ly/43tx6gm
また、Voyagee公式Twitterでは、
新作情報や更新情報をお届けしておりますので、
ぜひフォローしてお待ちいただけますと幸いです!
それでは次のBBDS公式noteでお会いしましょう!
最後まで読んでいただきありがとうございました😊
BBDS公式HP:https://www.kurohige.jp/
BBDS公式Twitter:https://twitter.com/BlackBeardDS