投稿記事

2024年 03月の記事 (22)

竹林ソフト 2024/03/24 20:00

再建を繰り返す街作りゲーム開発(ゲームの初期化を Lua スクリプトで行う)

だいたいのゲームの仕様を考えたので、ゲームの新規開始の処理を実装していきます。
具体的には、新規ゲーム開始時の「この範囲は解放済みのエリアにして、中心には拠点を建てる」といった処理を Lua スクリプトで実現するあたりを実現します。

やったこと

Lua スクリプトで行うためのクラスを作成する

ゲームの初期化や管理は Lua スクリプトで行うことにします。
まずは「こういう記述で初期化したい」という Lua スクリプト作ります。

次に、この Lua スクリプトを実行するあたりを MoonSharp アセットを駆使して実装します。

そして実装しようとして、MoonSharp や Lua スクリプトで発生するエラー原因がわからなくて時間がかかりました。こういうので時間かかりますが、まぁ、こんなもんです。

そして時間が経過してから原因追及を再開して、問題がわかりました。
MoonSharp を利用する際に呼び出すべきメソッド UserData.RegisterAssembly(); の実行が行われていませんでした。うぐわぁ。

別プロジェクトのコードを参照しつつ作業していたのですが、参照しきれていなかったようです。むつかしい。

拠点の建築までを Lua スクリプトで行う

先ほど Lua スクリプトに記述したメソッドを実装して動作を確認します。
具体的には、MoonSharp の MoonSharpUserData を付けたクラスを実装すればオッケーです。

↓ 実装したクラスの抜粋

そして、ここまでが動作したゲーム画面がこれ↓です。

なんというか MoonSharp の機能を使って

  • Lua スクリプトを C# から実行する。
  • Lua スクリプトから地形や建築の C# のメソッドを呼び出す。

ということを行っています。
見えにくいですが、中央に拠点が配置されているのがわかります。大変よいです。

まとめと今後の予定

ゲームの初期化やイベントなんかを Lua スクリプトで行うことにして、その枠組みを用意して動作するのを確認しました。大変よいです。

次回は Lua スクリプトまわりの続きか、ワーカーが移動したり働くあたりに着手したいと思います。がんばります。

竹林ソフト 2024/03/22 20:00

NPC をコーディングして領地経営するゲーム開発(2章をプレイして気付きを修正する)

3章あるチュートリアルの第2章をプレイして気付いた点を修正します。
前回までで、この2章のダンジョン探索の表示にエフェクトや効果音を追加しました。

やったこと

日本語フォントを変更した

日本語フォントを Noto Sans JP に変更しました。なので、各所で「ここ、もう少し文字を太くしたい」とかの微調整を改めて行っていました。

↓ 身に覚えのないフォントサイズになっていた

いろいろ見直して、いろいろ調整しました。地味に大変でした。

リワードエフェクトが常に表示されていたのを修正した


エフェクトが常に再生される設定になっていたので修正しました。

気付いたけど後でやろうと思ったこと

防具の装備品を変更したときに「ガチャ!」という効果音を再生したいと思いました。装備の切り替えは手、頭、胴体が同時に行われるはずなので代表して鎧系のアイテムを装備したときだけ効果音が再生されるようにしようと思います。

そうすると、NPC が移動して順に装備したときに「ガチャ!」x 3 という感じで再生されてそれっぽいと思います。

↓ 少し間隔をあけて移動してきて、城郭に到達したら装備をしている様子

あとは、武器や防具について、指定したアイテムをそのキャラが装備したときの攻撃力や防御力の値を Lua スクリプトで取得する API を追加しようと思いました。このあたりも自動化できるようにしたいので。

そして、2章で鍛冶屋で装備品を作るステージがあるのですが、ここで必要になるはずの薪が配置されてなくて「以前にクリアできるよう調整したはずなんだけど、なんでだ?」という問題に直面したあたりで「また次回にやろう」と思ったのでここまでにします。

まとめと今後の予定

もろもろの不具合や気付きに着手して修正しました。完成まで続く予定です。
また、次のステージをプレイしてみてクリアできないのに気付きました。現状確認できて大変よいです。

次回も2章をプレイしていろいろ修正していくあたりをやるか、Python 対応についての検証をしようと思います。がんばります。

竹林ソフト 2024/03/19 20:00

趣味ゲー開発に着手する方法について考えたこと

趣味ゲー開発の継続については「Ci-en に定期的に記事を投稿する」という方法で達成できていました。ただ、1年開発を継続したもののゲームが完成していないので「もっと開発効率を高くしたい」というのが今回の検討内容です。

現状について

1年前くらい前に Ci-en への記事投稿を始めて、定期的に記事投稿することを目標に「記事投稿するために何か開発する」ということは実現できていました。よいです。

どうしたいか

開発が継続できていることは大変よいのですが、思うところもあって

  • 記事を投稿予約し終えると、安心して次の〆切まで開発しなくなりがち。
  • 記事を書かないといけないというプレッシャーがそこそこつらい。

とかです。

考えたこと

記事を投稿し終えると安心してしまうことについては、単純に投稿頻度を高くしようと思いました。今は1プロジェクトごとに「1週間に1回投稿する」という感じでやっていますが、なるべく1週間に「必要な実装の記事を1回、可能なら雑多な実装の記事を1回」という風にしたいと思っています。

そして、記事の投稿頻度を上げるためにはコンスタントに開発したいと思っていて、

  • 何もしない日を減らしたい。
    • 「次の実装めんどいんだよなぁ」という同じ気持ちを抱えたまま数日経過することが多い。
    • この「めんどいんだよなぁ」を少しでも変えるようにする。
    • その実装について検索して調べて「こう実装するのか」的な感情を取り込む。
    • つらいなら、めんどい以外のタスクに着手してもいい。

