Blockchains should be designed like massively multiplayer games by dantheman

View this thread on steempeak.com
· @dantheman ·
$87.23
Blockchains should be designed like massively multiplayer games
<center>http://bnetcmsus-a.akamaihd.net/cms/carousel_header/mh/MH9P7Z20FPCN1490305916565.jpg</center>

In my previous article I made a case about why general purpose blockchains shouldn’t use the UTXO transaction model. Now I will make the case that blockchains should not store state in transactions and I will do so by borrowing lessons learned from massively multiplayer online games.

If you think about it, every multiplayer online game is a consensus engine. All players need to reach consensus on the state of the game world. Game designers determined long ago that the game state is too large to synchronize to all players efficiently.  Instead, what game developers do is generate a deterministic engine and then communicate player inputs. Assuming all players agree on the order of events, everyone knows exactly who won and who lost. With this log of events it is possible to make a complete and accurate replay of the entire game.

Imagine playing Star Craft on a blockchain.  Users would generate transactions for every command they issue to their units.  These transactions would get aggregated by a server which would determine the global order, then this block of actions would be distributed to all players which would then have their state synchronized.  

Obviously 3 second block times would impact the game play, but in theory block times could be reduced to 20ms if there was only a single block producer.  

## Small Actions can create Large State Changes
A single user action that directs all units to attack an enemy base can result in endless state changes as the units move, attack, and kill each other.  Assuming there are 1000’s of units, each moving 30 times per second, we are talking about tens of megabytes of state changes all triggered by a single user action requiring less than 1KB.  

From a system architecture perspective, it just isn’t practical to directly synchronize state as doing so would dramatically hinder overall framerates and potentially render the game unplayable on low bandwidth connections.

Whether the game is Star Craft or a financial system, the software design patterns and architecture are largely the same.  In both cases you need to prevent cheating and ensure that all players see the same state of the world. The only extra step required by blockchains is that every user action be cryptographically signed so that independent 3rd parties can audit the game and ensure the server isn’t cheating. This extra step of signature verification is completely independent of the game rules (business logic) and can also be performed in parallel.

## Predictive Rendering
Games like to give users an experience that is smooth and free of latency. To do this they predict the state based upon the inputs they have received directly from other players. Eventually the client gets an official update from the server.  When this happens the predicted state is replaced with the actual state plus any new predicted state.

This is exactly what happens when you view the blockchain state inclusive of unconfirmed transactions.  The next time a block comes in, the unconfirmed state is reverted, the official actions are applied, and any remaining unconfirmed actions are applied on top of that. 

## Conclusion
The blockchain industry is largely deluded into thinking they are solving new problems, when in reality almost everything a blockchain needs to do has been known for decades by game developers. The only thing new in a blockchain is that all user actions are signed and that there are multiple servers that take turns including actions into the official log.  Most of the blockchain-specific technology and consensus systems (whether POS, DPOS, POW, or something else) is completely independent of the already established designed patterns that have been proven to scale for massively multiplayer online games.  

Blockchains should be designed as a log of user actions combined with deterministic logic for generating state, not a log of state changes.
πŸ‘  , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , and 1170 others
πŸ‘Ž  , , , , , , , , , , , , , , , , , , ,
properties (23)
post_id2,261,175
authordantheman
permlinkblockchains-should-be-designed-like-massively-multiplayer-games
categoryblockchain
json_metadata"{"app": "steemit/0.1", "format": "markdown", "image": ["http://bnetcmsus-a.akamaihd.net/cms/carousel_header/mh/MH9P7Z20FPCN1490305916565.jpg"], "tags": ["blockchain", "games"]}"
created2017-03-26 21:18:33
last_update2017-03-26 21:18:33
depth0
children58
net_rshares33,076,890,015,751
last_payout2017-04-27 01:39:54
cashout_time1969-12-31 23:59:59
total_payout_value85.664 SBD
curator_payout_value1.562 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length4,014
author_reputation240,497,801,758,545
root_title"Blockchains should be designed like massively multiplayer games"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
author_curate_reward""
vote details (1254)
@endgame ·
properties (23)
post_id2,261,195
authorendgame
permlinkre-dantheman-blockchains-should-be-designed-like-massively-multiplayer-games-20170326t212105847z
categoryblockchain
json_metadata"{"app": "steemit/0.1", "tags": ["blockchain"]}"
created2017-03-26 21:21:06
last_update2017-03-26 21:21:06
depth1
children0
net_rshares-4,120,567,309
last_payout2017-04-27 01:39:54
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length2
author_reputation-1,049,810,980,865
root_title"Blockchains should be designed like massively multiplayer games"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
author_curate_reward""
vote details (7)
@clayboyn ·
$0.03
Blockchain is the gimick, decentralized distributed ledger technology is why crypto is relevant.
πŸ‘  ,
πŸ‘Ž  
properties (23)
post_id2,261,204
authorclayboyn
permlinkre-dantheman-blockchains-should-be-designed-like-massively-multiplayer-games-20170326t212252816z
categoryblockchain
json_metadata"{"app": "steemit/0.1", "tags": ["blockchain"]}"
created2017-03-26 21:22:48
last_update2017-03-26 21:22:48
depth1
children1
net_rshares62,649,894,532
last_payout2017-04-27 01:39:54
cashout_time1969-12-31 23:59:59
total_payout_value0.024 SBD
curator_payout_value0.001 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length96
author_reputation120,843,201,416,812
root_title"Blockchains should be designed like massively multiplayer games"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
author_curate_reward""
vote details (3)
@clayboyn ·
If only there was a content creation platform that was decentralized.
πŸ‘  ,
πŸ‘Ž  
properties (23)
post_id2,261,236
authorclayboyn
permlinkre-clayboyn-re-dantheman-blockchains-should-be-designed-like-massively-multiplayer-games-20170326t212622056z
categoryblockchain
json_metadata"{"app": "steemit/0.1", "tags": ["blockchain"]}"
created2017-03-26 21:26:18
last_update2017-03-26 21:26:18
depth2
children0
net_rshares13,672,707,727
last_payout2017-04-27 01:39:54
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length69
author_reputation120,843,201,416,812
root_title"Blockchains should be designed like massively multiplayer games"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
author_curate_reward""
vote details (3)
@faddat · (edited)
$0.88
@dantheman

I love it when you type words into the computar and say stuff.  Really it tends to be quite epic.  

Do you have any thoughts on this lil fella here?  

https://github.com/metacurrency/holochain

And..... Any chance we can get a diagram on the type of MMORPG config you are describing.  

May the chain be with you.

BTW-- I intend to reflect on:

