设为首页
加入收藏
联系我们
版权声明
  欢迎访问思佳围棋网!

采菊东篱下,悠然见南山  

您的位置:首页 >> 作者随笔

一、关于围棋的记忆

    最早关于围棋的记忆是在中学,那时在中午的休息时间里,偶尔也有几个同学聚在宿舍里一起下围棋;那也是中日围棋擂台赛进行得如火如荼的时候,而我对围棋却一无所知;还记得同桌的同学曾谈起过聂卫平、小林光一等等,觉得很让人激动和兴奋;可惜迫于高考的压力,当时也没有更多地去接触围棋。

    等到上大学的时候,我们班里有不少围棋下得还比较好的同学;特别是当时也有几个同学开始学围棋,我也跟着凑热闹,慢慢地发现围棋真的非常有魅力,只可惜天资所限,我的围棋水平一直都不高。我买过很多围棋方面的书,围棋入门都买了七八本了,可惜到现在都还没有入门,呵呵。经常是别人在我围的地盘里面不可能做活的地方轻松地做活了;也经常出现棋形崩溃的现象;收官的时候走出“大勺子”更加是常事。现在回想起来,大学时下围棋的次数其实也不是很多,更多的是用围棋的棋盘来打“拖拉机”,那样感觉比较放松。毕业以后,就很少有机会和朋友下围棋了,最多的时候是和陈志行教授的“手谈”下棋;在所有围棋软件里,我最佩服的要算“手谈”了,软件大小只有200K左右,但棋力非常强,速度非常快,界面也很漂亮,至今还是众多棋友们的最爱。

二、思佳围棋的雏形

    2004年的时候,我在过着一段无聊和郁闷的时光,总是想逃避现实生活的无奈,梦想生活在虚无缥缈的世界里。一个偶然的机会,我发现TOM.COM的围棋对弈系统做得非常不错,后来常常去那里看高手们下棋,或者拿着虚拟的银子豪赌几把,或者在游戏大厅里喧闹几句,这样的日子倒是有几分快意人生的感觉。

    那时上班的时候,不免也和好朋友谈起围棋,发现他们也有下得非常不错的。于是我们想在公司中午的时间里切磋几局,通过网上艰苦的搜索,终于找到几个可以在局域网上下围棋的软件,可惜结果并不怎么理想:有的软件界面太差了,根本没有心情去玩;后来找到一个还算不错的局域网对弈软件,但总是不停地弹出注册窗口,让人没有办法继续下去,我一气之下就把它删除了,后来就再也没有安装过。

    但是我对围棋的热情还在继续,后来就想自己开发一个小的程序来实现局域网对局,觉得这应该也不会很难吧。经历过几天的胡思乱想之后,有一天晚上到了十二点多,怎么也睡不着了,就爬起来开始写程序,一个通宵没有睡觉,总算写出来一个轮廓,第二天晕乎乎地上班去了。在学习围棋的过程中,我很少打谱,觉得打谱的过程太过于枯燥,对弈比打谱有趣得多,所以我申请的网址也叫“http://www.duiyi.com”。至于“思佳围棋软件”的名字,那是一年多以后才起的,就是希望这个软件做得越来越好,功能越来越完善。因为我的围棋水平实在很低,和好友下棋的时候总是中盘认输,根本用不着点目,所以一直没有开发点目的功能,呵呵。

    软件最初实现的功能很简单,只有本地对局和网络对局的功能。这期间也碰到了一些技术上的问题,最主要的有:打劫的算法、判断一片棋是不是死棋、图形显示、网络通讯等等,幸好这些问题经过仔细思考慢慢都迎刃而解了,但这个过程却也花费了我很多的心血,经历了很多的痛楚。

