Portfolio: Indie Turn-Based Tactics Matching Game #1

C++

※アイキャッチ画像のIllustrationの名前はすべて敬称略とさせていただきます。

タイトルが英語で何言ってんだコイツと思ったそこの貴方。
安心してください、日本語記事です。

 

DXライブラリ、及びJIN氏制作の「GameConnect」ライブラリを使用した1~2人プレイ(シングルプレイ/1対1対戦)のTBT(ターン制タクティクス)ゲームを、C++習熟の一環で作っています。
公開するつもりは一切ありませんが、コンセプトのメモのため、ポートフォリオとして記事化させていただきました。

  1. 作ろうと思ったきっかけ
    1. 移動範囲の表示プログラムが作れなーい
    2. マウスとコントローラー操作時のクリック判定が重複して反応する
    3. スパロボの移動コマンドとかどうなってるの君?
    4. 攻撃範囲の表示 ←こいつはクソ楽だった
  2. 現在の仕様について
    1. コマンドは「移動」「攻撃」「待機」の3つのみ。追加実装予定あり
    2. ユニット能力とパイロット能力の統合
    3. 全体コマンドは「ターン終了」のみ
    4. 参戦ユニットに版権作品のキャラ名等が採用されている
    5. 現状の仕様からの変更がある
  3. 参戦ネームドユニット一覧(※赤字:参戦予定)
    1. 暗い魂の探索紀行RE/暗い魂の探索紀行RE番外編(ソード・ワールド2.0/2.5)
      ※本作は、「グループSNE」及び「株式会社KADOKAWA」が権利を有する『ソード・ワールド2.0/2.5』の、二次創作です。
      ※(C)BANDAI NAMCO Entertainment Inc. / (C)2011-2016 FromSoftware, Inc.
    2. フロムソフトウェアのゲーム作品のキャラクター等をを元ネタとするキャラクター
      ※(C)BANDAI NAMCO Entertainment Inc. / (C)2011-2016 FromSoftware, Inc.
    3. ファイナルファンタジーシリーズを元ネタとするキャラクター
      ※(C) SQUARE ENIX CO., LTD. All Rights Reserved.
    4. 東方Project (from 上海アリス幻樂団 本作品は東方Projectの二次創作作品です)
    5. その他、版権の特定等が困難を極めるもの
  4. 最後に
    1. デバッグに参加される方へ(身内向け情報)
  5. 版権表記(敬称略)

作ろうと思ったきっかけ

最初のうちは、「RPGツクールMV(RPG Maker MV)」のプラグイン「SRPGコンバーターMV(現行はSRPGギアMV)」やSimulation RPG Construction(SRC)を使用したSRPG製作を行っていましたが、

  • 両方とも、シングルユニット式
  • 精神コマンドがあるSRCでも、拡張子がbmpの画像しか使えない
  • RPGツクールMV側は、精神コマンド等を含めて、スキルの作成が非常に面倒くさい
  • SRCは「個別改造」ができない(それを行うことができるコードはあるが壊れやすい)
  • RPGツクール(MV・MZ)は「キャラのレベルに伴ってすべてのステータスが上昇する」ため、命中率の制御が困難を極める

等、明示できる点を上げ出すとキリがないため、「いっそのこと自作するか?」と考え製作を開始しました。

しかし、最初はC#で製作していたものの、途中で飽きる等、様々なプログラマ側の都合から飽きてしまい、結果、かなり昔に触った程度ではあるものの、C/C++を使用したゲームプログラミングを始めました。
ですが、最初から挫折続きでした。

移動範囲の表示プログラムが作れなーい

基底のクラスの製作はある程度進みましたが、最初の難関がコイツでした。
スパロボ、ファイアーエムブレム、ファイナルファンタジータクティクス等で見られる「移動範囲の計算・表示」です。

