http://www.chessit.net
 
棋艺探讨之一   棋艺探讨之二   人物棋史译文   实战评局译文   专题译文

当前栏目:专题译文--棋弈软件基础

发信本站 正文字体:[默认 小字 大字 更大

【译前注:这一篇与其说是翻译,不如说是编译甚至改编。为了更通俗说明,很多部分是译者根据自己已掌握的而加入和改写】

棋弈软件基础:Winboard引擎设置
Aaron Tay

  B1. 怎样安装Winboard?怎样升级?
  只要执行下载下来那个执行文件即可,其余自动。Winboard安装的同时还预装GNUChess4.0和GNUChess 5.02引擎。【也就是你其它什么引擎都不装,Winboard也可以和你对弈的那个引擎。它棋力一般。】
  一般来说升级新版本的Winboard无须卸载旧版本,直接安装新版本覆盖旧的即可。Winboard的作者Tim Mann说过,安装Winboard除了选择把他作为PGN和FEN文件的默认打开工具之外,基本不写Windows系统的注册表。【事实上,Winboard是绿色软件,解压以后拷贝使用不安装也可以使用。】

  B2. 怎样为Winboard安装更多引擎?
  设置象Crafty那样的Winboard引擎有两种办法,一是使用命令行方式;而稍好些但也类似的办法是建一个快捷方式。【这要求你有最最基本的电脑操作知识,是最最基本的,应该已掌握】
  这里给个例子,快捷方式这样写:

"盘符或硬盘分区:\winboard所在的目录\winboard.exe" -cp -fcp "引擎的文件名字" -fd "盘符或硬盘分区:\该引擎所在目录(全路径)"

  举例,我把winboard放在F盘(分区)的名字叫winboard的目录下,我要安装yace引擎(023的版本),它的文件名字叫yace【取小数点前的部分,比如它的文件原叫yace.exe;自己查看具体名字】,它放在F盘的winboard目录下的engine子目录的yace023子目录下【放在哪里是随你便的,连目录名字也是随你改的,译者只以自己的情况为例;请对照理解后自行改用】,于是这个快捷方式就该写成:
  "f:\winboard\winboard.exe" -cp -fcp "yace" -fd "f:\winboard\engine\yace023"
  这里参数的解释是,-cp告诉Winboard以引擎模式启动;-fcp告诉Winboard这是第一个引擎;-fd告诉这是第一个引擎的路径。如果你安装另一引擎和第一引擎对战,你可以依样照加,但务必对应另一引擎的文件名和目录路径的参数由-fcp和-fd改成-scp和-sd,以告诉Winboard这是第二引擎。快捷方式可放在windows的桌面上方便查找运行。
  是不是有点糊涂了?别急,我们有更容易和灵活的设置办法,这就是在Winboard第一次运行后的自动生成于Winboard所在目录下的配置文件winboard.ini里进行编辑。通过这样设置,你可以同时设置很多个引擎,可以在Winboard启动时的对话框里选择使用哪个。【这个办法比快捷方式更好;之所以介绍上面那个快捷方式法,是因为有时临时设置可能会用到,而且想使winboard引擎运行在ICS上,目前版本的Winboard还只能用快捷方式,后面将讲到。因此两种办法都学可能有需要】
  编辑winboard.ini文件设置引擎
  译文还是以设置yace引擎为例,使用环境和前面的例子一样。其它的引擎设置,举一反三即可。【目前棋力最强的免费Winboard引擎,可能属Ruffian。但译此文时的最新版本Ruffian有一个bug,作者还未解决,致使译文还不好以它为例;但译者个人很推崇这个引擎】
  使用文本编辑工具,比如windows的记事本即可,打开winboard.ini文件,该文件在winboard同一层目录下找到(如果winboard一次都未运行过,必须先运行一次,才自动产生这个文件)。打开后,在底部可见得这样的部分:【还别漏看了那些花括号,另外特别留意双引号,是英文的双引号;往往在设置上很多错误就产生于这些微小细节的不正确】

}
/firstChessProgramNames={GNUChess
"GNUChes5 xboard"
}
/secondChessProgramNames={GNUChess
"GNUChes5 xboard"
}

  当你启动Winboard时,是不是有个启动对话框?如图,你可以看到在第一、第二对话框里有GNUChes5的选择,分别是第一、第二引擎,这就是上面那个写法的设置所成。
  好,为了加入更多的引擎,你可以在上面那个部分里这样加入--同样以加yace引擎为例子:

}
/firstChessProgramNames={GNUChess
"GNUChes5 xboard"
"yace" /fd="f:\winboard\engine\yace023"
}
/secondChessProgramNames={GNUChess
"GNUChes5 xboard"
"yace" /sd="f:\winboard\engine\yace023"
}

  好了,这样就把一个2500分水平的强免费引擎(与你的硬件配置当然有很大关系)给安装设置好了,当然前提还包括你已经把yace引擎和开局库给下载下来安放好。现在我们来说明一下所加的设置部分的意思:
  比如上面为了设置yace引擎所加的是:"yace" /fd="f:\winboard\engine\yace023",文章标上颜色分成前后两部分。
  前面的"yace"是指引擎执行文件,即那个以exe为后缀的文件的名字。这种情况下可以不包括.exe,而只写前面那一段。而Winboard的帮助文件里指出,假如引擎执行文件名里不止一个英文句点,比如Crafty.1815.exe就有两个句点了,这种情况下前部分就该把文件全名写上,即"Crafty.1815.exe" /fd="(实际路径)";否则可不用。
  要指出的是,你可以把引擎执行文件的文件名改成更简洁的名字,以免写的时候不慎出现错误,这是允许的,只要对应清楚就是了。比如假如Crafty原来的文件名是crafty-19.1.exe,可以把它改名成Crafty191.exe;于是写入winboard.ini进行设置时注意名字用改动之后的即可。【另外,你可以把引擎执行文件名字改成任意你喜欢又符合命名规范的名字,也无不可,但那样对人家的作品权利是不敬的;这样说只是为了更好理解,不提倡】
  然后就是要让Winboard知道该到哪里寻找这个引擎,这就是后面部分/fd="f:\winboard\engine\yace023" 的作用,它告诉Winboard到哪个目录下找到前面部分所指示的引擎,它是根据文件名字来找的。
  那些双引号写不写要求不严格,但最好写上,因为当路径目录名出现空格时,可能要求写的。
  注意到Winboard默认自带的GNUChess引擎在winboard.ini文件里的写法,没有后面部分,因为它的引擎执行文件就是和winborad在同一层目录下。事实上其它引擎假如是这样放,也可以不写第二部分。但译者认为这样做不好,因为引擎一般还带其它文件,都放在一起很不清晰。
  我们还注意到上面那个部分里,第一引擎和第二引擎的区别。所谓第一和第二引擎,目前版本的Winboard,尽管可以设置很多引擎,但一次只能启动最多两个引擎,当人机对弈或用引擎于分析时,还只能使用第一引擎。只有引擎对战时,才会调动第二引擎。中途想换用其它引擎,一般要关闭Winboard再重新打开时选择。多少有点不便,好在Winboard的启动速度很快。
  第一引擎在/firstChessProgramNames部分里,而且注意引擎参数是/fd;第二引擎在/secondChessProgramNames部分里,而且注意引擎参数必须改成/sd。这点是务必要留意的,很多设置引擎错误的原因,就是出在这些细微疏漏上。
  这样,为Winboard设置好一个引擎了,保存winboard.ini文件退出。当再次启动winboard出现对话框时,在第一、第二对话框下拉就可以发现并选择你新设置的引擎。然后OK就调动了这个引擎进入winboard。以上的写法,在windows系统下,大小写是一样的。
  这样的设置办法,有些引擎还需要额外的命令,比如你看到winboard默认的GNUChess引擎后面还加上Xboard表现它的运行模式。因为目前的强引擎都无须这样麻烦,所以译文省略这些特殊情况。
  最后,由于现在有几种强大的免费winboard引擎,所以在个人使用时,译者认为Winboard自带的GNUChess引擎是鸡肋,可有可无,把它去取是可以的,因种种需要留住也无不可。GNUChess另有一个弱点是不支持分析模式,用于分析棋局不方便。推荐几种强大而比较完善的引擎,Crafty各版本(版本17之后的),yace023和yace099,Lgoliath的最新winboard版本,lambchop10.88,以及少不了那个Ruffian。这些都是免费引擎,在本站下载小区有指示下载,包括开局库。以下是译者本人的winboard.ini文件引擎设置部分的写法,再次提醒,每个用户的引擎文件名特别是存放路径是不同的,要具体对应改动:

}
/firstChessProgramNames={"yace" /fd="f:\winboard\engine\yace023"
"Crafty19_1" /fd="f:\winboard\engine\Crafty"
"Chop" /fd="f:\winboard\engine\lambchop"
"LG2000v39wb" /fd="f:\winBoard\engine\Lgoliath"
"yace" /fd="f:\WinBoard\engine\Yace099\WB"
"Ruffian" /fd="f:\winboard\engine\Ruffian"
}
/secondChessProgramNames={"Ruffian" /sd="f:\winboard\engine\Ruffian"
"yace" /sd="f:\winboard\engine\yace023"
"Crafty19_1" /sd="f:\winboard\engine\Crafty"
"Chop" /sd="f:\winboard\engine\lambchop"
"yace" /sd="f:\WinBoard\engine\Yace099\WB"
"LG2000v39wb" /sd="f:\winBoard\engine\Lgoliath"
}

  B3. 怎样在ICS上运行棋弈引擎?
  ICS,即Internet Chess Server,网上国际象棋服务器,通俗讲就是网上下棋的地方,比如Freechess.org(也叫FICS)和ICC,还有chess.net。在这些网上下棋的地方,经常见到明确的电脑棋手账户,它们就是设置使棋弈引擎能够在网上运行和别人对弈的。可以通过winboard带动引擎在在网上下棋,也可以使用一些内建ICS支持的界面带动引擎,比如免费的Arena和商业性的chessparnet、Fritz等。后者比前者方便,但如果还是要用winboard,该怎样设置?【另外,用Winboard上ICS还是有它的优点和好用的,只要试过就会发现】
  1)使用Winboard附带的zippy
  可以不管zippy的工作原理和细节,以让yace到FICS去下棋为例,只需建立这么一个快捷方式:

