Author Topic: New efforts!  (Read 7290696 times)

Arcana

  • Sultaness of Stats
  • Elite Boss
  • *****
  • Posts: 3,672
Re: New efforts!
« Reply #24600 on: May 20, 2016, 09:07:16 PM »
Indeed, that's something I've given quite a lot of thought to, but more in the context of creating a distributed game architecture with seemingly conflicting goals.

For example, say you are developing a hypothetical game that is normally straight client-server, but you want to find a way to not depend on a single server holding all the eggs, because they are community run and could come and go without warning. So you have to balance all of these factors:

  • Character portability between servers that may be running different content. Some might be "no content" chat/rp only. Some might be classic content. Some might be wacky experimental content. Or something entirely different that happens to share a common universe. Just how much of the character can effectively move between these environments?

  • Ability for people to experiment locally and create interesting things that go off the beaten path.

  • Given a classic game mode that is progression focused, how to maintain that in contexts where it makes sense? This seems to be in direct contradiction with the previous two. If characters are ultimately portable even when servers are offline (which implies some form of local character storage), how can you prevent duping/jerk hacking? Is it a big enough problem to even worry about? Research with other games seems to lean towards 'yes', rampant cheating does ruin the experience for many players even in PvE games.

  • How to separate the open sandbox environments, which are a great petri dish for breeding community additions, from the 'no cheats' progression zone? What level of character portability is desired or possible between the two? With chat/rp only it's easy enough to allow your progression character to act as an avatar without needing to alter its state, but it's the cases in the middle with nonstandard content that are a lot fuzzier.

It's not an easy problem to solve. For sandbox it's less of an issue, but for progression it's probably impossible to solve 100%, as without a single authority (which is also a single point of failure), there is no way to prevent someone really dedicated from gaming the system. Still, there are ways to raise the bar high enough to keep it from running rampant. Public key crypto has possibilities to create a form of mutually trusted authority that is not required to be online all the time to verify.

I've thought about this problem a lot as well, going back to when I proposed the distributed single/multi model shortly after the shutdown notice.  I believe the general case problem is unsolvable, in that there's no way to simultaneously solve the offline/online problem and prevent bad actors.  In a certain sense, that's a hyper-version of the no-bot problem: you can't completely eliminate all possibility of someone botting your game for unlimited progression without needing to be actually playing.

But the obvious solution to the problem of globally recognized progression data in an environment where you will trust servers but the problem is to avoid a central server seems to be block chain.  Suppose distributed game servers incorporated all major XP progression events (say, gaining a level or maybe gaining a tenth of a level like CoH did) into a block chain transaction.  You wouldn't need all of the servers online simultaneously, you just need a quorum.  Any server offline at that moment would update their global blockchain on start up, and that would intrinsically contain all character progression information that happened to that point, everywhere.  Of course, you would need to look at ways to make this efficient: a single mega blockchain containing all the XP earned by everyone point by point would probably not be practical.

We could generalize this to all major critical progression events.  Earning an incarnate level.  Getting a purple drop.  If you tamper with your character, or maybe just decide to play it on a custom stand alone server for fun, unauthenticated changes to your character would not be honored on the major global servers.  But they would be honored on your own stand alone single player server.  It would be analogous to a PnP gaming session where the GM says "ok, this is fine, this is fine, nope, sorry I can't let you have that +42 rod of heavenly smiting, I don't care what you did in the last session to earn it."

