Re: 弾幕風バグ・要望スレ (ph)6スレ目 ( No.3 ) |
- 日時: 2015/01/05 00:35
- 名前: mkm
- すみません。
前スレ88から順に回答していきます。 >>1 まとめありがとうございます。 >>2 現状、調査できていません。
>>前88 Grn氏 >まず、グレイズ通知をアイテムスクリプトにも行くようにして頂きたいです。 .1 pre5で対応しました。
>それと、前に言っていた弾が消えた時の処理ですが、これをイベント通知で追加して頂きたいです >現時点でも アイテム化通知を使えば再現は可能ですが、自機撃墜時の弾消しや自然消滅系の弾等、アイテム化しない弾消滅への対応が厳しいので… .1 pre5で以下で対応しました。 ・弾動作カスタム用スクリプト(StartShotScript,ヘルプ:弾動作カスタムスクリプト) ・弾消し時イベント通知(SetShotDeleteEventEnable)
>そういえば、この関数ってアイテム化通知に対応して頂けるのでしょうか? 間隔ごとにイベント通知します。
>■追記 (9/9) > 陰陽玉のように敵オブジェクトに描画を合わせる時に便利そうなので > ObjRender_GetColor() ObjRender_GetAlpha() > ObjPrim_GetVertexColor() ObjPrim_GetVertexAlpha() 1頂点ごとに色をつけられるため、1つのオブジェクトは一意に色を保持していません。 そのため、現状オブジェクトに対する色は取得できません。 (どうせ全頂点同色のことが多いので、 1番目の色を取得するとかで実装できるかもしれません)
>■追記2 (9/11) > GetObjectDistance() 実行時に対象オブジェクトが消滅している場合に強制停止するようです ご指摘ありがとうございます。 対応しました。
>それと弾の残り遅延時間を取得する関数もできれば追加して頂けないでしょうか? .1 pre5で対応しました。(ObjShot_GetDelay)
|
Re: 弾幕風バグ・要望スレ (ph)6スレ目 ( No.4 ) |
- 日時: 2015/01/05 14:38
- 名前: gore
- お久しぶりです。と言おうとしたら同時に[.1 pre5]のリリースまで…。
お忙しい中、お疲れさまです。
ところで、あのー…。 本体の方はきちんとpre5になってるんですが リファレンスがwebとDL版の両方共、pre4のままっぽいです。
行き違いの可能性も否定できませんが、 一応報告した方がよろしいかと思いまして。
(両方ともページ内検索で弾動作カスタムスクリプトとか pre5の新ワードで調べてもノーヒットでしたので)
■追記(1/11) ボススクリプト内で複数のメッシュオブジェクトを作成し、 ObjMesh_SetCoordinate2Dでボスの座標に追従表示させていたのですが ブレンドモードが個別に指定出来ず、 最初に指定した種別で固定化されてしまっていました。
リファレンスを見ても、そういう仕様だと判る事は載っておらず バグの可能性も否定できないので、念の為報告。
|
Re: 弾幕風バグ・要望スレ (ph)6スレ目 ( No.5 ) |
- 日時: 2015/01/12 03:04
- 名前: mkm
- >>前89 gore氏
>色IDから8の倍数で余り算すると、追加したりした分だけ >計算対象に減算しないといけなくなって すみません。何の処理か意図を読み取れませんでした。
>■追記 >まれに起こる現象なのですが、エフェクトオブジェクトや弾オブジェクト・アイテムオブジェクトが >画面右方向(MoveAngleでいう0度)に吹き飛んでしまう事がありました。 エフェクトオブジェクトで、このような挙動が起きていることから、 なんらかの要因でメモリが破壊されている可能性が高いですが、 再現しないので修正できていません。 (シンプルな再現可能スクリプトが無いと厳しいです)
>■追記2 >弾幕風の自機の移動が右下優先の仕様になってるので、 以前指摘があったので修正済みです。 左右キーを押すと移動しなくなっていると思います。
>>90 名無し氏 >たくさん弾を出したり、エフェクトを多用したりすると、どうしても重くなってしまうのですが軽量化を行うことって可能ですか? 私の実力不足で重いです。 現状、軽くできません。
>>91 hzmms氏 >フェードアウトで消えた弾オブジェクトが数十フレーム程残ったままなのは仕様でしょうか 意図していなかったのですが、そのままとします。
>・二次元配列の代入の実装(修正?) > 代入しようとすると「"="が必要です」と出てきます 現状対応できていません。
>・EV_HIT での自機に当たった弾のオブジェクトIDの取得の実装 >弾オブジェクト(自機弾)のダメージを取得する関数を実装していただけないでしょうか 1 pre6で対応しました。
対応しました。
>>92 moon氏 >(追記)そういえば以前から気になっていたんですが、弾幕風では今後もC言語にあるようなcontinue文の実装はないのでしょうか あってもよさそうなのですが、なくても致命的ではないためなかなか実装できていません。
>>93 Drake氏 >弾が消える時の処理(SHOT_TO_ITEMのように?)イベントを実装して頂きたいです。 1 pre5で対応しました。
>>4 gore氏 >リファレンスがwebとDL版の両方共、pre4のままっぽいです。 ULし忘れていました。。
|
Re: 弾幕風バグ・要望スレ (ph)6スレ目 ( No.6 ) |
- 日時: 2015/01/12 09:51
- 名前: Grn
- 更新お疲れ様です。
更新されたばかりで申し訳無いのですが 弾動作カスタムに不具合が幾つかありました。
まず、@MainLoop 内の yield; が無効になっている為か アニメーション系の弾消滅エフェクトが使えません。
それと、ObjShot_SetDeleteFrame(); で削除された弾には 弾消滅イベントがどれも実行されていないようです… これを有効にして貰えないと、従来の重いやり方(指定フレーム待機してフェードさせるタスクを起動する方法)でしか 弾の途中消滅が出来ないのでミスでしたら早めに修正をお願いします。
できれば、弾の自然消滅時の処理(即座orフェードorアイテム)を設定する関数を実装して欲しいですね。(又は、それぞれの処理に時間設定型の関数実装) その関数で消滅のタイプ設定 → ObjShot_SetDeleteFrame(); で 設定に従って消滅する…という感じにしてもらえると助かります。
あと、個人的には敵弾の消え方に関わらず、敵弾が消えた時に 実行されるイベントがあると助かるので出来れば実装して 頂けないでしょうか…?
|
Re: 弾幕風バグ・要望スレ (ph)6スレ目 ( No.7 ) |
- 日時: 2015/01/12 10:31
- 名前: gore
- 更新お疲れ様です。
>>>前89 gore氏 >>色IDから8の倍数で余り算すると、追加したりした分だけ >>計算対象に減算しないといけなくなって
弾を消した時のエフェクト色(配列定義)を、弾の画像IDから算出しているためです。 現状では定義データから渡せる値は、画像IDと遅延色配列だけな為 弾画像の配置をフォーマットに基づいて連番で置いておく必要があり、計算の手間が生じています(あと重い) DelayColorの場合だと、どうしてもデフォの遅延光に影響を及ぼしてしまうので アイテム定義データの『Type』変数のような物を用意してくれると、お手軽になるんじゃないかなあと。
■エフェクト吹き飛びの件(>>2で追記済み)
ある程度ゲームが進んでエフェクトIDを回した時にしかこのバグは起きない為、 メモリ破壊の件は否定できませんが…。 しかし、マイクロスレッドを使用してバグの発生を完全に防げた所を見ると メモリが破壊されたのが直接の原因ではなさそうです。
実はこのバグ、最初は弾を消した時のユーザアイテムのデフォルト回収移動中に起きたのがきっかけで ソレをどうにかしようと自前で座標制御タスク組んだら、 今度はエフェクトにも吹き飛び被害が及び始めたという経歴だったりします。
たしかObjMoveで動かすオブジェクトは、 ObjRenderでも座標指定出来た筈なので 誘発原因はもしかしたら、RenderPositionとMovePositionの互換処理かも…?
また、SPRITE_2Dで作っていたエフェクトを PRIMITIVE_2Dに置き換えても抑制できたので 一度に作れるエフェクトの生成数に上限があるとしたら、あるいは…
いずれにしろ、現状では吹き飛び対策を開発していたゲームに施し終わってしまったため バグを再現できるScriptが手元にありません
今年もまだまだ開発作業はするつもりなので、その時になったら 最低限バグが発生するスクリプト単位にまとめてお渡しします。
|
Re: 弾幕風バグ・要望スレ (ph)6スレ目 ( No.8 ) |
- 日時: 2015/01/18 02:26
- 名前: mkm
- >>6 Grn氏
>まず、@MainLoop 内の yield; が無効になっている為か >アニメーション系の弾消滅エフェクトが使えません。 >それと、ObjShot_SetDeleteFrame(); で削除された弾には >弾消滅イベントがどれも実行されていないようです… .1 pre6aで修正しました。
>できれば、弾の自然消滅時の処理(即座orフェードorアイテム)を設定する関数を実装して欲しいですね。 このスクリプトには、 いわゆるデリゲートの仕組みがないため、現状では実装できません。
> あと、個人的には敵弾の消え方に関わらず、敵弾が消えた時に >実行されるイベントがあると助かるので出来れば実装して >頂けないでしょうか…? 最初は消え方の区別なく通知する仕組みにしようと思ったのですが、 画面外での削除を含むと、多量のイベントが通知されて重くなりそうだったので 個別に通知する仕組みしました。
>>7 gore氏 >弾を消した時のエフェクト色(配列定義)を、弾の画像IDから算出しているためです。 >現状では定義データから渡せる値は、画像IDと遅延色配列だけな為 >弾画像の配置をフォーマットに基づいて連番で置いておく必要があり、計算の手間が生じています(あと重い) >DelayColorの場合だと、どうしてもデフォの遅延光に影響を及ぼしてしまうので >アイテム定義データの『Type』変数のような物を用意してくれると、お手軽になるんじゃないかなあと。 8色あるので8の倍数ということだったんですね。 (「色IDから8の倍数で余り算すると、」の意味がわかっていませんでした)
>■エフェクト吹き飛びの件(>>2で追記済み) いろいろ調査ありがとうございます。
|
Re: 弾幕風バグ・要望スレ (ph)6スレ目 ( No.9 ) |
- 日時: 2015/01/18 17:54
- 名前: Grn
- 更新お疲れ様です。
更新されたばかりで申し訳ないのですが、少しだけ要望と確認があります…
@ リファレンスの EV_GRAZE の説明にアイテムスクリプトでも使用できることが 追加されていませんでした。追加をお願いします。
A リファレンスのファイル取り込みに上の階層の指定方法「../」が書かれていません。 大型スクリプトになると必須ですし、初心者が知らなかったりするので追加した方がいいかと思います。
B> 1頂点ごとに色をつけられるため、 > 1番目の色を取得するとかで実装できるかも 二次元配列を返す形で実装は出来ないでしょうか? 出来なければ、1番目の色を返す形でも十分使い道があるので実装をお願いします。
C このスレの1レス目の要望が一部回答されていないのですが どのような状態なのか、現状で良いので回答を貰いたいです。修正中で回答できない状態でしたらすみません。
|
Re: 弾幕風バグ・要望スレ (ph)6スレ目 ( No.10 ) |
- 日時: 2015/01/25 19:47
- 名前: mkm
- >C このスレの1レス目の要望が一部回答されていないのですが
すみません。 現状、前スレ93までしか回答できていません。 (あと海外の方からメールでバグ報告や要望をいただくので、その割り込みもあります。)
> どのような状態なのか、現状で良いので回答を貰いたいです。 現在対応済みでないものに関しては、調査/対応いずれも行えていません。
|
Re: 弾幕風バグ・要望スレ (ph)6スレ目 ( No.11 ) |
- 日時: 2015/01/31 15:57
- 名前: gore
- お忙しい中の実装作業お疲れ様です。
pre5からRenderToTextureA1の第4引数が機能するようになったんですね。 trueにしてもfalseにしても全く効果がなかったので、 ちょっと疑問視していましたが、これバグだったんですね。 更新内容に書かれていなかったので、余力がありましたら追記をお願いします
■リファレンス記載漏れ? ・ObjLaser_SetItemDistanceのデフォルトの間隔値が記載されていません。
■吹き飛びバグについて ゲーム内に置いてエフェクトを大量に生成していた箇所があったので、修正してみたところ マイクロスレッド制御をOFFにしても、吹き飛びバグが抑制されている事を確認しました。
誘発原因は間違いなく、エフェクトIDの大量使用によりメモリ領域が逼迫されたことによるメモリ破壊でしょう。 とは言え、根本的な原因は解決されていないため 処理落ちの要因が重なった時に、絶対にコレが起きないとも限りません。 当方の環境では64bitで大型スクリプトを作成しているのですが、他の環境ではエラー落ちが見受けられた為 恐らくこの一連の現象は、64bitのOS固有のモノなのではないかと考えています。 お忙しいのは重々承知ですが、引き続きそちらの方でも調査をお願いいたします。
|
Re: 弾幕風バグ・要望スレ (ph)6スレ目 ( No.12 ) |
- 日時: 2015/02/07 19:16
- 名前: Grn
- ファイル取り込みにバグがあるようです。
同じ階層のファイルを複数取り込もうとすると、偶にファイルを見つけてくれません。
"/script/th_data/scene/lib/lib_stagesetting.dnh"と "/script/th_data/scene/lib/lib_levelsetting.dnh"を [th_data]のスクリプトから取り込もうとしたときに
(#includeで置換するファイル[H:/th_dnh [.1 pre06a]/script/th_data/scene/lib/scene/lib/lib_levelsetting.dnh]が見つかりません) H:/th_dnh [.1 pre06a]/script/th_data/scene/lib/lib_stagesetting.dnh
このようにエラー表示が出ます。
#include"./scene/lib/lib_stagesetting.dnh" #include"./scene/lib/lib_levelsetting.dnh"
このように連続で使うと起きることがあります。 同じ組み方をしても起きる箇所と起きない箇所がありました。
また、include文の間を一行開けると起きなくなる箇所もありました。
エラー文の上の方、/scene/lib/ が繰り返されているので何処か読み取りの処理がおかしくなっているのかもしれません。 "lib_stagesetting.dnh" → "lib_levelsetting.dnh" の順に取り込んでいるので 「./」を "lib_stagesetting.dnh" からのパスと勘違いしているのかもしれません。 調査をお願いいたします。
|