Project Anthem(TCストライカーズ2完成しました)

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

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

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。



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



素材提供:ピエールさん(Effekseer)

STGではおなじみのボス撃破時スローになる仕様を実装しようと思う。

爆発開始後このように記述

if (count ==  2) G.slow = true;
if (count == 50) Engine.TargetFPS = 30;
if (count == 80) Engine.TargetFPS = 15;
if (count == 95) G.slow = false;



G.slowて何?
→メインメソッドにおいてこのように処理落ち処理をしているのだが、その処理をするかしないかのグローバル変数


  while (Engine.DoEvents())
            {
                if (!G.slow)
                {
                    if (Engine.CurrentFPS >= 45) Engine.TargetFPS = 60;
                    else if (Engine.CurrentFPS >= 30) Engine.TargetFPS = 45;
                    else if (Engine.CurrentFPS >= 20) Engine.TargetFPS = 30;
                    else if (Engine.CurrentFPS >= 10) Engine.TargetFPS = 20;
                    else Engine.TargetFPS = 10;
                }



処理落ち処理をオフにすることで強制的にスローモーションにすることができた。

しかし、メインメソッドの分岐が増えてしまったのが懸念である。


メモ
画面揺れ;インターフェイス;判定点;

 こうやってタイトル画面(仮置き)を作成した。あとでテキストのフォントも変えようとした所、テキストが表示されなくなった。


1



 あちゃー


2


 素材提供 瀝青炭さん



 どうやらフォントを変更する際に初期化していたのが問題だったようだ。


  for (int i = 0; i < 7; i++)
            {
text[i] = new TextObject2D();
                text[i].Font = Font2.difficulty;
                text[i].Position = new Vector2DF(textXpos - 20 * i, textYpos + 50 * i);
            }


 初期化でオブジェクトの登録情報も初期化されるというのは言われてみれば当たり前だが、そこは初期化されないと思い込んでいた。
 初期化部分を消した所、想定通りの表示になった。



 今回曲を作ってて面白い出来事があったので紹介します。




【TCstrikers3】 Super Hack Girl/dj R-tech をMQubeで確認



 この曲なのですが、音が寂しかったので色々と追加したんです。ですが、どうやっても盛り上がらない。そこでメインとなるシンセに問題があるのでは?と思ってメインリードの音創りからやり直したんですね。

 
 ところがメイン音のみにすると、とても綺麗。

  ( ゚Д゚)?


 そこでメインリード+何か、で一つづつチェックしました。


 すると・・・


 良かれと思って入れたアルペジオと組み合わさった時に音が濁るということがわかりました。



 これがマスキングです。低い音が高い音をかき消してしまうという音の特性で、EQをしっかりしないと起こりがちです。


 
 ということで、アルペジオを抜きました。空間ができたのでリードにディストーションをかけて仮完成です。


 音を足してもなんか盛り上がらないというときはマスキングを疑ってみるのがいいですね。



先日あるメールを頂きまして。Steam運営なのかどうなのかはわからないのですが、Steamでの販売を勧めるとともにSteamでの販売方法等丁寧に書いてありました。

 
 とても光栄なことですし、いずれは、という思いもあります。

 しかしながら販売となると結構問題があるわけですね。

 
  1. 手続きの煩雑さ
  2. ゲーム外に関する設定
  3. 権利関係

 1.手続きの煩雑さ

 海外サイトなので英語がネック。英語で色々やりとりするのはトラブルのもと。代行会社もありますがそこの審査に通るにはまたハードルがあがります。自力で登録できれば販売開始自体は早いでしょう。


 2.ゲーム外に関する設定

 実績やらムービーやら。Steamの既定でムービーを用意しなくていけないっぽい。マニュアルもtxtファイルではなくなんらかの方法でゲーム内に埋め込まなければならない。


 3.権利関係

 もっとも厄介なのがこれ。フリー素材は個人利用可能・商用相談というのも多い。相談、となると面倒だなーと思いますね。はっきりと価格を提示してくれたほうが払ってスッキリだけど、素材作成者さんも趣味でやってる方が殆どで売るほうが面倒って場合も多いしね。


 
 以前から興味はあったのでTCストライカーズ3はSteam頒布という方向で作成しよう。素材を使う都度、権利関係を明確にすればあとで困らないだろうし。全部の素材を自製ってのはこういうところで楽。
 



  
 メール抜粋
 Also are other japanese hentai game sold on steam in a censored version but with the option to restore the content with a patch. 

 

↑このページのトップヘ