Blockchains should be designed as a log of user actions combined with deterministic logic for generating state, not a log of state changes.
πŸ‘  , , , , , , , ,
πŸ‘Ž  
properties (23)
post_id2,261,216
authorfaddat
permlinkre-dantheman-blockchains-should-be-designed-like-massively-multiplayer-games-20170326t212404809z
categoryblockchain
json_metadata"{"app": "steemit/0.1", "users": ["dantheman"], "links": ["https://github.com/metacurrency/holochain"], "tags": ["blockchain"]}"
created2017-03-26 21:24:06
last_update2017-03-26 21:53:12
depth1
children0
net_rshares1,492,452,926,327
last_payout2017-04-27 01:39:54
cashout_time1969-12-31 23:59:59
total_payout_value0.667 SBD
curator_payout_value0.215 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length499
author_reputation36,587,550,369,900
root_title"Blockchains should be designed like massively multiplayer games"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
author_curate_reward""
vote details (10)
@cryptofunk ·
$0.19
Which blockchains do you think do this best apart from Graphene based blockchains?
πŸ‘  , , ,
πŸ‘Ž  
properties (23)
post_id2,261,248
authorcryptofunk
permlinkre-dantheman-blockchains-should-be-designed-like-massively-multiplayer-games-20170326t212707691z
categoryblockchain
json_metadata"{"app": "steemit/0.1", "tags": ["blockchain"]}"
created2017-03-26 21:27:09
last_update2017-03-26 21:27:09
depth1
children3
net_rshares398,427,919,223
last_payout2017-04-27 01:39:54
cashout_time1969-12-31 23:59:59
total_payout_value0.142 SBD
curator_payout_value0.045 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length82
author_reputation21,989,847,737,535
root_title"Blockchains should be designed like massively multiplayer games"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
author_curate_reward""
vote details (5)
@dantheman ·
Most things that are not UTXO based are closer to this model than those that are UTXO based.  Still, they all attempt to overly define state by including the hash of the state in the block headers and making changes to state representation consensus-breaking.
πŸ‘  , , , , , ,
πŸ‘Ž  , ,
properties (23)
post_id2,261,283
authordantheman
permlinkre-cryptofunk-re-dantheman-blockchains-should-be-designed-like-massively-multiplayer-games-20170326t213049717z
categoryblockchain
json_metadata"{"app": "steemit/0.1", "tags": ["blockchain"]}"
created2017-03-26 21:30:48
last_update2017-03-26 21:30:48
depth2
children2
net_rshares-14,839,719,462,776
last_payout2017-04-27 01:39:54
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length259
author_reputation240,497,801,758,545
root_title"Blockchains should be designed like massively multiplayer games"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
author_curate_reward""
vote details (10)
@stellabelle ·
$0.14
damn, i wish i could understand.
πŸ‘  , ,
properties (23)
post_id2,262,627
authorstellabelle
permlinkre-dantheman-re-cryptofunk-re-dantheman-blockchains-should-be-designed-like-massively-multiplayer-games-20170327t004716650z
categoryblockchain
json_metadata"{"app": "steemit/0.1", "tags": ["blockchain"]}"
created2017-03-27 00:47:15
last_update2017-03-27 00:47:15
depth3
children1
net_rshares299,945,966,556
last_payout2017-04-27 01:39:54
cashout_time1969-12-31 23:59:59
total_payout_value0.104 SBD
curator_payout_value0.034 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length32
author_reputation436,515,832,240,166
root_title"Blockchains should be designed like massively multiplayer games"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
author_curate_reward""
vote details (3)
@inertia ·
$0.14
Isn't it great to be able to post whatever you want without people saying, "Oh no!  STEEM is going **MMORPGORZ***!!!*"
πŸ‘  , , , , , , , , , , , ,
properties (23)
post_id2,261,279
authorinertia
permlinkre-dantheman-blockchains-should-be-designed-like-massively-multiplayer-games-20170326t213002474z
categoryblockchain
json_metadata"{"app": "steemit/0.1", "tags": ["blockchain"]}"
created2017-03-26 21:30:03
last_update2017-03-26 21:30:03
depth1
children1
net_rshares308,720,553,366
last_payout2017-04-27 01:39:54
cashout_time1969-12-31 23:59:59
total_payout_value0.113 SBD
curator_payout_value0.028 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length118
author_reputation227,335,189,892,062
root_title"Blockchains should be designed like massively multiplayer games"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
author_curate_reward""
vote details (13)
@ubg ·
http://i.imgur.com/Fa6ue8k.jpg
properties (22)
post_id2,266,043
authorubg
permlinkre-inertia-re-dantheman-blockchains-should-be-designed-like-massively-multiplayer-games-20170327t110145862z
categoryblockchain
json_metadata"{"app": "steemit/0.1", "image": ["http://i.imgur.com/Fa6ue8k.jpg"], "tags": ["blockchain"]}"
created2017-03-27 11:01:39
last_update2017-03-27 11:01:39
depth2
children0
net_rshares0
last_payout2017-04-27 01:39:54
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length30
author_reputation4,960,843,831,430
root_title"Blockchains should be designed like massively multiplayer games"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
@builderofcastles ·
$0.05
With an blockchain based MMORPG you would really need to store the state every once in a while.  Sure you can work out all the state changes, but that gets longer and longer each day you play.

So, the blockchain would need a state stored every day or every hour, or the game would need to have designed into it a sleep / camp state where all things are reset.
πŸ‘  
properties (23)
post_id2,261,317
authorbuilderofcastles
permlinkre-dantheman-blockchains-should-be-designed-like-massively-multiplayer-games-20170326t213211958z
categoryblockchain
json_metadata"{"app": "steemit/0.1", "tags": ["blockchain"]}"
created2017-03-26 21:35:39
last_update2017-03-26 21:35:39
depth1
children4
net_rshares104,039,972,557
last_payout2017-04-27 01:39:54
cashout_time1969-12-31 23:59:59
total_payout_value0.034 SBD
curator_payout_value0.011 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length360
author_reputation24,673,014,968,805
root_title"Blockchains should be designed like massively multiplayer games"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
author_curate_reward""
vote details (1)
@dan ·
$0.05
No it wouldn't need to be included in the chain.  You are talking about a snapshot of the shared memory file.
πŸ‘  ,
properties (23)
post_id2,261,401
authordan
permlinkre-builderofcastles-re-dantheman-blockchains-should-be-designed-like-massively-multiplayer-games-20170326t214533738z
categoryblockchain
json_metadata"{"app": "steemit/0.1", "tags": ["blockchain"]}"
created2017-03-26 21:45:33
last_update2017-03-26 21:45:33
depth2
children2
net_rshares108,893,049,629
last_payout2017-04-27 01:39:54
cashout_time1969-12-31 23:59:59
total_payout_value0.043 SBD
curator_payout_value0.004 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length109
author_reputation99,235,409,613,209
root_title"Blockchains should be designed like massively multiplayer games"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
author_curate_reward""
vote details (2)
@alexpmorris · (edited)
$0.20
well I'll be, there's the LMAX / Chronicle Queue "motif" again, known and understood long before it was openly "published", by at least a few of us who've been "around the block" programming-wise.  Must be why I repeatedly find myself so impressed with the work you've all done and how far you've managed to take it.

