Bitcoin Forum
November 19, 2024, 04:12:30 AM *
News: Check out the artwork 1Dq created to commemorate this forum's 15th anniversary
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Monopoly Blockchain Game  (Read 464 times)
This is a self-moderated topic. If you do not want to be moderated by the person who started this topic, create a new topic.
btc2nxt (OP)
Full Member
***
Offline Offline

Activity: 236
Merit: 100


View Profile
October 13, 2017, 01:29:30 AM
 #1

There are some computer games using crypto-currencies, like Cryptokingdom, Augur and so on.  Huntercoin is a game on blockchain launched in 2014 based on bitcoin source code. Cutting edge of the Huntercoin is human mining. In this introduction, I will introduce Monopoly like game based on Nxt 1.3.5 codebase with smart contract named FSM(Final State Machine),which is new design of AT(Automated Machine).

   Nearly all coins will be distributed by FSM , after players jump to the location of the coins in next block, they will share the coins. There are lands in the game too, so players can buy lands(Asset) to build hotel, restaurants, healthy club and weapon factory, which can be traded in asset market in the game also.

source code: github.com/btc2nxt/FSM
btc2nxt (OP)
Full Member
***
Offline Offline

Activity: 236
Merit: 100


View Profile
October 13, 2017, 01:30:18 AM
 #2

any suggestions are appreciated.
btc2nxt (OP)
Full Member
***
Offline Offline

Activity: 236
Merit: 100


View Profile
November 07, 2017, 02:33:55 AM
 #3

FSM(Finite State Machine) is new design of AT(Automated Machine). Two years past, FSM were still in the code and didn't improve. That is why i want to develop a game or a use case to push FSM to real world or  solve some problem of businesses. When i have been coding , i found many bugs that FSM need to improve.
Last week, i reached the first milestone which succeeded in aridropping coins, distributing dividend to asset holders.
Because i am not good at UI design, all tests are on http and offline. Actually I use Nxt1.3.5 NRS, and sometime the 1.3.5 UI too.

1. set nxt-default.properties file
nxt.apiServerEnforcePOST=false
nxt.isOffline=true

2. pre-distribute the coordinator(x,y)

http://127.0.0.1:9776/nxt?requestType=createATProgram&secretPhrase=1&atVersion=1&name=predistributeFSM&description=test&runType=SYSTEM_AT&machineCode=1e000000003d350103000000003203030113000000010000000000000033160101000000331701020000003500011200000034500412000000130000000413000000331601030000003317010400000035010112000000345004120000001300000004130000003316010500000033170106000000350201120000003450041200000013000000041300000033160107000000331701080000003503011200000034500412000000130000000413000000331601090000003317010a00000035000114000000061200000014000000345004120000001300000028&machineData=0000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000003c000000000000003c000000000000003c00000000000000280000000000000028000000000000000200000000000000&variables=01000000050000000a000000000c00000048000000&feeNQT=200000000000&deadline=1440

variables means: will start run at height 12. After sleep 10 blocks, will run again at height 22.

account id of predistributeFSM  is 1, which is hardcoded in the source.
This FSM  will generate 5 coordinators for Airdrop FSM to delivery coins to the collectors.
http api: getPredistributeCoordinates  can show them.

version reserved
0100 0000
delayBlocks/ sleepBetween/ freezeWhenSameBalance/ startBlockHeight/ varBytes(72)
05000000 0a000000 00 0c000000 48000000

3. Airdrop FSM
http://127.0.0.1:9776/nxt?requestType=createATProgram&secretPhrase=btc2nxtTest1&atVersion=1&name=airdropFSM&description=test&runType=SYSTEM_AT&machineCode=1e000000001f35000300000000070000000003000000070000000003000000374903110000000000000001000000261100000035000100000000020f00000000000000060f0000000400000002100000000000000006100000000500000002140000000300000026140000003448031100000014000000375203120000000f0000001000000005140000001b12000000dc021300000002000000091300000012000000010a0000000000000000000000040a0000003447030f000000100000003302041300000005120000001e12000000e42a2114000000030000000f1a6700000028&machineData=00000000000000000100000000000000005cb2ec220000000500000000000000000000000100000000000000070000000000000000000000&variables=01000000050000000a000000001500000070000000&feeNQT=200000000000&deadline=1440

account of Airdrop FSM is 2, which's balance is zero, so must send many coins to it.

4. Be a collector
http://127.0.0.1:9776/nxt?requestType=gameEnter&secretPhrase=1&statusName=Collector&map=1&x=1&y=1&amountNQT=30000000000&feeNQT=100000000&deadline=1440

5. collect coin
http://127.0.0.1:9776/nxt?requestType=gameMove&secretPhrase=1&actionName=Collect&x=5&y=22&feeNQT=100000000&deadline=1440

6. issue an asset of a land
http://127.0.0.1:9776/nxt?requestType=issueAsset&secretPhrase=btc2nxt2&name=hotel&description=test&quantityQNT=270000000000&deadline=1440&decimals=8&feeNQT=1000000000000&landId=8

