quote:Original post by solinear
...
Can you tell me what the difference is between a cable being yanked and a power outage? Oh yeah, none. ...
You''re absolutely right--if you try to design your game around online only battles, and buffer against "cable-yanking" cheaters exploiting this, you run the risk of punishing those with an untimely yet real problem that, from a network perspective, is 100% equivalent to a yanked cable.
The only valid solution I can think of to counter this is to do a more statistical analysis. Find out when the player is disconnecting, and how often. If he always disconnects during battles, then chances are he''s cheating, especially if battle is only a small percentage of gameplay. This system would only be able to protect against "abusive cheating" tactics.
In the real version of the solution, the cheater himself also gets to think about how to cheat to avoid detection. For example, he can toss in a few manual disconnects when he''s not fighting in battles. Thus, this becomes a game (in a "game theory" sense of the word) between the cheater and the detector. (As a side note, the cheater''s connectivity may not be stable, but I''ll ignore this detail since it''s equivallent to intelligent cheating; just keep in mind that the poor player who simply has a bad connection that you''re trying to protect in the first place, could also coincidentally be an opportunist cheater who knows he''s under the radar). Due to the fact that the cheaters are intelligent, and that AI on this level is extremely difficult if not impossible, the only working option that I see is if the detector is human (eg, log the disconnects, have the game master review them and take appropriate action).
Also, I''d like to point out some other aspects of cable-yanking as food for thought. Yanking your connection when you''re loosing a battle isn''t the only strategic scenario you have to consider. Consider, for example, that I''m a cheater, and want to kill player Y. Maybe I find out that even though Y is more powerful than I am, over time I can weaken him to an arbitrary degree simply by initiating an attack, hitting him hard, then logging off of my ISP before he hits me back. In this case I wouldn''t really be losing a battle, but I''d still be exploiting the "online only" system. The point here is that if you''re going to code all these features, and you''re concerned about cheaters, you need to make sure you cover all possible scenarios, and it may not be that easy to do so depending on your game design.
Note also that though I think this is feasable to do in practice (ie, it''s possible to design a game with online only battles to protect against people who accidentally disconnect, that also has some sort of abuse filtering), I still reserve all of my ill feelings against actually designing a game this way. From a game design point of view, it makes more sense to me to design the game in such a way that yanking the network connection is not strategic in the first place, which to me means that the "online only battle" scenario isn''t too good at all. In addition, I''ll repeat that "online only battle" isn''t attractive to me as a _game player_ due to the fact that I (being from the US) want to be able to play against the guy in Australia.
-- Joshua Lusion | If you will tell me why the fen Sr. Software Engineer/ | appears impassable, I then hobbyist game coder | will tell you why I think that I | can get across it if I try. (M. Moore)