とか考えました。

言い直すと、着手できないこと自体はいいとして「実装がめんどいので着手したくないなぁ」という同じ気持ちのまま数日経過させるのではなく、せめて毎日その気持を変化させたいなと思いました。

とりあえず「毎日なんかするか、なんか考える」を目標にしばらく開発していきます。

まとめと今後の予定

開発頻度を上げるためにどうすればいいか考えてみました。
とりあえずやってみようと思います。がんばります。

竹林ソフト 2024/03/19 20:00

ニャン作くんのゲーム開発(タイピングゲームにする案)

ニャン作くんの二次創作ゲームを少しずつ開発していきます。

ゲーム案について考えたこと

ニャン作くんがゲーム開発する様子を登山になぞらえて 「ヤマふだ! にごうめ」 を参考にしたカードゲームを作ろうかとも考えたのですが、小難しいゲームシステムにすると開発が続かなさそうなので断念しました。

なので、第2案としてニャン作くんをテーマにしたタイピングゲームにしようと思います。
全3ステージくらいで、それぞれ

  • ゲーム作るニャン!
  • ゲーム作り大変ニャン!
  • もう少しで完成だからがんばるニャン!

というテーマに沿った例題(セリフ)がでてきて、それをタイピングするゲームにします。
タイピングについては Typing Game in Japanese アセットを買って使うことにすれば開発コストは相当下がると思っています。

どういうゲームにしたいか

少し変なゲームシステムにしたい気もするのですが、そこは無理せず普通のタイピングソフトにしようと思います。

ニャン作くんの強みは利用規約に「公序良俗に反しないこと」がないことなのですが、それも深く考えないことにします。

列挙すると

  • 日本語版のみ
  • タイトルシーンで全年齢版とアダルト版を切り替えられるようにする。
    • 例題が変わる。
  • ステージのテーマに沿った文章を入力する。
  • タイピングのキー入力に合わせて、画面端のニャン作くんがダイナミックにタイピングする。
  • ステージ内の例題の進捗をプログレスバーで表示する。
  • ランキング機能は実装しない。
  • リザルトをポストする機能は実装しない。
  • リザルト時のスコア履歴をチャート表示する機能は後で考える。
  • オープニングとエンディングについては未定
  • 例題はプレイヤーが差し替えられるようにする。

くらいです。
正直、私があまりタイピングソフトに詳しくないので有識者と相談しながら作ろうと思います。

まとめと今後の予定

ニャン作くんのファンゲームの方向性を決めました。
ゲームとして遊べるようにした後で演出を追加していく感じで開発していこうと思います。がんばります。

竹林ソフト 2024/03/18 20:00

ねこ巫女籠城ゲーム開発(お城アセットの購入と調整)

今回は Japanese Modular Castle アセットを購入して HDRP から Built-in に変更しました。

やったこと

城郭アセットの購入

とくに理由もなく、気になっていた Japanese Modular Castle アセットを購入しました。このアセットは $98.99 なので、昨今の為替レートで買うのは少し勇気が必要でした。

そして買ってから気付いたのですが、このアセットは HDRP のみ対応だったので、買った直後は全体がピンク色の表示になっていました。Unity あるあるです。

Unity では描画において Built-in, SRP, HDRP があって、HDRP はリアル寄りの表現がしたい場合によく使われているそうです。
ただ、この ねこ巫女籠城ゲーム開発では、

  • VRoid Stduio モデルを描画するのは Built-in が楽。
  • Terrain と草木の描画に使っている The Illustrated Nature アセットが Built-in 対応のみ。

と、使っているアセットの関係で Built-in で開発しています。私の Unity パワーが不足していて「これは Built-in 対応らしいけど URP にして使うか」とかはできていません。

城郭アセットを Built-in で使う

なので、購入した HDRP 対応アセットを Built-in で使えるように調整します。
「アセットの作者は HDRP で綺麗に描画してほしいんだろうな」と思うと少し心が痛みますが、必要なので変更します。

やったことは「Materials にある各マテリアルの Shader をとりあえず Standard にして、名前に対応するテクスチャを登録し直した」です。

↓ Materials フォルダ

↓ Standard Shader を変更している様子

具体的には、マテリアルが M_Fish の場合は Standard Shader の Albedo を T_Fish に変更して、Normal Map を T_Fish_N に設定しました。

あと、設定してないファイルに T_Fish_M があるのですが、これはマスクファイルで、Unity の マスクマップとディテールマップ のページによると、メタリック、オクルージョン、ディティールマスク、スムースネスを色の各チャンネルに格納したもののようです。なるほど?

本来の表現によせるには、このファイルを分けてそれぞれを登録すればよさそうです。
ただ、ここまででピンク色でないモデル描画ができたので、マスクマップを登録するのはまたいつかやります。

↓ 描画できた様子

まとめと今後の予定

なんかこう、突発的にモデルのアセットを購入したので、プロジェクトに取り込んで描画してみました。

今更ですが、城郭の描画にこのリアル寄りのアセットを使うとすると「あれ? 神社や町の建物もリアル寄りにすべきなんじゃないの?」という気がしてきて本当に悩ましいです。私はモデル作成は得意ではないので。

あとは、私のゲームで使いやすいようにモデルをもっと細かいパーツにする必要もあります。

なので引き続き Magica Voxel でモデルを自作しながら開発して、余力があれば見た目を変更できる機能で選べるものとして、このモデルを使えるようにしたいと思います。がんばります。

1 2 3 4 5

月別アーカイブ

限定特典から探す

記事を検索