Oxygen by Robindu Guha is a clone

Discussions about Winboard/Xboard. News about engines or programs to use with these GUIs (e.g. tournament managers or adapters) belong in this sub forum.

Moderator: Andres Valverde

Oxygen by Robindu Guha is a clone

Postby Olivier Deville » 26 Jul 2008, 18:18

A Buzz clone, confirmed by Pradu Kannan, author of Buzz.

Oxygen is a private engine, but its "author" has contacts with some well known programmers, therefore I need to make the information public.

My public thanks go to Christopher Conkie, who immediately saw similarities with Buzz when I showed him some strings of Oxygen.

Olivier
User avatar
Olivier Deville
 
Posts: 1176
Joined: 26 Sep 2004, 19:54
Location: Aurec, France

Re: Oxygen by Robindu Guha is a clone

Postby Andrew Fan » 26 Jul 2008, 20:36

The reason why you see it announced here is because CCC took down the thread for posting the findings. So I guess you won't see any clone alerts from them anymore. Not that you should read it of course.

Now will Robindu please come clean with what he has done. May be we'll forgive him when he writes his own engine and not doing a second clone like the another person I heard about which I don't want to mention by name.
User avatar
Andrew Fan
 
Posts: 7
Joined: 24 May 2008, 07:40

Re: Oxygen by Robindu Guha is a clone

Postby Pradu » 26 Jul 2008, 21:41

This is the FEN parsing comparison. Some important highlights are that the error and parsing order in Oxygen and Buzz are exactly the same and also that some non-standard FENs are accepted (incomplete FENs, 'd' to represent 'b' in the color to move data). Of course, this alone is not enough for a clone accusation, and will work on posting writing up more comparisons (eg starting-stopping of 3 threads in search, html log file code...).

Code: Select all
FEN parsing similarity
======================
Buzz's error/parsing order:
1) No piece placement data
2) No active color data
3) Exceeding 8 squares per rank with non-numeric
4) Unrecognized charecter
5) Active color parsed
   b, B, d, or D -> black
   otherwise white
6) Castling availability, recognized charecters added
7) Legality Testing
   a) No kings for White
   b) No kings for Black
   c) Too many kings for white
   d) Too many kings for black
   e) Side to move is in check
   f) Pawns on the first rank
   g) Pawns on the eighth rank

Parser can also handle incomplete FENs


-----------------------------------------------------------------------
Test 1:  Handling Incomplete FENs
-----------------------------------------------------------------------
This test identifies the parser's capability to handle incomplete FENs.

Buzz:
force
setboard k//KR/ w
sd 5
go
1 722 0 1 Rc6
1 726 0 4 Ka5
1 726 0 20 Ka5
2 720 0 48 Ka5 Ka7 Rc6
2 727 0 80 Rc6 Kb8 Kb5
2 732 0 108 Kb5 Ka7 Kc5
2 732 0 316 Kb5 Ka7 Kc5
3 732 1 317 Kb5 Ka7 Kc5
3 732 1 354 Kb5 Ka7 Kc5
4 31991 1 1672 Kb5 Ka7 Kc6 Ka8 Ra6+ Kb8 Ra1 Kc8 Ra8#
4 31995 1 1825 Rc6 Kb8 Kb6 Ka8 Rc8#
4 31995 1 2007 Rc6 Kb8 Kb6 Ka8 Rc8#
5 31995 3 2008 Rc6 Kb8 Kb6 Ka8 Rc8#
5 31995 3 2029 Rc6 Kb8 Kb6 Ka8 Rc8#

Oxygen:
setboard k//KR/ w
sd 5
go
1 567 0 1 Ka5
1 567 0 16 Ka5
2 567 0 39 Ka5 Ka7 Rc6
2 567 0 181 Ka5 Ka7 Rc6
3 567 0 182 Ka5 Ka7 Rc6
3 567 0 197 Ka5 Ka7 Rc6
4 567 1 1021 Ka5 Ka7 Rc6 Kb8 Ka4
4 567 1 2604 Ka5 Ka7 Rc6 Kb8 Ka4
5 567 1 2605 Ka5 Ka7 Rc6 Kb8 Ka4
5 567 1 2620 Ka5 Ka7 Rc6 Kb8 Ka4
move Ka5

-----------------------------------------------------------------------
Test 2:  Legality Testing Order
-----------------------------------------------------------------------

