I'm currently working on creating a gacha system using drop tables and bundles in PlayFab. However, I'm encountering several issues, particularly with rapid request bugs and errors where items are still dispensed even when errors occur. This has made it difficult to develop the system as I intend.
Here’s what I’ve done so far:
I have 20 unique "unit card" items which are permanent and can be stacked. I’ve created 60 bundles containing 1, 3, and 9 cards respectively. I've established drop tables for these bundles and devised a 10-pull gacha bundle, which includes 10 drop tables. This setup is meant to operate a feature where 10 gachas are pulled at once. Although it functionally awards items randomly as desired, it requires significant response time and frequently encounters errors, particularly when multiple rapid requests are made. When using Azure Cloud Script to grant items through the "grant" command, it sometimes responds with an error but still dispenses some items. Furthermore, even when client-side code triggers a bundle purchase and errors occur, no currency is deducted, no transaction history is logged, yet items are still awarded—these are critical issues that shouldn't happen with in-game transactions.
I am considering simply using the drop table to directly award items in Cloud Script, but this approach also lacks the capability to handle 10 requests at once without significant delays and performance issues.
Could you advise on a more stable method to randomly award multiple items in a gacha system? Any insights or suggestions would be greatly appreciated!
Thank you!