Project Anthem(TCストライカーズ)

ぷろじぇくとあんせむ公式サイトであり雑記ブログ。当サイトはリンクフリーです。

ゲーム開発






 TCストライカーズ2はプラクティスでボススタートにした際、会話から始めなければいけない仕様になってました。これは会話時、1.ボス登録、2.ボス透過処理、3.ボス段階移行など会話演出を実装しているためです。

 
 3ヶ月くらい考えていたのですが存外簡単な方法で飛ばすことができるようになりました。

 元々、会話スキップが実装されているのですが、プラクティス時は会話スキップが自動で行われるようにしました。そんだけ。




 ヒントになったのはこのゲーム。

vlcsnap-2018-06-02-14h34m02s869


REDNEG 3STARS(レッドネグスリースターズ)

 


 最近よくやってるんですが、2Dシューティングのパラダイムが変わったと思えるゲーム。会話時にスキップの方法が表示されます。思い返してみるとこれを表示してあるゲームってないですね。東方系作成者にとっては当たり前のコマンドですが、初めてやる人にとっては未知のコマンドです。こういうちょっとした親切がゲームへの入りやすさに繋がります。またレビューします。

 この子胸大きい。





キャプチャ
  さて、連番画像をアニメ表示できるようになりました。コードはイマイチかもしれませんがとりあえずOKです。


 この連番画像はPhotoshopで作りました。Photoshopにはレイヤースタイルを用いたアニメーション作成機能があります。これを応用してフィルターを使ったアニメーションを作ろうとしましたが、フィルターには対応していないようです。一枚ずつ数値をずらしながら作成することもできますが、そんな手間をかけるよりAfterEffectsを導入した方がよさそうです。


 今回、AfterEffectsを使ってテクニカルシュート中の背景をモーションさせようと考えています。まあスペルカードです。そのままです。





 改めて見るとそんなに派手なモーションはしていないようです。背景ループ+エフェクトというくらいでしょうか。
 ちょっとした応用でなかなかなグラフィックを作れました。単純に拡大+透過ですけど。





キャプチャ


 今回のTCストライカーズ3では音楽室を実装しない方向で進めています。音楽室は東方を特徴づける一つの要素で、それまではサウンドトラックを買わないと聞けなかったゲームBGMがゲーム内でしかも無条件で聞くことができるという破格のものです。win初期の頃は聞きまくってましたね(幽雅に咲かせとか)。例えば星のカービィだとEXTRAステージをクリアすることでサウンドトラックが解放されていました。

 
 当時は音楽のDL販売もまだ普及しておらずサウンドトラック自体がすごく高かったんですよね。しかし、現在ではサウンドトラックも1000円程度で購入できます。さらにいえば、クラウドに音源を保存しておいて好きなようにDLしてね、ということにすれば簡単にwavファイルを配布することができます。そのようなことから昔に比べてゲーム内サウンドトラックの有用性は減ったと考えられます。


 もう一つは、コメントに書くことがない…というちょっとアレな理由です。東方ライクゲームを作っている方々って曲コメントをしっかり書いてるんですよね。よくそんなに書くことあるな、と感心しています。BGMも含めて一つの世界観を形成しているのだと思います。翻って自分はどうか、というと1はそういう気持ちでしたが、2以降は自身で外注しているような感覚です。BGMはゲームのお供という信条でして、それ自体に重点を置かなくなっています。


 ということで、一応音楽室削除の方向性について書きました。2の時から悩んでいたことなので今回こういう決定ができてスッキリしました。まあ個人作成のものなのでどう転ぶかわかりませんけどねw




 追記:これを書いて幽雅に咲かせを聞き直しましたが冒頭から惹き込まれます。

 さて、開発はとろとろと進んでおります。前回も前々回もそうでしたが、全体に影響のある演出をつくるのにもっとも時間がかかります。ステージ1ができると2〜5は案外早いんですけどね。

 今作は機能限定版をフリー、完全版をsteamで出したいと考えています。Steamの審査期間と難易度について知りたいところですね。以前よりは審査も楽になったそうですが、その分群雄割拠というところでしょうか。

 
 まだ動画公開するほどはできていませんので限定公開です。自分の考えを整理するためにUPしています。アドバイスもらっても多分実装しない。


 

 今回はパワーショットというハイパーのようなシステムを導入しています。ショットレベル最大のときにコマンド入力で発動します。コマンド(上60フレームため、下、ボム)。発動すると180フレームの間強力なショットが出ます(パワー180消費)。180フレーム経過時にショットレベル最大かつボムおしっぱでパワーショットを継続することができます。ミスるとボムが出てしまいます。格ゲーっぽくなりました。

 昔の格ゲーは超必殺コマンド難しかったですよね。だけどそれをだせるようになると俺すげええとなって気持ちいいものです。昔友人と餓狼をしていた際にブレイクスパイラルを決めた時は相手も”おおー!”と盛り上がってました。


 なんのためにこれつけたかというと、退屈な前半ステージをさっさと終わらせるためです。慣れてくると前半ステージはただの作業になってしまいます。リスクを負いつつも速攻して後半に気力を残すという戦略性を広げるための手法です。


 まあそんな感じで作っています。今回は加算ブレンドを覚えたので派手になると思います。

 

 念願の画面揺れを実装した。以下の記事を参考にしている

https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q12104674977

 この記事ではプレイヤー(ゲーム画面)も揺れるようにしている。そこはおいおい判断いていきたい。


 




UIクラス
 
 public void VIBRATION()
        {
            count++;
            var yureX = rn.Next(-3, 3);
            var yureY = rn2.Next(-3, 3);
            if (count % 4 < 2)
                Position = Position + new Vector2DF(yureX, yureY);
            else Position = new Vector2DF(0, 0);
        }


ステージシーンにて
 

 if(count<300)
            ui.VIBRATION();

 
 のようにしてuiをゆらす。
  



しかし、このままでは画面揺れ終了時にUIがズレたままになっている。

そこで、位置を戻す関数を作り画面揺れ終了時に実行することにした。



UIクラス
 public void VIBRATION_RESET()
        {
           Position = new Vector2DF(0, 0);
        }


ステージシーン
 if (count == 300)
                ui.VIBRATION_RESET();



 

 これでOK。



メモ:エフェクトランダム。パワーショット。自機モーション

↑このページのトップヘ