CSE 473 Introduction to Artificial Intelligence

Autumn 2001

 

Othello/Reversi Tournament

Teams Draws

1.      Game Server

All games in the tournament will be played using the Othello service of GGS (Generic Game Server - http://www.neci.nec.com/homepages/igord/gsa-ggs.htm). GGS supports a suite of different board games including Othello, Chess, Go, etc. to name a few, each of which is a separate game service that is connected to the main server. The role of GGS will be merely that of a communication medium. The programs you developed will generate the moves for the game. These moves will then be replicated manually on the game server using one of the GUI clients listed below.

There are two reasonable Othello clients for GGS that you can use.

1.      Windows users: Lion is a neat Othello client that is available as a free download at http://external.nj.nec.com/homepages/mic/ggs/chris/index.html. The zip file when extracted has the Lion.exe executable and also useful documentation.

2.      Linux users: The GGSA Java client is available on the instruction lab PCs. It is also available for download from the GGSA web-page http://external.nj.nec.com/homepages/mic/ggsa/ggsa.custom.html.

3.      One of the GGSA Applets reachable from http://external.nj.nec.com/homepages/mic/ggsa/ggsa.html can also be used. However, I couldn’t reliably test these out on different browsers (definitely not on IE).

Some of the features of each of these are discussed in the sections below.

 

2.      Individual Games

Each match up in the tournament will be decided on best-of-three games. Each of these match-ups will be played at a reasonable time that is agreed upon by the two teams involved. Each team will need a unique id and a password to log onto the game server.

A typical match scenario between TeamX and TeamY will be as follows –

1.      TeamX and TeamY log onto the GGS Othello service. Each has informed the other of their chosen user id.

2.      TeamX requests for a match (by identifying TeamY by their user id), and the request is accepted by TeamY. Each such match request is accompanied by some game parameters (time, who plays first, etc.).

3.      TeamX and TeamY start their respective Othello programs in a human vs computer mode.

4.      For TeamX the moves that it shall play are those that are generated by TeamX’s program. TeamX will consider TeamY’s moves to be the human move. Similarity for TeamY, its moves will be those generated by their program, and TeamX’s moves will be considered as the human move.

5.      If it is decided that TeamX moves first (i.e. TeamX plays black), then the first move is generated by TeamX’s program. This move is replicated by TeamX on GGS. TeamY’s program is started with human to play first, and the move played by TeamX is entered as the first human move.

6.      The game proceeds along the same lines until a winner in decided.

7.      The next game is requested again as in step 2. This time TeamY gets to play first (specified during the match request).

8.      Proceed similarly until one of the teams wins two games (not necessarily continuous).

 

The tournament will proceed along a knock-out basis according to the pre-defined draw (last section).

 

3.      Using GGS Clients

1.      Lion

 

 

a.      Connect on the GGS Server by clicking Connect under the GGS tab. You shall be asked for a user name and a password. Choose the user name that you had communicated with the team you were due to play.

b.      After you have connected you can view the list of other players who are also connected in one of the windows that will pop up.

c.       Request a match by clicking New Game under the Reversi tab after you have connected to the game server.

 

 

d.      Identify your opponent by his ID. Choose the board size to be the default. For the first game in a match up the requester chooses the color to be Random. The other settings are left as a default. The Time is set to 15:00//0:00 (and not the default 15:00//2:00). This indicates that the playing time for each team is 15 minutes. This is the total time for all the moves. There is no time control on each move. This means that each of your moves should on average take about 30 seconds. A team that runs out of time looses.

e.      A game board such as the one below comes up. Each move is made by clicking on the particular board position. Moves made by the opponent are immediately displayed on the board. As can be seen below, there are indicators on the times left for each of the opponents and also a game log. As soon as it is your turn to play indicate the move made by the opponent to your computer program. As soon as your program replies with the next move make the move on the board.

 

 

2.      GGSA Java Client for Linux/Unix

a.      The JAR file for the software is installed in /cse/courses/cse473/01au/GGSA. Copy the following script into a file and execute the same to run the client. Replace the YOURLOGIN and PASSWD by your chosen user id and password. Take care also to set your DISPLAY variable appropriately so that the windows that show up will appear on the correct terminal.

 
#! /bin/tcsh –f
setenv CLASSPATH /cse/courses/cse473/01au/GGSA/GGSA.jar
java client.GGSA ”ho_external.nj.nec.com%po_5000%lo_YOURLOGIN%pa_YOURPASSWD%sv_Othello”

 

For example I might store the above script in GGSA.Client. I make this file executable by doing “chmod +x GGSA.Client”, and then execute the same.

 

b.      Unlike the Lion program, GGSA connects you directly to the Othello game service. A window similar to the one below results. The second panel indicates the other people who are logged on to the Othello service.

 

 

c.       Games are requested by clicking on Match Request under the Othello tab. As before the opponent is identified by the user name. The time scheme is the same as the case of Lion. 15 minutes total time per team.

 

 

d.      The game window such as the one below appears. The times are indicated in the right panel, and the last moves played are indicated below the timers.

e.      Each move is made by clicking on the particular board position. Moves made by the opponent are immediately displayed on the board. As can be seen below, there are indicators on the times left for each of the opponents and also a game log. As soon as it is your turn to play indicate the move made by the opponent to your computer program. As soon as your program replies with the next move make the move on the board.

 

4.      Miscellaneous Questions

§         Who plays first? The first game is requested by the team whose name is alphabetically the first. The team to play first (black) is chosen at random. This is done by indicating so in the match request. For Lion there is an explicit Random option, but for GGSA you do so by neither choosing Black nor White for Color. For all the subsequent games the color is chosen explicitly by the requestor to be the opposite of that chosen in the earlier game.

§         How do teams communicate with each other? GGS lets you chat too. Find out how.

§         What if a team makes an invalid move, or a program crashes? Invalid moves are not accepted by the game server. If your program returns an invalid move (due to a bug), you communicate the same to the opposing team and abort the game. The game is replayed. Similarly, if your program crashes for some reason the game is aborted. But only one such abort is allowed during the course of an entire match-up. A second abort leads to a resignation and a loss.

§         What if my game server crashes? Restart the game server and replay the unfinished games.

 

5.      Participating teams

 

Team Name

Members

Email @cs

East Wind

Jina Lee

jina

 

Chia-Chi Li

fonzi

OLLETHO

Phat Tran

phatt

 

 

 

mozzarello

Ben Nordstrom

bennord

 

Renata Van Diest

renata

Shallow Thought

Daniel Stein

destein

 

Ryan Tremblay

ryanwt8

NullPointerError

Jeremy Coriell

jcoriell

 

Adam Sanderson

adams

Hanging Knives

Harris Chan

harris

 

Raymond Yip

ryip

Team Gallifrey

Zachary Crisman

zcrisman

 

Erik Curre

curree

The Steepest Ascent Hill Climbers

Sam Riesland

str

 

Mattew Von Bargen

matthew

tu far

Danielle Farrar

dcfarrar

 

Karen Tu

kytu

Random Guessers

Todd Hendry

hendrytl

 

Peter Jantz

pjantz

TeamX

Daniel Horowitz

horowitz

 

Justin Huff

jjhuff

The BU

Hector Ramos

fernando

 

Rodger Visitacion

rodger

Electric Savants

Jared Roberts

wjr

 

Brendan Walker

bwalker

Deep Purple

Edward Allred

biged

 

Devang Patel

devang

Little Boy

Colin Connors

colinc

 

Mike Loholt

loholm

MJ

Miguel Molina

mamc

 

John Troy

jtroy

dave and john

John Day

jonday

 

David Frield

friedl

OderintDumMetuant

Nathan Ratliff

ratliffn

 

Chris Twigg

cdtwigg

Bigbooty Enterprises, Inc.

Eric J. Smith

ejs

 

Walter Weeks

ww3

Sean McManus

Sean McManus

seanmc

 

 

 

DimThought

Brett Sherman

bret

 

6.      Draw

 

First Round

(by Friday evening)

 

A1

OLLETHO

Electric Savants

A2

DimThought

The Steepest Ascent Hill Climbers

A3

NullPointerError

BigBooty Enterprises, Inc.

A4

TeamX

MJ

A5

Random Guessers

Tu far

 

 

 

Second Round

(by Sunday)

 

B1

Mozzarello

A1

B2

Little Boy

Shallow Thought

B3

East Wind

A2

B4

A3

Hanging Knives

B5

The BU

A4

B6

Team Gallifrey

Deep Purple

B7

OderintDumMetuant

dave and john

B8

A5

Sean McManus

 

 

 

Quarter Finals

(by Monday evening)

 

C1

B1

B2

C2

B3

B4

C3

B5

B6

C4

B7

B8

 

 

 

Semi Finals

 

 

D1

C1

C2

D2

C3

C4

 

 

 

Finals

 

 

 

D1

D2

 

Earlier Assignments