作曲活動始めました

長年、どうするべきか悩んでいた制作分野である作曲に挑戦していきます。
BGM、SEとアセットやフリー音楽に今も助けられています。
音関係はどうしても難しいなと過去何度か挑み触り程度で終わってしまいましたが、今は出来る範囲の作曲を行っていこうと思います。

自作曲を使用する範囲ですが、

  • ゲームタイトル画面のBGM
  • ゲームエンディングBGM
  • 定期更新の動画OP

3曲作成から始めていこうと思います。

そして、事前告知します!
次回、公開の進捗報告動画でOP曲を披露します!
短いものになりますが、お楽しみに下さい!

下記は初作曲動画になります。

今後の成長ご期待ください

週2本の動画編集

この記事を書いている頃には、定期更新動画の予約投稿が終わって一息ついています。

今週は、定期更新の進捗報告動画とパソコンパーツ交換動画の2つを編集しました。
今まで動画投稿自体がめったに行っていませんでしたが、定期更新動画をある程度を毎週日曜日の20時に公開する事が続けていけたこと、定期更新動画の編集をある程度はテンプレート化出来たこともあり、もう1本動画投稿を行うことが出来ました。

また、どちらも短い動画ですが今まで使っていなかった編集機能を使用して、意図的に編集量を上げてみました。

今回の動画編集で自覚したことは、今の実力では5分以内の動画投稿できる限界本数は週2本までだとわかりました。
これ以上増やすと、本来の目的であるゲーム制作に支障が出てきます。
ゲーム制作のための動画投稿ですので、本末転倒にならないように投稿本数はこれ以上増やせないと思います。

今後制作に慣れてくる事もあれば、投稿数を増やしていこうと思います。

SufferingShot!60s体験版公開

予定通りSufferingShot!体験版公開できました。
今回は体験版専用ルールと仕様として配布します。

体験版は60秒以内にスコアをどれだけ稼げるのかを競うゲームとなっています。
敵の移動パターンは製品版でも共通して大きく分けて3種類の移動です。

製品版に近いβ版の体験版公開も今後行います。
完成の日付は、2月中の進捗状況で判断いたしますので、もうしばらくお待ちください。

体験版は下記サイトにてダウンロード可能です。

SufferingShot!専用ホームページ
https://prehistoriccenozoic.com/game/projec10/project10.html

BOOT:プレヒスショップ
https://phtr-cnz.booth.pm/

今後ともよろしくお願いいたします。

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

現在の移動パターン

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

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

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

新作動画もお楽しみに!

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

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

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

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

今回記述する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軸方向に進んでいくようになります。

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

[覚書]Unityで使用するactionとevent具体例

只今誠意制作中のゲームで、仕様に躓いて知識を覚えるまで時間を要した箇所のメモを残します。
event機能を忘れないため、少し具体的なコードを載せた覚書メモになります。
まだ理解の途中ですが、自分が忘れないようにする為に記述します。

※この記事では、Unity上でのdelegateやeventについては詳しく書きません。

使用例
「プレイヤー」オブジェクトの点数が変化するたびに、「テキスト」オブジェクトがデバッグlogコメントを出す。

2つのオブジェクト間のデータ更新を、上記の仕様をUnityの点数変化の参照に対して「update」メソッドを使わずに、コードを書こうと構築したものが下記になります。

「HogeEventPoint」、「HogePointUp」をアタッチしたオブジェクトと「HogeLog」をアタッチしたオブジェクトを用意します。
最後に「HogeEventPoint.cs」をシリアライズフィールドされている「HogeEventPoint」、「HogeLog」に参照させたら完成です。

始めに、ZorXキー押すとポイントを入力されてログが出力されます。
次に、最初に押されたキー以外を押すと、ポイントが変わりログが出力されます。
以前のキーと同じキーを押した場合、ポイントも変わらずログも出力されません。

今回記述したコードは、ゲーム内で採用されたモノの最小構成になります。
別オブジェクトの値が変化したら、変化した値を取得して動作したい時に便利です。


プレイヤーオブジェクトの取得点数が変わった変化を受け取り、UIオブジェクトのテキストを変更する。

こういった具体的な動作の足掛かりになればと思い記事を書きました。

タイトルにある、「action」、「event」、そして元になっている「delegate」については、今後自分が学んだ範囲で記事を書いていこうと思っています。

コミケ92当選と活動報告

今年のコミックマーケット92当選しました。
8月11日 金曜日「東し-21b」でお待ちしております。

また、当選したことで、基本的に週1のペースですが、HPとブログの更新を行っていきます。

新作ゲーム制作報告~パート1~

ある程度の目途が立ったのでゲーム制作報告行います。
現状、新作ゲームのプレイヤーキャラクターモデリングが出来ました。

完成までに微修正などは行いますが、初期のキャラクターモデルは完成です。
このあと、テクスチャを描き、モーションを着けていきます。
初期装備と書いてある通り、複数の装備品を装着したらモデルを変えていけるようにします。
装備数は製作時間で変わりますが、最低3種はモデリング予定です。

新作ゲームの発表は、受かれば今年の夏コミ予定です。

よろしくお願いします。