メインコンテンツへスキップ
見出し画像

【プロジェクト:Neith】戦闘システムほぼ完成!?〜みんなで作るゲーム制作【5/5 18日目】

    ■今日やった事

    ・戦闘システムほぼ完成!


    ■募集中のアイディア
    ①「樹海編」で発生しそうなイベント
    (例:森の中、クマさんに出会った。お化けと遭遇 など)
    ※期限はありません!皆さんの自由でユニークな発想をお待ちしています。

    ② 主人公・ネイトの「スキル」(無期限)
    (例:ファイアボール / 射程:2マス先の一体 / 効果:対象に小ダメージ)
    ※王道からちょっと笑えるネタスキルまで、
    どんなアイディアでも大歓迎です!


    こんばんは!まる。です!
    今回は、プロジェクトネイトの途中経過報告回です。


    普段、私は皆さんに何かを強要することはないのですが……
    今回ばかりは言わせてください。


    とにかく皆さん、冒頭のYouTube動画を最後まで見てください!😎


    試行錯誤の末、ネイトが遂に「戦闘システムの大部分のロジック」を完成させました!🍀


    今回は少し短めの記事になりますが、会心の17日目。


    それでは、スタートです!


    二人の茶番

    10月の彗星、キミと出会う。/作(編)曲 :フリーBGMチャンネル Unique Gear
    【フリーBGM】10月の彗星、キミと出会う。


    画像
    ポマイラ(自称ネイトの使い魔)

    「よお、お前ら!オレだよ、ポマイラ様だ!
    GWは満喫してるか?

    折角の休日なんだ!
    ハメ外す位がちょうどいいぜ!
    自分の好きなことで有意義に時間を使おうぜ!」


    ……


    画像
    ポマイラ(自称ネイトの使い魔)

    「あー、そうだ。
    どっかの誰かさんは家から殆ど出ずにゲーム開発ばっかやってやがるぜ。
    全く、あのゲームバカにはほんと呆れるよな」




    画像
    ネイト(幻の星の精霊)

    「出来たわ!!!!!!!!!!」


    画像
    ポマイラ(自称ネイトの使い魔)

    「おわっ!?
    バカネイト!!!
    急に扉開けて大声出すんじゃねぇよ!!!
    オレ様は…別にビビっちゃいねぇが、画面の向こうの奴らがビビっちまうだろうが」


    画像
    ネイト(幻の星の精霊)

    「あら、ふふ。ごめんなさい、ポマイラ」


    画像
    ポマイラ(自称ネイトの使い魔)

    「…それで、この二日間くらいずっと家にこもりっきりの引きこもりネイトさんは何が出来たってんだ?」


    画像
    ネイト(幻の星の精霊)

    「聞いて驚かないでね…
    今しがた、戦闘システムの8割がたが完成したのよ!!!」


    …


    画像
    ポマイラ(自称ネイトの使い魔)

    「…まじ?」


    画像
    ネイト(幻の星の精霊)

    「マジよ!」


    画像
    ポマイラ(自称ネイトの使い魔)

    「…なぁ、ネイトさんよ。
    戦闘システムの開発を本格的に進めたのは確か3日前とかだよな?」


    画像
    ネイト(幻の星の精霊)

    「まぁ、事前準備はやってたけどね。
    作業時間だけの話をするなら、別件でバグ対応もしてたから二日ね」


    画像
    ポマイラ(自称ネイトの使い魔)

    「…二日でシミュレーションRPGの戦闘って作れんの?」

    画像
    ネイト(幻の星の精霊)

    「二日と言っても、殆どゲーム開発に時間使ってたけどね。
    普段の『1日2時間ルール』を適用するなら、工数的には2〜3週間相当ね」


    画像
    ポマイラ(自称ネイトの使い魔)

    「……お前、ゲーム開発しかやること無いのかよ」

    画像
    ネイト(幻の星の精霊)

    「うっ…痛いこと言うわね。
    でも、結果的にすごい進んだんだからいいじゃないの!」


    画像
    ポマイラ(自称ネイトの使い魔)

    「…まぁ、そんだけデカい声で『出来た!』って言うからには自信作なんだろうな!
    出し惜しみすんな、見せてみやがれ!」


    戦闘システム作成(工数覚えてないです。すみません)

    画像
    ネイト(幻の星の精霊)

    「あー、緊張するわ。
    とりあえず、これが私の今の集大成よ」


    ・戦闘システムほぼ完成!


    モーション作成

    画像
    ポマイラ(自称ネイトの使い魔)

    「…なんか、ゲームの雰囲気大きく変わったな」

    画像
    ネイト(幻の星の精霊)

    「ふふん!そうでしょう?
    特にモーション周りは結構力入れたわよ。」

    画像
    ポマイラ(自称ネイトの使い魔)

    「……『開発時間がないからモーションは後回しにする』って、昨日言ってなかったか?」

    画像
    ネイト(幻の星の精霊)

    「一回、触り出したら止まらなくなっちゃったの」

    画像
    ポマイラ(自称ネイトの使い魔)

    「てか、こんだけ細かく動かすなら、後々追加するのが大変だろ?」

    画像
    ネイト(幻の星の精霊)

    「「システム部分はもう出来上がってるから、あとは『素材』さえあればいくつでもモーションは作れるわ。
    まぁ、その素材作りが一番時間が掛かる部分ではあるんだけどね……。」

    画像
    ネイト(幻の星の精霊)

    「だから作戦としては、一度リリースした後に、アップデートでどんどんモーションの差分を追加していく形にしようと思ってるの」

    画像
    ポマイラ(自称ネイトの使い魔)

    「なるほど、少しずつアップデートで追加していく作戦か!
    それは案外悪くねぇな!」

    画像
    ポマイラ(自称ネイトの使い魔)

    「……で? これらのモーションは結局どうやって作ったんだ?」

    画像
    ネイト(幻の星の精霊)

    「基本的には、昨日紹介した内容に加えて、バトルシステム全体に更に大きな改修を入れた形ね。」


    画像
    ネイト(幻の星の精霊)

    「ただ、システムがかなり大規模になっちゃったから、ここでサクッと説明するのは難しいわ。
    全部話そうとしたら、それだけで記事が一つ出来上がっちゃうくらいのボリュームよ」

    画像
    ポマイラ(自称ネイトの使い魔)

    「……まぁ、それだけ大変な作業だったってことだな」

    画像
    ネイト(幻の星の精霊)

    「あ、でもね。
    一つ『モーションを組み込む流れ』さえ作ってしまえば、あとはテンプレート化してどうにでもなるわよ。

    自分のシステムに合わせた最初の一歩こそ考える必要があるけれど、どちらかと言えば、やっぱり素材づくりの方が時間が掛かる印象ね」


    ■ システム大手術

    画像
    ポマイラ(自称ネイトの使い魔)

    「てことは、その他の部分が時間かかったのか?」

    画像
    ネイト(幻の星の精霊)

    「まぁ、作業の殆どが『スキル周りのバグ修正』よ。
    今回は勢いに乗って一気にスキルを作ってしまったから、
    その場ではバグに気付かずに、後になってから影響が出る……ってことが多かったわ」

    画像
    ポマイラ(自称ネイトの使い魔)

    「そういうのって、作ってる時点では分からないもんなのか?」

    画像
    ネイト(幻の星の精霊)

    「スキルっていうのはね、色んな細かい処理を組み合わせて一つのスキルを作っているの。
    例えば、このスキルはこんな感じで分解できるわね」

    【ドロップキィィック!!】
    射程:2マス先まで
    対象:単体
    効果分類:ダメージ(大) / ATK参照 / 確率でスタンを付与


    画像
    ネイト(幻の星の精霊)

    「で、次のスキルはこれよ」

    【バナナの皮】
    射程:隣接
    対象:単体
    効果分類:スタン(100%)


    画像
    ネイト(幻の星の精霊)

    「これを見て、ポマイラはどう思った?」

    画像
    ポマイラ(自称ネイトの使い魔)

    「……ん? あれ?
    なんかこの二つのスキルって、共通点多くね?」

    画像
    ネイト(幻の星の精霊)

    「その通りよ。
    『単体で、一体の敵にスタンを付与する』っていう処理の仕組みが同じなの!」

    画像
    ネイト(幻の星の精霊)

    「……ということは?
    『ドロップキック』のシステムを実装したら、
    『バナナの皮』も実装出来たも同然でしょ?」

    画像
    ポマイラ(自称ネイトの使い魔)

    「おおっ! 確かに、ネイトの言う通りだな!
    てことは、最初のうちに色んな仕組みを作っておけば、
    あとは組み合わせ次第で無限に色んなスキルが作れるってことか!」

    画像
    ネイト(幻の星の精霊)

    「そういうこと! だから、とにかく最初は色んな効果のスキルを作る気概で開発してたのよ。」

    画像
    ネイト(幻の星の精霊)

    「……でもね、このスキル製作には『二つの大きな課題』があるのよ」

    画像
    ポマイラ(自称ネイトの使い魔)

    「二つの課題……? それってなんだ?」



    スキル製作の大きな課題

    画像
    ネイト(幻の星の精霊)

    「課題その1は『作成するコンポーネント(部品)の数が多くなる』ということ。
    基本的に、一つのプログラムを組み上げる場合は段階的にテストしながら作っていくものなの」

    画像
    ネイト(幻の星の精霊)

    「でも、スキルのパーツみたいな細かい部品はつい見落としがちになるの。
    一個ずつ動くかどうか確認していくのはキリがないからね。
    それで、間違った処理に気付かないままどんどんパーツが積みあがっていくのよ」

    画像
    ポマイラ(自称ネイトの使い魔)

    「なるほどな。
    でも、役割がきっちり分かれてるなら原因も簡単に分かりそうだけど」

    画像
    ネイト(幻の星の精霊)

    「それがそうもいかないのよ。
    二つ目は『組み合わせ次第では、正常に動いてたコンポーネントも動かなくなる可能性がある』こと」

    画像
    ネイト(幻の星の精霊)

    「ポマイラに質問よ。
    相手にダメージを与えて回復する『ドレイン』のスキルがあるとするわ。

    まず、敵に10点ダメージを与えて、与えたダメージの3割の値を回復したとする。
    そうなると、相手には何点ダメージを与えたことになると思う?」

    画像
    ポマイラ(自称ネイトの使い魔)

    「おいおい、ネイトさんよ。
    バカにしてもらっちゃ困るぜ。
    相手に10点ダメージを与えて、自分が3点回復するんだから、与えたダメージは『10点』だろ」

    画像
    ネイト(幻の星の精霊)

    「…今回作ったプロうラムでは7点しかダメージを与えられなかったわ」

    画像
    ポマイラ(自称ネイトの使い魔)

    「はぁ!? おいおい、ネイト。
    それは間違ってんだろ。なんで7点なんだよ」

    画像
    ネイト(幻の星の精霊)

    「確かに、私は『相手に10点与えたあとに、その値の3割を回復する』と言ったわ。
    でも、その回復を『誰がするのか』は言ってなかったわよね?」

    画像
    ポマイラ(自称ネイトの使い魔)

    「あ…」

    画像
    ネイト(幻の星の精霊)

    「私も最初はポマイラと同じ感想だったわ。
    というより、ポマイラが考えてるスキルを作りたかったから。
    でも、プログラムは『ダメージを与える対象は相手で、回復する対象も相手』と解釈したの」

    画像
    ネイト(幻の星の精霊)

    「この問題の厄介な点は、与えたダメージが想定より少なく見えてしまうことなの。

    だから最初は『ダメージ倍率が間違ってて、ドレインによる回復が機能していない』と私は解釈したわ。
    でも、実際はダメージも回復も、どちらも攻撃対象に行っていた。
    それだけよ」

    画像
    ポマイラ(自称ネイトの使い魔)

    「そりゃ、プログラムの頭が悪いだけだろ。
    普通に考えたらわかることだろ」

    画像
    ネイト(幻の星の精霊)

    「確かに、人間相手なら説明すれば分かってもらえるわね。
    でもね、プログラムの世界ではコード(台本)が全てなの。

    さっき、処理順の話をしたわよね?

    ドレインの処理は『相手にダメージを与えてから自分を回復させたい』。

    つまり、最初の処理としては効果の対象はあくまで『攻撃対象』なの。
    だから、その対象の切り替えが上手く行ってないことに気づかなければ、
    永遠にこの問題は解決しないわ」

    画像
    ポマイラ(自称ネイトの使い魔)

    「…なんだか、難しい話だぜ」

    画像
    ネイト(幻の星の精霊)

    「そうね。
    そして、最初も言った通りスキルは無数の組みあわせが存在するわ。
    その中に正しく動く組み合わせかどうかを確認するとなると…」

    画像
    ポマイラ(自称ネイトの使い魔)

    「わ、分かったから!
    とにかくスキルを作るのは難しいって話なんだな!」

    画像
    ネイト(幻の星の精霊)

    「ふふ、そうね。
    でも、個人的にはこの作業はまるでパズルをやってるみたいで嫌いじゃないのよね」


    ■次回の予定

    画像
    ポマイラ(自称ネイトの使い魔)

    「それで、ネイトは次は何を作る予定だ?」

    画像
    ネイト(幻の星の精霊)

    「明日までに戦闘システムをブラッシュアップして、ストーリーの10ターン目までWebGL環境でビルドしてテストする予定よ」

    画像
    ポマイラ(自称ネイトの使い魔)

    「おお!
    てことは、それが上手く行けばあとは思う存分ストーリーに集中できるってことか!」

    画像
    ネイト(幻の星の精霊)

    「それが、そうも言ってられないのよね。 まず、NPCにプレイヤーと同じ条件(スキルやアイテムの使用)で戦闘させるための『AI』を作らないといけない。

    それから、UIや演出周りもまだ改善や追加が必要な部分があるわ。
    あと、すでに私が把握してるバグもいくつか放置してるし……
    ユニット作りやスキル作り、素材集めも全然進んでないの。
    とにかく、本当の勝負はこれからよ」

    画像
    ポマイラ(自称ネイトの使い魔)

    「こんだけやっても、まだそんなに課題があるのか……。
    ゲーム開発って、本当に大変なんだな」

    画像
    ネイト(幻の星の精霊)

    「そうね……。
    だからこそ、最後までゲームを作り切ったクリエイターって本当に凄いわよね」

    画像
    ネイト(幻の星の精霊)

    「……でも、私はまだまだ頑張ってみるわ。
    皆と作ったゲームが、例え今は小さくても、世の中に羽ばたく日を夢見てるの」

    画像
    ポマイラ(自称ネイトの使い魔)

    「……そうだな。 オレ様も、一生懸命応援してるぜ!」


    最後に

    かくして、怒涛の開発合宿を乗り越えたネイトの手によって、
    シミュレーションRPGの要となる戦闘システムの大部分がついに形となりました。


    しかし、ゲーム完成までの道のりはまだまだこれから。


    キャラクターのAI、遊びやすさを左右するUI、バグの修正など、まだまだ困難な作業が待ち受けています。


    それでも、「皆さんと一緒に編み上げた世界ゲームを世に出したい」。


    その確かな夢を胸に、今日もネイトは画面に向かい続けます。



    次回は、いよいよブラウザ上(WebGL)での動作テストへ!(だったらいいなぁ)


    次回も、どうぞ乞うご期待!

    #プロジェクトNeith #HorizonNotes #ゲーム制作 #個人開発 #Unity #開発日記 #読者参加型 #毎日note

     
     
    読者参加型でゲームを作っている、まる。です。 UE5でオリジナルのカードゲームRPG『HorizonNotes』を開発してます 育成SRPG『ネイト育成計画』体験版、無料公開中です! ■公式サイト https://horizonnotes.netlify.app/

    あなたへのおすすめ