landId=5..8 are hotels
landId=9..12 are restaurants

After issue assets, lands of town bind to assets.

7.Be a workder
http://127.0.0.1:9776/nxt?requestType=gameEnter&secretPhrase=btc2nxt2&statusName=Worker&x=1&y=41&feeNQT=100000000&deadline=1440

8.Build a single room
http://127.0.0.1:9776/nxt?requestType=gameBuild&secretPhrase=btc2nxt2&asset=535298268338500849&x=6&y=41&feeNQT=100000000&deadline=1440

the asset id must be the id of land's asset.

The room need 5 Builds to finish.

9. shareRedeemFSM
http://127.0.0.1:9776/nxt?requestType=createATProgram&secretPhrase=btc2nxtTest1&atVersion=1&name=shareRedeemFSM&description=test&runType=SYSTEM_AT&machineCode=1e000000000f020400000001000000354603000000000205000000000000003753030300000004000000050000001b030000003501060000000000000000000000040600000034540304000000050000003351040900000005030000001e03000000e4020400000000000000040400000028&machineData=000000000000000005000000000000000000000000000000&variables=01000000000000000a000000001000000040000000&feeNQT=200000000000&deadline=1440

shareRedeemFSM will auto send shares to workers, depends on workers' works. Because the asset is not create by shareRedeemFSM, we have to transfer asset to it, which has account id 3.

hareRedeemFSM will run at height 16, and continue to run in 10 blocks.

version reserved
0100 0000
delayBlocks/ sleepBetween/ freezeWhenSameBalance/ startBlockHeight/ varBytes 8*8=
00000000 0a000000 00 10000000 40000000

11. Check in
http://127.0.0.1:9776/nxt?requestType=gameConsume&secretPhrase=2&actionName=CheckIn&x=6&y=41&amountNQT=3000000000&asset=535298268338500849&feeNQT=100000000&deadline=1440

A player's CollectPower will restore to 100 after check in, and has to sleep 4 hours. All amountNQT goes to dividendFSM's account, which id is 4.

11. dividendFSM
http://127.0.0.1:9776/nxt?requestType=createATProgram&secretPhrase=btc2nxtTest1&atVersion=1&name=dividendFSM&description=test&runType=SYSTEM_AT&machineCode=1e000000000f02040000000100000035460300000000020500000000000000010600000000000000000000003755030300000004000000050000001e030000000b1ac900000004060000003456030400000005000000020b000000080000001b0b0000005f3757030c0000000b0000000200000009070000000c000000020c00000007000000010d0000000000000000000000040d0000003458030b0000000d0000001b070000001b08080000000c000000330204080000001a9300000005030000001e0300000083020400000000000000040400000028&machineData=000000000000000005000000000000000300000000000000&variables=01000000000000000a000000002000000058000000&feeNQT=200000000000&deadline=1440

dividendFSM will run at height 32 to distribute dividend to the workers by their shares of the asset.

version reserved
0100 0000
delayBlocks/ sleepBetween/ freezeWhenSameBalance/ startBlockHeight/ varBytes 11*8=
00000000 0a000000 00 20000000 58000000
Choosewise
Full Member
***
Offline Offline

Activity: 192
Merit: 100


View Profile
November 07, 2017, 02:36:25 AM
 #4

Cool stuff as a hobby project, don't see how you'd monetize this though.

btc2nxt (OP)
Full Member
***
Offline Offline

Activity: 236
Merit: 100


View Profile
November 07, 2017, 01:54:41 PM
 #5

Cool stuff as a hobby project, don't see how you'd monetize this though.

When FSM runs fine, many use cases can be implemented on it Grin.
grek_al
Member
**
Offline Offline

Activity: 110
Merit: 10


View Profile
November 07, 2017, 02:27:45 PM
 #6

Momopoly is the game of my childhood. I would try to play  Smiley
ronatrip
Full Member
***
Offline Offline

Activity: 154
Merit: 100



View Profile
November 10, 2017, 09:41:05 PM
 #7

Momopoly is the game of my childhood. I would try to play  Smiley
But not me. I played this game in my childhood. But I usually always lost. I did not like this game  Sad
borovichok
Hero Member
*****
Offline Offline

Activity: 1148
Merit: 518


View Profile WWW
November 10, 2017, 10:13:30 PM
 #8

Momopoly is the game of my childhood. I would try to play  Smiley
But not me. I played this game in my childhood. But I usually always lost. I did not like this game  Sad
I also always lost when I played with my friends. The very process of the game was very interesting and exciting. We even played a monopoly for a few days. I guess I just was not lucky with this game.

Stake VIP wager
btc2nxt (OP)
Full Member
***
Offline Offline

Activity: 236
Merit: 100


View Profile
November 11, 2017, 02:35:11 PM
 #9

TestNet is OK.
v2140
Newbie
*
Offline Offline

Activity: 5
Merit: 0


View Profile
April 21, 2018, 05:47:39 AM
Last edit: April 21, 2018, 06:19:20 AM by v2140
 #10

TestNet is OK.
Are you still developing this game?
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!