投稿記事

コーディングの記事 (82)

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

NPC をコーディングして領地経営するゲーム開発(チュートリアル2章を見直していく)

チュートリアルの2章はダンジョン探索の説明が主なテーマのですが、前回の記事で探索時の攻撃エフェクトを追加しました。
今回は2章をプレイして気付いた点を修正していきます。

やったこと

会話シーン中にゲームの情報が表示されないようにした

会話シーンにタスクカードが映り込んでたのを、タスクカードの表示/非表示にする機能を実装して対処しまいした。

↓ 対処する前と後

よいです。

ギルドの建物からダンジョンに移動する冒険者のアニメーションを修正した

ギルドの建物に3人がワークすると、その3人がダンジョン探索に移動する特別な実装をしてあるのですが、その移動のアニメーションが 10回に2回くらいの頻度で歩行アニメーションに変わりません。

↓ 両手を上げ下げしながら移動している(静止画)

この1行からは想像できないほどの時間をかけて確認したところ、まぁ、私の実装のせいでした。なんとかしました。

一時停止中の速度変更の操作を反映させる

不具合というほどではないのですが、ポーズ中にプレイ速度を変えるカーソルの左右ボタンを押しても何も起きなくて違和感があるので修正します。

↓ ポーズ中の画面右のボタンの表示

ポーズ中にこれらのボタンをマウスで押すと対応した再生速度になるのですが、現状ではポーズ中だと「加速」「減速」のキー操作の場合は何もおきません。
これについては、

  • ポーズ中の加速キー: Resume して再生速度を1つ上げる。
  • ポーズ中の減速キー: Resume して再生速度を1つ下げる。
    • ただし、再生速度が最低の x1 倍速のときにはポーズを維持する。

にします。
そして修正して上記の動作になるようにして違和感は減りました。よいです。

設定パネルのボタンを見直す


久しぶりにプレイしていて設定パネルを開いて「閉じるか」と思いながら「ステージ選択に戻る」ボタンを押してしまったので、「閉じる」と書かれたボタンを表示しようかと思いました。

ただ、右上に一応は閉じるためのバツマークのボタンはあるし、ステージ選択に戻ってしまってもすぐに再開できるしコードは保存されてるだろうしで、現状のままでよいことにしました。
また間違うようなら再考します。

ダンジョンからの帰還エフェクトを実装する

ダンジョンで最奥の敵を倒したときか、全滅したときになんか光の柱っぽいエフェクトを表示してからフィールドに帰還させようと思っていたのですが、眺めていたら弓矢での攻撃時にダメージ表示がないのに気付いてしまって心が折れたので、今回はここまでにします。

まとめと今後の予定

ダンジョン探索を行うステージについて、いくつかの修正を行いました。よいです。
次回は、ダンジョン探索の帰還エフェクトまわりを実装しようと思います。がんばります。

竹林ソフト 2024/02/23 20:00

NPC をコーディングして領地経営するゲーム開発(被ダメエフェクトの追加)

前回の記事では振り下ろす攻撃エフェクトを選んで適用しました。
今回は、残りの魔法攻撃と回復のエフェクトを適用します。

やったこと

弓矢の攻撃エフェクトの追加

前回の物理攻撃エフェクトと同様に矢を発射するときのエフェクトを追加しました。

よいです。

魔法攻撃と回復のエフェクトの適用

物理攻撃のエフェクトと同様に Animation Event でメソッドが呼び出されるようにして、攻撃対象のエフェクトを再生するようにしました。

↓ 攻撃を繰り返すシーンの動作

よいです。

まとめと今後の予定

エフェクトを選んで調整して適用する、という時間がかかるタスクがほぼ終わりました。大変よいです。効果音の選択と適用が残っていますが、それはまた後でやります。

次回は、ダンジョン探索のチュートリアルである2章の調整を行っていきます。がんばります。

竹林ソフト 2024/02/16 20:00

NPC をコーディングして領地経営するゲーム開発(攻撃エフェクトの作成)

攻撃エフェクトを作っていきます。とりあえず、攻撃を定期的に行うデモシーンを作成していきます。

やりたいこと

ダンジョン探索でキャラが攻撃するときのエフェクトのサイズとかタイミングを調整していきます。
最終的には

  • 攻撃エフェクトの表示(武器ごと)
  • 攻撃相手の被ダメエフェクトの表示(赤点滅)
  • 効果音の再生

まわりを実装します。
また、エフェクトの武器の種類は

  • ダガー
  • ショートソード
  • ソード
  • ポールアーム
  • 弓矢
  • 攻撃魔法(炎のみ)
  • 回復魔法

にします。

やったこと

実際のゲームシーンで動作確認を行うと大変なので、攻撃を繰り返す行う専用のデモシーンを作ってエフェクトを調整することにします。

↓ まず、攻撃するキャラと攻撃されるキャラを配置しました。

よいです。
↓ 次に、武器を装備させます。

よいです。
そして、今回は物理攻撃のエフェクトを選び、武器種によってエフェクトの大きさが変わるあたりまで実装しました。

↓ 攻撃エフェクトの様子

とりあえずは、これでよいと思います。
弓矢と魔法系のエフェクト、そして被ダメエフェクトについては次回にやります。

まとめと今後の予定