https://groups.google.com/forum/#!topic/java-chronicle/WlYKeP1FrsM
πŸ‘  , , , ,
properties (23)
post_id2,261,694
authoralexpmorris
permlinkre-dan-re-builderofcastles-re-dantheman-blockchains-should-be-designed-like-massively-multiplayer-games-20170326t222316667z
categoryblockchain
json_metadata"{"app": "steemit/0.1", "links": ["https://groups.google.com/forum/#!topic/java-chronicle/WlYKeP1FrsM"], "tags": ["blockchain"]}"
created2017-03-26 22:23:15
last_update2017-03-26 22:24:39
depth3
children1
net_rshares419,628,230,996
last_payout2017-04-27 01:39:54
cashout_time1969-12-31 23:59:59
total_payout_value0.158 SBD
curator_payout_value0.041 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length384
author_reputation32,029,897,993,437
root_title"Blockchains should be designed like massively multiplayer games"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
author_curate_reward""
vote details (5)
@baah ·
>Blockchains should be designed as a log of user actions combined with deterministic logic for generating state, not a log of state changes.

That makes sense, why log something that is the engine+gameworld which is static, I don't understand how or why you reason that the state needs to be stored at such an interval when it could run in the back of the user actions like dan concluded, independent of them and it would be validated for consistency.
properties (22)
post_id2,262,249
authorbaah
permlinkre-builderofcastles-re-dantheman-blockchains-should-be-designed-like-massively-multiplayer-games-20170326t234657802z
categoryblockchain
json_metadata"{"app": "steemit/0.1", "tags": ["blockchain"]}"
created2017-03-26 23:47:09
last_update2017-03-26 23:47:09
depth2
children0
net_rshares0
last_payout2017-04-27 01:39:54
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length451
author_reputation12,429,236,291,513
root_title"Blockchains should be designed like massively multiplayer games"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
@inber ·
That's an idea, by the way:)
properties (22)
post_id2,261,358
authorinber
permlinkre-dantheman-blockchains-should-be-designed-like-massively-multiplayer-games-20170326t214017633z
categoryblockchain
json_metadata"{"app": "steemit/0.1", "tags": ["blockchain"]}"
created2017-03-26 21:40:18
last_update2017-03-26 21:40:18
depth1
children0
net_rshares0
last_payout2017-04-27 01:39:54
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length28
author_reputation321,942,103,844,454
root_title"Blockchains should be designed like massively multiplayer games"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
@bryan-imhoff ·
$0.05
While I get the gist, the tech is definitely over my head! The title definitely drew me in  because I've always felt that playing MMOs prepared me for the land of Steemit. I always favored the challenge of PvP based action so the politics of Steem seem more normal, getting a big flag is just like getting "ganked" by a high level and your corpse looted clean. Oh well, just keep grinding levels!
πŸ‘  ,
properties (23)
post_id2,261,550
authorbryan-imhoff
permlinkre-dantheman-blockchains-should-be-designed-like-massively-multiplayer-games-20170326t220204189z
categoryblockchain
json_metadata"{"app": "steemit/0.1", "tags": ["blockchain"]}"
created2017-03-26 22:02:03
last_update2017-03-26 22:02:03
depth1
children0
net_rshares113,846,098,466
last_payout2017-04-27 01:39:54
cashout_time1969-12-31 23:59:59
total_payout_value0.037 SBD
curator_payout_value0.012 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length396
author_reputation40,220,220,244,131
root_title"Blockchains should be designed like massively multiplayer games"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
author_curate_reward""
vote details (2)
@gomeravibz · (edited)
$1.04
Hey @dantheman, so great to have these explanations from you, so clear and simply put !! Your vision must be headed and i am sure it is !! Consensus is All !! great to have you posting more than ever here now ) steem On )
πŸ‘  , , ,
properties (23)
post_id2,261,652
authorgomeravibz
permlinkre-dantheman-blockchains-should-be-designed-like-massively-multiplayer-games-20170326t221539075z
categoryblockchain
json_metadata"{"app": "steemit/0.1", "users": ["dantheman"], "tags": ["blockchain"]}"
created2017-03-26 22:15:39
last_update2017-03-26 22:16:42
depth1
children0
net_rshares3,516,271,131,622
last_payout2017-04-27 01:39:54
cashout_time1969-12-31 23:59:59
total_payout_value1.030 SBD
curator_payout_value0.014 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length221
author_reputation53,156,399,356,469
root_title"Blockchains should be designed like massively multiplayer games"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
author_curate_reward""
vote details (4)
@son-of-satire ·
$1.25
It's great to see that you have not abandoned the platform in its entirety.
πŸ‘  , , , , , ,
properties (23)
post_id2,261,716
authorson-of-satire
permlinkre-dantheman-blockchains-should-be-designed-like-massively-multiplayer-games-20170326t222648703z
categoryblockchain
json_metadata"{"app": "steemit/0.1", "tags": ["blockchain"]}"
created2017-03-26 22:26:33
last_update2017-03-26 22:26:33
depth1
children0
net_rshares1,952,842,736,949
last_payout2017-04-27 01:39:54
cashout_time1969-12-31 23:59:59
total_payout_value1.022 SBD
curator_payout_value0.230 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length75
author_reputation93,804,186,663,981
root_title"Blockchains should be designed like massively multiplayer games"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
author_curate_reward""
vote details (7)
@kingscrown ·
$1.17
reminds me of 1st blockchain game ive played HUC - HYC coin stil ltrades on Poloniex but game doesnt work anymore
πŸ‘  , , , ,
properties (23)
post_id2,262,168
authorkingscrown
permlinkre-dantheman-blockchains-should-be-designed-like-massively-multiplayer-games-20170326t233726715z
categoryblockchain
json_metadata"{"app": "steemit/0.1", "tags": ["blockchain"]}"
created2017-03-26 23:37:30
last_update2017-03-26 23:37:30
depth1
children0
net_rshares1,859,562,751,351
last_payout2017-04-27 01:39:54
cashout_time1969-12-31 23:59:59
total_payout_value0.881 SBD
curator_payout_value0.293 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length113
author_reputation1,990,164,104,714,661
root_title"Blockchains should be designed like massively multiplayer games"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
author_curate_reward""
vote details (5)
@lifeworship ·
My thoughts exactly. They should also be tested as such.
πŸ‘  
properties (23)
post_id2,262,209
authorlifeworship
permlinkre-dantheman-blockchains-should-be-designed-like-massively-multiplayer-games-20170326t234153869z
categoryblockchain
json_metadata"{"app": "steemit/0.1", "tags": ["blockchain"]}"
created2017-03-26 23:42:00
last_update2017-03-26 23:42:00
depth1
children0
net_rshares27,254,812,729
last_payout2017-04-27 01:39:54
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length56
author_reputation39,004,176,328,463
root_title"Blockchains should be designed like massively multiplayer games"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
author_curate_reward""
vote details (1)
@officialfuzzy ·
it makes me smile hard to hear you say these words...the irony im sure is a bit of an inside joke between us. 

