   Cheating Dilema
  Hi guys,I can use a poker analogy to describe my situation: say there is a face down pile of cards, when you click the mouse on the pile the top card turns face up and you know what card it is.It woud be pretty easy to decompile/recompile the code to know what that top card is *before* clicking it.The only way I can think of to remedy the situation is to have the server send the top card info when the pile is clicked, but surely that will cause some serious lag and ruin game play.What else can I do ?Thanks.
  I guess we/I don't know anything about your setup and what you are using to code your game, so can you perhaps elaborate on why you think this would cause serious lag?  I have a hard time believing that handling "reveal card" queries from clients will be a network bottleneck.   ;Quote:Original post by Endemoniadabut surely that will cause some serious lag and ruin game play.If only there were a way to know for sure...   ;  you're looking at roughly 200-300 milliseconds delay when sending a query to the server (assuming that the client has a fairly shitty connection or is located far away from the server. 10-50 ms is achievable if the server serves a smaller region (Such as a small group of countries or states that are geographically close to eachother)This kind of delay is generally not a problem even for action heavy games such as first person shooters and shouldn't even be noticable with a card game. (if you make a flip animation for the card and send the query as the animation start you will most likely have the data you need before the flip has progressed far enough for you to need the data)   ;  Some questions for you:* What are the odds of cheating?If you only have 50, or 100, or even 1000 total users, then you probably have nothing to worry about.  In that small of a sample there just aren't enough people with the skills AND the motivation AND the investment to implement a cheat.* How much do you know and trust your users?If you are limited to a few friends or a small community then you are very safe.  If someone cheats you can easily find who did it and ban them.  If you were publishing a major title and expecting tens of thousands of users, and thousands of simultaneous users, then you would have very little trust.  In that case you would need to invest heavily in not just resisting cheating, but also detecting and responding to it. * What is the impact of cheating?Figure out the worst thing that happens if a player cheats this way.  They get to know the status of the deck, and have a little bit of inside information.  Is your entire game based on the shuffle of the cards?I wouldn't bother with anything significant.  Make sure everybody has the same random number seed when shuffling the deck and call it good enough.   ;  If your server and client code is good, round-trip times of 100 milliseconds for well connected players, and less than 500 milliseconds for most players, is quite possible. If you think 100 milliseconds is game-breaking lag, then you probably need a first-person-shooter game engine :-);Quote:Original post by hplus0603If you think 100 milliseconds is game-breaking lag, then you probably need a first-person-shooter game engine :-)Which won't solve the problem anyway. Even first-person-shooter game engines can't make network latency disappear magically. :);­