記事一覧
この1年間で思い浮かべたアイディア
今回はふだん書いているUnityの記録とは趣向を変えて、この1年間の思索活動について書きます。思索のやり方がそれなりに系統立ってきました。
これまで記事にしたもの2022年12月~2023年5月:Stable Diffusion関係
時はAIイラスト元年。絵が描けない人間が曲がりなりにも絵を作れるようになったことで、漠然としていたゲームシステム制作を行おうという動機が明確な目標へと変わりました
BGMやSEを鳴らす(Unityメモ)
いわゆるサウンドシステムの話
必要な機能(要件)ゲームにはBGMやSE(効果音)がつきものです。BGMで作品の雰囲気やシナリオ内の感情を言葉によらず伝えられます。またSEがあると操作の意味を伝えたり、操作に楽しさを付け足すことができます。これらBGMやSEを操作するのがいわゆるサウンドシステムです。
必須機能
・マルチチャネル再生できるようにする
・BGM
・UI用SE(決定
マップを作る(1)(Unityメモ)
設計内容を一部修正しました。シーン遷移については続編の方を参照してください。
シーン・マップ・演出に関する基本的な考え方は同じなので、以前の記事はそのまま残しておきます。
今までの作業の応用編。動作はこんな感じ
マップシーンの扱い戦闘要素があるゲームでは、プレイヤーが移動するシーンもだいたい存在します。その名前はマップ、ステージ、フィールドなど様々ですが、ここでは移動範囲の単位となる要素をマ
マスタデータを作る(3)(Unityメモ)
遅れた夏休みの宿題を片付ける気分
用語についてドメイン駆動設計の特徴として、ドメインの用語を使ってソフトウェアの設計を行う点があります。
そのためドメイン駆動設計に沿ってゲームを設計する際も、同様にゲームの用語を使ってクラス名などを定義することになります。ただしゲームの場合は一般的な業務システムとは異なり、そのゲーム固有のルールや世界観に沿った概念を用いることがよくあります。そのためゲームシステ
マスタデータを作る(2)(Unityメモ)
記事を分割しました。
前回の記事はこちらです。マスタデータを配置する前提となる、プロジェクトのフォルダ構成についてです。
データのインポートAddressablesを使うと、マスタデータを用途ごとにサブフォルダに分割しつつ、アセットを一括ロードできます。しかしその場合でも、アセットファイルを1枚ずつ用意して各フォルダに置く手間はそのままです。コンテンツを少量ずつ追加する分にはいいのですが、開発中
マスタデータを作る(1)(Unityメモ)
Unityのエディタ拡張に手を出した
マスタデータとシステム本体を分けるマスタデータはシステムを実際に使う上で必要なデータを指します。ゲームの場合、ユニットの能力値やマップ情報、キャラ画像などを指します。
マスタデータはユーザデータと違ってユーザの使用中に変更することはありません。それでも大抵の場合、マスタデータはシステムの外部に別建てで用意します。システムの実装部分に直書きするとアップデート時
システム構成を整理する(2)(Unityメモ)
システム設計は責任分担の調整、つまり政治
前回のまとめ・ユースケースの記述方法やクラス関係を再検討したい
・モジュールを整理するため、ヤードという概念を導入。機能の保守責任の分掌、つまり所属に近い概念。名前空間による実装が意味的に近い
・モジュール間の依存性の整理をする方法が必要だと気づいた
今回も車輪の再発明を進めてゆきます。
依存性の整理インタフェースの所属を下位側に割り当てる
システ
メニューを作る(3)・ウィンドウ表示(Unityメモ)
操作の実装のあたりをつけます。
操作の呼び出し実装中のGUIでは、ユースケース(シーン)→スロット(ユースケースの引数)→スロットごとの操作とたどっていき、操作を指定してGoを押下すると操作用のウィンドウが開きます。パーティ編成などデータの操作は個々の操作ウィンドウの中に実装する、という方針です。Unityの場合はデータ操作などの動作をコンポーネントに分けて実装できるので、機能追加も比較的行いや