This test will identify the FEN parser's order of legality testing:
a) No kings for White
b) No kings for Black
c) Too many kings for white
d) Too many kings for black
e) Side to move is in check
f) Pawns on the first rank
g) Pawns on the eighth rank

The following base position is used:
K1P5/8/2b5/8/8/2B6/8/k1p5 w - - 0 1  (2-1)

The base position intentinally has a row "2B6" to show that both Oxygen
and Buzz can handle too many squares by a numeric at the end of a FEN
row.

In this position both kings are attacked by bishops and there are two
pawns on the 8th rank.  First both kings are removed from (2-1).
2P5/8/2b5/8/8/2B6/8/2p5 w - - 0 1  (2-2)

(2-2) is run to check if a) is tested before b).

Buzz:
force
setboard 2P5/8/2b5/8/8/2B6/8/2p5 w - - 0 1
tellusererror Illegal position: No kings for white

Oxygen:
force
setboard 2P5/8/2b5/8/8/2B6/8/2p5 w - - 0 1
tellusererror Illegal position!! No white King

This implies a) is performed before b) for both Oxygen and Buzz.

Next two white kings are added to (2-2).
KKP5/8/2b5/8/8/2B6/8/2p5 w - - 0 1  (2-3)

(2-3) is run to check whether b) is tested before c).

Buzz:
force
setboard KKP5/8/2b5/8/8/2B6/8/2p5 w - - 0 1
tellusererror Illegal position: No kings for black

Oxygen:
force
setboard KKP5/8/2b5/8/8/2B6/8/2p5 w - - 0 1
tellusererror Illegal position!! No black king

This implies that b) is tested before c) for both Oxygen and Buzz.

Next two black kings are added to (2-3).
KKP5/8/2b5/8/8/2B6/8/kkp5 w - - 0 1  (2-4)

(2-4) is run to check whether c) is tested before d)

Buzz:
force
setboard KKP5/8/2b5/8/8/2B6/8/kkp5 w - - 0 1
tellusererror Illegal position: Too many kings for white

Oxygen:
force
setboard KKP5/8/2b5/8/8/2B6/8/kkp5 w - - 0 1
tellusererror Illegal position!! Incorrect number of white kings

This implies that c) is tested before d) for both Oxygen and Buzz.

Next the white king on B8 is removed from (2-4)
K1P5/8/2b5/8/8/2B6/8/kkp5 w - - 0 1  (2-5)

(2-5) is run to check whether d) is tested before e).

Buzz:
force
setboard K1P5/8/2b5/8/8/2B6/8/kkp5 w - - 0 1
tellusererror Illegal position: Too many kings for black

Oxygen:
force
setboard K1P5/8/2b5/8/8/2B6/8/kkp5 w - - 0 1
tellusererror Illegal position!! Incorrect Number of Black Kings

This implies d) is tested before e) for both Oxygen and Buzz.

Next one black king is removed from (2-5).
K1P5/8/2b5/8/8/2B6/8/k1p5 w - - 0 1  (2-6)

(2-6) is run to check whether e) is tested before f).

Buzz:
force
setboard K1P5/8/2b5/8/8/2B6/8/k1p5 w - - 0 1
tellusererror Illegal position: The side not on move is in check

Oxygen:
force
setboard K1P5/8/2b5/8/8/2B6/8/k1p5 w - - 0 1
tellusererror Illegal position!! Opponent in Check

This implies that e) is tested before f) for both Oxygen and Buzz.

Next the bishop on c6 is removed from (2-6).
K1P5/8/2b5/8/8/8/8/k1p5 w - - 0 1  (2-7)

(2-7) is run to check whether f) is tested before g).

Buzz:
force
setboard K1P5/8/2b5/8/8/8/8/k1p5 w - - 0 1
tellusererror Illegal position: There are pawns on the first rank

Oxygen:
force
setboard K1P5/8/2b5/8/8/8/8/k1p5 w - - 0 1
tellusererror Illegal position!! Pawns are in wrong POS

It is not clear whether f) is tested before g) because Oxygen's
output is not descriptive enough.

Next the black pawn is removed from (2-7).
K1P5/8/2b5/8/8/8/8/k7 w - - 0 1  (2-8)

(2-8) is run

Buzz:
force
setboard K1P5/8/2b5/8/8/8/8/k7 w - - 0 1
tellusererror Illegal position: There are pawns on the eighth rank