これに関して言えば、下記のサイトの「移動範囲の演算」ソース(C#)を、うまい具合に変換することで解決しました。

今でも蘇るぞ、大事な部分入れ忘れてstack overflowやらかした記憶…。

マウスとコントローラー操作時のクリック判定が重複して反応する

これはやらかしたので、そもそもの方針である「PS4コントローラーの使用」に大胆に切り替えました。

スパロボの移動コマンドとかどうなってるの君?

ユニットクラスの作成時には気付かなかった部分、それが「移動メニューの実装」です。
これどうするの…?と思いながら製作。まぁ、今のところ、正常に動作するのは「移動」「攻撃」「待機」の3つのみです。

嘘やろ…?と思うそこの貴方。多分正常です。
GitHubのログで言うと、11/30にリポジトリリセットを行い、製作を開始してから、既に1ヶ月が経とうとしているのに、できているコマンドが「移動」「攻撃」「待機」の3つだけです。
普通のプログラマーなら「能力」コマンドぐらいできててもおかしくはないはず。
興味はあれど、気分がTRPGやマイクラに向いてた時期のほうが長かった…。

攻撃範囲の表示 ←こいつはクソ楽だった

で、逆に楽なのはなんだったのさ?という話になりますが、楽だったのは攻撃範囲の表示ですね。
こっちは「地形コストに関係なく-1して判定を行う」ことができればいいんですからね。
でも…最低射程くん、君どこに-1記載すればいいかわからなかったんだが??

現在の仕様について

現状はタイトル画面すっ飛ばしてメイン画面描写してますね。
だってタイトル画面はロゴとかどうしようかマジで悩んでるんだもん。

ぶっちゃけたはなしをすると、「Rounded-L Mgen+ 2cp」をフォントファイルとして搭載しているので、それを利用してゲームタイトル描写すればいいだけとも言いますが…。

コマンドは「移動」「攻撃」「待機」の3つのみ。追加実装予定あり

そのうち「変形」とか実装したいかな。「修理(治療という名前で実装します)」「補給」は確実に実装します。あとひとつ。気力変形バグ(第三次スーパーロボット大戦Z天獄篇等で見られるバグ)に関しては仕様として実装したいと思います。
そっちのほうが面白いからですけどね。まぁ、「ユニットに持たせるアイテム」の項目まだ実装してないから正直何とも言えないけども…。

ユニット能力とパイロット能力の統合

生身ユニット(スパロボのSSサイズのユニットのほぼ全てが該当。バスターマシン7号など、例外あり)しか出すつもりはないです。なので、パイロット能力とユニット能力の統合を行いました。
乗り換え等は不可能にしておきます。(なのでシルバーチャリオッツレクイエムとか君の名は。とかのような入れ替わりもののキャラは無理だよ)

全体コマンドは「ターン終了」のみ

後々「ターン終了」の他のやつ(部隊表は必要そうなので後々実装予定。例示すると、設定やリタイア(マルチプレイ時:降参)など)を実装する予定ではありますが…。もうこの時点で力尽きそう。

参戦ユニットに版権作品のキャラ名等が採用されている

一応弁明しておきますと、「ファンゲーム」として製作しています。
冒頭のアイキャッチ画像でも述べたとおり、「I don’t intend to make this public when completed. (=私はこれを公開するつもりはありません)」となっているので、使うとしても身内での使用になります。

(なお有料素材を使用している模様)

現状の仕様からの変更がある

現状の仕様から、完成形の仕様とでは差があります。
ゲームシステムの基幹部分が如何せん未完成な部分が多く、今のところ「精神コマンドの搭載は未定(システム上は搭載可能)」「変形は実装できるようにする」などの差分予定があります(全部はポロリできません)。

参戦ネームドユニット一覧(※赤字:参戦予定)

暗い魂の探索紀行RE/暗い魂の探索紀行RE番外編(ソード・ワールド2.0/2.5)
※本作は、「グループSNE」及び「株式会社KADOKAWA」が権利を有する『ソード・ワールド2.0/2.5』の、二次創作です。
※(C)BANDAI NAMCO Entertainment Inc. / (C)2011-2016 FromSoftware, Inc.

  • 聖王エクセリア(エクセリア・シャルロッテ・クレア・ゼーゲブレヒト・アウェア)
  • 龍谷の姫君エクセリア(エクセリア・エーディン)
  • 狂える月夜メルリーヌ
  • ルイファ※
  • 女騎士フロリーナ

※FF14のジョブ「ガンブレイカー」をベースに設定を再構築しています。

フロムソフトウェアのゲーム作品のキャラクター等をを元ネタとするキャラクター
※(C)BANDAI NAMCO Entertainment Inc. / (C)2011-2016 FromSoftware, Inc.

  • 狩人様(Bloodborne:追記…(C)2015 Sony Interactive Entertainment Inc. Developed by FromSoftware, Inc.
  • 不屈のパッチ(DARK SOULS Ⅲ)
  • 将軍キサラギ(アーマードコアシリーズの作品内企業「キサラギ」)

ファイナルファンタジーシリーズを元ネタとするキャラクター
※(C) SQUARE ENIX CO., LTD. All Rights Reserved.

  • 光の戦士(FF14ベース)

東方Project (from 上海アリス幻樂団 本作品は東方Projectの二次創作作品です)

  • 博麗霊夢(新霊夢)
  • 博麗靈夢(旧作孁夢)※
  • 霧雨魔理沙
  • 魂魄妖夢
  • アリス・マーガトロイド
  • 河城にとり

その他、版権の特定等が困難を極めるもの

  • 騎士アルタ

最後に

最後になりますが、本作品は「個人のC++鍛錬のため、個人が楽しむ目的で」製作しているゲームです。デバッグに参加してもらう目的で他者に渡すことはありますが、

配布・頒布は一切いたしません。

ご了承ください。

デバッグに参加される方へ(身内向け情報)

完成形であれ未完成であれ、

改変・再配布は固く禁じております。

「バグ取りしたからこう改変してくれ」とかは、Githubで受け付けておりますので、そちらへ書き込んでいただけたら幸いです。

版権表記(敬称略)

  • 本作は、「グループSNE」及び「株式会社KADOKAWA」が権利を有する『ソード・ワールド2.0/2.5』の、二次創作です。
  • (C) BANDAI NAMCO Entertainment Inc. / (C)2011-2016 FromSoftware, Inc.
  • (C) 2015 Sony Interactive Entertainment Inc. Developed by FromSoftware, Inc.
  • (C) SQUARE ENIX CO., LTD. All Rights Reserved.
  • 本作は、東方Projectの二次創作作品です。
  • UI Materials: 空想曲線(KUUSOU-KYOKUSEN)
  • Character Materials: ゆうひなmaruinu1126/ふんみみ
  • DX Library Copyright (C) 2001-2022 Takumi Yamada.
  • GameConnect provided by Jin

コメント

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