敵エネミー移動パターン追加2

ステージ1エネミー

新たにWorldステージ1の敵エネミーの移動処理の変更とパターン追加を行いました。

移動処理については下記の記事をご覧ください。
https://prehistoriccenozoic.com/blog/game-create-progress/enemy-movepatarnsetting2

今回の修正で、チュートリアルステージとWorldステージ1では、敵の基本移動パターンに慣れて貰う構成にしています。
本シューティングゲームの基本システムの視点変更を活用できるような動きを序盤に慣れて貰う事も考えています。

簡単なゲーム説明

敵が上下移動する場合は、背後視点が有利で、敵が左右移動する場合は上空視点が操作しやすくしています。

視点移動がどうステージ進行有利になるのかを体験できる仕組みになっていると思います。

敵エネミーの移動パターン追加

現在の移動パターン

チュートリアルステージの敵移動パターンを見直し修正を行いました。
これまでの制作ゲーム内の敵移動パターンが少なすぎると考え、移動処理を敵本体のクラス内のメソッドで扱える様にしています。
本当のクラスや実装を考えると、もっと分割すべきだとは判っていますが、個人で作る場合、スクリプトの種類が増えると把握する事が難しく危険性と見易さを考慮して、移動パターン用のメソッド内で所為を簡潔する事にしました。

新しいクラスを作る時でも影響範囲を最小限に留め、再修正も出来るようにしています。

もっと詳しい内容は、後日動画とブログで補完予定です。

新作動画もお楽しみに!

動画はこちらから↓
YouTube
https://youtu.be/KaNKg7zJFgo

ニコニコ動画
https://www.nicovideo.jp/watch/sm38134287

ブログの活性化させる事について

更新頻度の上昇に向けて

今月からブログの定期更新を意図的に行って見ました。
2週間試して、水曜日の定期更新とその日以外の記事更新だけですが、もう少し頻度上げても大丈夫なのでは思い、更新頻度を気持ち上昇させます。

主なブログ内容

  • ゲーム制作の進捗報告
  • 投稿動画の補完記事
  • 制作学習目的のメモ記事
  • new:制作以外の記事

新たに、制作に関係のない記事もこちらのブログに追加します。
制作に関係の無い記事カテゴリは別けるので、後からでも見やすくなるかと思います。

頻度の向上を目指して頑張ろうと思います。

UnityでのDelegateメモ

今回は、UnityのC#で使うDelegateとActionとFuncについて自己流解説を行います。
なぜ、いきなりDelegateの話を始めたのかは下記動画をご覧ください。

YouTube
https://youtu.be/KaNKg7zJFgo

ニコニコ動画
https://www.nicovideo.jp/watch/sm38134287

進捗報告動画で、敵の移動処理変更を行った時、DelegateとActionについての説明を省き、ここで説明するようにしました。

Delegate(デリゲート)とは

デリゲートの意味を調べると、メソッドを変数のように扱う機能と書かれることが多いです。
デリゲートの使いどころを、自分の制作に当てはめると以下のコードのようになります。

テストスクリプト1

テストスクリプト2

上記の書き方で何がいいのかを、ゲーム制作の進捗動画内容にあわせると、

・移動処理のパターンを敵の種類ごとに作れる
・修正や不具合の発見が行いやすく、影響範囲が小さくできる

個人で制作する上で、見やすくなって移動処理を作りやすくなるメリットになります。

ActionとFunc

ActionとFunc機能は、デリゲートの宣言を簡略化できるものと説明される事が多いです。
下記のサンプルコードをご覧ください

基本となる移動処理

移動スクリプト

エネミーの場合

エネミー移動処理

プレイヤーの場合

プレイヤー移動処理

大まかには、Actionは戻り値が無く、Funcは戻り値があるという違いがあります。
制作のコードではActionを良く利用しています。

終わりに

今回は動画内容の補完としてブログでコード解説を書いてみました。
自分で解説出来る範囲での記述ですので、間違いなどがあれば教えていただければ幸いです。
今後も、動画の補完解説を行っていければと思います。