well played good sir.
properties (22)
post_id2,262,373
authorofficialfuzzy
permlinkre-dantheman-blockchains-should-be-designed-like-massively-multiplayer-games-20170327t000352368z
categoryblockchain
json_metadata"{"app": "steemit/0.1", "tags": ["blockchain"]}"
created2017-03-27 00:06:00
last_update2017-03-27 00:06:00
depth1
children0
net_rshares0
last_payout2017-04-27 01:39:54
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length133
author_reputation386,070,543,215,380
root_title"Blockchains should be designed like massively multiplayer games"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
@chris-bates ·
I am on the exact same page sir!  In fact, we have been trying to say this for about a year now.  I published one of the white papers that talks about using "Minecraft" as a point of outreach because as you point out, this should all be gamified.

https://steemit.com/bitland/@chris-bates/bitland-mauritius-white-paper
properties (22)
post_id2,262,573
authorchris-bates
permlinkre-dantheman-blockchains-should-be-designed-like-massively-multiplayer-games-20170327t003825529z
categoryblockchain
json_metadata"{"app": "steemit/0.1", "links": ["https://steemit.com/bitland/@chris-bates/bitland-mauritius-white-paper"], "tags": ["blockchain"]}"
created2017-03-27 00:38:27
last_update2017-03-27 00:38:27
depth1
children0
net_rshares0
last_payout2017-04-27 01:39:54
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length318
author_reputation6,165,950,018,614
root_title"Blockchains should be designed like massively multiplayer games"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
@stellabelle ·
YOU'RE BACK!!!!!!!!!
properties (22)
post_id2,262,618
authorstellabelle
permlinkre-dantheman-blockchains-should-be-designed-like-massively-multiplayer-games-20170327t004625977z
categoryblockchain
json_metadata"{"app": "steemit/0.1", "tags": ["blockchain"]}"
created2017-03-27 00:46:27
last_update2017-03-27 00:46:27
depth1
children0
net_rshares0
last_payout2017-04-27 01:39:54
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length20
author_reputation436,515,832,240,166
root_title"Blockchains should be designed like massively multiplayer games"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
@heimindanger ·
Are you a starcraft player dan? Will you play the HD version?
πŸ‘  
properties (23)
post_id2,262,703
authorheimindanger
permlinkre-dantheman-blockchains-should-be-designed-like-massively-multiplayer-games-20170327t005604936z
categoryblockchain
json_metadata"{"app": "steemit/0.1", "tags": ["blockchain"]}"
created2017-03-27 00:56:03
last_update2017-03-27 00:56:03
depth1
children0
net_rshares12,448,739,224
last_payout2017-04-27 01:39:54
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length61
author_reputation69,360,323,670,434
root_title"Blockchains should be designed like massively multiplayer games"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
author_curate_reward""
vote details (1)
@dailydogger ·
do you think this is a motherfucking game
πŸ‘  
properties (23)
post_id2,262,763
authordailydogger
permlinkre-dantheman-blockchains-should-be-designed-like-massively-multiplayer-games-20170327t010416044z
categoryblockchain
json_metadata"{"app": "steemit/0.1", "tags": ["blockchain"]}"
created2017-03-27 01:04:15
last_update2017-03-27 01:04:15
depth1
children0
net_rshares359,126,814
last_payout2017-04-27 01:39:54
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length41
author_reputation8,338,945,032,251
root_title"Blockchains should be designed like massively multiplayer games"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
author_curate_reward""
vote details (1)
@klye ·
$0.02
Now how can we get sub second blocks going and make this a reality? 

If anyone is capable I believe it is you.
πŸ‘  , ,
properties (23)
post_id2,262,943
authorklye
permlinkre-dantheman-blockchains-should-be-designed-like-massively-multiplayer-games-20170327t012747127z
categoryblockchain
json_metadata"{"app": "steemit/0.1", "tags": ["blockchain"]}"
created2017-03-27 01:27:21
last_update2017-03-27 01:27:21
depth1
children0
net_rshares46,515,118,003
last_payout2017-04-27 01:39:54
cashout_time1969-12-31 23:59:59
total_payout_value0.014 SBD
curator_payout_value0.004 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length111
author_reputation257,698,037,451,488
root_title"Blockchains should be designed like massively multiplayer games"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
author_curate_reward""
vote details (3)
@stellabelle ·
Can the whales explain why they're flagging Dan?
properties (22)
post_id2,262,953
authorstellabelle
permlinkre-dantheman-blockchains-should-be-designed-like-massively-multiplayer-games-20170327t012836770z
categoryblockchain
json_metadata"{"app": "steemit/0.1", "tags": ["blockchain"]}"
created2017-03-27 01:28:36
last_update2017-03-27 01:28:36
depth1
children12
net_rshares0
last_payout2017-04-27 01:39:54
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length48
author_reputation436,515,832,240,166
root_title"Blockchains should be designed like massively multiplayer games"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
@gduran ·
Because they had some kind of power struggle, didn't you find it strange that as soon as Dan resigned the price of Steem took off?
properties (22)
post_id2,262,998
authorgduran
permlinkre-stellabelle-re-dantheman-blockchains-should-be-designed-like-massively-multiplayer-games-20170327t013326102z
categoryblockchain
json_metadata"{"app": "steemit/0.1", "tags": ["blockchain"]}"
created2017-03-27 01:33:30
last_update2017-03-27 01:33:30
depth2
children5
net_rshares0
last_payout2017-04-27 01:39:54
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length130
author_reputation76,834,373,699,494
root_title"Blockchains should be designed like massively multiplayer games"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
@stellabelle ·
we really don't know what's going on behind the curtain......
properties (22)
post_id2,263,039
authorstellabelle
permlinkre-gduran-re-stellabelle-re-dantheman-blockchains-should-be-designed-like-massively-multiplayer-games-20170327t014014439z
categoryblockchain
json_metadata"{"app": "steemit/0.1", "tags": ["blockchain"]}"
created2017-03-27 01:40:15
last_update2017-03-27 01:40:15
depth3
children0
net_rshares0
last_payout2017-04-27 01:39:54
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length61
author_reputation436,515,832,240,166
root_title"Blockchains should be designed like massively multiplayer games"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
@tuck-fheman ·
$0.03
That's because Dan's enormous brain was holding the price down.
πŸ‘  
properties (23)
post_id2,263,890
authortuck-fheman
permlinkre-gduran-re-stellabelle-re-dantheman-blockchains-should-be-designed-like-massively-multiplayer-games-20170327t043455520z
categoryblockchain
json_metadata"{"app": "steemit/0.1", "tags": ["blockchain"]}"
created2017-03-27 04:34:57
last_update2017-03-27 04:34:57
depth3
children3
net_rshares66,133,866,926
last_payout2017-04-27 01:39:54
cashout_time1969-12-31 23:59:59
total_payout_value0.021 SBD
curator_payout_value0.007 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length63
author_reputation326,086,885,911,893
root_title"Blockchains should be designed like massively multiplayer games"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
author_curate_reward""
vote details (1)
@the-ego-is-you · (edited)
$0.03
Do we really think the post is worth more than $30? Seems like it could easily go at least 3 times as high if noone said stop. It doesn't mean Dans post is bad. 

