Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
HomeAnnouncementsWhite Papers
Discussion GroupsFirst AidDatabasesJavaBeansGUIJava 3DVirtual MachineCORBASecurityToolsGeneral
Java DirectoryOpen Source ProjectsSample Book ChaptersUser GroupsWeb Resources
Related Topics
Databases.NETMore Topics ...

Java Forum / General / June 2007

Tip: Looking for answers? Try searching our database.

Need some ideas

Thread view: 
kate.lomov@gmail.com - 06 Jun 2007 01:04 GMT
Hi all,

Although I am using Java, this is not really a Java question - I hope
you can bear with me...

I'm part of a team which builds an online gaming site (chess,
checkers, backgammon, etc).
I'm assigned to work on a cheaters detection system, mainly players
who use 3rd party software to decide which move to play.

I'm trying to come up with ideas for 'behavioral patterns' to detect
such players.
So far, I came up with these ideas:

1) Relatively long and constant time to make a move (especially for
simple/obvious moves), due to switching back and forth between the
online board and the software board.
2) Unusually long winning streaks.
3) In chess - perfect opening knowledge every time.
4) In chess/checkers - perfect tactical play in relatively short
time.

Do you guys have more ideas?

Sorry again for the somewhat unrelated post.

Best wishes,
Kate
Abhishek  Srivastava - 06 Jun 2007 06:13 GMT
On Jun 6, 9:04 am, kate.lo...@gmail.com wrote:
> I'm part of a team which builds an online gaming site (chess,
> checkers, backgammon, etc).
[quoted text clipped - 4 lines]
> such players.
> time.
.....

> Do you guys have more ideas?
>
> Kate

I am assuming that

Hard way... Do heuristic analysis of the moves.

Run a software yourself where the moves of the suspect player are
checked against your software's top recommended moves. If the suspect
player basically mirrors the moves of the top 2-3 recommended moves of
the your own software *ALL* the time(say 10-20 moves), he is probably
cheating.

Easy way... In human versus human games, duplicate the real world.

We are often wary against other players because others warn us that
such and such player is a cheater i.e. a reputation system. Allow the
players to be officially accused of cheating i.e. have a "I think he
cheated" button. If some player has a high degree of wins and a high
degree of "cheating", you can monitor such players more closely. Or at
least other players can see the "possible cheater" flag and make an
informed decision about whether they would like to play against this
person. You can also have some system to review the recorded games and
check if the accusation is valid or not.

- Abhi
Ed - 06 Jun 2007 11:07 GMT
On 6 Juni, 02:04, kate.lo...@gmail.com wrote:
> Hi all,
>
[quoted text clipped - 8 lines]
> I'm trying to come up with ideas for 'behavioral patterns' to detect
> such players.
...
> Best wishes,
> Kate

Sorry, Kate, I've no behavioural patterns to offer, but more important
the behaviours themselves is, perhaps, their degree of effectiveness,
and that you should be oh-so aware of this degree of effectiveness.

Whatever mechanism you design will be imperfect: if you were to build
a 100% perfect mechanism, then you would have, in a round-about way,
proved the impassibility of Turing Test, which would be stunning.

So you will hit false-positives: you will end up accusing a human
player of being a robot; in fact, you will do this many times (if your
site's popular).

If you do this so many times that you alienate your client base more
than they would be alienated by the knowledge that they may be playing
robots rather than other humans, then your mechanism is not worth
persuing.

.ed

--

www.EdmundKirwan.com - Home of The Fractal Class Composition
Christian - 06 Jun 2007 14:08 GMT
kate.lomov@gmail.com schrieb:
> Hi all,

> 1) Relatively long and constant time to make a move (especially for
> simple/obvious moves), due to switching back and forth between the
[quoted text clipped - 10 lines]
> Best wishes,
> Kate

1. large minimum time may be an indicator.. better would be to find a
way to detect if the user is tabbing between applications..

2.
good players have also long streaks.
or players that prefer playing against weaker players..

3.
in chess a trained player has a perfect opening knowledge also its
rather often that computers don't play the opening like its in the book..

4. a good chess player knows rather a lot of positions by heart (several
Millions in fact).. so that won't be nice against better players..

besides trying to overwatch tabbing my approach would be to look if some
of the popular chess programs like Fritz  expose an api that you can use
to see if the player does the same moves as the chessprogram..
so you had at least the chance to catch someone that has a chessprogram
running on some different computer..
kate.lomov@gmail.com - 06 Jun 2007 16:18 GMT
Thank you guys for your comments and suggestions, I'll definitely take
them into account.

Best wishes,
Kate


Free Magazines

Get these publications absolutely FREE for up to 12 months. There are no hidden fees and no obligation. Simply choose a title, complete the application form and submit it. Read more ...

Oracle MagazineNetwork ComputingComputer WorldBio-IT WorldeWeekInformation WeekInfosecurity
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2009 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.