The precise details of implementation would be very important (I'm thinking specifically about efficiency issues in terms of single transactions and global efficiency of block chain growth: signatures vs data, that sort of thing), but I think the technology to implement essentially already exists.  Instead of a central database, the game's critical database would be the distributed block chain.  So long as that existed, no single server would be necessary.  In fact, no single server could compromise the game either. And it is not hard to envision trivial ways to allow this form of distributed game data allowing for optional extensions either embedded within the block chain or with parallel optional block chains.

Stitchified

  • Boss
  • ****
  • Posts: 133
  • Errors are not in the art but in the artificers.
    • datebest.net - visit website and win smartphone!
Re: New efforts!
« Reply #24601 on: May 20, 2016, 09:30:23 PM »
I was reading this article, and wishing that NCSoft had cared enough to do the same thing with CoH.
See, the thing about NCsoft doing the same thing with CoH is that well, that'd mean they'd have to take time out of their "important" schedule to sit there and make sure CoH/CoV would be running A-Okay, plus it'd also mean they'd have to spend money keeping the servers up, among other things. All of which NCsoft has thrown a fit about because money is so damn important to them. (Even though CoH/CoV was still making them a good chunk of change)

(On a side note, I'm very anxious about news of the Deal, and trying to curb that Anxiety is proving to be a pain in the butt)

Arcana

  • Sultaness of Stats
  • Elite Boss
  • *****
  • Posts: 3,672
Re: New efforts!
« Reply #24602 on: May 20, 2016, 09:32:34 PM »
This is a very interesting topic to me.  Something I've spent a lot of years thinking about, as well as researching.  The "final word" I've seen is not intuitively obvious, but very compelling.  If you'd like the details, you can look up the Dunning-Kruger Effect, but the elevator pitch goes like this: 1. people compute their assessment of "competence", both in themselves and in others, with the same part of the brain the computes the actual skill.  Therefore: 2. incompetent people are completely incapable of understanding their own lack of competence.  3. Competent people tend to believe, through "false consensus", that everyone else is just as competent as they are.  The old saying "the more I know, the more I know I don't know" is actually a truism, along with "the less someone knows, the less they know how little they know." 

I don't think Dunning-Kruger is the final word on this, because while it explains the tendency for unknowledgeable people to be less likely to acquire more knowledge, it does not explain how people transition from unknowledgeable to knowledgeable in the first place.

When I learned, or rather taught myself to be a public speaker, one of the things I both learned and discovered is that rehearsal is not just about practice.  Some people think that the benefit of rehearsal is identical to the benefit of practicing juggling.  The more you do it, the better you get.  That's true, but that's not even the most important part of rehearsing speeches.  The real benefit comes from listening to yourself talk.  We use a completely different set of cognitive processes when we compose speech and when we deliver speech and when we listen to speech.  When we're talking, we are focused on delivery.  When we are listening, we are focused on comprehension.  Stuff that sounds great in our heads when we are thinking it or saying it can sound horrible when we are listening to it because we are intrinsically more critical of the things we hear as opposed to the things we think.

When you rehearse a speech, you first are just trying to get the words out.  Its often much more difficult than it seems, for the same reason we think we know the words to the song until we try to sing along with the radio.  Thinking and speaking are different mental skills.  But once you get comfortable delivering and can do it without it taking up 100% of your concentration, you can start to listen to yourself speak.  And that's when the real benefit kicks in: you start to hear everything you are saying that is inarticulate, confusing, nonsensical, illogical, nonsequitor, or just plain goofy.  You can start to criticize your own thoughts as they are spoken back to yourself.  And that can make you a much better speaker.  With enough practice, you can start to do this inside your own head, but no one starts off being able to do that, and no one does it as well as they criticize what they hear.  There's a reason why I tend to read these words as I type them, and its the same reason.  This sentence is being typed into this paragraph on my third reading pass through this post.

I think cognition in general is like this.  There's thinking, and then there's thinking about thinking. What's interesting about Dunning-Kruger is that we're far more vulnerable to its effects on what we know, but less vulnerable to its effects on we're told others know.  If we don't know a lot about X, we can make mistakes about how far we can push our intuition about X.  But even though we don't know a lot about X, we tend to be, on average, more skeptical about other people who make claims about X, even though we have no way to judge their competency any better than our own.  And that's the secret to beating Dunning-Kruger in my opinion.  A part of you has to be skeptical about you.  You have to be able to take a step back, consciously or not, and evaluate your own thoughts as if a random stranger were trying to convince you of them.  I think people we classify as "fast learners" tend to be this kind of person: someone that is able to switch back and forth between being confident enough in what they know to use it effectively without fear, and yet at other times being highly skeptical about what they know so that they can find the weaknesses in what they know and learn from those weaknesses.  It is a skill I try to teach in my profession specifically. 

I often tell people that what you are certain about is useful, what you know you don't know is useful, what you think you know but aren't sure about is often less than useless.  Knowledge you can rely on is always useful.  And definite uncertainty is something you can always work around.  But the stuff you think you know but aren't sure about can be paralyzing.  You know, so it is hard to conceive of anything else which blinds you to other possibilities.  And yet you aren't sure, so you won't bet on it confidently either.  "I know" tells you what to do.  "I know I don't know" tells you what to learn.  "I think" tells me to hit you until you change your mind.  The world's not that simple of course, but as a general principle I think it works.

slickriptide

  • Elite Boss
  • *****
  • Posts: 356
Re: New efforts!
« Reply #24603 on: May 20, 2016, 11:00:22 PM »
But the obvious solution to the problem of globally recognized progression data in an environment where you will trust servers but the problem is to avoid a central server seems to be block chain.  Suppose distributed game servers incorporated all major XP progression events (say, gaining a level or maybe gaining a tenth of a level like CoH did) into a block chain transaction.  You wouldn't need all of the servers online simultaneously, you just need a quorum.  Any server offline at that moment would update their global blockchain on start up, and that would intrinsically contain all character progression information that happened to that point, everywhere.  Of course, you would need to look at ways to make this efficient: a single mega blockchain containing all the XP earned by everyone point by point would probably not be practical.

You're describing character progression as a Bitcoin transaction?

Now I'm imagining not just a global "database" of "master character records" but an "experience point economy" where progress in one world is traded for benefits in another world that participates in the global blockchain. It's a little mind-boggling.


Vee

  • Elite Boss
  • *****
  • Posts: 2,376
Re: New efforts!
« Reply #24604 on: May 20, 2016, 11:17:23 PM »
Just go for the full on Ready Player One treatment so I can get exp for watching crappy shows and reading crappy stuff too.

ivanhedgehog

  • New Efforts # 25,000!
  • Elite Boss
  • *****
  • Posts: 512
Re: New efforts!
« Reply #24605 on: May 20, 2016, 11:26:32 PM »
Ogre is an awesome board game. I still wish I had been able to afford the deluxe edition when it Steve Jackson Games did the kickstarter for it. I still play the Microgame version of Ogre several times a year.

Back in the 80's, my friends and I worked up rough rules to use an Ogre in Car Wars. And then Autoduel Champions brought us superheroes vs. Ogres.

Being able to do stuff like that in an online computer game environment would be incredible. It would also be a massive time suck, but a fun one!

I played ogre and GEV at cons back in the 80's. And toon the RPG way back when.

LadyVamp

  • Elite Boss
  • *****
  • Posts: 539
Re: New efforts!
« Reply #24606 on: May 20, 2016, 11:32:54 PM »
I like the way you think!

Especially given that I can draw on some direct experience. SOE was a publisher, back in its facebook game days, of a game called Dungeon Overlord that was a very rudimentary kind of "Dungeon Keeper the MMO". The game was similar but you weren't building a death trap for marauding heroes, you were building a lair and raiding the lairs of all of the surrounding would-be evil demonic overlords.

I was thinking the same thing with the heroes from CoH finding both allies and enemies from Villains possibly at the same time while going after a specific Villain empire.

Say You had a criminal empire.  So do I.  A group of heroes decides to attack your empire.  I could aid them either knowingly or unknowingly to them.  Or they come after me.  You come after me also.  Your forces run into their forces while trying to take my forces down and end up in a 3 way free for all fight.  Just examples.

Like in Arcana's army vs orge game.  A second orge could show up to re-enforce the 1st orge or the army or attempt to wipe both out.  Or 2 orges going after each other and an army shows up with the intentions of taking both down.

Quite a combination would be possible with the number of players we had.  Just have to watch out for the player who plays both sides, ie I as a hero attack my own criminal empire.

But then why limit it that way,  why not have the criminal empire able to trash out a heroe guild (ex good guy's version of a criminal empire).
No Surrender!

LadyVamp

  • Elite Boss
  • *****
  • Posts: 539
Re: New efforts!
« Reply #24607 on: May 20, 2016, 11:34:19 PM »
Palladium Games has done similar with RPG's.  All of their games are based on the same basic game system.  Some of the housekeeping stuff changes (such as money), but the core game is the same throughout. You can easily take your character out of a Rifts setting and move them into a zombie setting or swords and magic. It really would be the lore and maps changing.  Sounds like a good idea.  You could even get the basic game play done and sell/ lease it out to those who just want to do the pretty stuff.

So did steve Jackson games best known as GURPS (Generic Universal Role Playing System).
No Surrender!

LadyVamp

  • Elite Boss
  • *****
  • Posts: 539
Re: New efforts!
« Reply #24608 on: May 20, 2016, 11:46:46 PM »
  • Character portability between servers that may be running different content. Some might be "no content" chat/rp only. Some might be classic content. Some might be wacky experimental content. Or something entirely different that happens to share a common universe. Just how much of the character can effectively move between these environments?

  • Ability for people to experiment locally and create interesting things that go off the beaten path.

  • Given a classic game mode that is progression focused, how to maintain that in contexts where it makes sense? This seems to be in direct contradiction with the previous two. If characters are ultimately portable even when servers are offline (which implies some form of local character storage), how can you prevent duping/jerk hacking? Is it a big enough problem to even worry about? Research with other games seems to lean towards 'yes', rampant cheating does ruin the experience for many players even in PvE games.

  • How to separate the open sandbox environments, which are a great petri dish for breeding community additions, from the 'no cheats' progression zone? What level of character portability is desired or possible between the two? With chat/rp only it's easy enough to allow your progression character to act as an avatar without needing to alter its state, but it's the cases in the middle with nonstandard content that are a lot fuzzier.

In order to achieve the ability to move around like that, you would need to make the servers sessionless in nature.  Same thing is done with web servers for eCommerce.  The server that you happen to be talking too stores any session items like your shopping card/bag on another server that handles sessions for multiple servers all built to offer content from a single site.  Amazon likely uses such a setup.  While I cannot tell you who I work for, I can tell you we are looking to do the same thing.  Since we use JBoss, we're looking at JBoss Data Grid to do just that.  No reason that cannot be used here for while a toon is online.  Sessions could be handed off from server to server while playing.  Users not likely to notice more than a momentary pause while the session was handed off.  The offline part could need to be stored in a central database in some kind of HA configuration.

Alternatively, a distributed database of sorts might be possible if we apply the same blockchain concept to the toon data as used by crypto-currencies like bitcoin.  Tweak your toon, your data no longer matches the checksums and would be called out as tampered with.

No Surrender!

LadyVamp

  • Elite Boss
  • *****
  • Posts: 539
Re: New efforts!
« Reply #24609 on: May 20, 2016, 11:49:48 PM »
If you want a server setup which is not dependent on any one physical node, you could do worse than to look at the originator of the process: the Tandem "Non-Stop" computer.  It was sold as a single physical box that contained four independent processors.  The operating system was optimized to run every single instruction four times, once on each processor, and then compare the results.  If at any time one processor produced a different result from the other three, the operating system simply dropped that processor, issued a warning, and continued with the next instruction on three processors.  It could conceivably continue to run on three with the same reliability (if one processor disagrees with the other two, again drop the dissenting processor), giving the operators time to correct the error.  I have *never* understood why Tandem Non-Stops were not used for air traffic control....I guess the people in charge were too cheap (they are *not* inexpensive machines!). 

If you want a reliable network of individual user-run volunteer nodes, I can see creating an umbrella software capable of making sure that you always have at least four nodes up-and-running (or more, for greater reliability), and if one drops, immediately designate a replacement and copy any necessary software and data to the new node.  Easy to code?  No.  But pretty much bulletproof, if that's what you want.  :-)

You can do lock-step on VMware ESXi which makes VMs identical for the disk, memory, and CPU(s) state for all VMs participating.  I think it's limited to 16 VMs right now but doesn't require any special hardware other than a lot of speed.

No Surrender!

Arcana

  • Sultaness of Stats
  • Elite Boss
  • *****
  • Posts: 3,672
Re: New efforts!
« Reply #24610 on: May 21, 2016, 12:38:37 AM »
You're describing character progression as a Bitcoin transaction?

Yes and no.

Quote
Now I'm imagining not just a global "database" of "master character records" but an "experience point economy" where progress in one world is traded for benefits in another world that participates in the global blockchain. It's a little mind-boggling.

Such a thing is possible, but I wasn't referring to that idea.  I was specifically referring to the core concept of the block chain being a distributed global transaction log.  So when you gain a bar of XP (i.e. 10% of a level) that's recorded somewhere: in the server you're connected to presumably, whether that is an actual game server or a stand alone server on your own computer.  That data, along with other data, represents your character.  If you play in many different places: on your own computer, on a private lan, and on the global servers, the problem is when you move from one server to another and your character data gets sent to the new server on what basis should that server trust any of your character data.  You could have just hacked your own computer and hand entered any character data at all.  The idea is that when you are playing on "trusted" servers those servers will update the block chain with your character progress.  When you are playing on an untrusted server like a stand alone at home that server cannot update the global block chain.  When you try to move from your own computer to a global server that server can use the global block chain to determine what parts of the history of your character happened "for real" on trusted servers and which did not, and import you on that basis.

Seeing character progress as "currency" is a completely different, and interesting idea that was kicked around on the official forums during one of my more wild speculative weeks.  But using block chains wouldn't be either necessary or sufficient to implement that idea.  The block chain's main beneficial property here is to act as an authoritative game database that was completely decentralized and did not require a single authoritative database that could be shut down.

Arcana

  • Sultaness of Stats
  • Elite Boss
  • *****
  • Posts: 3,672
Re: New efforts!
« Reply #24611 on: May 21, 2016, 12:49:34 AM »
You can do lock-step on VMware ESXi which makes VMs identical for the disk, memory, and CPU(s) state for all VMs participating.  I think it's limited to 16 VMs right now but doesn't require any special hardware other than a lot of speed.

My recollection is that the current limit on FT VMs in ESXi 6 is four VMs or 8 protected vCPUs per host, which ever comes first.  Since there is a maximum of four vCPUs in an FT VM, you can have up to four single core or dual core VMs, or you can have two four-core VMs fault tolerant (or some other weird combination).

As a practical matter, you can't fill a VMware cluster with FT guests.  You can make them, but they will only be a small percentage of the total capacity of your clusters, unless you're using relatively small hosts in your clusters (like one socket eight-core Xeon per host).

Codewalker

  • Hero of the City
  • Titan Network Admin
  • Elite Boss
  • *****
  • Posts: 2,740
  • Moar Dots!
Re: New efforts!
« Reply #24612 on: May 21, 2016, 12:55:38 AM »
It's an interesting idea.

I had considered using public keys such that you could store your character locally, but in order to be "official" it would have to be signed with a key from a server that the rest of the network trusts. The servers would have keys issued by a central authority (or rather a small group of 2-3 people for redundancy) that each of the participating servers agree to trust. If a server operator was found to be abetting cheating and a resolution cannot be reached, as a last resort their key could be revoked, which would render all characters they had signed untrusted.

A blockchain is interesting because it solves the replay problem by introducing a definite sequence of events (but requires that all servers be online with the network to function). Signed characters can do something similar if they are timestamped, and each server replicates some metadata (last seen timestamp and hash) for each character that they see.

Of course a distributed blockchain doesn't do anything about a dishonest server operator doing things like turning on 500x XP or making every minion drop a purple recipe. That's a different problem. Bitcoin sidesteps the issue because the transactions it records in the blockchain are inherently self-authenticating -- they are the results of solving cryptographic problems which are easy for anyone to verify that the answer is correct.

Of course putting all characters in a single blockchain would have to be done with a lot of care. The bitcoin premise of assuming that storage and bandwith capabilities will grow infinitely is stupid IMO, and wasteful. Isn't there something about Bitcoin's contribution to carbon emissions worldwide?

Any fully distributed system also has the question of will it be able to attain (and sustain) the critical mass needed out of a small community and an even smaller pool of people able to run servers.

Codewalker

  • Hero of the City
  • Titan Network Admin
  • Elite Boss
  • *****
  • Posts: 2,740
  • Moar Dots!
Re: New efforts!
« Reply #24613 on: May 21, 2016, 12:58:01 AM »
My recollection is that the current limit on FT VMs in ESXi 6 is four VMs or 8 protected vCPUs per host, which ever comes first.  Since there is a maximum of four vCPUs in an FT VM, you can have up to four single core or dual core VMs, or you can have two four-core VMs fault tolerant (or some other weird combination).

At least it can (sort of) do multicore now. In 5.1 FT was limited to single-core VMs only. But it's still very limited and obviously intended for niche applications that need absolute protection from hardware failure without interruption, but don't need just a ton of performance. It of course also does nothing to protect against software failure within the VM.

Surelle

  • Guest
Re: New efforts!
« Reply #24614 on: May 21, 2016, 01:06:51 AM »
See, the thing about NCsoft doing the same thing with CoH is that well, that'd mean they'd have to take time out of their "important" schedule to sit there and make sure CoH/CoV would be running A-Okay, plus it'd also mean they'd have to spend money keeping the servers up, among other things. All of which NCsoft has thrown a fit about because money is so damn important to them. (Even though CoH/CoV was still making them a good chunk of change)

(On a side note, I'm very anxious about news of the Deal, and trying to curb that Anxiety is proving to be a pain in the butt)

Please sign up for the "Wake me if there's ever real news" thread, and then you can totally relax, knowing that if by some miracle anything ever changes, you'll be notified right away.   :)    Also, please, please remember that by rights, NONE of us should have ever found out anything about the last attempt to rez CoX 2 years ago, except for some big mouths leaking info when they shouldn't have, and a certain CoH fansite operator making public threats about blabbing everything himself if the Hail Mary Team didn't come forth publicly and do it.  The blabbers are responsible for your anxiety and no one else. 

Honestly, NCSoft didn't ask for anyone else to approach them, and as we now know from C.Bruce (Back Alley Brawler)'s recent Reddit AMA, they turned down both Paragon Studios AND Cryptic Studios, who both not only created the code and lore for and ran CoX professionally, but Cryptic also created the very engine NCSoft was leasing for CoX in perpetuity until the shutdown!  Let's face it, if they turned both of them down.....  Like C.Bruce said, every publisher will say up front that they're willing to do something; it costs them nothing to say that.  Where it all fails is when the actual contracts come out. 

I mean, hoping against hope is okay, but you should definitely not be anxious about this subject anymore.  It was only ever a hail-mary-pass mega-longshot to begin with even two years ago, and no one should have ever heard about it besides.

If you need something to believe in, believe in Paragon Chat.   8)
« Last Edit: May 21, 2016, 01:22:24 AM by Surelle »

Arcana

  • Sultaness of Stats
  • Elite Boss
  • *****
  • Posts: 3,672
Re: New efforts!
« Reply #24615 on: May 21, 2016, 02:25:34 AM »
At least it can (sort of) do multicore now. In 5.1 FT was limited to single-core VMs only. But it's still very limited and obviously intended for niche applications that need absolute protection from hardware failure without interruption, but don't need just a ton of performance. It of course also does nothing to protect against software failure within the VM.

With the old 1 vCPU limit in ESX 5, the only FT server I used to run in full production was our syslog server.  It singularly satisfied the FT requirements of "doesn't require a lot of performance, but you absolutely want it to stay running when other things start failing."  I also used to run a virtualized NFS server serving virtual guests (basically, ghetto vSAN) but having only one execution thread was too much of a performance penalty and I switched to just an HA system instead.

Arcana

  • Sultaness of Stats
  • Elite Boss
  • *****
  • Posts: 3,672
Re: New efforts!
« Reply #24616 on: May 21, 2016, 02:59:04 AM »
A blockchain is interesting because it solves the replay problem by introducing a definite sequence of events (but requires that all servers be online with the network to function). Signed characters can do something similar if they are timestamped, and each server replicates some metadata (last seen timestamp and hash) for each character that they see.

Theoretically speaking, you don't need all servers to be online simultaneously.  You only need enough to form quorum.  So if 51% of them are up and they authenticate a transaction, when the other 49% boot up they will reload the current active blockchain and get in sync.  Or they won't but if 49% all choose not to sync, they will always have a minority blockchain and always get outvoted.  In effect, they will have voluntarily forked themselves out of the system if they choose not to resync.

Quote
Of course a distributed blockchain doesn't do anything about a dishonest server operator doing things like turning on 500x XP or making every minion drop a purple recipe. That's a different problem. Bitcoin sidesteps the issue because the transactions it records in the blockchain are inherently self-authenticating -- they are the results of solving cryptographic problems which are easy for anyone to verify that the answer is correct.

The reason why I think this is a technologically intractable problem is consider the case where we *want* the game to award 500x XP.  In a sense, there is no "correct" version of the game that can be mathematically proven to be correct.  What is "correct" is really a consensus opinion by the people who operate and play the game.  So any system attempting to reject bad actors has to have a human element within it that judges what is good and bad.  A server that consistently adds ridiculous transactions to the game can be black listed - that can be enforced technologically.  But the judgment of what is bad behavior will require some human input.

While the block chain is designed to be self-authenticating, actual Bitcoin transactions are not authenticated by the block chain itself.  Bitcoin transactions are presumed to be correct on the assumption that other parts of the system make it impossible to forge transactions.  In particular, crediting a Bitcoin account requires the account's private key, which only the owner should possess.  Because Bitcoin transactions are always "give" and not "take" the presumption that all Bitcoin transactions are valid is based on the presumption of the security of private keys.  MMO servers could function analogous to Bitcoin wallets.  Servers would be able to give XP because they can sign XP transactions.

Without getting too mathy even for this thread, let me suggest something with language I think anyone familiar with the topics would understand but might be a little opaque to uninformed readers (otherwise, this will get lengthy, even for me).  Suppose we take scarce MMO resources and cooperatively cryptographically mine them among all valid servers.  We can then place limits on how many, say, purple recipes enters the world globally across all validated and cooperating servers.  We then design the individual servers to only issue scarce resources that have been already mined and entered into the global block chain.  A quorum process monitors for bad actor servers looking for anomalous patterns or transaction frequencies and performs throttling based on a usage algorithm.  In effect, a server attempting to give out more purples than is statistically likely would be rejected by the other servers.  If more than a quorum reject the transaction it won't become canonical in the global block chain.

Here's the million dollar question.  Can you extract useful entropy or information from gameplay activity and convert it into expensive-to-replicate mining activity?  If that's computationally possible, we could cryptographically convert gameplay into scarce MMO resources, making them practically forge-proof.  Maybe it is enough that servers send mining activity periodically to game clients: the more game clients you are serving, the more mining activity the server can perform and the more gaming resources that will be generated.  To the extent that this is vulnerable to forging, we can make it more expensive than it is worth.  If it is easier to bot your way to a purple, then it doesn't matter if it is theoretically possible to engineer a network of purple miners to connect to your Munchkin server.

I wanna say "embed resource mining within the graphics engine of the game client and perform mining within the context of rendering the games somehow" but I'm not sure if that's genius or gibberish.  Maybe both.

I'm compressing the thought process by about a hundred, but I think you get the idea.

Quote
Any fully distributed system also has the question of will it be able to attain (and sustain) the critical mass needed out of a small community and an even smaller pool of people able to run servers.

That's a question I can't answer, because I honestly don't know what the minimum server count would have to be to make this practical.  I know in Bitcoin terms there a critical mass to avoid block swamping by bad actors.  But for an MMO?  Would it be worth it to overwhelm the block chain of City of Heroes?  I suppose there's a minimum size necessary to prevent someone from doing it just for the lulz, but I'm not sure how to estimate that at this (very hypothetical and vaporous) stage.

Dr. Bad Guy

  • Lieutenant
  • ***
  • Posts: 85
Re: New efforts!
« Reply #24617 on: May 21, 2016, 03:14:45 AM »
So did steve Jackson games best known as GURPS (Generic Universal Role Playing System).
   Yeppers.  Got a lot of Gurps Sourcebooks. I use them to pad out my Megaverse.  Its really just a matter of who's rules ya like.

Codewalker

  • Hero of the City
  • Titan Network Admin
  • Elite Boss
  • *****
  • Posts: 2,740
  • Moar Dots!
Re: New efforts!
« Reply #24618 on: May 21, 2016, 03:19:36 AM »

LadyVamp

  • Elite Boss
  • *****
  • Posts: 539
Re: New efforts!
« Reply #24619 on: May 21, 2016, 03:34:15 AM »
At least it can (sort of) do multicore now. In 5.1 FT was limited to single-core VMs only. But it's still very limited and obviously intended for niche applications that need absolute protection from hardware failure without interruption, but don't need just a ton of performance. It of course also does nothing to protect against software failure within the VM.

Most of my VMware knowledge is vCloud Director.  I tend to stay out of the underlying vCenter when possible.  I know it's very limited in 5.5.  I know 6 added a few wrinkles, but we don't use it where I work.
No Surrender!