投稿記事

2021年 01月の記事 (31)

kuro 2021/01/06 12:06

【426日目】2021/1/5 実装&デバッグ作業20

バトル中PT入れ替え機能

+@の機能実装に挑んだところ別問題を発見。
不具合の調査をしていました。

挙動:
1.バトル画面
2.パーティーコマンド「戦う、逃げる、並び替え」
3.並び替え→入れ替え画面へ遷移(入れ替え画面にシーン遷移)
4.入れ替え処理を実行
5.パーティーコマンドに復帰(バトル画面にシーン遷移)
6.アクターコマンド「攻撃、魔法、防御……」

問題:
2→3で動いていたパーティクルが静止状態になり、5で画面が戻ったときに動かない。
2→3に遷移したタイミングの画面が、スクリーンショットを撮ったように残存してる。

対策:
・パーティー画面遷移はYEP_PartySystem.js
以下の処理で入れ替え画面(PartyCommandWindow)遷移前に保持している様子。
この中でパーティクル含めて静止画として保存されているようです。

Yanfly.Party.Scene_Battle_createDisplayObjects
Yanfly.Party.Scene_Battle_createSpriteset
Yanfly.Party.Scene_Battle_createPartyCommandWindow
Scene_Battle.prototype.partyCommandFormation

・パーティクルはTRP_Particle.jsのパラメーターbattle、battleWeatherで表示
$gameScreen._particle.removeBattleScreenParticles();で一括削除できそう

解決方法案:
a.3のタイミングで表示パーティクルを記憶させ、パーティクル削除処理を実行。
b.5のタイミングで3の情報を基にパーティクルを再生成。

必要なこと:
・aとbのために、TRP_Particle.jsで実行しているbattle,battleWeatherオプションの呼び出し全てに変数を割り当てる。
・3と5の実装方法
3はYanfly.Party.Scene_Battle_createSpriteset()の前
5は$gameTemp.restoreBattleSpriteset()の後

懸念点:
・他に効率の良い実装方法がないか(今の技量でできるか)
・実行内容は一瞬のため、パフォーマンスへの影響は高くない(高くとも継続しないので許容される)

優先度は低い処理なので、全体作業見極めて判断します。
以上、課題整理兼ねたログでした。

【追記】
YEP_PartySystem.jsのScene_Battle.prototype.partyCommandFormationにて、Spriteset周りを調べていたら再描画と思しき箇所を発見。
画面遷移前の画面再生を抑止することができました。

後は元々表示していたパーティクルを識別する値を変数に格納し、
partyCommandFormation終了後にコモンイベントで変数に対応したパーティクル再生成命令を組めば大丈夫なはず……!

Scene_Battle.prototype.partyCommandFormation = function() {

BattleManager._bypassMoveToStartLocation = true;
$gameParty.loadActorImages();
this.prepareBackground();
BattleManager._savedActor = BattleManager.actor();
$gameSystem.setBattleFormationCooldown();
Yanfly.Party.SavedBattleBgm = AudioManager.saveBgm();
Yanfly.Party.SavedBattleBgs = AudioManager.saveBgs();
//$gameTemp.storeBattleSpriteset();//ここをコメントアウトで再描画抑止
SceneManager.push(Scene_Party);
BattleManager._phase = 'input';
$gameTemp._partyBattle = true;

};

たはー。やりました……!
て、やっと不具合を直してゼロに戻っただけなんですけどね……!

その他

・コンパス表示のサインの改善
 体験版部分も改善しました。

・データ、イベント実装

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

kuro 2021/01/05 12:06

【425日目】2021/1/4 実装&デバッグ作業19:v1.1.8d反映

1.1.8d修正作業

新機能のエンバグ(実装で発生した不具合)を修正しました。
Javascript力もレベルアップです。

エラー解決や機能実装のためにプラグインを読むと、書いている方の思考がコードから見える事があります。
機能の役割を記載していたり、制作の変遷が垣間見えたり、幅広い利用シーンを想定してパラメーターが用意されていたり。
解決の手がかりを得ることもしばしば。
音楽素材もそうですが、素材公開者の方々には感謝しきりです。

その他

-イベント実装
-ステージボスバランスの調整

機能改善系
-状態異常時にダメージ表情を固定するように(状態異常のアラート)
-PT入れ替えに伴うフェーズスキル発動改
-アニメーション、エフェクト調整