Oxygen:
force
setboard K1P5/8/2b5/8/8/8/8/k7 w - - 0 1
tellusererror Illegal position: Pawns are in wrong POS

It is not clear whether Oxygen tests pawns on the first rank before
the eighth rank; however, if the strings were renmaed for pawns on
first or eight rank to be the same, Oxygen will have an identical
checking order as Buzz.

-----------------------------------------------------------------------
Test 3:  Overall Parsing Order
-----------------------------------------------------------------------

1) No piece placement data
2) No active color data
3) Exceeding 8 squares per rank with non-numeric
4) Unrecognized charecter
5) Active color parsed
   b, B, d, or D -> black
   otherwise white
6) Castling availability, recognized charecters added
7) Legality Testing

You can test the ordering this part yourself, I'm too lazy to do it.
So I'll just post some examples:

-------
Buzz:
setboard asdfasfd qwe
tellusererror Illegal position: Unrecognized charecter a in rank 8 of the piece placement data

Oxygen:
setboard asdfasdf 42w
tellusererror Illegal position!! Char Not Recognized
-------
Buzz:
setboard asdfasdfasdfqwe
tellusererror Illegal position: No activeColor data

Oxygen:
setboard asdfasdfasdfqwe
tellusererror Illegal position,No Color to Move input
-------
Buzz:
setboard KNNNNNNNNNN////knnnnnnnnn w
tellusererror Illegal position: The inputs for rank 8 exceeds 8 squares

Oxygen:
setboard KNNNNNNNNNN////knnnnnnnnn w
tellusererror Illegal position!!
-------
Buzz:
force
setboard KNNNNNNN/NNNN////nnnn/knnnnnnn w
sd 4
go
1 -40 0 1 Ncd6
1 -34 0 12 Ngf6
1 -34 0 33 Ngf6
2 -50 0 88 Ngf6 Ngf4
2 -50 0 189 Ngf6 Ngf4
3 -34 1 357 Ngf6 Ngf4 Nhf7
3 -34 1 480 Ngf6 Ngf4 Nhf7
4 -50 1 817 Ngf6 Ngf4 Nhf7 Nhf3
4 -44 3 3355 Nef6 Ngf4 Nfe6 Nhf3
4 -44 4 4535 Nef6 Ngf4 Nfe6 Nhf3

Oxygen:
force
setboard KNNNNNNN/NNNN////nnnn/knnnnnnn w
sd 4
go
1 -36 0 1 Ncd6
1 -33 0 4 Nbc6
1 -33 0 33 Nbc6
2 -51 0 89 Nbc6 Nbc4
2 -51 1 198 Nbc6 Nbc4
3 -33 1 404 Nbc6 Nbc4 Ncd6
3 -33 1 491 Nbc6 Nbc4 Ncd6
4 -48 1 933 Nbc6 Nbc4 Ncd6 Nhf3
4 -48 3 3341 Nbc6 Nbc4 Ncd6 Nhf3
-------
Buzz:
setboard 23# w
tellusererror Illegal position: Unrecognized charecter # in rank 8 of the piece placement data

Oxygen:
force
setboard 23# w
tellusererror Illegal position!! Char Not Recognized
-------
Buzz:
force
setboard rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR d KQkq - 0 1
sd 5
go
1 27 0 1 Nc6
1 35 0 9 d5
1 38 0 11 e5
1 38 0 22 e5
2 1 0 57 e5 e4
2 1 1 113 e5 e4
3 32 1 321 e5 d4 Qf6
3 35 1 508 d5 d4 Qd6
3 35 1 530 d5 d4 Qd6
4 1 1 723 d5 d4 Qd6 Qd3
4 2 3 1984 e6 d4 Bb4+ Nc3 Nc6
4 2 3 2042 e6 d4 Bb4+ Nc3 Nc6
5 23 4 4216 e6 d4 Nf6 Qd3 Nc6
5 31 6 6093 Nc6 d4 d5 Qd3 Nf6
5 31 6 8153 Nc6 d4 d5 Qd3 Nf6
move Nc6