(And I don't see any flags. I don't use Steemit.com.) Just my opinion.
πŸ‘  
properties (23)
post_id2,263,509
authorthe-ego-is-you
permlinkre-stellabelle-re-dantheman-blockchains-should-be-designed-like-massively-multiplayer-games-20170327t031605164z
categoryblockchain
json_metadata"{"app": "steemit/0.1", "tags": ["blockchain"]}"
created2017-03-27 03:14:15
last_update2017-03-27 03:14:45
depth2
children0
net_rshares67,236,847,367
last_payout2017-04-27 01:39:54
cashout_time1969-12-31 23:59:59
total_payout_value0.026 SBD
curator_payout_value0.002 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length233
author_reputation7,025,328,989,730
root_title"Blockchains should be designed like massively multiplayer games"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
author_curate_reward""
vote details (1)
@sneak ·
$0.28
It could be any of the following:

1) He's voting for himself with alts (@dan), such self-votes being generally frowned upon as against the spirit of the reward system on Steemit.

2) He's posting and voting after saying in his resignation post that he wouldn't any longer.

3) They disagree with the amount of reward the post will receive due to the upvotes of other people and wish to counteract those.

Could be any 1, 2, or all 3 of those reasons.
πŸ‘  ,
properties (23)
post_id2,270,917
authorsneak
permlinkre-stellabelle-re-dantheman-blockchains-should-be-designed-like-massively-multiplayer-games-20170327t195110047z
categoryblockchain
json_metadata"{"app": "steemit/0.1", "tags": ["blockchain"]}"
created2017-03-27 19:49:09
last_update2017-03-27 19:49:09
depth2
children4
net_rshares579,233,473,966
last_payout2017-04-27 01:39:54
cashout_time1969-12-31 23:59:59
total_payout_value0.262 SBD
curator_payout_value0.022 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length451
author_reputation27,542,287,033,381
root_title"Blockchains should be designed like massively multiplayer games"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
author_curate_reward""
vote details (2)
@abit ·
$0.23
The story:
1. @dantheman posted and instantly self-upvoted
2. @abit downvoted to counter the whale-self-upvote effect
3. @kushed and @engagement and @thecyclist downvoted because they don't like the author (I guess)
4. @dan upvoted to counter the downvotes, but is over-weighted
5. @smooth downvoted to counter @dan
6. @adm downvoted to counter @dan
7. @fuzzyvest and @thejohalfiles upvoted because he like the post or the author (I guess)
8. @ned downvoted because he doesn't like the author or the post (I guess)
9. @val-a upvoted to counter @ned (I guess)
10. @goku1 downvoted for a reason which I don't know
πŸ‘  ,
properties (23)
post_id2,281,183
authorabit
permlinkre-sneak-re-stellabelle-re-dantheman-blockchains-should-be-designed-like-massively-multiplayer-games-20170328t190232508z
categoryblockchain
json_metadata"{"app": "steemit/0.1", "users": ["dantheman", "abit", "kushed", "engagement", "thecyclist", "dan", "smooth", "adm", "fuzzyvest", "thejohalfiles", "ned", "val-a", "goku1"], "tags": ["blockchain"]}"
created2017-03-28 19:03:57
last_update2017-03-28 19:03:57
depth3
children3
net_rshares1,152,226,171,380
last_payout2017-04-27 01:39:54
cashout_time1969-12-31 23:59:59
total_payout_value0.220 SBD
curator_payout_value0.013 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length611
author_reputation111,629,191,115,088
root_title"Blockchains should be designed like massively multiplayer games"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
author_curate_reward""
vote details (2)
@rxhector ·
Now we just need someone to finance it ;)
properties (22)
post_id2,263,041
authorrxhector
permlinkre-dantheman-blockchains-should-be-designed-like-massively-multiplayer-games-20170327t014026801z
categoryblockchain
json_metadata"{"app": "steemit/0.1", "tags": ["blockchain"]}"
created2017-03-27 01:40:21
last_update2017-03-27 01:40:21
depth1
children0
net_rshares0
last_payout2017-04-27 01:39:54
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length41
author_reputation7,663,804,974,302
root_title"Blockchains should be designed like massively multiplayer games"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
@the-ego-is-you ·
I enjoy your thinking out loud. ^
properties (22)
post_id2,263,495
authorthe-ego-is-you
permlinkre-dantheman-blockchains-should-be-designed-like-massively-multiplayer-games-20170327t031348756z
categoryblockchain
json_metadata"{"app": "steemit/0.1", "tags": ["blockchain"]}"
created2017-03-27 03:11:57
last_update2017-03-27 03:11:57
depth1
children0
net_rshares0
last_payout2017-04-27 01:39:54
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length33
author_reputation7,025,328,989,730
root_title"Blockchains should be designed like massively multiplayer games"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
@solomon-adekale ·
@dantheman As a wiseman once said "There is nothing new under the sun" Great thoughts and good to see you back.
properties (22)
post_id2,263,585
authorsolomon-adekale
permlinkre-dantheman-blockchains-should-be-designed-like-massively-multiplayer-games-20170327t032617044z
categoryblockchain
json_metadata"{"app": "steemit/0.1", "users": ["dantheman"], "tags": ["blockchain"]}"
created2017-03-27 03:26:15
last_update2017-03-27 03:26:15
depth1
children0
net_rshares0
last_payout2017-04-27 01:39:54
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length111
author_reputation530,205,763,630
root_title"Blockchains should be designed like massively multiplayer games"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
@trafalgar ·
$0.78
And when you don't have enough nodes processing your blockchain you're hear a booming voice demand 'You must construct additional pylons!'
πŸ‘  ,
properties (23)
post_id2,263,659
authortrafalgar
permlinkre-dantheman-blockchains-should-be-designed-like-massively-multiplayer-games-20170327t034113406z
categoryblockchain
json_metadata"{"app": "steemit/0.1", "tags": ["blockchain"]}"
created2017-03-27 03:41:12
last_update2017-03-27 03:41:12
depth1
children0
net_rshares1,351,818,341,611
last_payout2017-04-27 01:39:54
cashout_time1969-12-31 23:59:59
total_payout_value0.777 SBD
curator_payout_value0.001 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length138
author_reputation5,076,396,728,502,295
root_title"Blockchains should be designed like massively multiplayer games"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
author_curate_reward""
vote details (2)
@xeroc ·
$6.64
So in engineering terms:

* The blockchain protocol and smart contracts are (deterministic) finite state machines
* User inputs are inputs to the finite statemachine
* The blockchain is merely a store of user inputs
* The finite state machine does not need to be part of the blockchain at all
* Each user can pick the finite state machines he is interested in

