明日、PVと体験版公開します

明日、新アイデアを採用した体験版の公開を専用HPで行います。
それに合わせて新作PVをYouTubeとニコニコ動画で公開しますのでどうぞお楽しみにください。

多少マシになったかな?

公開日時は
2021年2月7日 20:00頃になります。

SufferingShot!プロット版制作中

次回の動画はコンセプトムービーになると予告しましたが、ムービー公開と同時に新ルールのSufferingShot!プロット版を公開します。

UGUIそのまま

現在制作中ですが、ルールを体験してもらいたいのでステージ1つとスコア記録のみとなります。
α版を出す頃には公開は終了予定となります。

どうぞお楽しみにください。

今度の敵達

SufferingShot!の次回動画に出る予定の敵モデルを公開します。

殺風景な画像

次回の動画でルールの明確化を体験してもらう為、モデル部分は簡略化したものになります。
無機物ですが、今後もモデルはアップデーしていくのでお楽しみにください。

制作期間2年過ぎてました

下記動画を確認してください

深夜にチャンネル動画の概要修正をしていたら、現在も制作しているSufferingShot!の初期仕様動画を発見しました。

2019年1月6日投稿の動画です。
開発自体はこの時期より前からですから、制作期間2年を超えている事にきづいてしまいました。

しかし、以前書いたようにゲームのルールが明確化できるアイデアが浮かび実行しています。
これまでとは違い完成の道筋がハッキリと見えながらの制作に入っているので、もうしばらくお待ちください。

コンセプトムービー作ります

現在制作中のSufferingShot!のルールを判りやすく出来るアイデアが浮かびました。

そこで、2月にコンセプトムービーを公開します!
少し変わったSufferingShot!をお楽しみください。

様々な移動パターン1

UnityのMathfスクリプトを使用して敵の円運動移動を作って見たところ、そもそも制作中のゲーム全体の移動パターンを増やせそうだと気付きメモを残しておきます。

ブログ更新は移動パターンが増えるたびに増えていく予定です。

using unity;

float speed = 5;
float circle = 5.5f;

void FixedUpdate()
{
  float xPos = Mathf.Cos(Time.time * speed) * circle;
  float yPos = Mathf.Sin(Time.time * speed) * circle;

  Rigidbody.velocity = new Vector3(xPos, yPos, -speed);
}

上記コードを使用すると円運動を行いながら、プレイヤーに向かってくる敵の挙動が出来ます。
Rigidbody.velocityの「-speed」を「speed」に変えるとプレイヤーからのショットやスキル攻撃の移動パターンを増やせそうです。

簡易的な波移動

タイトル通りのとても簡易的な波移動のプログラムをメモしておきます。
あまりにも簡易的な為、細かい移動と組合せたい場合はしっかりと数学で使う処理を入れるのが良いです。

using UnityEngine;

float speed = 5.5f;
bool courseX = true;

void FixedUpdate()
{
    if (Core.EnemyObj.transform.position.x <=-4)
    {
     courseX = true;
    }
    else if (4 <= Core.EnemyObj.transform.position.x)     
    {
         courseX = false;
     }

     if (courseX)
     { 
        this.Rigidbody.velocity = 
             new Vector3(speed,Rigidbody.velocity.y,-speed);
     }
     else
     { 
       this.Rigidbody.velocity = 
             new Vector3(-speed,Rigidbody.velocity.y,-speed);
     }

}

Unityで動かす前提の為、記事で公開しているコードと実装は多少変わりますが、基本的な動きの違いはありません。

上記コードのままだと、敵の初期配置とスピードで波の間隔が変わります。
簡易的に波移動をさせたい時のコードなどで、実際に制作するときは、クォータニオンやオイラー角を使用してください。

移動パターンの初期化

敵の移動パターン処理で敵が倒される、もしくは特定距離まで移動後消えてから再配置される時にステータスを初期化します。
その時、移動パターンの数値が消される直前のままな事に気付きました。

修正前
int MoveID; ←このパターン値を直接参照させて変更していた。

修正後
int MoveID;
int ChangeId; ←直接扱う変数を追加
ChangeID = MoveID; ←初期化

このまま、初期値を変更してしまう事態に気づくのが遅れてしまうと修正でとても手間がかかるところでした。

基本的なコードの書き方を定期的に忘れないようにメモとして残しておきます。