Oxygen:
force
setboard rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR d KQkq - 0 1
sd 5
go
1 21 0 1 Nc6
1 27 0 3 Nf6
1 33 0 11 e5
1 33 0 22 e5
2 -6 0 44 e5 e3
2 0 0 73 Nf6 Nf3
2 0 0 122 Nf6 Nf3
3 21 0 194 Nf6 Nf3 Nc6
3 42 0 430 e5 Nf3 Qf6
3 42 0 460 e5 Nf3 Qf6
4 -9 1 1078 e5 e3 Qf6 Qg4
4 -8 1 1344 Nc6 e4 g5
4 18 1 1423 Nf6 Nf3 d5
4 18 1 1582 Nf6 Nf3 d5
5 27 3 2873 Nf6 Nf3 d5 e3 Bf5
5 27 3 3865 Nf6 Nf3 d5 e3 Bf5
move Nf6
--------
force
setboard rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR x KQkq - 0 1
sd 5
go
1 27 0 1 Nc3
1 35 0 9 d4
1 38 0 11 e4
1 38 0 22 e4
2 1 0 57 e4 e5
2 1 1 113 e4 e5
3 32 1 321 e4 d5 Qf3
3 35 1 592 d4 d5 Qd3
3 35 1 614 d4 d5 Qd3
4 1 1 801 d4 d5 Qd3 Qd6
4 2 3 2029 e3 d5 Bb5+ Nc6 Nc3
4 2 3 2081 e3 d5 Bb5+ Nc6 Nc3
5 23 4 4248 e3 d5 Nf3 Qd6 Nc3
5 31 6 6138 Nc3 d5 d4 Qd6 Nf3
5 31 6 8199 Nc3 d5 d4 Qd6 Nf3
move Nc3

force
setboard rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR x KQkq - 0 1
sd 5
go
1 21 0 1 Nc3
1 27 0 3 Nf3
1 33 0 11 e4
1 33 0 22 e4
2 -6 0 44 e4 e6
2 0 0 73 Nf3 Nf6
2 0 0 122 Nf3 Nf6
3 21 0 194 Nf3 Nf6 Nc3
3 42 0 431 e4 Nf6 Qf3
3 42 0 461 e4 Nf6 Qf3
4 -9 1 1080 e4 e6 Qf3 Qg5
4 -8 1 1346 Nc3 e5 g4
4 18 1 1425 Nf3 Nf6 d4
4 18 1 1584 Nf3 Nf6 d4
5 27 3 2868 Nf3 Nf6 d4 e6 Bf4
5 27 3 3864 Nf3 Nf6 d4 e6 Bf4
move Nf3
-------
User avatar
Pradu
 
Posts: 343
Joined: 12 Jan 2005, 19:17
Location: Chandler, Arizona, USA

Re: Oxygen by Robindu Guha is a clone

Postby Pradu » 26 Jul 2008, 23:28

Code: Select all
Search Threading Comparison Test
================================

During search Buzz uses three threads:

1) Input Thread
   This takes care of winboard/xboard commands.
2) Search Thread
   This thread will do a tree search on the current position.
3) Search Monitor Thread
   This thread will monitor the search thread.

Before a search starts there is only one thread running, the input thread.
When the input thread is given a command or if there is an implied command
to start the search thread, the input thread will create a Search Monitor
Thread.  The Search Monitor Thread will launch Search Threads and will be
responsible for monitoring the Search Thread and its termination.

When the engine is not searching there should be only one thread active.
When the engine is searching two threads will be active with another thread
being spawned and destroyed for each ply.

Buzz
----------------
new
force
setboard rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1
sd 5
go
1 27 0 1 Nc3
1 35 0 9 d4
1 38 0 11 e4
1 38 0 22 e4
2 1 0 57 e4 e5
2 1 0 113 e4 e5
3 32 1 321 e4 d5 Qf3
3 35 1 592 d4 d5 Qd3
3 35 1 614 d4 d5 Qd3
4 1 1 801 d4 d5 Qd3 Qd6
4 2 3 2029 e3 d5 Bb5+ Nc6 Nc3
4 2 3 2081 e3 d5 Bb5+ Nc6 Nc3
5 23 3 4248 e3 d5 Nf3 Qd6 Nc3
5 31 4 6138 Nc3 d5 d4 Qd6 Nf3
5 31 6 8199 Nc3 d5 d4 Qd6 Nf3