記事が2020/*になっていたのを直しました。。。

更新履歴

1.1.8d
主に安定化の修正を行いました。
【修正】
次のタイミングにて一定確率でエラー「Cannot read property 'parent' of null」が発生する不具合を修正
-魔法系スキル使用時
-ターン経過時
-敵攻撃時

【改善】
・感情スキルの発生条件、頻度を調整

【追加】
・バトル中に状態異常時になった際、ダメージ表情に固定するように

体験版/ストアページ

Ci-en別ページ、Twitterからご興味を持ってくださった方、よろしければ触れてみてください。
DLSiteさんは1/5現在、2つ前の古いバージョンなので、Steamを紹介します。
製品版では1営業日以内に揃えます。

Steam
https://store.steampowered.com/app/1184850/_/

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

kuro 2021/01/04 12:06

【424日目】2021/1/3 実装&デバッグ作業18:v1.1.8c反映


作りこむ前の演出シーン。ここから更に。

実装&デバッグ作業

この2点に注力した日でした。

・新機能の安定化
・ボリュームアップ要素のサブシナリオの執筆と実装

新機能要素もこれで安定したと思います。
不具合を通して、パーティクルの理解が深まりました。

試行錯誤の繰り返し。
書いてない部分では2つのシステム実装に敗北しており、リベンジの機会をうかがってます。

目下、課題は以下の通りです。
・PTメンバー入れ替え時+新要素(感情スキル)の組み合わせ
・バトルと言葉集めの繋がりを深く
・ゲームボリュームアップ……っ

https://twitter.com/rpgmaker_kuro/status/1345720484873138176?s=20

御礼

ニコニ広告ありがとうございます。
洒落の利いたPt数にセンスを感じます。
109です。

SteamWishlist登録ありがとうございます。
ボタン押下に届いたこと、嬉しく思います。

体験版/ストアページ

Ci-en別ページ、Twitterからご興味を持ってくださった方、よろしければ触れてみてください。
DLSiteさんは更新反映に時間差があり、2つ前のバージョンなので、この記事ではSteamの方を推させて頂きます。

Steam
https://store.steampowered.com/app/1184850/_/

更新履歴

1.1.8c

【修正】
・イレギュラーの世界に出現するリトルブレイバーの行動判定の不備
・感情スキルのエフェクトがバトルをまたいでも残り続ける不具合

【追加】
・マモノも「ヘイト」を使うように
・ランダムBGM「ドリーム」追加
・「フェス」、「ポップ」に曲を追加
・スキル使用時にエフェクトを追加

【改善】
・マップエフェクトでバトル画面が見辛い問題を改善

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

kuro 2021/01/03 12:06

【423日目】2021/1/2 実装&デバッグ作業17:バトル/エフェクト/BGM追加ほか


曲の編集は慎重・丁寧に。

バトルシステム改革

・敵もヘイト(感情スキル)を使うように

https://twitter.com/rpgmaker_kuro/status/1345363710336847875?s=20

実装に伴うコード改変、修正
パフォーマンス改善と技術力アップに繋がりました。
処理のどこを抑えたらいいのか(元なのか、終点処理なのか、どこかの処理を横取りするのか)、例外処理の考慮など。

・汎用エフェクト追加中

エフェクト、アニメーションがまだまだ改善の余地があるので、進めてます。

・デバッグプレイ&実装

ステージのランダムポップ配置の微調整、ボス戦再戦時のパラメーターなど。
バトルシステム改革のチェックを兼ねてます。

・ランダムBGM「ドリーム」追加ほか
エレクトロニカ、ポップやハウスな曲で構成したバトルBGMセットリスト。
夜に聴くと良き気分になれます。
「アストラルの空洞」「天空回廊」あたりのステージにマッチします。

「フェス」「ポップ」にも曲を追加予定です。
イベント戦専用曲とあわせて、この作業で朝4時まで200曲~聴いて、編集してました。
地図の時間では累計4000曲~聴いて選曲しているので、色々な曲を作品の中に見つけることができると思います。

世の中のサウンドクリエイター様のおかげです。
正式リリースの折には利用報告をさせていただきます。

地図の時間~言葉集めの冒険譚~ 仮設クレジットページ
http://fanblogs.jp/tabirpglab/archive/1411/0

次回作は自作曲で彩ります。
1/3夜にランダムBGMの追加、敵ヘイト機能をマージして、体験版を更新予定です。

体験版/ストアページ

1/2は1.1.8bを更新しました(1/3に1.1.8cとなる予定ですが・・・)。
DLSiteさんは差し替え申請中。
よろしければ。

Steam
https://store.steampowered.com/app/1184850/_/

1.1.8b
【追加】
次の感情スキルを追加
「ヘイト・エコー」仲間が戦闘不能になると確率で発生。攻撃力、魔法攻撃アップ、MP消費率1.5倍
「ハピネス・エコー」HPが低下した状態で仲間から回復を受けると確率で発生。回復スキルの効果アップ
感情スキル発生時に確率で同名の感情ワードを入手するように
体験版では換金要素

【修正】
・荒くれバンディットが透明なスキルを放つ珍事もとい不具合

【バランス調整】
・高速突き(短剣通常スキル)のTP効率を下方修正
・感情スキルの効果を調整
・属性攻撃を5の倍数回目で属性の霧が発生するように
 霧の発生前は予兆で粒子が発生

【改善】
・感情スキルの名称を表示するように
・感情スキルの専用アイコンを追加(効果持続中の目安)

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

kuro 2021/01/02 12:06

【422日目】2021/1/1 実装&デバッグ作業16/バトル改革

バトル改革、あと数時間で終わります。
まとまった時間、活かさない手はありません。

バトル改革

・属性の霧(追撃)


機能、仕様を刷新しました。

1.属性(炎、氷……闇)で一定回数攻撃すると粒子が発生(予兆)
2.粒子の次に属性で攻撃すると「~属性の霧」が発生し追撃ダメージ
3.確率で素材を入手

2は粒子のタイミングから狙えます。
敵の攻撃でも発生するので、先に狙う感じですね。

エフェクト凝りました。
カッコイイですよー。

・感情スキル(エコー)

ハピネス、ヘイトを新たに追加しました。
加えて、ブレイブ、アンガー、フィアーが発生した際に、確率で感情(素材)を入手。
戦うほど変化が生まれ強化への道筋が生まれます。

ハピネスは瀕死時に味方を回復した場合に発生
ヘイトはバトル中に戦闘不能になった場合に発生

多重にプラグインを入れている関係でどこに処理を入れるのが負荷が少ないか、パフォーマンスを見ながら調整してました。
ですので処理モリモリに見えますが、タブレットでも動作することを確認しています。

いずれも演出も本作の言葉探しに結び付けます。
属性は人の個性に根付く問題に関係していたり、感情はいわずもがな。

残り時間目一杯凝りますのでご期待ください。
上記チューニングが終わり次第、1/2中に体験版でも遊べるようにします。

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

1 2 3 4 5 6 7

月別アーカイブ

記事のタグから探す

記事を検索