がんばれーるNEXT反省会おまけ

がんばれーるNEXTに新しい技術的な何かはほとんどありませんが、描画に関しては結構変わっています。

1stはキャラや戦車はToony Colors Pro 2をマルチマテリアルで、背景はUNOShaderやStandard Shaderを使っていましたが、NEXTはほぼ全てをArktoon-Shadersに変えてみました。

またマルチマテリアルはパフォーマンス的によくない+色替えにマルチテクスチャが必要なため、Arktoon-Shadersを改造してマルチテクスチャ対応させています(と言っても数行追加するだけですが)

例えば1stのMesh Rendererが

こうなります。

あと地味なところで画面のアスペクト維持をLayout Groupでやっています。そのためゲーム画面部分はRender Textureに描画してUIで表示しています。

がんばれーるNEXT反省会

いつもの反省会ですが、今回は言い訳ですね。

反省① 大事なキャラエディットがない

実はInspectorからはエディット出来るんです。
ただUI作る時間がなくて…

反省② 戦車のエディットがない

実はInspectorからは(ry
でも選択出来る車両/砲塔の種類は公開しているものと同じです。

反省③ 敵の動きがおかしい

敵AIは1stから一部流用したため、プレイヤーと違って車両と砲塔の制御が独立しています(例えば砲塔を旋回させながら移動できる)。端的に言ってズルいですが、その代わりシールドが使えなかったり、エネルギーの回復量が低くなっています。

反省④ ゲームシステムが雑

NEXTを作るにあたり、まず

  • カメラを見下ろし→客観に変える
  • 移動の操作方法をシンプルにする

の2点を検証しよう→あれ?もう夏コミ!?という感じでした…
また、残弾はエネルギーから独立した方がいいかなと思ってUIは作ったんですがシステム側が間に合いませんでした。

反省⑤ ブリーフィングが手抜き

ブリーフィングはガレージ的な何かにする予定だったんですが、突貫工事のため背景はC95のLookingGlass展示に使ったときのデータ、メニューはuGUIのImageとTextのみで作られています。

反省⑥ ゲームパッド使うとメニュー操作おかしくない?

Rewireの使い方がよくなった模様…

以上、時間がないのはいつものことですが今回は本当に足りなかった…
それでも一区切り出来たので、一度頭を冷やしてから鋭意開発は継続です。

 

がんばれーるNEXT(prototype)を公開しました

本日のC96で「がんばれーるNEXT(prototype)」をEasyGameStationさんのところで頒布して頂きます(場所は4日目南メ28a )。

一応新作と言えば新作ですが、あくまでゲームシステム検証のためプロトタイプなので

  • ミッションは1つだけ
  • キャラエディットなし(重要な機能なのに…)
  • 車両は2種類のみ
  • 砲塔は3種類のみ
  • 敵AIがちょっと変…
  • キーコンフィグがない
  • etc…

など完成にはまだまだ時間がかかりそうです。
詳細はこちらになります。

待てない方はまずはがんばれーる1stをプレイしてもらえれば!

各ゲームの開発状況について

たまにはキャッスルバーニア以外の話題でもと思い、備忘録を兼ねて開発中の各ゲームの開発状況の報告です。

「ダストシューターズ」はUnity2017.1系に移行していますが、さすがに 5.x 系からの移行なので色々問題が出ています(例えばAsset StoreのAssetの一部はUnityのバージョンアップに追随していないので、使えなくなったAssetの機能は代替or自作で対応等)

同時にルン子さんはUnity標準にToonからUTSに切り替え中です。
技術的なところでは大量に出現させるゴミの処理はECS対応してみたいですね。
あと操作系をゲームパッドメイン(キーボード操作も可)にしてもいいと思っています。今はゲームパッドで遊ぶプレイヤーも多いと思いますし。

「がんばれーる」は5.x系から2018.1に移行中です。
未使用のタンク部品(砲塔・車体)が数多く残っているので、それらを出すためゲームシステムも含めて改修中です。ゲームシステムは従来通りのシューティングでもいいんですが、この際RTSっぽいものに変えてみても面白いかなと思っています。

がんばれーるもUTS移行の予定ですが、キャラカスタマイズの都合(特に色替え)もあるのでまだ検討段階です。

「ドラスティースピア」は2017.2で作り始めたので、今のところ最新のUnityに追随するのはそれほど難しくありません。が、レールシューティングなのでステージデザインが非常にコスト高のため続きの作業が滞っています。

技術的な部分ではレール移動処理を自前パス処理からUnity標準機能のTimeline+Cinemachineに置き換えたいですね。
例えば↓の後半のシューティングゲームのTimelineでの実装方法とか面白そうですし

「キャッスルバーニア」については反省会で書いていますので割愛ということで。

あくまで全体の方針としては

  • 出来るだけ最新のUnityで開発
  • 主役級キャラはUTSに移行
  • イベントやカメラワークはTimeline+Cinemachineに統一
  • ShaderForgeからShaderGraphに移行
  • Aseet Store依存度をちょっと下げる

という感じです。

ただ、それぞれの完成時期については相変わらず未定です…

なにせ↓も完成していませんしorz

迫撃砲の攻略

ステージ4から登場する「迫撃砲」を撃破するのが難しいという意見を頂いたので、攻略の参考になりそうな情報を書いてみました。

まず迫撃砲についての基本情報です。

  • プレイヤー戦車に向けて爆弾を発射する
  • 爆弾は着弾時に爆発し周囲にダメージを与える
  • 爆弾発射前に着弾予想位置が出る
  • プレイヤー戦車の弾に反応して高速移動(回避運動)する
  • 回避運動以外の移動はしない
  • シールドは使わない
  • キャラの顔がほとんど見えないw

ダメージ大きい爆弾を発射+高速で逃げ回る厄介な相手です。
特に回避運動はあっという間に遠くに移動することもあり、なかなか捕捉できなかったりします(一応車体がUFOなのであんな動きになっています)

しかし敵味方の配置に関係なく爆弾を発射するので使い方次第では敵戦車の撃破に大きく貢献してくれますw

以下、具体的な攻略のヒントです。

攻略ヒントその1「青シールドは爆発を完全に防ぐことができる」

エネルギー残量が50%以上の時に使える青シールドは爆発によるダメージを100%無効にできるので、着弾予想位置(赤色の円)から脱出できないと思ったらシールド使いましょう。ただ、エネルギー残量が少なく黄シールドの場合は爆発のダメージは全く防げないので注意です。迫撃砲と戦う前にエネルギーを回復させておくのもいいと思います。

攻略ヒントその2「ロックオンを積極的に使う」

迫撃砲はこちらの攻撃を回避しようと高速移動するため、高速で逃げる迫撃砲を追いながら弾を命中させる必要があります。
この時、なかなか弾を当てられない場合は迫撃砲をロックオンして攻撃が楽になります。
※ロックオンは弾の命中を100%保証するものではありません

敵を補足しているとき(敵の上に赤色の四角が表示されている)に左CTRLキーを押すとロックオン状態となり、キーの押下中は砲塔はロック中の敵を自動追尾します。ロックオン中に表示される青矢印は本体正面になります。

攻略ヒントその3「無駄弾を撃たない」

迫撃砲はプレイヤー戦車の弾に反応して高速移動するので、弾の発射は計画的に行いましょう。ガトリングや連装砲のように弾速が速い弾でエネルギー残量が豊富なら無駄弾含めた力押しも可能だったりします。

攻略ヒントその4「敵の移動先を予測する」

迫撃砲の高速移動は「できるだけ広いスペースに移動する」という特性があります。そのため、ある程度移動先を予測することが可能です。
ただ、広いところに逃げられると弾を当てるのが難しくなるので、できれば狭いところで一気に撃破するまで弾を当て続けるのが理想だと思います。

攻略ヒントその5「自滅させる」

迫撃砲はシールドが使えず、こちらが弾を撃たなければ移動しない特性を利用して、「迫撃砲に隣接+弾を撃たせて爆発に巻き込む+自分は青シールドで無傷」
ということができますw

以上の攻略ヒントその1~5を駆使すれば迫撃砲の撃破は楽になるかと思います。

 

がんばれーるで使用しているAssetについて

がんばれーるで使用しているAssetについてになります。
ホント、毎回Assetには助けられています。

過去に何度か紹介している普段から使っているAssetは

になります。
どのAssetも有名どころだと思うのであえて説明する必要はないかなと。

描画関係で使っているAssetはキャラクタとタンクの描画に Toony Colors Pro、背景の一部に UNOShader UNLIT w/TOON support を使っています。
両シェーダーともかなり高機能かつ便利なんですが、ワークフローや仕様上の問題でおそらく次は自作シェーダーになると思います。

爆発等のパーティクルは Sci-Fi EffectsWarFX、Skyboxは First Fantasy for Mobile のものを使っています。
Sci-Fi Effectsは爆発系以外にもレーザーや炎、ホログラフと色々なエフェクトが入っていたり、ターレットエディタで好きな砲台が作れたりとAsset単体でも結構楽しめます。
また非常に助かるのはエフェクトにあわせた効果音も入っているところですね。エフェクトにあった効果音探すのも結構時間かかるんです…

ステージ開始時のカメラ動きは Pegasus を使いました。DustShootersで使っている Camera Path Animator でもよかったんですが、たまには別のAssetを使ってみたかったので。次は無償になった Cine.Machine Base Rig も使ってみたい思っています。

version 1.01から追加したボイスは Voice Pack Vol.1vol.2 です。
やはりボイスがあるとないとでは全然違いますね。

以上、かなりざっくりですががんばれーるで使っているAssetの紹介でした。

がんばれーる1stの v1.01 アップデータを公開しました

がんばれーる1stの v1.01 アップデータを公開しました。
ダウンロード

  • アップデート方法

ダウンロードしたgb1st_v1.01_Update.exeを実行してください。
このような画面になるので、ダイアログに従ってアップデートを行ってください。

1点だけ注意点ですが、参照先を選択するダイアログのところでがんばれーるのインストールフォルダを選択するところがあるので、環境に合わせて変更してください。

アップデートの内容ですが、環境設定の機能強化が主になります。

  • 環境設定で各種ポストエフェクトのON/OFFを行えるようにしました

ポストエフェクトの「Antialiasing」「Ambient Occlusion」「Bloom」を個別にON/OFFできるようになりました。ポストエフェクトを全て無効にすると描画パフォーマンスはかなり変わりますので、実行環境に合わせて設定してみてください

ポストエフェクトを全てONにしたときと、全てOFFにした場合、見た目はこれぐらい変わります

個別に組み合わせた感じだとこんな感じです

「Ambient Occlusion」を有効にするとキャラの顔が怖く(?)なりますが、背景の見た目はよくなります

ちなみにポストエフェクトは画面全体にかかるので、Ambient Occlusionをキャラの顔だけOFF、背景だけONというのは標準ではできません。
(今作っているシェーダーはステンシルバッファを使って任意のマテリアルだけAmbient Occlusionをかけないように出来ます)

Bloomはキャラの見た目よりゲーム中のエフェクトに影響がでます

  • ボイスを追加しました

賑やかしのボイスを追加しました。
それに伴い、音量調整の部分にボイスが追加され、再生テストボタンを追加しました。
いずれボイスも何パターンか用意してカスタマイズ項目に追加したいですね。

  • ゲームパッドのスティック入力をデジタル値として扱うオプションを追加しました

ゲームパッド+ラジコン操作だとスティックの構造上アクセル100%右旋回100%のような操作が行えませんので、閾値を設けてスティックの入力をデジタル的に扱うように出来ます。
ただ、操作がピーキーになるのでゲームパッド時はラジコン操作ではなく「方向キーの入力方向に移動」を選んだ方がいいと思います。

  • タイトル画面のメニュー項目をマウスで選択できるようにしました

地味な改良ですが、タイトル画面のメニューの選択だけマウス対応しました。

以上、version 1.01 の更新内容についてです。

最後に、アップデータにはPatchWise Freeを使わせて頂きました。
(自前のaoUpdaterを入れてもよかったんですが、ノートンなどのセキュリティソフトに削除されるトラブル対応が面倒で…)

がんばれーるのゲーム本体について

がんばれーるのゲーム本体についてです。

実はがんばれーるの元になるゲームは10月に既に作っていました。
これがいわゆるプロトタイプになります。

このゲームは

  • DustShootersの主人公の制御方法の見直し(CharacterController+Rigidbody的なものにしたい)
  • NavMeshの応用研究(DustShootersのボスの移動がNavMeshなので)

を主目的とし、さらに個人的に不定期で実施している

  • 瞬発力を鍛えるために24時間で1本ゲームを作る

という「一人ハッカソン」的なもので誕生しました。
このゲームにキャラカスタマイズ機能を追加したのが「がんばれーる1st」になります。

ただ、ゲームロジック部分の思想が異なっていて、プロトタイプはシューティングゲーム的な自機と敵の組み合わせに対し、がんばれーるは自機も敵も「タンク+キャラ」という部分を共通化し、プレイヤーが操作する自機に相当するタンクにはユーザー操作を許可するコンポーネントを追加することでキー操作を行っています。

そのため、がんばれーるの内部ロジック的にはCPUs vs CPUsのような自動バトルロイヤルが可能だったりします。

一応プロトタイプの流れでシューティングゲームとして作りましたが、もしかしたら次は(がんばれーる2nd?)シミュレーションゲームになる可能性もあったりなかったり…

次回は使ったAssetについてです。