Procemon output for Buzz:
Before starting search only one thread is running.
Search Thread Monitor Starts.
137797   3:13:58.9336305 PM   Buzz.exe   1040   Thread Create      SUCCESS   Thread ID: 6264
Search Threads start and stop for each ply.
137798   3:13:58.9339487 PM   Buzz.exe   1040   Thread Create      SUCCESS   Thread ID: 5284
137799   3:13:58.9402641 PM   Buzz.exe   1040   Thread Exit      SUCCESS   User Time: 0.0000000, Kernel Time: 0.0000000
137800   3:13:58.9403260 PM   Buzz.exe   1040   Thread Create      SUCCESS   Thread ID: 7524
137801   3:13:58.9446407 PM   Buzz.exe   1040   Thread Exit      SUCCESS   User Time: 0.0000000, Kernel Time: 0.0000000
137802   3:13:58.9447596 PM   Buzz.exe   1040   Thread Create      SUCCESS   Thread ID: 584
137803   3:13:58.9518964 PM   Buzz.exe   1040   Thread Exit      SUCCESS   User Time: 0.0000000, Kernel Time: 0.0000000
137804   3:13:58.9519732 PM   Buzz.exe   1040   Thread Create      SUCCESS   Thread ID: 3524
137914   3:13:58.9647695 PM   Buzz.exe   1040   Thread Exit      SUCCESS   User Time: 0.0156250, Kernel Time: 0.0000000
137915   3:13:58.9648488 PM   Buzz.exe   1040   Thread Create      SUCCESS   Thread ID: 6084
137916   3:13:58.9923790 PM   Buzz.exe   1040   Thread Exit      SUCCESS   User Time: 0.0156250, Kernel Time: 0.0000000
Search Thread Monitor Exits.
137917   3:13:58.9935663 PM   Buzz.exe   1040   Thread Exit      SUCCESS   User Time: 0.0000000, Kernel Time: 0.0000000


Oxygen
----------------
new
force
setboard rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1
sd 5
go
1 21 0 1 Nc3
1 27 0 3 Nf3
1 33 0 11 e4
1 33 0 22 e4
2 -6 0 44 e4 e6
2 0 0 73 Nf3 Nf6
2 0 1 122 Nf3 Nf6
3 21 1 194 Nf3 Nf6 Nc3
3 42 1 431 e4 Nf6 Qf3
3 42 1 461 e4 Nf6 Qf3
4 -9 1 1080 e4 e6 Qf3 Qg5
4 -8 3 1346 Nc3 e5 g4
4 18 3 1425 Nf3 Nf6 d4
4 18 3 1584 Nf3 Nf6 d4
5 27 3 2868 Nf3 Nf6 d4 e6 Bf4
5 27 4 3864 Nf3 Nf6 d4 e6 Bf4
move Nf3

Procemon output for Oxygen:
Before starting search only one thread is running.
Search Thread Monitor Starts.
96813   3:24:34.0487095 PM   Oxygen_023b.exe   6544   Thread Create      SUCCESS   Thread ID: 6520

Search Threads start and stop for each ply.
96814   3:24:34.0488876 PM   Oxygen_023b.exe   6544   Thread Create      SUCCESS   Thread ID: 7124
96815   3:24:34.0534923 PM   Oxygen_023b.exe   6544   Thread Exit      SUCCESS   User Time: 0.0000000, Kernel Time: 0.0000000
96816   3:24:34.0535446 PM   Oxygen_023b.exe   6544   Thread Create      SUCCESS   Thread ID: 7712
96817   3:24:34.0581834 PM   Oxygen_023b.exe   6544   Thread Exit      SUCCESS   User Time: 0.0000000, Kernel Time: 0.0000000
96818   3:24:34.0582705 PM   Oxygen_023b.exe   6544   Thread Create      SUCCESS   Thread ID: 7816
96819   3:24:34.0640471 PM   Oxygen_023b.exe   6544   Thread Exit      SUCCESS   User Time: 0.0000000, Kernel Time: 0.0000000
96820   3:24:34.0641081 PM   Oxygen_023b.exe   6544   Thread Create      SUCCESS   Thread ID: 3192
96904   3:24:34.0781032 PM   Oxygen_023b.exe   6544   Thread Exit      SUCCESS   User Time: 0.0000000, Kernel Time: 0.0000000
96905   3:24:34.0781800 PM   Oxygen_023b.exe   6544   Thread Create      SUCCESS   Thread ID: 8104
96906   3:24:34.0890242 PM   Oxygen_023b.exe   6544   Thread Exit      SUCCESS   User Time: 0.0156250, Kernel Time: 0.0000000

