Author Topic: tech question to domob: changing parameters post fork without the need of fork  (Read 2247 times)

Mithril Man

  • Hero Member
  • *****
  • Posts: 589
    • View Profile
    • Mithril Man Web!
regarding the idea of skills, etc i was talking in other posts, i was thinking about implementing a mechanism to change parameters that are used in the game

of course for skills/stats it is easy to understand the benefit, but even for other parameters like hunter cost and fees, can't we think something about changing them without requiring a fork?

I've an idea and here it is:
- a special (valid) address is used to send the modified parameters with a special method just for that (e.g. game_changeparams) where you pass the list of updated parametrized values
when that transaction is included in a block, then the daemon wait (1440?) blocks or more before applying it, so we have time, in case someone hack the address private key (or in case of error) to stop miners


this way we can easily change game parameters that need to be tweaked very easily without impact

this would add the problem of trust, but if we change just gameplay parameters (and enforce changes between constraints) and not other things, it would be fine
what do you think?
Alternative GUI client for Huntercoin http://www.mithrilman.com
HUC donation: HMSCYGYJ5wo9FiniVU4pXWGUu8E8PSmoHE
BTC donation: 1DKLf1QKAZ5njucq37pZhMRG67qXDP3vPC

Snailbrain

  • Developer
  • Hero Member
  • *****
  • Posts: 1002
    • View Profile
regarding the idea of skills, etc i was talking in other posts, i was thinking about implementing a mechanism to change parameters that are used in the game

of course for skills/stats it is easy to understand the benefit, but even for other parameters like hunter cost and fees, can't we think something about changing them without requiring a fork?

I've an idea and here it is:
- a special (valid) address is used to send the modified parameters with a special method just for that (e.g. game_changeparams) where you pass the list of updated parametrized values
when that transaction is included in a block, then the daemon wait (1440?) blocks or more before applying it, so we have time, in case someone hack the address private key (or in case of error) to stop miners


this way we can easily change game parameters that need to be tweaked very easily without impact

this would add the problem of trust, but if we change just gameplay parameters (and enforce changes between constraints) and not other things, it would be fine
what do you think?

before domob replies - this is technically possible but it totally removes the aspect of being decentralized.

Mithril Man

  • Hero Member
  • *****
  • Posts: 589
    • View Profile
    • Mithril Man Web!
before domob replies - this is technically possible but it totally removes the aspect of being decentralized.

why totally? affected things are parameters that affect everyone and doesn't impact on coins that one has, so coins are preserved, is just the game rule that changes
Actually it's already the same, everytime we need to change some parameter we do a change and then a fork, so it's sort of centralized (domob/you push the changes), what would change having you sending special transaction that changes parameters, giving time to reject it (so maybe more than 1 day before applying that)?

As long as you can change only some game parameters (and not e.g. send gamefunds to other addresses) this is fine and you should be responsible of course to send those transactions only after a general consensus in the forum or wherever

anyway is just an idea to prevent the fork problem when we just need to tweek things a bit (hunter cost could be even a parameter that could be important to be changed over the time, depending on HUC value or other aspects)
Alternative GUI client for Huntercoin http://www.mithrilman.com
HUC donation: HMSCYGYJ5wo9FiniVU4pXWGUu8E8PSmoHE
BTC donation: 1DKLf1QKAZ5njucq37pZhMRG67qXDP3vPC

Snailbrain

  • Developer
  • Hero Member
  • *****
  • Posts: 1002
    • View Profile
maybe totally is the wrong word :)

imo someone holding a private key which can affect the game fees shouldn't be integrated (in any cryptocoin).


Mithril Man

  • Hero Member
  • *****
  • Posts: 589
    • View Profile
    • Mithril Man Web!
maybe totally is the wrong word :)

imo someone holding a private key which can affect the game fees shouldn't be integrated (in any cryptocoin).

yes I agree on this, is just a pity to be forced to fork everytime even for trivial changes, a change like this would be like having a "game master" and this would even be useful if we want to create ingame events, where we can set a period of time (block range) where mobs are generated randomly, with specific skillset, etc... and not just generated randomly from the server

if the key is lost, or some bad changes is done by purpose, community can just stop before it being applied and then require a fork to change the key or remove it completly
Alternative GUI client for Huntercoin http://www.mithrilman.com
HUC donation: HMSCYGYJ5wo9FiniVU4pXWGUu8E8PSmoHE
BTC donation: 1DKLf1QKAZ5njucq37pZhMRG67qXDP3vPC

Snailbrain

  • Developer
  • Hero Member
  • *****
  • Posts: 1002
    • View Profile
although still not ideal :

you could have a voting system for the fees, and there are 12 keys of which multiple trusted people have a key - and the fees are based on consensus.

i think still takes a way the trust-less nature of crypto coins though - but still interesting :D

domob

  • Developer
  • Sr. Member
  • *****
  • Posts: 285
    • View Profile
I agree with snailbrain - it is technically possible, but I don't think it fits to Huntercoin's core feature of being a crypto coin game world.
Use your Namecoin-ID as OpenID: https://nameid.org/
Donations: 1domobKsPZ5cWk2kXssD8p8ES1qffGUCm | HBkxA5QmYSATFoPN1wFk8eBkgwPpY97Mfu