h a l f b a k e r yMagical moments of mediocrity.
add, search, annotate, link, view, overview, recent, by name, random
news, help, about, links, report a problem
browse anonymously,
or get an account
and write.
register,
|
|
|
It is a sad fact that the players of many multi-player games include cheaters. One form of cheating is to hack the game engine to reveal information which you shouldn't have access to.
For example, in first-person perspective, you may be able to see the presence of people/objects you shouldn't,
in effect being able to see though walls. The purpose of this idea is to make such hacks useless, though the incorporation of mis-information.
Basically, each computer needs to know where nearby players and objects are, even if they are not visible. Server-free games need to transmit even more information, potentially every player movement and resource placement. Hackers can write patches which somehow force the game to display these hidden objects. My proposal is to hide the player resident on a computer in among a series of 'ghosts'. Essentially these would be 'bots' which are revealed to be false and deactivated just before they would be displayed.
To help repopulate the ghost population, they could be re-introduced by splitting out from existing ghosts or the player, and more created in spawning points if a player is killed, or at teleportation points, if these exist.
Some form of trusted arbiter or hashing system would be necessary to avoid creating the possibility of player/ghost swap-like cheats.
(Disclaimer: I've never played an online FPS or MMUD, and don't really understand griefer motivations.)
Demonstration video (on youtube) of wallhack & other cheats
http://www.youtube....watch?v=vq3xT4J-omo For david_scouthern [Loris, Apr 07 2007]
Please log in.
If you're not logged in,
you can see what this page
looks like, but you will
not be able to add anything.
Annotation:
|
|
//I've never played an online FPS or MMUD,
and don't really understand griefer
motivations.// That's something we can
all agree with, Loris. |
|
|
If the render engine can sort out the ghosts from the objects, surely the hackers will be able to as well? |
|
|
// If the render engine can sort out the ghosts from the objects, surely the hackers will be able to as well? // |
|
|
Ahh, but it can't. In an unhacked copy of the game the non-displayed objects never get that far. What happens in this system is that just before two potential objects come across each other, the computers confer and tell each other whether their object is real or not. Obviously this means they need to keep track of the lag times so they can reliably tell each other whether objects are real before they come across them. Failure to disclose information in a timely manner suggests that the client has been hacked. |
|
|
Isn't the logic that can tell when a ghost should be destroyed exactly the same as the logic that can tell when a player should be created? |
|
|
In other words, if you could figure out in the central server when to kill the ghosts in the cheater's machine, you could wait until that decision point to *create* the player in the cheater's machine, too. Or did I misunderstand your proposal? |
|
|
This would double the computer power required to run every online game, doubling the cost of every online game. [-] |
|
|
This could work really well by simply hiding character models in unreachable places, between walls, etc. Normal players would never see them and the models would not render, never being visible. With wall hacks, the level would become littered with them and obscure their view. They would be the same models as the real players, just rendered all over, not just where the play is. Thus, they could not use the same hack to make the dummies invisible, because it would also make their enemies invisible. |
|
|
[jutta], to cover your last question first:
//Or did I misunderstand your proposal?//
Actually I'm not sure, it depends on what you mean exactly... |
|
|
//Isn't the logic that can tell when a ghost should be destroyed exactly the same as the logic that can tell when a player should be created?// |
|
|
Um...
If you mean when a representation of a player should be created in a client's machine, then perhaps. (Note that this is only the case in a server-based game. In a peer-peer network everyone needs to know where everyone else is, to work out if they are nearby.) |
|
|
//In other words, if you could figure out in the central server when to kill the ghosts in the cheater's machine, you could wait until that decision point to *create* the player in the cheater's machine, too.// |
|
|
In the presence of a server, yes. In that case putting npcs in unreachable (or distantly-reachable) areas like cavity walls (as ironfroggy mentioned) is probably the best one can do. And that would probably be distracting enough. |
|
|
Germanicus, the cost of network bandwidth etc is only a small proportion of the cost of a game. On the other hand, the reduction in player numbers due to griefing significantly reduces game popularity, hence increasing game cost. |
|
|
Similarly, in order to stop people from stealing other people's money, we could walk around with bundles of fake stuff, and project great handfuls of it into the air in order to confuse would be robbers. |
|
|
Sigh. Although I appreciate the discussion, another wave of digital recluses spawns the latest crop of WOW widows. |
|
|
Wouldn't it be easier to have the server refrain from giving clients information about enemies that are not presently visible? |
|
|
Perhaps my mention of a server-free game wasn't explicit enough. |
|
|
//Wouldn't it be easier to have the server refrain from giving clients information about enemies that are not presently visible?// |
|
|
Not in the absence of a server. |
|
|
I've already conceded to jutta that it wouldn't be an advantage as described if a server intermediates.[1] However, ironfroggy mentions a variation which would. I regret now not covering that in the initial description. Honestly, I believe I had pondered this myself but neglected to describe it there.
|
|
|
[1]Actually it may be of small benefit if the client takes some time to marshal its resources, but there was no great additional cost to doing so unnecessarily. There could potentially be adjacent regions where it was desirable to tell a client machine that another player may be present, but hold off declaring it completely until later. |
|
|
Judicious use would probably aid in the detection of wall-hackers for another thing. |
|
|
I do like [froggy]'s idea. We need someone who has seen what a wallhack looks like, though - for all I know, being an honest player, the other players may become all-but-invisible too. |
|
|
A better multiplayer game design would be UI agnostic. It would present all information equally to any player regardless of interface. So if someone wants an overlay showing opponents in bright orange they could have it. If sound direction is presented the game itself would have an option to also display that on-screen. (better for the deaf too) and so on. |
|
| |