Giter Club home page Giter Club logo

samurai2016's Introduction

This is a Jindai Harada-team repository for SamurAI Coding 2016.
The followings are original readme. (2017-01-06)

--

SamurAI 3x3 Game Manager (2016-11-24)

This directory contains the source code of the SamurAI 3x3 2016 game
management system, sample setting, and several sample players.  A
visualzer for the game is provided in the web page with the following
URL, dragging and dropping log file generated by the game management
system to the page will give graphical presentation of the game.

   http://samuraicoding.info/software/views/samurai.html

1. Reporting Problems or Requesting Improvements

When you find any problems with this system, please send an e-mail
directed to the following.
	 mailto:[email protected]
Requests for improvements of the system can also be sent to the above
address.

2. Installation

The game management system and sample AI players are written in C++
and is meant to be compatible with C++11 standard.  Simply issueing
"make all" should work on many systems, but you possibly have to
modify first several lines of Makefile in subdirectories "manager" and
"players".  The visualizer is written in Javascript and no particular
installation procedure is required.

As the system has only be tested on Linux with g++ 5.4.2 under Linux,
it might not work on other systems.  Reports about working/non-working
systems are most welcome.

3. How to play games

The game manager system is in the subdirectory "manager".  By the
installation procedure, an executable file with its name "gameManager"
should result in this subdirectory, which is the main program of the
game management system.

The game manager lets two AI players specified on the command line,
and writes out a game log in JSON format to the standard output.  The
game log is planned to be used by the separate graphical visualizer
software.

A command line to invoke the system is as follows.

  # manager/gameManager [<options>] <first> <second>

Here, <first> and <second> are numbers identifying the first and the
second AI players.  Details of these numbers can be found in the file
players/README.

A number of options can be specified on running the game manager.

  -h: outputs help.
  -g<string>: specifies game name.
    The game name has nothing to do with the game itself, but
    is used by the game log visualizer.
    If this option is not specified, the name will be a null string.
  -s<path>: specifies AI player database path.
    The AI player database file is decided by the following.
     1. If this command line option is given, as specified.
     2. Value of the environment variable SAMURAIPLAYERDB, if any.
     3. The file "players.txt" under the subdirectory "players"
        of the working directory.
  -m<path>: duplicates messages to AI program.
    Messages sent to player N are also recorded in a file with its
    name obtained by concatenating <path> and N.
    For example, if you specify "-minput", then files with names
    "input0" through "input5" are made.
    This option is useful for debugging your player AI program.
    After running the game manager as specified above with this option,
    you can debug your AI program separately passing the message log
    obtained to its standard input.
  -p<#periods>: specifies the number of periods of the game.
    When this option is not given, 16 periods are played in the game.
    A smaller number of periods might be useful for debugging your AI.
  -d: dumps game process to stderr.
  -d<path>: dumps game process to <path>.

An alternative invocation for automatic tournament management system
is as follows.

  # manager/gameManager [<options>] >logfile

In this case, players are not specified as database entries but by
specifying the following options.

  -A<command>: specifies the command string to start a player
  -P<command>: specifies the command string to pause the player
  -U<command>: specifies the command string to resume its execution
  -N<name>: specifies player name string

For these options, all except for -N should be specified twice.  The
one for specifying the first player, and the other for the second
player.  When -N options are not given, player names are a null
string.

For options with an argument, no space after the command name is
allowed.  Option arguments may be enclosed in double quotes when
spaces are to be included.  Double quotes should be prefixed by a
backslash ('\').

4. Known Problems

It is reported that the game management system does not work when
installed using "clang" on MacOS.  It works using g++ installed with
"homebrew".

The game management system occasionally causes an error when an AI
player times out.  The problems are under investigation but may take
some time to fix.

samurai2016's People

Contributors

kino3 avatar ishikawa7023 avatar

Watchers

 avatar HARADA Takashi avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.