2021年のPHTR-CNZ

新年あけましておめでとうございます。

昨年は体調崩すことが多く、新作ゲーム発表とデジゲー博参加が出来なくなりました。
今年は、まず体調管理を気を付けながらの制作進行を行っていきます。

進行は遅めですが確実に制作を進められる環境を作っていこうと思っています。

制作進行が遅れる代わりに、進捗の報告は随時行っていくのを目標にして、制作が進んでいる事を伝えていく年にしたいです。

具体的には、去年に比べ動画投稿による進捗報告増えていきます。
ブログ更新も動画投稿の報告が増えますが、まず制作が動いている事の発信を増やします。

どうぞ今年もよろしくお願いします。

デジゲー博2020受かりました

タイトル通り
2020年11月29日開催のゲーム即売会イベント「デジゲー博2020」に参加します

 

配置は
AKIBA_SQUARE 2階 B-14 サークル:PHTR-CNZ
です。

完成したSTG「SufferingShot!」を持ち込む予定です。
本イベントでゲーム完成予定ですので、よろしくお願い致します。

イベントHP:http://digigame-expo.org/

[覚書]ターゲットに向かって移動するオブジェクト

久しぶりの更新です。
個人的に重要なゲームのキャラクター挙動のコードを書きます。

今回記述するUnityコードは、敵キャラクターがプレイヤーの方向を向き続け、迫ってくる動きをします。
それがこちらです。

public class HogeTarget: MonoBehaviour
{
public GameObject TargetObj;
private float maxData = 45;
private float minData;
private void Start()
{
minData = 360 -maxData;
}
private void Update()
{
this.gameObject.transform.LookAt(TargetObj.transform);
Vector3 angle= this.gameObject.transform.localEulerAngles;
if ( angle.x < maxData && 180 > angle.x)
{
angle.x = maxData ;
}
if (angle.x < minData && 180 < angle.x)
{
angle.x = minData ;
}
transform.localEulerAngles = angle;
transform.position += transform.rotation * new Vector3(0, 0, 1.0f)*Time.deltaTime;
}
}

上記の記述で重要な箇所が、[transform.LookAt]でプレイヤーの方向に向き、後のコードで敵キャラクターの向きに制限を加えています。
また、方向転換するオブジェクトの子オブジェクトに顔や腕をセットすることで、ある程度自然な挙動にすることができます。

次のコードは上記コードの

transform.position += transform.rotation * new Vector3(0, 0, 1.0f)*Time.deltaTime;

下に
transform.position += new Vector3(0, 0, 1.0f) * Time.deltaTime;

を記述することで、オブジェクトがプレイヤーに向きながら、Z軸方向に進んでいくようになります。

この挙動を入れることで、画面外に敵を移動させたい時に便利になります。

制作ゲーム第10作「SufferingShot!」HP完成

新作STG「SufferingShot!」専用ホームページ完成しました。

専用ホームページへ飛びます
https://prehistoriccenozoic.com/game/projec10/project10.html

長くなってしまいましたが、情報が更新され次第、随時サイト更新しています。

また次回参加イベントは、

2020年1月19日(日)
こみっく☆トレジャー35
インテックス大阪4号館
ケ14-b

上記イベントにてSufferingShot!体験版DLカード頒布します。

2020年の始まり

新年あけましておめでとうございます。

2019年はゲーム開発の滞りにより体験版を公開する日々が続きました。
去年を反省し2020年は、

完成品をイベントで頒布する!

上記を目標に行動していきます。
制作頻度と公開スピードを上げるために、情報公開頻度も上げていこうと思います。

……こういった文章を書いてからですが、

2020年1月19日こみっくトレジャー35にサークル参加しますが、ここでの頒布は体験版です。
コミケから開発期間が少ないのでそこだけは目を瞑ってもらえたらと思います。

気を取り直して、配置は

インテックス大阪 4号館ケ14-b

新作STG「SufferingShot!体験版DLカード」を頒布します。
新年の抱負といきなりのズレはありますが、今年も改めてよろしくお願いします。