f:\WinBoard\winboard.exe -zp -ics -icshost=freechess.org -icshelper=timeseal -fcp=yace -fd=f:\winboard\engine\yace023

  这是译者的例子,注意winboard和引擎文件的存放路径和前面说的一样,每人有每人的具体情况,根据你的情况自行改动。这个快捷方式各部分说明如下,译文以不同颜色字标出不同部分:
  黑色字的部分告诉Winboard要启动ICS模式,也就是告诉它“现在要求你连上网去下棋了”。那两个参数不可缺少。
  红色字部分,-icshost指明连接到哪个网上国际象棋服务器上,例子中是FICS的地址;如果要连接到ICC那就是chessclub.com 。-icshelper是为了使用timeseal,这是FICS的一种解决用户不同网速造成对局时网络延迟影响双方实际用时显示的技术;如果是ICC则是timestamp 。
  蓝色字的-fcp=yace表示要调用哪个引擎,这里调用yace引擎。正规写法应写全名,比如yace.exe,但发现不写.exe也无不妥。
  绿色字的-fd=f:\winboard\engine\yace023就是指示所调用引擎的全路径,这个应该了解了。
  必须说明,-zp、-ics、-icshost、-icshelper、-fcp、-fd都是固定的参数写法;其它的可根据实际情况变动。全部都在英文输入法下。
  然后保存这个快捷方式,运行时点击它就能调用引擎运行在ICS上了,登录及登录后的操作是另外的问题,这里假设你已经去过ICS。
  目前这些办法只能用在FICS/ICC/Chessnet/USCL这些网上国际象棋服务器上,还很难有方法用在YahooChess,因为它的格式不一样。至于其它的ICS,可参阅其具体说明。前面说的编辑winboard.ini设置引擎的办法,不能用于目前版本的Winboard去上ICS,还只能用快捷方式。
  有一点必须记住的是,使用软件去网上下棋,必须事先申请电脑棋手账户并获得批准后,用这个账户登录才符合规定,以让他人知道这个账户是使用电脑的。使用非电脑棋手账户、不事先申请说明而用软件和别人下棋,很快会招致投诉并被警告和屏蔽、直至取消账户。还有,电脑账户一般要求在账户档案中说清楚是使用什么引擎(包括版本)、硬件配置如何、有没有使用残局库等这些最起码的信息。要遵守网上对弈的道德。
  上述是最基本的设置,其后很多网上的操作还得手工进行,比如登录名字和密码需要手工输入等等。而通过在更高级的设置,有些操作可以做到自动进行。
  可以在快捷方式中加入一个命令:-icslogon=ics.ini ,然后用文本编辑工具创建一个文件叫ics.ini,在里面写入一些命令,使之能够在启动时自动送达,比如登录信息(Handle,password)、账户档案(finger notes)、过滤器(filters)、寻找对局参数(challenges)等。最后保存ics.ini于Winboard同一层目录下:

(登录账户)
(登录密码)
Set 1 This account is run using Engine so and so(说明这个账户使用什么引擎)
Set 2 This account is run on Pentium 4 , 2 Ghz(说明当前硬件配置,CPU最重要,其次是内存)
Set 3 Running using all 3-4-5 tablebases(说明使用了3、4、5子残局库)
Set 4 The Operator is TheDane(说明操作者,可以是另一账户名)
seek 5 0(一连接上之后自动发出5+0对局的邀请)

  上述写法,连接时将自动输入账户名和密码登录,改动显示账户档案并在登录后自动邀局。不过假如下了一盘之后,它就不会再自动邀局了。解决技巧是在快捷方式中加入这么一行:
  -zippyGameEnd='say *handshake*\nseek 5 3\nseek 15 0\n'
  这里,-zippyGameEnd参数是当一局对局结束后,引擎(简化地说,其实不能说是引擎发出的)会向服务器发出一个命令,于是可在这里做文章,把它改成你想发出的命令和信息,以实现自动化。上述例子中,结束一局后,“你”将向刚结束的对手“说”一声handshake(握手),然后继续向所有在线者邀局5+3和15+0。在向对手发屏幕信息时,当然可用其它字眼,比如Goodgame或GG(下得好)、Thanks(多谢)、any more game?(再来好吗?)、a nice day isn't it?(天气真好啊),等等等等。尽管对手很可能是一台无人值守的电脑,“他”不会懂“你”所发的信息,不过也是一种小小趣味罢了。最主要的还是设置后面的自动邀局。
  这样的命令自动设置还有很多,对于方便操作和趣味很有帮助,比如可以让引擎只接受某某某的挑战、或不与某某某玩、或与某某某在限定时间内最多只下多少局(防止你不在电脑前,让引擎自动挂在网上时,遇到有些电脑对手颇烦,每局完了都自动和你的账号继续,下个不停,使你的引擎没机会和别的对手对阵),等等。请阅读参考winboard下的文本文件zippy.README,那里有不少说明和例子,也可以参阅Winboard作者主页的相关部分,网址http://www.tim-mann.org/zippy.html。也是因为使用winboard的参与度和趣味性这么多,因此尽管它相对现今越来越自动化的工具已经显得颇原始了,界面简陋,手工设置也确实有些难度,但还是有不少拥戴者。
  由于国外ICS和这些工具的“出身”状况,上面一切写入都是英文输入状态下的,不支持中文,尤其是写标点时要注意。
  最后要说明的是,要让引擎运行在网上,除了最开始的基本设置是不可少的,其它的趣味和额外增强功能设置并非必要,所以如果你在设置时如果遇上一时不知原因的错误,暂时不用它们即可。
  2)其它选择
  如果嫌用Winboard带动引擎上网实在不方便,有其它选择。
  免费的Arena,内建ICS支持,挂接引擎方便,可以取代Winboard。
  商业性的Chess Partner界面、Chess Vision、Chess Assistant(包括简化版)设置功能更丰富,也可替代。后者只能使引擎上ICC。
  Linux有Xboard可用。
  Fritz 7及之后的版本内建支持上他们自己的在线棋弈服务器的功能。【Fritz、chessmaster等上ICC/FICS 的办法比较麻烦,这次暂不涉及】

 

出处: Aaron's Winboard and Chess Engines FAQ
译者: michael
类型: 改编译

  原文  相关文章  相关下载 

 

  返回首页   回本栏目   发表意见  

返回顶部