You are viewing a single comment's thread from:

RE: Blockchain gaming, transparency, how you do not own your Stemmonsters cards - and the easy solution

in #steemmonsters7 years ago

This is all factually correct and I really appreciate you sharing this feedback and not only pointing out these issues but also taking time to build tools to help alleviate them. This is my first attempt at creating a decentralized, blockchain-based app and, in hindsight, I definitely would have done certain things differently. But there's nothing that's unfixable, and we are absolutely committed to doing things correctly, though we do have a number of different priorities to juggle.

I've thought about this issue considerably since it first came up many months ago, and I believe I have a good solution which we will hopefully have the time and resources to implement in the very near future.

The ability to gift packs is very important to the ecosystem and is not something we want to disable. Additionally, generating the cards at the time each pack is opened (causing typically a 5 - 10 second delay for each pack) is not an acceptable user experience.

Lastly, your suggestion of simply publishing the cards to the blockchain when the packs are opened would certainly be an improvement, but it isn't sufficient for someone to be able to independently recreate the full state of the cards based on the blockchain data. So it's more of a band-aid solution than a full, proper solution to the problem, and also adds a bunch of unnecessary data to the chain.

For a proper solution which satisfies the constraints above, I plan to create "pack tokens" which can be purchased, transferred, and then redeemed for an actual pack. Then the pack contents would be generated at the time the pack tokens are redeemed, and then the actual packs will no longer be able to be transferred.

When purchasing packs, players will have the option to purchase either packs (which will no longer be transferrable so can only be opened by the purchasing account) or pack tokens which they can transfer freely or redeem for actual packs which they can then open.

Players who have unopened packs from before this change is implemented will have the option to trade them in for pack tokens of the appropriate edition. This will allow players who purchased alpha edition packs before they sold out with the intention of reselling them later to do so, and since the contents of the pack will be generated at the time the tokens are redeemed there will be no issue of "peeking".

Finally, at the time this change is implemented we will also publish the full state of all of the cards in the game as of a specified block number to the chain using custom_json transactions. This will take quite a large number of transactions over a large number of blocks but it's doable and necessary to recreate the entire game state from the data on the blockchain. At that time we will also be able to publish the pack generation algorithm and then I believe all issues discussed here should be resolved.

Please let me know if you see any issues with this approach.

Sort:  

Sounds good! The opening of a pack from a token will then be logged by you, or require RC from the user?
How about reward cards?

Good question about the actual opening of the packs...ideally that would be purely a cosmetic thing and not require any type of logging or RC, but I need to think about that more.

I thought you might ask about reward cards...those don't come in packs so there's no issue there. The generation algorithm for those is published here: https://steemmonsters.com/?verify_rewards=1 you should be able to see the JS code in the page source.

Additionally, generating the cards at the time each pack is opened (causing typically a 5 - 10 second delay for each pack) is not an acceptable user experience.

I don't see this as a huge issue Matt, particularly if you could bulk open a specified number of packs in the same way as gifting.

I understand your best customers buy in bulk and don't wish to sit around waiting, but there are also a lot of us who have never bought more than 10/20 packs at once. If the opening process was 'jazzed' up a little, a wait of 5/10 seconds per pack, perhaps with an SM tip/latest news/tournament list presented during the process, would not seem so bad. We are used to waiting for games - those on 100% manual anyway.

Saying that, pack tokens as above seems like a suitable approach. Thanks!

I disagree, allot that buy packs like opening them 1 at a time. A 10 second delay between packs would be a major pain. I still think the best solution is to revert back the temp. fix and take the stance of, SM isn't responsible for 2nd hand pack sales. Buyers purchases them at own risk.

Fair enough.

Yes I think the point is fair about buying 2nd hand packs at your own risk, and see the opening --> blockchain more in relation to the 2nd point about everyone knowing your cards as they come to life.

I enjoy opening packs too! You could still do this one at at time, just if beforehand you were to select say 10 of the 20 you had in storage, these would be processed in the background while you were going through the process of unveiling each card. I'm not sure, but it sounds possible that following the delay of 3/5/10 seconds, the processing could be done while you open the first of your chosen number of packs to open, whilst the other 9 (in this example) are processed, and so no further 10 second waits as you move to the next pack.

You may be right. If it could be done as you said then the wait time will be a non issue imo. But if we have to wait up to 10 seconds between each pack opening I don't think many would like that. An initial 10 second wait to open up a set amount of packs isn't unreasonable.

Coin Marketplace

STEEM 0.09
TRX 0.31
JST 0.034
BTC 111300.77
ETH 3956.93
USDT 1.00
SBD 0.60