別に意見をゴリ押ししたいわけじゃないんですが、補足的に書くと、
突入した時刻はコンテンツ内で持っています(あるいは計算可能)。コンテンツ残り時間がありますから。
申請した時のジョブが、ボーナスだったかどうかは持っていますが、個人の申請時間はもっていないんじゃないでしょうか。
なので、実装的には、突入時の方が楽だろうなとは思います。
たしか零式も突入時の判定でしたよね?
Printable View
普通に考えて30分もあればコンテンツクリアできるだろうと思って23:30にルレ申請して
初見の人が入ってきてBOSS戦で全滅繰り返す→0時を回る
自分も何度か経験したことがありますし、
そのたびにルレのボーナス判定は突入時の時間で決めてほしいって常思ってました。
特に、自分がタンクで進行する立場だと、
初見さん以外の二人のことを気にして、焦ってプレイが若干巻き気味になる
初見さんがヒラだと、なおさらそれが負担になる
こういう悪循環を避けるためにも、
落ち着いてやれるようにボーナス判定は突入時間にしてほしいと思います。
ちなみに、0時過ぎてしまった時に
「0時過ぎちゃったじゃん」って嫌味を言われたことがあります。
タンクと初見さんがいらぬ責任を感じることも無くなるので、
是非ご検討を・・・
仕様を変える場合、私はメモリ的には1~2bitのフラグ追加で可能なのではないかと見積もっています。どういうことかというと…
まず、ボーナスの権利が特定の時刻(この場合は0時)でリセットされる仕組みそれ自体を変えることはおそらく難しいでしょう。
だとすると、判定を突入時に変えるにせよ申請時に変えるにせよ、「突入or申請した時点でルーレットボーナスが残っていたか」というフラグは必要になると思います。
ただ、どうせそういったフラグを追加するなら、
・フラグあり&日付変更なし → ボーナス消化
・フラグなし&日付変更あり → ボーナス消化
・フラグなし&日付変更なし → ボーナスなし
・フラグあり&日付変更あり → ボーナスはつくがボーナスは消化しない(変更点)
という処理をすれば、今まで意図的に日付をまたぎながらクリアしていた人も含めて、誰も不利益を被らないのではないかと思います。
問題はどのように「日付変更があったか」を判定するかですが…。
まず突入時で判定する場合は、kuma-pandemoさんの言うように突入時間は保持されているはずなので簡単に判定できますね。
申請時点で判定する場合は、
「ルーレット申請時に0になり、日付変更時に1にリセットされるフラグ」(要はルーレットボーナスと同じような動きをするフラグ)を全ルーレット共通で1つ追加すれば実現できるように思います(このフラグが「1」なら「日付変更あり」と判定)。
ですので、メモリに関しては0bitではないにせよ、1~2bitで実装できるのではないかと思います。もちろん本当にこれが可能なのかは開発チームにしか分からないことですけど。
自分も以前から改善希望派です。
ただし気になるのはギリギリの駆け込みが、
申請に影響をどのくらい与えるのか?ですかね。
例えば、
ゴールドソーサーのミニくじだと
0時前には会場に人が沢山来てますが、
ルーレットでもボーナスフラグが、
23時59分までに取り敢えずシャキれば良いと、
申請が一気に混雑化してしまい、
申請はしたものの、
結局突入できず0時を跨いでしまう問題も出てきそうですね。
今もエキルレ待ちが多い時で30人待ちとかありますし、
これがもっと延びてしまわないか気になります。
不足ロールボーナスもデイリーボーナスも、申請時or突入時で統一してしまった方がシステム的に変えやすいのではないでしょうか?
『この時はこうだけど、こうなったらこう』みたいなのはその判定処理分スタッフが大変じゃないかな?
今回のパッチで、零式コンテンツ中に火曜の17時のリセット時間を迎えてしまっても
宝箱の権利は消失しないっていう修正が入りましたので、
理屈としてはそれと同じことをやってくれればいいんじゃないかと思いました。
「申請or突入時にボーナス権利があったら日付変更してもボーナス権利を消費しない」
「申請or突入時の状態でボーナス有無を判定」
の2案はどちらでも大して開発規模が変わらないことを解説する図を作ってみましたよ。
ただ、本題からは外れる上に長いので畳んでおきます。
まず現在行われているであろう処理。
https://img2.finalfantasyxiv.com/acc...c634c77174.gif
クリア時にボーナスの権利があればボーナス権利を消費してボーナスゲット。これはシンプルな処理です。
次に2つの案を並べてみます(赤字は追加および変更点)。
「フラグ」=「申請or突入時にルーレットボーナスの権利があった」、
「日付変更」=「申請or突入からクリアするまでの間に日付変更があった」という意味だと思ってください。
https://img2.finalfantasyxiv.com/acc...501f3690ae.jpg
変更規模にあまり違いがないことがわかってもらえるでしょうか。
確かに申請or突入時のフラグを使えば「ボーナス付与」はシンプルに処理できるでしょうけど、AlessaCrSyさんがイメージしているのはそこまでではないかなと。
デイリーという概念のない不足ロールボーナスとは異なり、こちらはボーナス権利を消費するかどうかを決めるために結局リセット(日付変更)があったかどうかの判定もする必要があるので「権利を消費しない案」とあまり規模が変わらなくなります。
もちろんプログラム処理の詳細は開発チームにしかわかりませんが、ボーナス判定はシンプルな作りをしているので、多分大ハズレはしていないと思います。
とはいえ零式の報酬処理と比べればどちらの案もずっとシンプルなので、やると決めればそんなに時間かからずに実装できるんじゃないかと期待しているんですけどね。
申請したタイミングで権利をどうのこうのする意見が多いけど
生活サイクルの都合上、コンテンツクリア時に0時を通過していてありがたいと思う人達がいるのも忘れないで欲しいです
単純に、
その日のボーナス権を「消化している」状態で日付を超えてクリアしたら翌日の消化
その日のボーナス権を「消化していない」状態で日付を超えてクリアしたら前日の消化
というわけにはいかないもんでしょうか?
開発ではないので素人意見で何ともですが、
エクセルのもし何々ならこう返すのように
IFのプログラムぐらい出来そうな気がするんですが・・・
この意見には賛成ですし、「ボーナス権が消滅しない処理は難しくないのでは」という方向性も(私が#27で書いたように)同じです、が…。
ちょっとその後の技術的なところが気になったので、IF文を書くだけでは済まないという説明をさせてもらいます(脱線につき畳みます)。
これをしようすると「日付変更のタイミングでボーナス権の有無を判定する」処理を走らせることになります。Quote:
その日のボーナス権を「消化している」状態で日付を超えてクリアしたら翌日の消化
その日のボーナス権を「消化していない」状態で日付を超えてクリアしたら前日の消化
でも思い出してください。日付変更したタイミングには、デイリーボーナスをリセットするプログラムも動きます。そしてリセット処理が走った後では、前日のボーナス権が残っているかどうかの判定ができなくなります。
つまり…この方法を取ろうとすると「ルーレットを回している全員分のボーナス権の判定が終わるまでリセット処理待たせる」必要が生じます。
この時点で「あ、単純じゃないかも」って気がしてきませんか?
実際にどの程度のディレイが発生するかはわかりませんが、単純な処理でも一点に集中させると無視できない影響が出ることがあるので、いずれにせよ慎重な設計と検証が必要になるはずです。
そんなわけで、タイマーで一斉に動く処理をサーバーに入れるのは結構手間がかかるのです。
念のため繰り返しますが、方法はともかく意見には賛成ですヨ:)
0時とか日付を跨ぐとか書かれていますが、このゲームがワールドワイドで展開されていることをお忘れではないでしょうか?
例え日本時間では0時を過ぎたり日付を跨ぐ時間帯だったとしても、時差のある別の国では同じ日付での時間ですよ。
この辺りの判定はどうするのでしょうか?DC毎に設定時間を変えるのでしょうか?
例えDC毎に時間を変えたとしても、そこに繋いでいるプレイヤーが全て同じ時間帯の国の方とは限りませんし...
日本時間だけで判断するのは、無理があるのではないでしょうか?