Search Thread Monitor Exits.
96907   3:24:34.0900302 PM   Oxygen_023b.exe   6544   Thread Exit      SUCCESS   User Time: 0.0000000, Kernel Time: 0.0000000
User avatar
Pradu
 
Posts: 343
Joined: 12 Jan 2005, 19:17
Location: Chandler, Arizona, USA

Re: Oxygen by Robindu Guha is a clone

Postby Pradu » 26 Jul 2008, 23:39

Code: Select all
Accepting Nullmoves
===================

Both Buzz and Oxygen accept nullmoves:

Buzz
----
new
force
null
sd 5
go
1 27 0 1 Nc6
1 35 0 9 d5
1 38 0 11 e5
1 38 0 22 e5
2 1 0 57 e5 e4
2 1 0 113 e5 e4
3 32 0 321 e5 d4 Qf6
3 35 0 508 d5 d4 Qd6
3 35 0 530 d5 d4 Qd6
4 1 1 723 d5 d4 Qd6 Qd3
4 2 1 1984 e6 d4 Bb4+ Nc3 Nc6
4 2 1 2042 e6 d4 Bb4+ Nc3 Nc6
5 23 3 4216 e6 d4 Nf6 Qd3 Nc6
5 31 3 6093 Nc6 d4 d5 Qd3 Nf6
5 31 4 8153 Nc6 d4 d5 Qd3 Nf6
move Nc6

Oxygen
------
new
force
null
sd 5
go
1 21 0 1 Nc6
1 27 0 3 Nf6
1 33 0 11 e5
1 33 0 22 e5
2 -6 0 44 e5 e3
2 0 0 73 Nf6 Nf3
2 0 1 122 Nf6 Nf3
3 21 1 194 Nf6 Nf3 Nc6
3 42 1 430 e5 Nf3 Qf6
3 42 1 460 e5 Nf3 Qf6
4 -9 1 1078 e5 e3 Qf6 Qg4
4 -8 1 1344 Nc6 e4 g5
4 18 1 1423 Nf6 Nf3 d5
4 18 3 1582 Nf6 Nf3 d5
5 27 3 2873 Nf6 Nf3 d5 e3 Bf5
5 27 3 3865 Nf6 Nf3 d5 e3 Bf5
move Nf6
User avatar
Pradu
 
Posts: 343
Joined: 12 Jan 2005, 19:17
Location: Chandler, Arizona, USA

Re: Oxygen by Robindu Guha is a clone

Postby Pradu » 27 Jul 2008, 00:27

Code: Select all
Colored HTML Code
=================

Buzz produces a colorful HTML file as a log file when give the -l or
-log option in the command line.  Oxygen seems to have HTML strings
in it too when examined with IDA pro but doesn't seem to do anything
with it.

HTML strings in Oxygen
----------------------
_RDATA:0054A02C 00000013 C <font color=\"red\">
_RDATA:0054A040 00000015 C <font color=\"green\">   
_RDATA:0054A058 00000014 C <font color=\"blue\">
_RDATA:0054A078 00000008 C </font>         
_RDATA:0054A080 00000005 C </i>             
_RDATA:0054A088 00000005 C </b>             
_RDATA:0054A090 00000005 C </u>             
_RDATA:0054A098 00000011 C </body>\n</html>\n                             


HTML strings in Buzz
-----------------------
.rdata:0044BA00 00000099 C <html><head><meta HTTP-EQUIV=\"content-type\" CONTENT=\"text/html; charset=UTF-8\"><title>Buzz Jul  2 2008 Logfile</title></head><body><font face=\"courier\">                           
.rdata:0044BA9C 00000013 C <font color=\"red\">               
.rdata:0044BAB0 00000015 C <font color=\"green\">             
.rdata:0044BAC8 00000014 C <font color=\"blue\">               
.rdata:0044BAE8 00000008 C </font>                             
.rdata:0044BAF0 00000005 C </i> 
.rdata:0044BAF8 00000005 C </b> 
.rdata:0044BB00 00000005 C </u> 
.rdata:0044BB08 00000011 C </body>\n</html>\n
User avatar
Pradu
 
Posts: 343
Joined: 12 Jan 2005, 19:17
Location: Chandler, Arizona, USA

