Pages:
Author

Topic: [IDEA] Bitcoin-Based Minecraft Economy (Read 6212 times)

sr. member
Activity: 247
Merit: 250
Cosmic Cubist
March 20, 2013, 07:41:26 PM
#23
Do any of the existing Bitcoin mods for Minecraft incorporate a new in-game object (that you can put into inventory, chests, etc.) that encapsulates a Bitcoin account (private key)?  That would be really cool because then you could give another player a payment using the 'Q' key, create buried treasure chests with Bitcoins in them, etc.  The image of it could look like a physical coin or wallet.

Ideally, the private key would be randomly generated when the object is created, and then value can be transmitted into it via the Bitcoin network...  Whoever possesses it can 'use' it which will pop up a dialog that allows them to send value from it to another account.
legendary
Activity: 2408
Merit: 1121
November 10, 2012, 07:04:45 PM
#22
Another game mechanic occurred to me - something akin to the Peter Molyneux game "Curiosity".

(Reference: http://www.ign.com/articles/2012/11/06/peter-molyneuxs-curiosity-now-available )

What if you had a special block type or some kind of constructed monolith that took 'n' hits to break? Then you'd have a way to control the rate of payoff, and if you were clever, could have some kind of analog to the "Curiosity Cube" where the center is the actual big payoff.

The center payoff could be calibrated to whatever function you'd like - perhaps more difficult if it was surrounded by lava or something hard to maneuver to, etc..

Just having a world where some of these things would be buried or half-exposed would be quite fun to explore.
newbie
Activity: 7
Merit: 0
November 09, 2012, 07:39:42 PM
#21
Hello everyone!

I’m joshburt the owner and operator of http://www.thebitmines.com 
(verification: http://www.thebitmines.com/joshburt.txt)

I’ve been lurking here for a long time but since I see my current project making it into this discussion I’d love to share the details with you all.  It’s my first take on a Bitcoin/Minecraft mash-up.  My consulting company is called Shape and Share LLC if you see it around.   It’s mission is to provide improvements to online entertainment software which is already in the wild.


It would be great if mining in Minecraft could correspond to real hashing.  This isn’t feasible given the difficulty of hashing though.  Bitcoin mining is moving away from CPU/GPU implementations all together.  As a note I’m also a bitcoin miner (who uses FPGA setups, and who is also patiently waiting on the ASIC pre-orders).  You get almost nothing for using CPU/GPU based mining and anyone who has better hardware won’t make enough from Minecraft bitcoin hashing for it to be worthwhile (it would even be faster to just use a straight mining application without Minecraft running).  You might be able to get close using a mining pool paradigm but you’ll need a Minecraft server which can handle thousands of concurrent users..  This is a different topic and the subject of my original interest in developing against Minecraft, databases, and server to server communications plugins way back in alpha. Smiley

You are absolutely correct, you do it all on the database end.  Smiley  The easiest way is to run a block change logger using mysql as the storage back-end.  I’ve written database based plugins a few times for Minecraft, but using an existing plugin has the advantage that it’s written and maintained by another group.  Also you aren’t logging all the changes twice this way (less load).

The claim information is updated when the logging plugin updates using a series of triggers and stored procedures.  It’s best to approach it this way in-case the 3rd party logging software changes its database schema (or you change logging plugins) – You can just change the way you feed the updates into the back-end system.

The leader boards are generated using scripts that run against the database and then publish to one of the web servers.

After that my financial server takes over and works against the database server and automatically interacts with the bitcoin deamon for handling of payouts.  This was important for me so that the process could be set to run more than once a day automatically if the server got more popular.



How to get payouts more frequently to players?  I really need help on this avenue.  How to give out just enough that there is money there to last until the next world reset.  I plan on refreshing the worlds about every 3 months and honestly want to give away all 50 bitcoins before its time to refresh each time.  Why 50?  That is what I was able to invest into bitcoin for this first round, and I wanted to ensure  that I had enough to cover all claims before starting the server.
   This seemed to fall into different areas:
1.   How to increase the number of bitcoin transactions (less than 0.01)?
Originally the system was written to always issue transactions to a player for every claim (block change) immediately, but I ran into issues automating this since the framework I’m currently using limits the minimum transaction to 0.01 and not a satoshi 0.00000001.  Very disappointing. Sad  I really wanted people to see a return for their time and effort sooner.  I had to go back and refactor the database and scripts to group claims and issue them at larger payout amounts.

2.   How to allow players to earn claims quicker without unbalancing the game play? 
I added additional bonuses for block types but this did not allow players to increase claim counts quick enough.  Next I went to concurrent player bonuses.  More players online – higher claim rates.  (Want to earn more, just get your friends to play with you). 
There’s the possibility of buyable ranks.  You could get higher claim build-up with higher ranks (The more you buy in  the more potential you have to earn).
Next I’m going to look into achievements or badges.  Once I figure out a good way to store this in the database I can update the leader boards to have player badges (visited the Nether, Killed the Enderdragon, etc).  The badges would come with direct bitcoin payouts or some lump sum of claims added to the user ledger and a fun icon next to the player name on the leader board.

So how to give out the bitcoin at a rate which will allow it to last 3 months with 20 concurrent players?
This is my first take on the system:
50 Bitcoins = 5000 bitcent payouts up for grabs.
1 payout = 1000000 claims (1 bitcent 0.01 / 1 satoshi 0.00000001)
You are expected to earn claims at a higher rate than 1 per block change with the in-game multipliers.
5000 payouts * 1000000 claims = 5000000000 total bit claims world-wide available for 3 months for all users.

There are a few ways in the game to process blocks quicker (McMMO skills, etc), but I don’t know how to enable the players to earn quicker without risking making it so easy as to be dominated by just a few obsessed players in a short amount of time.


Past Challenges:
How to associate a bitcoin address to a specific Minecraft user account, since you only really know a player is the player from within Minecraft (and sometimes not even then..).

Resolution:
The user had to be able to set a bitcoin address from within the game.  I wrote a small plugin that handles the database call to store the information for use on the financial side.  The validity of the address gets checked during the payout process and not when the user sets it.  I’d like to change this in the future.


Current Challenges:
How to notify the user in-game that a claim is credited or what their current ‘multiplier’ for claims is?
Possible Solution: I will probably start looking into Spout again as I’ve done server -> client side specific spout mods this way too.  I’ll have to look at both synchronous and asynchronous updates as I have concerns with both implementations.
Current Partial Solution:  Use of the leader boards on the website which get updated about every 2 minutes.




The Bitcoin based economy would be fantastic but there’s some specific reasons I did not implement it this way.  (Yes I could have done this).  There is a litcoin server in existence currently doing this by the way. (http://www.spendlitecoins.com/).  I suspect it’s just a web form you submit with an admin who uses a /give command in-game for currency.  Same with cashing out from the server.  I don’t know personally just making an educated guess.

The reasons I didn’t go this route, and thoughts on the subject:
1.   I don’t trust plugin code, and we’re talking about money here (i.e. iConomy’s ‘April Fools Joke’).  This is why I pulled all the calculations and payouts out of the game engine ENTIRELY (and ever off the same physical servers).  Minecraft in-general is too easy to exploit.
2.   You CAN use /give and it won’t break, but you need to account for this a head of time.  Not only would players have their own bitcoin wallets, but the server would too (which you would fill before going live).  You handle insufficient fund errors, etc at the layer that interacts with the bitcoin deamon.  I’ve already had to address this in my current deployment.  Additionally you have to ensure that in-game currency totals ALWAYS match actual back-end ledgers and this seems error proned (unless your ingame money is the only ledger – see item 1).
3.   Player’s have money sitting in your system.  My implementation only risks my own money and ‘theoretical’ claims to the money.  Since Bitcoin vendors are a prime target for hacks it seemed unwise to risk player money like this for Minecraft.
4.   Having the ability for players to give each other money in-game, (usable outside the game) also opens up the question of gambling.  Since online gambling is illegal for *almost* everyone care needs to be taken on how Bitcoin integration is implemented.



Other routes I investigated to fit Bitcoin into Minecraft:
1.    Assign each block it’s own bitcoin address.  Money could be sent to specific blocks in the game world (before going live) and users would get the funds transferred to their user address when they claim the block.  In this scenario each block would *really* have value and provides incentive to claim and control land.  Some areas of land could have greater value (or none at all), or anyone could send bitcoin to blocks in-game which could be crazy cool. Wink etc..  The minimum payment issue comes up again though unless the blocks are loaded with 1 satoshi or more.  This has probably been my favorite approach and I’ll probably look into it again for the second round.
2.   Don’t actually put player money into a hosted wallet but allow for a payment system in-game.  The economy and user-interface would be updated to allow the user to issue payments and we’d process them during the in-game “trades”.  I’d look into bitpay and call their API to accomplish it.  The issue here is that players will have to copy and paste constantly to do what the game should be handling for them since they’d be working with their external wallet application while playing Minecraft.

I’m also trying to stir up as much interest and suggestions on this as I can.  I’ve put an ad up on /r/minecraft (on reddit) for the weekend (and bitcoinfriday)
in the hopes that we can see more useful ideas.  My vision wasn’t just around a single server but as a way for players to move their “progress” from SMP server to server, or to entirely different games or markets.  I’ve suggested that Buycraft support it (but haven’t gotten any positive feedback yet on it) as this would make it much easier for the Minecraft SMP community at large to start thinking about Bitcoin.

You play for a while and accumulate some “progress” and then turn around and buy ranks, items, or memberships on other servers or games when you want to move on.  The benefit being keeping “progress” and being able to purchase or donate to other servers without needed a credit card, etc.


Anyway if you read this far thank you.  I’ve been deep in this for a while now and I hope to see others start adding this to their servers and other games too.
Cheers!



legendary
Activity: 1400
Merit: 1005
November 09, 2012, 03:19:26 AM
#20
I always thought it would be amusing to have Minecraft mining be linked to bitcoin mining - even if it was somewhat superficial. Just the fun of the actual game and some of the practical benefits of bitcoin joined together would amuse me.
I could absolutely do this with my server the way I have it set up.  We're already tracking each block mined in a mysql database as it is, so paying like 10 satoshis per block mined or placed (/give doesn't matter) is absolutely feasible and would probably be fairly easy.  I think I'll start working on this.  It'd be a good way to get people to use Bitcoins, and as an added bonus, more people are interested in playing on the server!
hero member
Activity: 532
Merit: 500
November 09, 2012, 02:46:14 AM
#19
Anybody with access to the "/give" command should automatically have their name forcefully and permanently changed to Ben Bernanke.

Also, anyone looked at this?

http://www.thebitmines.com/the-bit-mines-shop/

Somewhat similar, but not the same.
b!z
legendary
Activity: 1582
Merit: 1010
November 06, 2012, 08:54:46 AM
#18
I always thought it would be amusing to have Minecraft mining be linked to bitcoin mining - even if it was somewhat superficial. Just the fun of the actual game and some of the practical benefits of bitcoin joined together would amuse me.

Perhaps you could set up some kind of intermediary, where you have an existing pool of bitcoins held - and it distributes fractions based on some kind of probability linked to a game metric. Although people are correct you couldn't make it directly related to block creation/destruction since the system is so open in that regard.

I'd play a variation on this in a second if it existed.

Hmm was thinking more on this --- what about an actual bitcoin BLOCK, and only a few get seeded in the world? Not sure how you'd get around people trying to use cartography apps to map out block layers though...

Interesting concept, I'd play this as well.
legendary
Activity: 2408
Merit: 1121
November 05, 2012, 09:50:02 PM
#17
I always thought it would be amusing to have Minecraft mining be linked to bitcoin mining - even if it was somewhat superficial. Just the fun of the actual game and some of the practical benefits of bitcoin joined together would amuse me.

Perhaps you could set up some kind of intermediary, where you have an existing pool of bitcoins held - and it distributes fractions based on some kind of probability linked to a game metric. Although people are correct you couldn't make it directly related to block creation/destruction since the system is so open in that regard.

I'd play a variation on this in a second if it existed.

Hmm was thinking more on this --- what about an actual bitcoin BLOCK, and only a few get seeded in the world? Not sure how you'd get around people trying to use cartography apps to map out block layers though...
sr. member
Activity: 420
Merit: 250
November 05, 2012, 09:32:12 PM
#16
right - make the game client mine at your server/pool then set the exchange rates according to profitability...
member
Activity: 107
Merit: 10
https://bt.cx
June 24, 2012, 10:25:51 AM
#15
yeah, each time you mine a block in minecraft, the server send you a share to solve.. if you use nanobitcoin in the game, it's still a fair chance to earn some value within the game.
legendary
Activity: 2618
Merit: 1006
June 28, 2011, 10:10:44 AM
#14
Would take quite some time - even with diff-1 share pools.

edit:
Maybe make it solve a share (which can be easily confirmed) before being able to mine a block in Minecraft? Might take a quite few seconds each, depending how fast your GPU is.
legendary
Activity: 1500
Merit: 1021
I advocate the Zeitgeist Movement & Venus Project.
June 28, 2011, 08:28:40 AM
#13
Someone should make a mod that executes a hash attempt every time you mine a block.
legendary
Activity: 2618
Merit: 1006
June 28, 2011, 07:51:44 AM
#12
I'm not really into minecraft - but is it possible to "on-the-fly" generate ressources in the world there at random places for a server operator?

As I don't know about currencies etc., I'll just assume there exists "gold" as in nearly every computer game! Wink

Could it be possible to create a server that has 0 gold nuggets/blocks in the whole "world" but if someone donates 10 Satoshis, 9 units of gold are randomly created on the fly anywhere in the world which can be traded at the operator for 1 Satoshi each (the 10th goes to the server owner for upkeep).

This would mean you would really have to MINE for coins in this game...


Combined with my suggestion of using Mining shares as micropayments, the operator could even set up a pool (or proxy-pool, depending on how many users he/she has) and create gold pieces according to the current value of valid shares submitted. This would mean you mine bitcoins which then can be mined (+ claimed) in Minecraft.
legendary
Activity: 1500
Merit: 1021
I advocate the Zeitgeist Movement & Venus Project.
June 27, 2011, 11:58:05 PM
#11
Notch at least seems like the type of guy we may be able to convince to accept bitcoins as a form of Payment for minecraft.

I agree. Exchanging a finite currency for functionally infinite virtual goods doesn't seem like a good idea.
sr. member
Activity: 280
Merit: 252
June 27, 2011, 09:26:37 PM
#10
Notch at least seems like the type of guy we may be able to convince to accept bitcoins as a form of Payment for minecraft.
legendary
Activity: 882
Merit: 1001
legendary
Activity: 882
Merit: 1001
June 27, 2011, 05:10:14 PM
#8
offtopic: what about a minecraft server for bitcoin users?
We would probably need about 50$ per month, I can get 10 of it (in bitcoins).
I believe this was discussed in another thread, but I'm not sure if it ever got anywhere. I do have an extra 4GB Ram VPS I could use if your interested, but I'd want to at least make some of my money back. Maybe users would pay a small bitcoin fee to get whitelisted? It would be like a pay2play bitcoin server.
newbie
Activity: 52
Merit: 0
June 27, 2011, 03:56:00 AM
#7
offtopic: what about a minecraft server for bitcoin users?
We would probably need about 50$ per month, I can get 10 of it (in bitcoins).
member
Activity: 70
Merit: 10
I want to feel your empty heart.
June 27, 2011, 03:02:27 AM
#6
You would trade your resources(diamonds, gold, iron etc.) for Bitcoins. It actualy works in Entropia Universe so why not in Minecraft?

Does anyone use the shops plugin on their server? Seems like you could implement Bitcoin easily within the infrastructure of the money system used with that plugin. If you haven't used it, basically, someone sets up a shop and people are able to buy things from it. You can even advertise it and all sorts of good stuff. I'd think having a way to use bitcoins to fund your 'money' account to purchase the goods from the shops would be pretty cool.

Why hasn't someone done this yet actually? Might be fun. You could have people completing jobs for bitcoin and all sorts of other uses I could think of for Minecraft. It seems like they were made for each other.
member
Activity: 70
Merit: 10
June 24, 2011, 07:08:31 PM
#5
You would trade your resources(diamonds, gold, iron etc.) for Bitcoins. It actualy works in Entropia Universe so why not in Minecraft?

Because you are getting something with nothing put into the market.  Say I join the server, mine and cash out.  I have contributed nothing to your operating expenses, etc.  So either you end up in the negative or ingame assets are worth next to nothing.

Entropia Universe gets around this by basically making you pay to do anything.  You have to pay to level up weapons, pay to get decent gear to hunt, etc.  Then theoretically you can get money out of the system by selling off goods you produce.  I haven't bothered looking at it since like 2004-2005 but the general premise probably hasn't changed.

What you could do is offer to give players resources for btc.  But the other direction is a risky move unless the entire system is designed to work that way.
legendary
Activity: 2058
Merit: 1431
June 24, 2011, 04:57:10 PM
#4
"/give" breaks this system entirely
Pages:
Jump to: