2月は短い!・・・
というわけで今月の更新です。
リトライは一旦延期
アクティブシーンのリトライ機能を作ろうと思っていたのですが、実装の大変さもそうなのですがサーバー側負担が思ったよりも悩ましかったので一旦諦めました。
一時的に保存しておきリセットするのはクエスト中の一時取得とかと似たようなものなのでさくっとできないかなーと思っていたのですが、一時取得よりもややこしい(キャラクター、スキル、アイテム、変数、ボードの状況と巻き戻すものの種類が多かった)。。
クエスト中の一時取得
さて、(少し関連して?)クエスト中の一時取得について仕様がややこしい&少し修正したので共有させてください!
現在、クエスト中に取得したりするアイテム、スキルは一時取得と呼んでおり、最大個数が50に設定されています。
(若干少なめに設定していますが、制限は後から緩くするのは簡単だけども厳しくするのは難しい場合があるのでまずは控えめな値を設定するのを心がけています)
(あ、そもそもなんで物事に最大数が設定されているかは保存や通信にはコストがかかってしまうからです。。サーバー費を眺めては辛い気持ちになりがち。。)
また、少しややこしいのですが、スキルは所持数(取得後に削除した場合は個数を数えない)、アイテムは累計所持数(取得後に削除した場合も個数を数える)になっています。(この仕様の違いはスキルとアイテムのデータ構造の違いが起因しています。。)
最大個数を超えると取得できない&エラー通知などがないので、「よくわからないけど取得できない」というやさしくない挙動になってしまっていたので、なんとかできないかと思っていましたので、少し作業をしていました。
今回、その現状が少し起こりにくくするために、消耗品アイテムを使用したアイテムはデータベース上からも削除して、所持数判定に数えないようにしました。
ただ、コマンドで失わせたりやショップで売却した場合は、その後に改めてIDを使った操作をする場合があるので、データベース上から削除はされていません。。
このあたり、データとして残す必要がない場合が大半なはずなので、コマンドや売却でデータベース自体から消せるようなオプションをつけたり、あとは最大個数を超えていた時はアラートを表示するようにしたり、もう少しわかりやすくできればと思っています。。
関連
ローカルアイテム(シナリオ内で定義したアイテム)というよりは、一次取得アイテム(ローカルアイテムも基本アイテムも含めてシナリオ中に取得したアイテム)の最大値が50になっています。
— questnotes (@questnotes) 2023年1月31日
スキル...
続き→https://t.co/5kpcNsApnG#マシュマロを投げ合おう
以上、少し作業を進めていた部分についての共有でした!
また来月!・・・