Re: Oxygen by Robindu Guha is a clone

Postby Pradu » 27 Jul 2008, 01:17

Code: Select all
Oxygen 0.10
===========

Oxygen 0.10 (a previous version) seems to be a Witz clone.
The following are strings found with IDA Pro:

_RDATA:00E0335C 0000000E C PASSEDPAWNPST                 
_RDATA:00E0336C 00000012 C HALFPASSEDPAWNPST             
_RDATA:00E03380 0000000F C DOUBLEDPAWNPST               
_RDATA:00E03390 00000010 C ISOLATEDPAWNPST               
_RDATA:00E033A0 00000015 C NOTDEFENDABLEPAWNPST         
_RDATA:00E033B8 0000000E C KS_SCALESTART                 
_RDATA:00E033C8 0000000C C KS_SCALEEND                   
_RDATA:00E033D4 0000000B C SEARCHTYPE                   
_RDATA:00E033E0 0000000E C CHECKEVASIONS                 
_RDATA:00E033F0 00000014 C RECAPTUREEXTENSIONS           
_RDATA:00E03404 00000008 C USECook
_RDATA:00E0340C 00000011 C CookPATHRELATIVE             
_RDATA:00E03420 0000000B C %*s %*s %s                   
_RDATA:00E0342C 00000009 C CookPATH
_RDATA:00E03438 0000000C C GAMESWEIGHT                   
_RDATA:00E03444 0000000B C WINSWEIGHT                   
_RDATA:00E03450 00000006 C ICSPV

All of these strings appear in Witz's ini file.  (with Book instead of Cook)
Also the following Oxygen 0.10 contains strings which are exactly the same
strings used in Witz for dumping/loading hashtables to/from a file:

_RDATA:00E034D8 0000001D C Unable to open dump file %s\n
_RDATA:00E034F8 0000000C C Loaded %s\n\n
User avatar
Pradu
 
Posts: 343
Joined: 12 Jan 2005, 19:17
Location: Chandler, Arizona, USA

Re: Oxygen by Robindu Guha is a clone

Postby Robindu Guha » 29 Aug 2008, 09:03

Hello Everybody,

First of all let me start with an apology,

I am very sorry for what happened.

I admit that Oxygen was based upon Buzz,I had added some code & eval additions. it was <10% IMO

I just wanted to see how it really worked.

I guess it would have been good if It was presented that way from the start.

I apologize for that to all.

I just want to move on,really...

As I had stated,I really am in the process of writing an engine from scratch.Code writing will soon start.

& for obvious reasons it will be open source.

again the whole purpose of "Oxygen" was to test if my ideas would work.

I was scared,of my actions & what i would have to face.but i realize that i made the mistake,i must face it.

Again I am very very sorry.

to forgive or not is entirely upto you.

I admit my guilt,it was my mistake.


Apologies,
Robindu
User avatar
Robindu Guha
 
Posts: 7
Joined: 25 May 2008, 12:14
Location: India

Re: Oxygen by Robindu Guha is a clone

Postby Olivier Deville » 29 Aug 2008, 09:08

Hi Robindu

All I can say is...

A friend is back :)

Olivier
User avatar
Olivier Deville
 
Posts: 1176
Joined: 26 Sep 2004, 19:54
Location: Aurec, France

Re: Oxygen by Robindu Guha is a clone

Postby Tony Thomas » 29 Aug 2008, 09:26

Good to see you back...
What more can I say?
Tony Thomas
 
Posts: 232
Joined: 14 May 2006, 19:13
Location: Atlanta, Ga

Re: Oxygen by Robindu Guha is a clone

Postby Matthias Gemuh » 29 Aug 2008, 12:03

Robindu Guha wrote:Hello Everybody,


I apologize for that to all.

I just want to move on,really...

Apologies,
Robindu



After such a clear apology, you just have to move on, and are welcome in this our community :wink:
Note that all we want are stable engines, strength does not matter.

Regards,
Matthias.
http://www.chessgui.com
http://w2410tmq9.homepage.t-online.de
BigLion, Taktix, ArcBishop, FindDraw, ChessGUI
User avatar
Matthias Gemuh
 
Posts: 189
Joined: 10 Jun 2006, 15:08


Return to Winboard and related Topics

Who is online

Users browsing this forum: No registered users and 21 guests