This sounds pretty much like your "plasma" idea. Am I missing something?
πŸ‘  , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
properties (23)
post_id2,264,996
authorxeroc
permlinkre-dantheman-blockchains-should-be-designed-like-massively-multiplayer-games-20170327t080821323z
categoryblockchain
json_metadata"{"app": "steemit/0.1", "tags": ["blockchain"]}"
created2017-03-27 08:08:21
last_update2017-03-27 08:08:21
depth1
children0
net_rshares6,468,365,883,961
last_payout2017-04-27 01:39:54
cashout_time1969-12-31 23:59:59
total_payout_value6.530 SBD
curator_payout_value0.109 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length433
author_reputation119,919,245,915,690
root_title"Blockchains should be designed like massively multiplayer games"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
author_curate_reward""
vote details (37)
@lennstar · (edited)
$0.11
Do you think there is a real world RTS that could be better with a blockchain?
I mean it all works now (more or less), and the problems there are (lags of all sorts) are not going away with a chain, more increasing. 

But I think maybe turn based games would be a nice case. (Chess and Go already use thinks like that on paper - you write down what happened, but not the overall state.)
πŸ‘  
properties (23)
post_id2,265,381
authorlennstar
permlinkre-dantheman-blockchains-should-be-designed-like-massively-multiplayer-games-20170327t091850268z
categoryblockchain
json_metadata"{"app": "steemit/0.1", "tags": ["blockchain"]}"
created2017-03-27 09:18:51
last_update2017-03-27 09:19:54
depth1
children1
net_rshares247,396,272,062
last_payout2017-04-27 01:39:54
cashout_time1969-12-31 23:59:59
total_payout_value0.084 SBD
curator_payout_value0.028 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length386
author_reputation38,213,975,622,361
root_title"Blockchains should be designed like massively multiplayer games"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
author_curate_reward""
vote details (1)
@dantheman ·
No, I do not think a blockchain would help with real world RTS because every game is a fresh start and there is little lasting value to the output of the game.

That said, if someone want to issue a currency based upon winners of a game then you could do that.  The problem is, that most RTS games depend upon keeping parts of the other player's state secret.  With a blockchain that is not possible unless you trust a 3rd party to manage and reveal the state to you as you gain permission.
πŸ‘  ,
πŸ‘Ž  , ,
properties (23)
post_id2,267,394
authordantheman
permlinkre-lennstar-re-dantheman-blockchains-should-be-designed-like-massively-multiplayer-games-20170327t133401743z
categoryblockchain
json_metadata"{"app": "steemit/0.1", "tags": ["blockchain"]}"
created2017-03-27 13:34:03
last_update2017-03-27 13:34:03
depth2
children0
net_rshares-13,010,515,119,722
last_payout2017-04-27 01:39:54
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length490
author_reputation240,497,801,758,545
root_title"Blockchains should be designed like massively multiplayer games"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
author_curate_reward""
vote details (5)
@abit ·
$0.32
I'm not sure if any game developer replied here, but the conclusion in this post seems questionable.

Actually, in most MMO games, critical computing is done on server side, especially when there are randomnesses involved, for example what items will drop out when a monster dies. Basically clients send "operations" to the server, then the server validate the operations, and returns "results" aka current state as main output, and returns the "operations" as references/logs. Only most recent state is stored and get synced when necessary. The server is trusted.

It's true that StarCraft is more like a blockchain. It is a multi-player game, but its core is not a "massive" multi-player game. One player create a battlefield, up to 16 players can join and play (change current game state). Quantity of state changes is relatively small. The math in the game is all deterministic (no randomness, or with pseudo-randomness). Network communication is P2P, while playing a game, one node is elected as the main validating node,  other nodes sync. Whether to sync current state, depends on user experience, there are trade offs. For StarCraft, log of operations is synced, because the data need to sync is relatively small. After a game ended, all players can save a replay. When it comes to another game "heroes of the storm", since it's running on the same game engine, only log of operations is synced, but when a player disconnected, it takes several minutes to sync up after reconnected, people often see a "game over" screen after finished syncing up, thus get bad user experience.

Blockchains can learn from MMO games. For one special business, it's best that only the data it has interest gets synced and can be validated alone (maybe requires some trust), while it's still able to sync and validate the full data (less trust). Perhaps one implementation is Ethereum's state tree. Another potential implementation is the multi-chain feature described in Steemit 2017 roadmap.
πŸ‘  , , ,
properties (23)
post_id2,265,569
authorabit
permlinkre-dantheman-blockchains-should-be-designed-like-massively-multiplayer-games-20170327t094413859z
categoryblockchain
json_metadata"{"app": "steemit/0.1", "tags": ["blockchain"]}"
created2017-03-27 09:45:27
last_update2017-03-27 09:45:27
depth1
children2
net_rshares634,610,298,388
last_payout2017-04-27 01:39:54
cashout_time1969-12-31 23:59:59
total_payout_value0.238 SBD
curator_payout_value0.078 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length1,982
author_reputation111,629,191,115,088
root_title"Blockchains should be designed like massively multiplayer games"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
author_curate_reward""
vote details (4)
@dantheman ·
If you have the inputs and the deterministic code, then you have synced the state.  Everything else is a light client optimization.
πŸ‘  
πŸ‘Ž  , ,
properties (23)
post_id2,267,350
authordantheman
permlinkre-abit-re-dantheman-blockchains-should-be-designed-like-massively-multiplayer-games-20170327t133133250z
categoryblockchain
json_metadata"{"app": "steemit/0.1", "tags": ["blockchain"]}"
created2017-03-27 13:31:36
last_update2017-03-27 13:31:36
depth2
children0
net_rshares-13,257,911,391,784
last_payout2017-04-27 01:39:54
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length131
author_reputation240,497,801,758,545
root_title"Blockchains should be designed like massively multiplayer games"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
author_curate_reward""
vote details (4)
@dwinblood ·
$0.33
Starcraft is an RTS rather than an MMO as you described.   Furthermore, it has a very limited number of players.  To keep the input and visuals synched it does use similar techniques, but not quite the same as an mmo.   What you described is pretty accurate.    I am a game developer, though I haven't worked on an MMO.   I have studied the technology.   I am an Independent Game Developer  (*indie intentionally*) and I also have a full time job as a Senior Network Engineer.   

Typically whichever system is chosen to be the server (*even in a P2P*) mode will be the one that is considered authoritative.   It is the one with the authority to dictate what actually happens.   It is the one which will either send updates to the clients, or is the one that will validate input from clients such as in a Peer to Peer environment.

The validation is important.   As you increase the responsibilities/abilities of the client/peer on the communication side beyond simple input you also open windows for cheating/exploitation.     You'll see this more on First Person Shooters where the input has to be VERY fast and network latency can be a problem.    This then opens the doors for things like aim bots, and other things.   Some people can get skilled enough that the anti-cheating that is supposed to detect bots can false flag people.   I've seen this happen.   It is much like the problems with trying to detect bots vs. people on steemit.