三、思佳围棋的成长

    由于思佳围棋软件的代码主要靠业余的时间来写的,特别是大的功能增加或者修改就要等到五一、十一或者春节长假的时候,所以最初开发的速度比较慢;在一年左右的时间内,我的网站上都只有一个静态网页和一个功能并不完善的软件。但是我对软件代码要求很高,可能和我自己做事的风格有关系吧:甚至每一变量,每一个函数的命名都是我精心挑选的,良好的编程风格也为以后方便的扩展打下了基础;思佳围棋软件的界面先后经历过几次大的修改,我总是追求完美、更完美。所以,思佳围棋虽然说不上千锤百炼,但要说精雕细刻却一点也不为过。

    除了“本地对局”和“网络对局”以外,我慢慢地又增加了“人机对弈”和“欣赏棋谱”的功能。

    “人机对弈”主要采用的是GNU GO的人机对弈引擎。GNU GO是免费的带源代码的人机对弈软件,棋力在九级左右。但GNU GO只提供字符界面,思佳围棋软件可以提供图形界面和GNU GO相连接,以实现人机对弈。最开始只支持下棋、悔棋、弃权、保存棋谱等功能;在3.2版本时增加了点目的功能;在3.3版本时,增加了下一步提示(电脑支招)、形势判断等功能,特别是后来增加了让子棋的功能,在人机对弈时,可以让二子、让三子,...,最多可以让九子,对初学者可能更加有帮助。

    “欣赏棋谱”主要是想实现一些简单的打谱功能,支持的格式主要有简单的SGF格式和TOM对弈、弈城的GIB格式,还提供“试下”的功能。出于界面简化的考虑,打谱时,我充分利用了鼠标的功能:在棋盘上的任意位置单击鼠标左键可以查看棋谱的下一步,单击鼠标右键可以回退到棋谱的上一步;您也可以在棋盘上通过滚动鼠标的滑轮来轻松地欣赏棋谱。有了打谱的功能以后,下完棋以后还可以用思佳围棋软件来复盘,这样对棋力的提高肯定会有所帮助;因为有了这个功能,连我自己也高兴了好几天,呵呵。

    在思佳围棋软件的编写过程中,若干网友提出过非常好的建议,报告过一些错误,在这里我表示衷心的感谢:

    1、一位姓黄的棋友给我提出过一个非常好的建议:在“人机对弈”的时候,如果差距很大,机器会自动认输;但是在差距不是很大的时候,机器会无休止地“弃权一手”,这样下去一盘棋无法正常结束,只好开始新的一局,最好能让计算机坚持到最后。我觉得这个建议非常有好,立即就采用了他的建议,让计算机可以陪你收完所有的单官。这样在“人机对弈”的时候,即使双方差距很大(或输或赢),也可以计算出差距到底有多大,看看自己的棋力是不是有长进。

    2、一位河南的棋友告诉我说“思佳围棋3.2版本在网络对局快一个小时的时候,设局方有可能看不到自己的棋子!”
    记得有人曾打过一个比方:计算机就好像你的女朋友,她生气的原因有时候是莫名其妙的。现在,这样的错误终于出现了,而这样的错误对程序员来说简直是一个恶梦,因为出现的错误太过于莫名其妙,从调试的结果根本看不出错误的原因是什么。幸好,我以前编程的时候养成了一些比较好的习惯,积累了一些查错的经验,也有比较好的网络理论基础,经过春节期间的昼夜奋战,终于完美地解决了这个问题;但这次改动却是最大的,花费了我最多的时间和精力。

    3、一位马来西亚的棋友告诉我说“在思佳围棋软件的界面上,看到的文字都是???”
    听到这个消息,我着实吓了一跳,不知道问题出在哪里,但直觉告诉我,可能和操作系统有关。果然他后来告诉我说是英文Windows XP,而且给我发来了软件的界面截图。我很惊讶,那样的界面(凡是汉字的地方都显示“???”),他居然找到了人机对弈的方法,而且已经玩了一个星期了!!他对思佳围棋那样的厚爱真的让我非常感激!!后来我告诉他在Windows XP系统里设置好以后,终于可以正常地显示汉字了。

四、迷茫的未来之路

    经过一年多的努力,目前软件的功能相对还算比较完善了,很多的棋友也表示非常地喜欢。在新浪网、华军软件园、小熊在线、天极网、电脑之家、多来米等国内的知名网站上都提供了思佳围棋软件的下载;在百度、Google等著名搜索引擎上,也能找到很多思佳围棋软件的下载链接。最初,我的网站访问量每天只有20个左右;而在我自己的网站(http://www.duiyi.com)上,思佳围棋软件每天的下载量都在 50 以上。看到这些成果,我心里倍感欣慰,这是我最初着手开发时没有想到的。

    也有朋友提出了这样的疑问,这个软件为什么还要收费?我希望更多的棋友能喜欢这个软件,所以开放了软件的绝大部分功能;但同时也希望软件微薄的收入能够维持网站域名以及网站空间的费用。至于思佳围棋软件的未来,我觉得很迷茫;不过,通过做这个围棋软件和网站,学到了不少知识,认识了很多朋友,这也许是我真正最大的收获吧。

    --- 淡淡的心事 2006年03月 记于北京


Copyright(C) 2004 - 2006 www.duiyi.com All Rights Reserved

思佳围棋网 京ICP备05060918号 淡淡的心事 版权所有(C)