Discuss the massively-multiplayer home defense game.
You are not logged in.
Well, if the competition is "get through this random-gen house with the fewest tools," then zero-money players will stand no chance. Unless players are offered an infinite load-out budget at the start of the puzzle house. Then you CAN use loads of tools, without paying for them, but the goal is to use the fewest.
Still seems like it would take too long to bootstrap people. You need to have a time window and a contest deadline. In the N=2 case, this really doesn't work well. After someone submits their best try, they're essentially sitting around waiting for the results to come in.
You really need some way for money to come into the game that doesn't depend on other players.
The problem with a simple CAPTCHA-style thing is not that machines will eventually beat it, but that it will be subject to grinding by humans. You can have 1 per minute available, but then people will spam-reload the page to be the first to get it (not interesting). I can imagine people building up vast fortunes this way. And obviously, per-account limits don't work.
It's interesting that so much of security is about proving that you ARE you. We don't have any methods of proving that you're NOT you. That's the problem here. We can't give money to any account freely and automatically, because the same user will just create another account to harvest the money from the first account, and there's no way for us to tell whether or not the second account is the same person.
For the same reason, we cannot allow other players to design the "state" houses for us, because we can't make sure the people robbing those houses are not the designers.
Anyway, I think there needs to be a way for money to enter the game that has no timer or waiting period attached to it.
On the other hand, it also needs to have some skill or difficulty attached to it, or else it will be subject to grinding as a replacement for robbing and other activities.
Hold on a sec.... I got to reading your list of changes, but stopped there before reading the rest.
I think you need to be careful here and make sure that each of these changes is still motivated. Some of them were "accumulated" along the way to a solution.
What's the point of the mini-vault and locked door now, if new players DO have a sockproof, no-backpack-needed source of money now? New players can just play that source for a while until they have enough for a backpack. You can also get rid of the "house budget" in your current version, and just start new players with $0. The "prize" at the end of the human prover can be enough money to build a house and have some left over. No reason to keep the reserve, either. You can go back to listing houses by estimated loot value. A house with no loot will attract no robbers and earn no money from backpacks.
The point is, all money in the game must be "earned" through human means, as opposed to getting it for free in such a way that you get N times more free money when you run N accounts.
Also, I don't think multiple simultaneous checkouts is necessary either anymore.
Coming full circle, I think that was your main insight as you developed this sockproofing thing in the first place: Each account gets free money for nothing, therefore, players can exploit multiple accounts to get even more free money for nothing. We need to figure out a way to STOP giving free money per account. Your first attempt (building-only money to start with) removed this free money source from the game. But it didn't replace the free money source with a non-free source. It just cut money out of the game entirely, which obviously can't work. Now you have ideas for non-free money sources in the game, and that's all you really need.
You were also tackling the benefit of extra accounts for risk-free scouting, so you removed the permadeath penalty from robbery death.
Yeah, a lottery or a robbing contest is a great idea to add money to the game.
For the lottery, to avoid sock puppets, there would have to be an unlimited number of entries per account, with a unique, human-only puzzle each time.
There has to be SOME human-only puzzle that could be invented here. Obviously a visual one.
I think the hard part with CAPTCHA is that we want something machine-generated that is unsolvable by a machine.
This is a great way to let starting players rob. Obviously, if they reach the mini-vault, they GET a lockpick, right? Hmm...
But it still doesn't solve the problem of getting money into the game.
Well, for respawned players, there was never a punishment for robbery failure, aside from chill timers, because they have nothing to lose.
Whoops, you're right!
Well, that's already something of a problem, because you can keep your house constantly robbed and off the list with a bot account.
Well, anything that assumes some real players (rich ones!) pay other players (poor, jobbing painters) fails in the face of inductive reasoning. How did the rich players get rich to start with?
There has to be a source of money outside of getting it from other players.
In TCD, that source was the starting budgets given to respawning players. But, if you control two accounts, you get 2x as much starting money.
I'm not convinced that you need a non-player source of money that ALL respawning players can take advantage of. You just need one that SOME can take advantage of to get the thing off the ground, and keep it off the ground later.
If robbing costs money, then yeah, every respawning player will need access to some "grind money" to get started.
But the "ante" that you've now attached to robbing is supposed to prevent endless robber-spamming, given that death has no other cost. Chill timers and such can be bypassed with multiple accounts.
What if there was a system-wide chill timer? After someone dies in a house, it goes "off the market" for X minutes for EVERYONE but the owner. Multiple accounts have no advantage, now.
Maybe there is a way you can "buy" your way into one of these off-market houses. A gas mask that allows you to stand the stench of the dead body. And also, the owner can instantly take the chill-timer off by revisiting the house.
Thus, the chill timer only affects the poorest players, but prevents them as a group from robber-spamming a house 1000 times in one day.
SO, if you really want to "work on" a house by rob-dying over and over in it, you'll need to buy a lot of gas masks to stand the stench of your own body. Morbid, I know. There's probably other fiction (police line that you have to pay to cross, etc.)
So, that frees up poor players to rob EVERYONE, and then there's no reason to given them a house budget at all. Well, maybe a small house budge AFTER they have some money to protect. So, we don't have to worry about poor players "grinding" money on every respawn, because they can steal it from others with no investment.
Still, we need a way for SOME money to get into the game in the beginning and from time to time later, as needed.
I hadn't thought about the need for it to be robot-proof. I agree that a map algorithm that isn't amenable to bot-robbers sounds like a hard problem. Though maybe it's not as hard as we think it is... I wonder if there's some class of maps for which algorithms would have trouble, but human players would easily see the solution. Probably not, because maps are necessarily discrete. Captchas are always leveraging problems from more continuous-seeming domains. I mean, we could also tell the difference between a human and a robot by throwing a ball to the subject and seeing who could catch it. I can't imagine any house designs that are simple for humans but not amenable to brute-force search by a computer.
Other player's discarded houses are easily solved by the past owners of those houses. For a similar reason, we can't let any players be involved in designing the seed houses, because then they themselves have an advantage.
I wonder about paying players to do useful, valuable work for the game. The dummy-robbers is a version of this, because we're paying players that design decent houses. Of course, the problem is that this can be automated by finding one good house design and reposting it over and over on different accounts.
We also can't reward them via money creation for creating a house that kills real players, because multiple accounts again will abuse it.
You were essentially rewarding "real" players with gifts based on the activity you observed from them. Oh, you built a nice house! Here's some money for you.
The only idea I can come up with is if we let other players decide as a group who should get money. Like a "beautiful foyer" contest where the whole neigborhood gets to vote on who wins. If you make the numberde of required votes high enough, you prevent multiple accounts from being leveraged.
You can also give more weight to the votes coming from houses that got more votes themselves. A pyramid scheme of influence, tracking who the legitimate players are and rewarding them, while reducing the impact of votes from dummy accounts.
Anyway, this would let other players do the job of figuring out who was "doing valuable work for the game." Though it does suffer from tragedy of the commons (nobody votes) and also leader bashing (revenge voting). So, a player who is clearly doing great work for the game might not get rewarded according to the whim of the masses.
What other work could players do that would help the game AND be worth giving them money for? The problem is that we need a way to judge the quality of the work done to prevent people employing bots to do it. Or discover some work that bots simply can't do.
Well, I always thought you were a math-and-proofs kinda guy, so I was trying to get rigorous with you. Don't you have a Ph.D. in Math or something? When you say, "I don't know how many players would be sufficient," that feels very hand-wavy to me.
Regarding reserves, they don't work to solve the fundamental problem, because new players have no money to put in reserve. You only possibly have money in the reserve if you've been robbed unsuccessfully at least once.
There's simply gotta be a way to get the thing off the ground. You've built a glider, and you claim it will keep flying indefinitely if you just get it up high enough in the air to start with. But we can prove by induction on the altitude that it will eventually come back down regardless of the altitude. You need to figure out how to put a propeller on it!
What you're describing in your hypothetical 3-player setup is simply a Nash equilibrium, which is a way of curtailing the infinite regress that you're imagining.
Most likely, we'd both be sitting there waiting for the construction value on the house to rise above $2000. Then we'd KNOW he had some extra money to spend, and that he likely had a reserve.
And, the great thing about a solution that holds water in the face of inductive reasoning is that it works well in the small-N cases as well. Like, in the base case. What you have is clearly not working for very small player pools, so that in itself is a problem if the thing is going to get off the ground (the small player pool has to be able to keep playing!).
TCD itself did not make sense inductively, not with money creation, but with content consumption. Everyone creates only one piece of content, but wants to consume multiple pieces of content. Clearly, it doesn't work for small N. But I waved my hands and said, "Well, with enough players, it will somehow work itself out." Yes, it reached something like 600 active houses at one point, but the flawed design made dwindling, not continued growth, inevitable.
Well, the fact that you need a "temporary hack" like gifting "to get it up and running" is telling, and why I'm suggesting that thinking inductively is important.
The financial system in the original TCD didn't work to prevent sockpuppets, but it did "work" as a functioning economy for any sized player pool, all the way down to N=1 (you can build a worth-robbing house with your starting money and then wait for another player). There was no hand-wavy "well, more players will somehow fix it" argument.
The reason why what you're describing doesn't work for N=2 is because by "gifting" or "mercy robbing" the other player, Zed isn't really playing the game. Zed has no rational reason to rob the other player, because Zed knows for sure they have nothing worth robbing.
Once it "gets going," with many players, that problem will persist. When the N+1 player joins, people will have no rational reason to rob them, so that player will be frozen out of the economy. And, assuming it ever did "get going" through some hack or trick, over time, the wealth would tend to snowball into fewer and fewer accounts, gradually enlarging the pool of players who aren't worth robbing, and thus the pool of players who are frozen out of the economy grows.
The players with money will get to know which other players have money pretty quickly, just like Zed knows this in the case of N=2.
Like, with N=4, how do I know right now that I have all the money? Because I stole it all! I'm not going to try robbing anyone now. Any new house that pops up has no money in it.
There will always be a money creation problem in your proposed system, and throwing more players into the mix won't solve it.
Proof by induction on size of player pool.
Base case: If N=2, there's clearly a money creation problem. Zed starts with money, and how does p2 naturally get money from Zed?
Induction hypothesis: Assume there's a money creation problem with N players.
Induction step: Is there a money creation problem with N+1 players?
Yes, because adding a new player to the pool adds no extra money to the pool, so it doesn't help to solve the money creation problem.
We've thus proved that a money creation problem exists for any player pool size N by weak induction.
Well, I think you should be thinking inductively here. If it doesn't work for N=2, it's not going to work for larger N either.
I get why you need to risk something to rob, to avoid robber spamming. And chill timers can be bypassed with sockpuppet accounts.
But if you're "gifting" people money in the game, then sockpuppet accounts become valuable again! Someone with extra accounts gets more gifts than someone with only one account.
What about if you only need a backpack if you're carrying stuff in, or carrying items out? So you can take the money from the vault, but not the stuff, if you have no backpack?
You still want to prevent robber spamming, of course.
So you have to spend a valuable resource to rob, and there can't be a way for you to create that resource directly, or else you can create an infinite amount of it through dummy accounts. There also can be no automated (or manual!) way of doling out this scarce resource, because then people with multiple accounts will be more likely to get more of it.
I still feel like this leads to the conclusion that: "The only way to get 'new' money is to steal it from someone else," where we have to guarantee that "someone else" isn't actually you, yourself. And the only way we can guarantee that is if "someone else" is Zed. Then only Zed can cheat, but we trust him not to.
Or if Santa Zed dies while trying to rob your house. But that feels much less satisfying, because it involves sitting and waiting. And Santa Zed is more likely to pick your house to die in if you have multiple accounts.
What if you only need a backpack to rob player houses, and not Zed's house? So robber spam is permitted Chez Zed?
What is another way for money to flow into the economy that doesn't give a benefit to multiple accounts?
A cash machine that gives out a certain amount per hour, and you just walk up to it and get it? That obviously rewards refresh-spamming and is no fun, but multiple accounts won't help.
Summary:
To thwart "feeding" your main account with dummy side accounts, money can't be created by regular player accounts (Zed's version). That means that money can only be created by admin-controlled accounts. Admins can't "gift" money to player accounts either, because the admins can't tell the difference between real accounts and dummy accounts. Thus, the admins must create a constant stream of new admin houses seeded with money, and money must flow into the rest of the player pool through legit robbery of these admin houses, not gifts. To avoid the content-creation burden, perhaps these admin houses could be randomly generated, and they don't even need to be solvable without tools. They could vary in difficulty, and the hardest ones will grow in value over time as more people die with tools while trying to rob them.
Remind me why players need to buy a backpack to go robbing?
Why can't they rob a house "bareback" with nothing at all?
What does the $200 backpack requirement have to do with the conservation of value or sockpuppets?
You also have created a system in which the vast majority of players create $2000 houses with nothing to steal inside of them! But of course there's no way to tell this from the outside. So even after you get enough money to start robbing, most of your robberies produce $0 on success.
And if you place the burden on the admin to "gift" people starting money to kick the whole thing off, then the admin needs to detect the difference between real players and sock puppets. Otherwise, double account players get twice the gift money as single account players. Putting you back to square one.
Let's start from first principles again:
For the game to make sense, robbing a listed house has to be worthwhile and produce some benefit.
If robbing a house produces some benefit, than any account that figures out how to rob the house will reap that benefit.
An account that is colluding with the owner-account of the house in question has an advantage in that they can ask the owner for advice on how to rob the house. Therefore, they can unfairly reap the benefit of robbing the house before non-colluding players figure it out and reap the benefit.
Your way of fixing this problem is to attach a benefit ONLY to one house in the game, Zed's house, so that you have control over the information about that house and can ensure that no other player has an unfair advantage in reaping that benefit.
But you then allow players to create a bunch of other houses, freely, for which there can be no inherent benefit to robbing. On the house list, these houses are indistinguishable from your house, causing people to try robbing them pointlessly anyway. But they can't afford to do any robbing unless they have successfully robbed your house to get some money. And they can't afford to rob your house in the first place!
SO... for this to really work, the admin, or his trusted, non-player team, needs to produce a constant stream of houses with god-given money inside of them. No one but the trusted non-player team should have access to information about how to beat these houses.
To avoid a bunch of waste-of-time player-created houses, players should start with $0 when they start the game. They should immediately go out robbing, and rob repeatedly until they finally get some money, and then be motivated to build security to protect it. Their family is safe until they have money, because who would bother robbing them?
Conservation of value isn't necessary. Money CAN be created all the time, but only from sources that the players have no control over or information about.
As players rob your "seed" houses, more and more player-created houses will be built and be worth robbing. However, sockpuppets still have no use, because of where the money came from originally. Sock puppets can't create money. They can only steal it for real from either a real seed house OR from a player who stole it for real from a seed house or from some other real player. Yes, you can have multiple accounts, and freely transfer fairly-stolen real money between them, but this gives you no unfair advantage (aside from reducing your risk of a total wipe-out through diversification).
This is essentially what you have now, but there was only one seed house, and a fixed sum of money.
And you can't re-use seed houses. I already robbed your main house, so if you re-fill it with money, I'll have a huge advantage when I go to rob it again. I robbed you twice, even after you made changes, don't forget.
So, this makes maintaining the game a ton of work for the admins!
But you really don't want people wasting their time robbing $0 starter houses. And you've gotta get rid of the $200 backpack thing, because starting players can't afford it anyway, so it's really not going to help to put seed money in the $0 houses through robber deaths.
I wonder if an algorithm for randomly generating the seed houses could work... Then the thing could run itself. It might not even matter if the seed houses are solvable without tools. The harder ones would naturally grow in value as players die with more and more tools in them. And don't forget, all of those tools were "earned" for real with legit money stolen from other seed houses. Some seed houses can be very easy, and they will be robbed right away for a small amount of money.
Seed houses don't need families in them.... and they wouldn't look hand-designed. They could even have a different name on them, like STATE HOUSE #257.
And then you can go back to listing the actual robbable value on each house in the list (because there's no reason to trick someone into robbing a $0 house anymore).
And maybe seed houses would only be added when the list of non-$0 player houses shrinks below some level. Thus, once things heat up, players can't keep grinding easy seed houses forever. They eventually have to rob other players to keep growing.
Yeah, it's interesting that in fixing one problem, another problem is created.
Okay, Zed old sport! I cleaned you out, along with everyone else in the game, and built a fortress to hold my wealth.
It seems that without the Mayor constantly infusing the game with "gift" money, this will happen eventually. No one can currently afford to even come into my house, as far as I can tell, and no houses are worth me going into.
Oh crap, you're right!
How the heck did you guess the timing in my house? CHEATER! ![]()
Getting a lot of "someone else is in that house" messages. Why are they showing up on the list if that's the case?
Well, I do notice a slight lag when taking a step robbing. But it makes it feel more "thinky," so that's okay.
Something weird happens with the shroud, though. When the map pans to a new, unseen area with walls that you don't know about, you see empty floor for a second before the map is received and you see the walls there, causing the shroud to come back.
Also, you take a step and THEN see the dogs move afterward.
Have you thought about waiting for the response from the server BEFORE showing the player's move happen? I know it would feel less responsive, but maybe you need to show an icon (arrow near the player) to confirm that the move is in progress. Then show the move happen once the map changes have been received by the server. Then everything would be visually consistent (just a slow-to-respond version of the original look and feel).
Oh, wait, you died in my house with 25 backpacks?
Okay... so the only way to get money in the game is to design a house with the initial 2000 that actually KILLS people, right?
Well, I should say, the only way to get backpacks is to design a house that kills people. Those can be sold for money, then, or used to rob.
But people can't see that my house has 0 in it when they try to rob it?
How is value not destroyed when I use one-time tools while robbing?
And do we have the deflationary economy thing in place where you periodically (randomly) adjust everyone's balances to keep a total of $10K in the game?
I like how the building balance is brown... like it's made of wood!
So... where does the red -200 come from after you leave your house and return?
And how the heck can this thing get off the ground?
I can't buy a backpack to rob, because I have no money. Neither can anyone else, right?
Wow... I've never regretted making my stuff open source! Amazing work here.
Thank you, Zed. Will check it out this weekend (late to the party, I know...)
Excellent thinking here, as usual, Zed!
First, if robbery is happening on the server, might as well make self test happen on the server too. However, if you eliminate permadeath, then what's the point of a dangerous self-test? I think the stress of sneaking through your own house, especially after it gets more complicated, is an important aesthetic aspect of the game. Still, I get that you are seeking to design a new, related game here. Just saying that real self-test is free if you move robbery to the server...
Having two different kinds of money (to build a house with a starting account) is a good idea. However, a true conservation of "real" money doesn't work.... because:
Where does the "real" money come from in the first place? Like, starting from zero, when the first new account joins the server?
The account gets some "house" money that must be spent only on building a house. The rest is lost or whatever. They have no reserve (stealable) money. They have no money to spend on robbery (including no money for the "ante" in the form of a backpack that is lost).
Now a second account joins. No real money is created again, and they are in the same boat as the first account. They can build a house, but have no robbable value, and have no money to fund a robbery with.
If you give them some free robbable money, then the old sock-puppet advantage comes back. Same is true if you give them a robbing budget (they can afford the ante, and then dump that in the other account).
I'm guessing that I missed some aspect of your proposal that addresses where money comes from in the first place.
Finally, I want to point out that cheating, though it may have been the main stone in your shoe, Zed, and other hardcore players, is NOT the reason the game died.
Having everything be "real" in the game means that there's a constant, vicious cycle of content destruction. As I pointed out many times in these forums, every player only creates one piece of content at a given time (their house), but they generally hope to consume many pieces of content (robbing many houses). On top of that, every time someone dies, a piece of content is removed from the game.
On top of that, the game is brutal and frustrating, which means that many players don't stick with it. The content pool shrinks, and new players come into the game with less to do, so they end up leaving after a short while.
Many solutions were floated to the content problem, all which involved making aspects of the game less real. What if multiple people could rob the same house over and over? What if houses lived on after you died? What if I generated some NPC houses for people to rob? But the aesthetic core of the game was that in robbing, you were hurting a real person, and in being robbed, you were being hurt by a real person who benefited from your misfortune. A real person would watch the security tape and see what you did to their family, etc. If you were robbing an NPC house or a ghost house, that would no longer be true. I think it would really diminish the "holy crap" feeling of giddy transgression when you come around the corner and see someone's vault. Same with the feeling you get when you watch someone die on one of your security tapes, especially if the name was known to you.
One thing that just came to mind would be to allow one person to build as many houses as they wanted, that they themselves couldn't rob. I don't know if each of these houses would have its own budget and family or what. But that might solve the content problem without making things less real. Though.... players would care less about each house, so I guess would make things less real anyway. And also, of course, make the game less focused.
A mini-solution that was actually implemented was giving the wife half the money (a piece of content could be consumed twice, once by reaching the vault, and a second time by reaching the family). Also, as long as the wife still had money to attract more robbers, people would drop their bounties and tools back into the vault, making the vault reachable multiple times as long as the whole house was not solved. Still, I don't think it was enough, especially with permadeath removing content from the game completely, even if it hasn't been consumed yet.
MAYBE leaving ghost houses around after permadeath would help a lot. But of course, the original owner would have the best chance of being the first to get through. So you could make them unable to see their own ghost house. Then they'd be tempted to use a sock puppet to get back in...
See here:
https://fluxbb.org/development/core/tickets/990/
After repeatedly having someone come in here and change MY password on my behalf (they never did anything after changing it), I was motivated to upgrade the forums.
Anyway, some of you may find that you can't login with your password and will need to reset your password. As far as I'm aware, my account was the only one targeted. Got a Mail Delivery error when someone tried to change their email to:
7c4a8d09ca3762af61e59520943dc26494f8941b'/**/where/**/id=2#@1i3xlmk.tns.re
id=2 is me, of course.
This was NOT a breech where your password or hashed password was leaked. It was just a case where the attacker could inject a new hashed password for a chosen account into the database.
But... after looking at the source, I've realized that passwords are stored SHA1-hashed in the database without a salt. Jeez... salting password hashes has been best practice for decades now. Dev says it won't be fixed until v2.0.
Anyway, beware...
Either use a really good password here that can't be cracked by a rainbow table, or use a throw-away password that you don't care about.