In Real Time Strategy games the input of the client is sent to the server (*or authoritative peer*) who validates it and relays it to the other clients/peers.    This is a chance to prevent invalid input.   In some cases it may even send it back to the client/peer it received it from and some game developers may make a game only respond to clicks that have been verified by the server/authoritative peer.    Really there is no SILVER BULLET of "*this is how all game developers do it*"    These days the cost to enter the game development arena is at an unprecedented low.   It is almost as available as a pencil and paper.   This means a lot of people are jumping in with "I have a game idea" and have not learned how to actually do that.    Some of them are marketing their idea (*sometimes with great success*) without actual experience in delivering what they are promising.    This means the market is being flooded with some pretty poor quality projects, and it still has a lot of good ones too (*more than ever*) it just requires the consumers be a little more aware than they have in the past.    There are a lot of ways to make a game.

The MMO space does tend to be very specific though.   Network latency tolerant designs supporting a lot of people usually means input processing needs to be a little less frequent per player.    So it does interpolate/simulate/predict on the client the motion and results of input.    Occasionally the server will synchronize to update the clients.   When there is a problem either due to the game or network lag you'll see the results of this in the form of what people sometimes call "rubber banding"... where a player was one place and then suddenly is in another as they receive an update from the server saying "you should be here".   This is primarily required due to the quantity of players.

This is why MMOs are largely target, and then click a power bar that cools down, etc.    This is a good gateway for limiting how fast a player fires off actual important input.    Rotating your camera, zooming, and all of that stuff the server doesn't particularly need to be aware of.    So it is your movement and the UI commands you click on that it cares about.   This simplifies the size of the network transmissions a lot and let's the clients handle the rest.