攻撃エフェクトを実際に再生するあたりに着手して、物理攻撃の攻撃エフェクトまわりを実装しました。よいです。

次回は引き続き弓矢と魔法系のエフェクト、被ダメエフェクトと微調整を行います。がんばります。

竹林ソフト 2024/02/02 20:00

NPC をコーディングして領地経営するゲーム開発(戦闘シーンの演出作成)

このゲームにはダンジョン探索な要素もあるのですが、その際の攻撃や被ダメージの演出を作っていきます。あと見つけた不具合の修正もします。

見つけた不具合の修正

オーダーの情報が更新されないのを修正する

オーダーの情報を表示中にストレージにアイテムが追加されたときに、レシピの表示にそれが反映されないのに気付いたので修正します。

↓ 左下のストレージのアイテム数は増えてるのに、右のアイテム数が増えてない例

これについては修正できました。よいです。

会話シーンのときにタスクカードが表示されないようにする

↓ 画面右上にタスクカードが表示されている様子

これは厳密には不具合ではないのですが、なんか目立って好みじゃないので後で修正します。

ダンジョン探索の攻撃にエフェクトと効果音を適用する

以下のタイミングで利用するエフェクトと効果音を追加していきます。

  • 攻撃時(武器種ごと)
  • 被ダメ時(物理攻撃1種、魔法攻撃 N種)
  • アイテム入手時
  • ダンジョンからの帰還時

攻撃時の演出を追加

武器の種類ごとに攻撃エフェクトが表示されるようにします。具体的には「この武器ならこのエフェクト」みたいな対応を定義しつつ、そのエフェクトが再生されるようします。

攻撃のエフェクトには Epic Toon FX アセットを利用します。

↓ エフェクトを仮配置して描画されるか確認した様子

描画できるのが確認できたので、よいです。
あと、効果音は Battle Sound Library - Magic & Melee - Fantasy RPG アセットを利用します。

そして実装方針ですが、このゲームでは x1, x4, x8 倍速での再生が可能なので、エフェクトの再生速度も変更する必要があります。

そして、ここまで考えたあたりで開発パワーが尽きたので、続きは次回にやります。こういう日もあります。

まとめと今後の予定

攻撃エフェクトの作成に着手しました。よいです。
次回は、引き続きエフェクト作成を行おうと思います。がんばります。

竹林ソフト 2024/01/26 20:00

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

前回の記事でチュートリアル1章の最初のステージの見直しを行いました。引き続きプレイして見直しを行います。

プレイしての気付き

「製粉所」ステージがスタミナ不足でクリアできない

少し前に畑でのワーク時にもスタミナを消費するようにした結果、クリアできなくなっていました。
試しに畑でのワーク時のスタミナを減らす麦わら帽子を装備させたところ、クリアできたので、これでよいことにします。

↓ 麦わら帽子を装備しているところ

よいです。

クリア時に「次のステージへ」をマウス操作で押すあたり

↓ クリア時の画面

Enter キー押下が押されたら次のステージへの処理を行うことにしました。直感だとスペースキーなのですが、それはもう「ゲームの一時中止/再開」に割り振っていたので Enter キーに割り振りました。

ゲーム開始直後にアイテムが消費される


なぜかゲーム開始直後にアイテム消費の表示されて「なんで?」って思う動作をしたので修正します。

確認したところ setup.lua で木材を伐採小屋に格納してて、木材があるのでオーダーに基づいてワークが開始されただけで問題ない動作でした。
ただ、作者さまである私がプレイして違和感のある動作だったので、木材の初期配置をなくしていろいろ調整し直しました。

こう、クラフトのレシピやワーク時間を変更すると既存ステージの見直しが必要になるのは、なんというか悩ましいなと思いました。
とはいえ違和感がない動作に修正できたので、よいです。

パンを食べずに持ったままワークしに行ってしまう


確認したところ、これも以前の開発で「満腹度が 50% より大きくて空腹でないなら食事できないようにしよう。経験値が得られる食事をし続けるのを防ぐため」という変更をしたせいでした。
コンソールを開くと警告メッセージが表示されていました。

↓ コンソールを開くと確認できる警告メッセージ

これについては、ステージの Lua スクリプトを変えて適切な動作に修正するだけでなく、警告がコンソールにあることをわかるような調整を行うことにしました。

↓ 警告アイコンが出るように調整した結果

今までもエラー時にはこのアイコンが赤色で表示されてたのですが、警告時には黄色で表示されるようにしました。

よいです。

スタミナ不足なのにワークしてしまう

これは以前に「自動カウントダウンでのワークでもスタミナを消費する」という変更をした結果です。

これについては、ワーク時のスタミナ消費を取得する API を追加して使おうと思います。
装備品でワーク時のスタミナ消費が減ることがあるのですが、それは考慮しないことにします。そういえば、装備アイテムの効果を取得する API もないですね。後で考えます。

API の追加はそこそこ大変なので、次までにやっておきます。

まとめと今後の予定

今回はチュートリアル1章の見直しと修正を行いました。いろいろと気付いた点を修正できて大変よいです。

次回はチュートリアル2章の見直しをしていきます。2章は各ステージ冒頭の会話テキストの作成がまだだし、ダンジョン探索時の攻撃エフェクトも未作成なので作っていきます。がんばります。

3 4 5 6 7 8 9

月別アーカイブ

限定特典から探す

記事を検索