Anyway... I don't think I've done much more than ramble here.   I think what you said combined with what Dan said are pretty accurate.    Though nothing in game development is set into stone these days.  :)  (*perhaps never was*)
πŸ‘  , ,
properties (23)
post_id2,268,409
authordwinblood
permlinkre-abit-re-dantheman-blockchains-should-be-designed-like-massively-multiplayer-games-20170327t153420078z
categoryblockchain
json_metadata"{"app": "steemit/0.1", "tags": ["blockchain"]}"
created2017-03-27 15:34:15
last_update2017-03-27 15:34:15
depth2
children0
net_rshares653,228,026,083
last_payout2017-04-27 01:39:54
cashout_time1969-12-31 23:59:59
total_payout_value0.245 SBD
curator_payout_value0.081 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length3,988
author_reputation223,300,085,257,919
root_title"Blockchains should be designed like massively multiplayer games"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
author_curate_reward""
vote details (3)
@fminerten1 ·
$0.16
It's nice to see you again.
πŸ‘  ,
properties (23)
post_id2,266,670
authorfminerten1
permlinkre-dantheman-blockchains-should-be-designed-like-massively-multiplayer-games-20170327t122536937z
categoryblockchain
json_metadata"{"app": "steemit/0.1", "tags": ["blockchain"]}"
created2017-03-27 12:25:36
last_update2017-03-27 12:25:36
depth1
children0
net_rshares708,076,418,547
last_payout2017-04-27 01:39:54
cashout_time1969-12-31 23:59:59
total_payout_value0.156 SBD
curator_payout_value0.001 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length27
author_reputation36,400,815,307,582
root_title"Blockchains should be designed like massively multiplayer games"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
author_curate_reward""
vote details (2)
@elgeko ·
Would  you guys  @NED @abit @smooth @engagement @engagement @cyclist @adm @kushed also run after and kill your brother or sister because they leave the community after a hefty confrontation ?   Or am i wrong and all the STEEM idea, vision, logistic and engine programming was made by NED, ABIT SMOOTHkushed ecetera ???  I am shocked. Or please somebody enlighten me!!!!  Because it makes me puke.![kotzendeix.jpg](https://steemitimages.com/DQmUxRA13q43xvK42PZw4osAT9y57xccKagtQZkTC66MZ8y/kotzendeix.jpg)

ItΒ΄s like cardinals and bishops living like kings in the Vatikan,  pissing on Jesus&Maria statues  in a daily routine. I will change my keys now and distribute my voting power trategically in the hands of people who do NOT piss on Dan Larimer and I will adapt my  witnesses list on people  who are not pissing on the godfather of STEEM! If you start downvoting me @NED @smooth ecetera I have no problem. I can disapper here as fast as i appeared without tears.  It would be sad but if you guys continue using this platform to piss on the creator creative inventor of all of this, you will make me go with smile and peace in my heart.![rumi.jpg](https://steemitimages.com/DQmPWLctDFBdfFU8CSdSR3J4gWavRwKERW9yifc9AQ22rV9/rumi.jpg)
πŸ‘  
properties (23)
post_id2,267,455
authorelgeko
permlinkre-dantheman-blockchains-should-be-designed-like-massively-multiplayer-games-20170327t133926937z
categoryblockchain
json_metadata"{"app": "steemit/0.1", "users": ["ned", "abit", "smooth", "engagement", "cyclist", "adm", "kushed"], "image": ["https://steemitimages.com/DQmUxRA13q43xvK42PZw4osAT9y57xccKagtQZkTC66MZ8y/kotzendeix.jpg"], "tags": ["blockchain"]}"
created2017-03-27 13:39:21
last_update2017-03-27 13:39:21
depth1
children0
net_rshares0
last_payout2017-04-27 01:39:54
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length1,233
author_reputation268,465,750,752,632
root_title"Blockchains should be designed like massively multiplayer games"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
author_curate_reward""
vote details (1)
@akiyoshi ·
thanks for sharing. @dantheman
properties (22)
post_id2,267,503
authorakiyoshi
permlinkre-dantheman-blockchains-should-be-designed-like-massively-multiplayer-games-20170327t134431144z
categoryblockchain
json_metadata"{"app": "steemit/0.1", "users": ["dantheman"], "tags": ["blockchain"]}"
created2017-03-27 13:44:06
last_update2017-03-27 13:44:06
depth1
children0
net_rshares0
last_payout2017-04-27 01:39:54
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length30
author_reputation5,979,524,734,045
root_title"Blockchains should be designed like massively multiplayer games"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
@chris4210 ·
$0.09
## WOW on a Chain
http://www.clipartkid.com/images/277/world-of-warcraft-gif-anime-world-of-warcraft-gifs-animes-4333531-VQp8PW-clipart.gif

http://wowdances.tripod.com/sitebuildercontent/sitebuilderpictures/orc_male250x.gif

One of the biggest MMOG is clearly WOW with up to 10,000 people on one server playing together. I remember raiding cities with +1,000 cities all night long. We had huge wars. Fighting behind the lines was a lot of fun :D

[![ss_2B_2016-04-10_2Bat_2B09.42.32_.0.0.jpg](https://s12.postimg.org/4oc89t3ul/ss_2_B_2016-04-10_2_Bat_2_B09.42.32_.0.0.jpg)](https://postimg.org/image/hshsmhvw9/)

### Anybody up for MC raid?
https://4.bp.blogspot.com/-PiddT5NYCSo/T0FxKd2g7aI/AAAAAAAAANo/AyJyVo8F6OE/s1600/blog4.png
πŸ‘  
properties (23)
post_id2,272,690
authorchris4210
permlinkre-dantheman-blockchains-should-be-designed-like-massively-multiplayer-games-20170327t223704159z
categoryblockchain
json_metadata"{"app": "steemit/0.1", "links": ["https://postimg.org/image/hshsmhvw9/"], "image": ["http://www.clipartkid.com/images/277/world-of-warcraft-gif-anime-world-of-warcraft-gifs-animes-4333531-VQp8PW-clipart.gif"], "tags": ["blockchain"]}"
created2017-03-27 22:37:03
last_update2017-03-27 22:37:03
depth1
children0
net_rshares191,432,588,983
last_payout2017-04-27 01:39:54
cashout_time1969-12-31 23:59:59
total_payout_value0.085 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length732
author_reputation40,014,944,808,695
root_title"Blockchains should be designed like massively multiplayer games"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
author_curate_reward""
vote details (1)
@williambanks ·
$0.10
>Now I will make the case that blockchains should not store state in transactions and I will do so by borrowing lessons learned from massively multiplayer online games.

I used to design these things in another life.  So was delighted when you brought this topic up.

Playing is not the same thing as designing and your premise is just plain wrong for designing games, your speaking firmly from a player's POV.

I'm going to need an entire post to give a proper response, but here is what you're missing.

An MMO is not a single server at least if the designers know what they're doing.  But it's also not a p2p shared world state [saurbraten](http://sauerbraten.org/) not withstanding).

What you're referencing are multiplayer games designed for a small group of players, where these is enough shared bandwidth for each player to share complete world state information, but even those do so by sending a series of event state deltas.

Instead in an real MMO what you have are a cluster of servers each with a specific role within the game.

In general you have...
1. Client proxies, these serve as the client's connection to the inner game cluster similar to ha_proxy for a webserver except these speak whatever language the game is speaking, but they do the load balancing.

2. World Service, these serve to locate the client within some point in the game map.  The world service is used to filter and categorize events within the world and to sync state for new logins.

3. NPC and Rules Service, these are where changes to shared world state is applied, NPC actions are computed and result events are emitted.  If done correctly, NPC and Rules will be different services, but NPC will be a single global AI agent instead of thousands of individual independent agent threads. 

4. High Speed Data Store, this is where game state is snapshotted, usually from events generated by the other services.  The HSDS is generally a multi-master and sync state events between masters are what allow you to play the game across multiple clusters.  Many times these will be feeding on eachother's logs directly.  Memcached was rising in popularity for this when I left the industry.

2, 3, and 4 all form a ring with spokes.  All of them speak to 1 and 1 filters and forwards events to the connected clients.

In the meantime the client is generally responsible for updating the player's view with events in their field of vision and a well designed MMO will limit the number of packets a client is sent about events based on the player's distance from the events with periodic summaries to world state only just beyond the player's field of vision eventually dropping completely out at 2x the player's visual radius.

Ok so that's the problem with your premise.  You can't really design a blockchain like this because all a blockchain would add here is a cryptographic guarantee that isn't necessary because all nodes are defacto trusted.

The reality is that every client is concerned ONLY with the things that immediately effect them.  You're correct about this.  Forcing a client to download and maintain the entire world state is a poor design choice, but was the only solution known at the time the paleo-blockchains were developed.

A far more scalable solution is for each user to have a stream of the world state only in so much as those changes effect their view of the world.   A good way of accomplishing this is via content summary blocks prepared for each customer.  

If they want a broader view, they can swim upstream in the flow of data and subscribe to events of interest.  But the concept of  a final shared "world state" blockchain is where the flaw is.  There is no need to ever determine the complete the world state as a matter of consensus, just individual states when that state changes.
πŸ‘  ,
properties (23)
post_id2,275,160
authorwilliambanks
permlinkre-dantheman-blockchains-should-be-designed-like-massively-multiplayer-games-20170328t055550714z
categoryblockchain
json_metadata"{"app": "steemit/0.1", "links": ["http://sauerbraten.org/"], "tags": ["blockchain"]}"
created2017-03-28 05:55:54
last_update2017-03-28 05:55:54
depth1
children1
net_rshares550,310,566,500
last_payout2017-04-27 01:39:54
cashout_time1969-12-31 23:59:59
total_payout_value0.096 SBD
curator_payout_value0.001 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length3,805
author_reputation90,735,613,033,058
root_title"Blockchains should be designed like massively multiplayer games"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
author_curate_reward""
vote details (2)
@dantheman ·
What you are talking about I was saving for my next article, but effectively, each user has their own state and it must communicate asynchronously with other users to impact their state.   State is divided down into smaller "zones" and each player only syncs the state in their "zone" and can safely ignore everything else.

But you still proved my point by saying that servers route *events* rather than state.  Also, the protocol designed for light-weight clients is different than the protocol that keeps the entire backend synced.  

Steemit is a light-weight client.  State, not events, are sent from the backend blockchain to your browser.  The web server filters the global state down into just the part you are looking at.   Mean while, the backend nodes synchronize based on events because syncing the state would be much more challenging.
πŸ‘  , ,
πŸ‘Ž  
properties (23)
post_id2,277,623
authordantheman
permlinkre-williambanks-re-dantheman-blockchains-should-be-designed-like-massively-multiplayer-games-20170328t125110106z
categoryblockchain
json_metadata"{"app": "steemit/0.1", "tags": ["blockchain"]}"
created2017-03-28 12:51:09
last_update2017-03-28 12:51:09
depth2
children0
net_rshares-1,037,625,356,256
last_payout2017-04-27 01:39:54
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length848
author_reputation240,497,801,758,545
root_title"Blockchains should be designed like massively multiplayer games"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
author_curate_reward""
vote details (4)
@fbarry ·
vote back and follow me
properties (22)
post_id2,277,511
authorfbarry
permlinkre-dantheman-blockchains-should-be-designed-like-massively-multiplayer-games-20170328t123816437z
categoryblockchain
json_metadata"{"app": "steemit/0.1", "tags": ["blockchain"]}"
created2017-03-28 12:38:15
last_update2017-03-28 12:38:15
depth1
children0
net_rshares0
last_payout2017-04-27 01:39:54
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length23
author_reputation-45,359,333,725
root_title"Blockchains should be designed like massively multiplayer games"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
@btshares01 ·
Dan, did you have time for computer games growing up, if so which did you most enjoy and why?
properties (22)
post_id35,023,665
authorbtshares01
permlinkre-dantheman-blockchains-should-be-designed-like-massively-multiplayer-games-20180225t025435567z
categoryblockchain
json_metadata"{"app": "steemit/0.1", "tags": ["blockchain"]}"
created2018-02-25 02:54:36
last_update2018-02-25 02:54:36
depth1
children0
net_rshares0
last_payout2018-03-04 02:54:36
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length93
author_reputation104,712,854,805
root_title"Blockchains should be designed like massively multiplayer games"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000