robocode

http://robowiki.net/wiki/Category:Open_Source_Bots

 

 

最近有一些國內的玩家給我發郵件詢問和討論一些robocode的信息,勾起了我當年的回憶,因此在給Aspirin的回信中一發不可收拾,寫下了整個回憶錄,發到這裏,希望對喜歡robocode的朋友有所幫助,或者權當作一篇玩家故事小品文,一笑了之。</P></BLOCKQUOTE>
  <P style="WIDOWS: 2; TEXT-TRANSFORM: none; BACKGROUND-COLOR: rgb(255,255,255); MARGIN-TOP: 1em; TEXT-INDENT: 0px; LETTER-SPACING: normal; FONT: 12px Verdana, Geneva, Arial, sans-serif; WHITE-SPACE: normal; ORPHANS: 2; MARGIN-BOTTOM: 1em; COLOR: rgb(51,51,51); WORD-SPACING: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">此信如下(稍有修改):</P>
  <P style="WIDOWS: 2; TEXT-TRANSFORM: none; BACKGROUND-COLOR: rgb(255,255,255); MARGIN-TOP: 1em; TEXT-INDENT: 0px; LETTER-SPACING: normal; FONT: 12px Verdana, Geneva, Arial, sans-serif; WHITE-SPACE: normal; ORPHANS: 2; MARGIN-BOTTOM: 1em; COLOR: rgb(51,51,51); WORD-SPACING: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">Aspirin,</P>
  <P style="WIDOWS: 2; TEXT-TRANSFORM: none; BACKGROUND-COLOR: rgb(255,255,255); MARGIN-TOP: 1em; TEXT-INDENT: 0px; LETTER-SPACING: normal; FONT: 12px Verdana, Geneva, Arial, sans-serif; WHITE-SPACE: normal; ORPHANS: 2; MARGIN-BOTTOM: 1em; COLOR: rgb(51,51,51); WORD-SPACING: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">&nbsp;&nbsp;&nbsp; 如果我們早認識幾年,我們可能會在一起並肩作戰。:)</P>
  <P style="WIDOWS: 2; TEXT-TRANSFORM: none; BACKGROUND-COLOR: rgb(255,255,255); MARGIN-TOP: 1em; TEXT-INDENT: 0px; LETTER-SPACING: normal; FONT: 12px Verdana, Geneva, Arial, sans-serif; WHITE-SPACE: normal; ORPHANS: 2; MARGIN-BOTTOM: 1em; COLOR: rgb(51,51,51); WORD-SPACING: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">&nbsp;</P>
  <P style="WIDOWS: 2; TEXT-TRANSFORM: none; BACKGROUND-COLOR: rgb(255,255,255); MARGIN-TOP: 1em; TEXT-INDENT: 0px; LETTER-SPACING: normal; FONT: 12px Verdana, Geneva, Arial, sans-serif; WHITE-SPACE: normal; ORPHANS: 2; MARGIN-BOTTOM: 1em; COLOR: rgb(51,51,51); WORD-SPACING: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">&nbsp;&nbsp;&nbsp; 我已經差不多2年沒有再玩過robocode了,最後一次,也就是差不多我離開PASoft的時候。</P>
  <P style="WIDOWS: 2; TEXT-TRANSFORM: none; BACKGROUND-COLOR: rgb(255,255,255); MARGIN-TOP: 1em; TEXT-INDENT: 0px; LETTER-SPACING: normal; FONT: 12px Verdana, Geneva, Arial, sans-serif; WHITE-SPACE: normal; ORPHANS: 2; MARGIN-BOTTOM: 1em; COLOR: rgb(51,51,51); WORD-SPACING: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">&nbsp;</P>
  <P style="WIDOWS: 2; TEXT-TRANSFORM: none; BACKGROUND-COLOR: rgb(255,255,255); MARGIN-TOP: 1em; TEXT-INDENT: 0px; LETTER-SPACING: normal; FONT: 12px Verdana, Geneva, Arial, sans-serif; WHITE-SPACE: normal; ORPHANS: 2; MARGIN-BOTTOM: 1em; COLOR: rgb(51,51,51); WORD-SPACING: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">&nbsp;&nbsp;&nbsp; 從我的robocode生涯的開始說起吧,大概在我大二快過完的時候,也就是大概2002年的樣子,我和班上幾個同學遇上了robocode,剛開始大家都很感興趣,都在玩,也就是拿例子機器人改幾個參數然後編譯運行一下,這東西真正入門其實並不容易,那些離散的概念對於新手來說,不容易理解並掌握(比如fire和setFire的區別),最後堅持下來的,只有我和同班的Xiemin兩人(這也是爲什麼我和他的機器人用cx包名的原因,c即是Chen Jing,我的真名,x即是Xiemin),我在robocode上花的時間最長,有時候是整個一個多月每天8個小時甚至有時候10多個小時的編寫和調試程序,有時候晚上很晚上牀睡了,睡着突然想到了改進方法,於是下牀編寫,編寫好了肯定忍不住調試,肯定就要弄到天亮纔會繼續爬上牀了:)。終於在大概半年多以後,我們學習到了很多技巧(當然很多是通過國外優秀機器人的源代碼分析學習的),在第一次IBM全世界大賽的時候,我們的技術還很初級,沒有任何高超的運動/瞄準算法,但是我們合作的機器人Chick還是獲得了1v1第11名,沒能晉級8強,很是遺憾。就在那次比賽之後不久,我們一次無意中的對國外一個小機器人的分析,學習到了模式匹配(Pattern Matching,見<A style="COLOR: rgb(163,103,177); TEXT-DECORATION: none" href="http://robowiki.net/cgi-bin/robowiki?PatternMatching">http://robowiki.net/cgi-bin/robowiki?PatternMatching</A>)算法,這種方法對於robocode的瞄準及其有用,其實在這之前Xiemin就研究出了模式匹配算法,它能幾乎百發百中的射擊Circle機器人,讓我很是羨慕。他做的是全匹配方法,因此只對簡單模式的機器人有用,比如直線,繞圈,固定S型運動模式的機器人,對於稍有變化的機器人(大多數機器都會有變化),效果不好。我認識到了模式匹配的威力,慢慢研究,Xiemin那時候有段時間沒有玩了,我在繼續,在一天晚上一個人在學校外的出租屋裏抽菸的時候,我從嘴裏吐出的菸圈突然想到一個算法,興奮得我幾乎沒睡着覺,這個算法採用Wave(波,即菸圈,見<A style="COLOR: rgb(163,103,177); TEXT-DECORATION: none" href="http://robowiki.net/cgi-bin/robowiki?Wave">http://robowiki.net/cgi-bin/robowiki?Wave</A>)進行模式匹配並得到瞄準角度的算法,由此誕生了Cigaret(<A style="COLOR: rgb(163,103,177); TEXT-DECORATION: none" href="http://robowiki.net/cgi-bin/robowiki?Cigaret">http://robowiki.net/cgi-bin/robowiki?Cigaret</A>),我把這個算法精簡,用很少的代碼把它寫成了一個mini-bot(<A style="COLOR: rgb(163,103,177); TEXT-DECORATION: none" href="http://robowiki.net/cgi-bin/robowiki?MiniBots">http://robowiki.net/cgi-bin/robowiki?MiniBots</A>),Cigaret一出來就在eternal-rumble上取得的不錯的成績,大概10多名,我持續調試,調試機器人是最費時間的,有時候改個小參數,就要跟若干個敵人各調試幾百場,才能斷定這個參數比原來的參數好還是壞,不長時間,Cigaret就躋身到了第二名,第一名是當時很出名的SandboxDT(<A style="COLOR: rgb(163,103,177); TEXT-DECORATION: none" href="http://robowiki.net/cgi-bin/robowiki?SandboxDT">http://robowiki.net/cgi-bin/robowiki?SandboxDT</A>),Cigaret以mini-bot的身份持續在第二名的位置(mini-bot中排第一)大概有一年左右的時間,並且在一次運動算法升級的時候,排到過第一名,但是很快就又降到了第二名。因爲SandboxDT實在太強了,他的機器人是不開源的,因此很少人知道他具體的算法。我們的大部分機器人一直保持開源,當時Cigaret引起了世界各地玩家的關注,我們也參與到國外的討論組和世界各地的玩家討論,就是這裏<A style="COLOR: rgb(163,103,177); TEXT-DECORATION: none" href="http://robowiki.net/">http://robowiki.net</A><SPAN class=Apple-converted-space>&nbsp;</SPAN>,這個wiki現在還運行着,還有不少玩家活躍在上面,因此你可以上去看看,上面也有排行榜。你們可以參與進去。幾乎所有的robocode信息,算法技巧,排名歷史,甚至robocode的發展歷史,各階段取得優良成績的機器人歷史,都在上面有記載。這裏是目前全世界robocode玩家的聚集地:)</P>
  <P style="WIDOWS: 2; TEXT-TRANSFORM: none; BACKGROUND-COLOR: rgb(255,255,255); MARGIN-TOP: 1em; TEXT-INDENT: 0px; LETTER-SPACING: normal; FONT: 12px Verdana, Geneva, Arial, sans-serif; WHITE-SPACE: normal; ORPHANS: 2; MARGIN-BOTTOM: 1em; COLOR: rgb(51,51,51); WORD-SPACING: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">&nbsp;</P>
  <P style="WIDOWS: 2; TEXT-TRANSFORM: none; BACKGROUND-COLOR: rgb(255,255,255); MARGIN-TOP: 1em; TEXT-INDENT: 0px; LETTER-SPACING: normal; FONT: 12px Verdana, Geneva, Arial, sans-serif; WHITE-SPACE: normal; ORPHANS: 2; MARGIN-BOTTOM: 1em; COLOR: rgb(51,51,51); WORD-SPACING: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">&nbsp;&nbsp;&nbsp; 對了,這裏要提一下RoboChina,(<A style="COLOR: rgb(163,103,177); TEXT-DECORATION: none" href="http://www.robochina.org/">www.robochina.org</A>) 是天翼·李建立的中國robocode網站和論壇,一度火熱,並有比賽排行榜。PASoft的前身也是他發起,我和Xiemin加入成爲開發人員。,那時候國內熱心的玩家Arbow,Liuyang也寫了不少不錯的機器人,後來robochina域名過期沒來得及續費,被國外無聊的域名公司搶注了,我們資金有限,沒能買回來。後來用了ai-code.org域名,大量玩家流失。後來慢慢……沒人了,哈哈,現在也想不清楚具體怎麼回事了,反正就那樣慢慢robochina在國內玩家心中淡漠消失了,robochina的玩家似乎也隨即消失了……。</P>
  <P style="WIDOWS: 2; TEXT-TRANSFORM: none; BACKGROUND-COLOR: rgb(255,255,255); MARGIN-TOP: 1em; TEXT-INDENT: 0px; LETTER-SPACING: normal; FONT: 12px Verdana, Geneva, Arial, sans-serif; WHITE-SPACE: normal; ORPHANS: 2; MARGIN-BOTTOM: 1em; COLOR: rgb(51,51,51); WORD-SPACING: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">&nbsp;</P>
  <P style="WIDOWS: 2; TEXT-TRANSFORM: none; BACKGROUND-COLOR: rgb(255,255,255); MARGIN-TOP: 1em; TEXT-INDENT: 0px; LETTER-SPACING: normal; FONT: 12px Verdana, Geneva, Arial, sans-serif; WHITE-SPACE: normal; ORPHANS: 2; MARGIN-BOTTOM: 1em; COLOR: rgb(51,51,51); WORD-SPACING: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">&nbsp;&nbsp;&nbsp; 說到robowiki,那是另一個時期的來臨,那個時候eternal-rumble已經不再更新了,你可以看到eternal-rumble最後一次的比賽是遙遠的2003年。到了robowiki時期,機器人技巧經歷了兩次大的突破,在eternal-rumble時期,最牛的輝煌的廣爲人知的技術是模式匹配+隨機運動(<A style="COLOR: rgb(163,103,177); TEXT-DECORATION: none" href="http://robowiki.net/cgi-bin/robowiki?RandomMovement">http://robowiki.net/cgi-bin/robowiki?RandomMovement</A>),很多優秀的機器人都採自的這種技巧(Cigaret是其中之一),之後,由於模式匹配算法的種種缺點,比如運算速度慢,所以不能分析太多的數據,否則機器人太慢會被disabled,太慢也造成調試很費時間,效率不高。後來SandboxDT的作者公佈了他的minibot SandBoxMini(<A style="COLOR: rgb(163,103,177); TEXT-DECORATION: none" href="http://robowiki.net/cgi-bin/robowiki?SandboxMini">http://robowiki.net/cgi-bin/robowiki?SandboxMini</A>)機器人的算法,大家學習到了統計學算法,當時稱爲guess factor(<A style="COLOR: rgb(163,103,177); TEXT-DECORATION: none" href="http://robowiki.net/cgi-bin/robowiki?GuessFactor">http://robowiki.net/cgi-bin/robowiki?GuessFactor</A>)技術,我也開始嘗試此項技術,enternal-rumble快關閉的時候我出的CigarteST就是對此的一種嘗試,你從它最後一次比賽排行第二可以看出,效果很不錯。後來就出現了david alves的經典機器人,一舉打敗了SandBoxDT的統治。在後來kawigi也推出了不少優秀機器人,很長一段時間,大家都是在這種機器人上不斷的調優,由於robocode世界,大家都崇尚相互學習,大多機器人都是開源的,所以當前最好的技術,老玩家大家都熟悉,因此也就是比拼一些小的改進,一些實現方式的不同,所造成的不同成績,大的思路大家都是相同的(當然很多新手也是停留在很初級的技巧上),robowiki的維護者瑞典的PEZ也推出了不少優秀的機器人,還有很多,我現在不能一一記起來。當然,在這個時期,還有一些不得不提的技術,比如Virtual Guns(<A style="COLOR: rgb(163,103,177); TEXT-DECORATION: none" href="http://robowiki.net/cgi-bin/robowiki?VirtualGuns">http://robowiki.net/cgi-bin/robowiki?VirtualGuns</A>)技術,因爲流行的好的瞄準算法是模式匹配和統計學,大多機器人都是要麼採用模式匹配,要麼採用統計學,Virtual Guns技術就是,具體用一種方法的設計的時候,同時還虛擬(假設)用另外一種,由此統計,對於當前的敵人,哪種效果更好,因此下一次瞄準就採用哪種。我和Xiemin合作開發的Princess好像就用了這個技術,但是效果不是很好,PEZ大量使用了此技術,取得了不錯的效果。但是,終究不是大的突破,所以很難有突出的機器人誕生。不久後,一個哪個國家的作者我忘記了,通過修改我和另一個國外人合作開發的機器人Sedan的源代碼,發佈了一個機器人,一舉排到了排行的前幾名,由於新手很難會有如此成績的,所以引起了大家的關注,大家發現了他是通過修改Sedan而來,並且沒有遵守開源協議(他的機器人修改自我們的開源機器人,但他沒有開源,<A style="COLOR: rgb(163,103,177); TEXT-DECORATION: none" href="http://robowiki.net/cgi-bin/robowiki?RWPCL">http://robowiki.net/cgi-bin/robowiki?RWPCL</A>),受到了大家的譴責,我也比較氣憤,因爲他是通過我們的機器人改來的,我反編譯他的代碼,並發現了一個可能會有重大突破的改進思路,就是通過自己中彈的信息來調整自己的運動,因爲在此前的時間裏,大家都關注在瞄準算法上,運動算法沒有什麼突破,還是隨機運動佔主流,也是最好的運動,一個調優的好的隨機運動,效果很好,既能讓模式匹配難以匹配,也能讓統計學統計的每個角度概率都差不多。但是隨機運動畢竟是死的,它不能自我調節,不能像瞄準算法的模式匹配或者統計學那樣的根據敵人的情況學習。由此,我試驗出了Lacrimas,採用反統計學的思路,就是當自己中彈的時候,就認爲中彈的那個角度,被敵人統計爲最高概率的角度,因此調整這個運動概率,再次運動。一出來,取得了很好的效果,甚至可以打敗SandBoxDT,SandBoxDT的作者Paul Evans很快推出了新版SandboxDT,維持住了他的統治地位。由此Lacrimas受到關注,但當時由於什麼原因我現在忘記了,一段時間沒有再繼續改進。後來,我再上robowiki的時候,發現大家討論起了WaveSurfer技術。此技術的思路和Lacrimas一樣,就是反統計學,此技術的倡導者abc推出了得到巨大成績突破的機器人Shadow,引起了大家的極大興趣,並且abc公佈了此技術的思路,於是Wavesurfer迅速得到推廣,很快SandboxDT被推下了統治地位,並一去不復返,再也未能像以前那樣每次被大敗都能很快爬起來。我後悔自己當初放出Lacrimas的時候沒有開源,當時想保密思路,改進得更牛逼了能穩居第一了再分享,因此沒有人討論,沒能像abc那樣發展成Wavesurfer,由此看來,在對待技術上,一定要開放,不要閉塞,否則自己發展很慢,我由於自己的狹隘,錯失了一次坐上冠軍寶座的機會,當時怎麼就沒能像當初開發出Cigaret和Wave技術時那樣開放呢,我很爲自己的封閉狹隘而遺憾了一段時間。Wavesurfer的思路和Lacrimas的運動是一樣的,但是Wavesurfer的實現方法很科學,這也是WaveSufer這個名稱的由來,它把敵人擊中自己的信息統計下來,根據概率形成一個個角度範圍顏色深度大小不同Wave波浪,在敵人發射炮當時,假設敵人發出了這樣一個Wave,讓自己的機器人在Wave上根據顏色深度而作衝浪運動(我們大多都採用一些輔助工具,比如RobocodeGL來實時繪製出這些圖像信息,便於實時的觀察和分析Wave變化, 後來還有更方便的可以替代RobocodeGL的工具我忘了叫什麼了),也就是不斷往顏色深度低的地方滑動,這點改進非常有效,比起Lacrimas的點到點運動(直線往顏色深度最低的點運動),優秀很多,因爲它總表現爲繞敵人圓周來回運動,因此敵人的模式匹配相當於也簡化爲統計學了,由此同時也有效的反了模式匹配。後來我和Xiemin合作開發了Pear(<A style="COLOR: rgb(163,103,177); TEXT-DECORATION: none" href="http://robowiki.net/cgi-bin/robowiki?pear">http://robowiki.net/cgi-bin/robowiki?pear</A>)機器人,採用此技術,由於此技術實現起來難度不小,我們用了差不多2個月時間開發和調優完成,代碼量已經可以算是一個小程序項目大小,總共大概40多個類,Pear取得了不錯的成績,現在你到robowiki排行榜上還能看到它,已經是幾年前的機器人了,現在還排在比較靠前的位置。直到現在,WaveSurfer仍是最好的運動策略,統計學瞄準,仍是最好的瞄準策略,目前排行榜前十的機器人大概都是採用的這兩種技術,呵呵,後者是統計學,而前者是反統計學,雖然後來也出現了Anti-WaveSurfer瞄準策略,但是並不是什麼革命性的突破,我想,老在統計學上面反來反去,不是什麼好的方向,下一次重大突破,有待後來者們的努力,記住,要想登上冠軍寶座,革命新的突破是唯一道路(以往的例子已證明)。</P>
  <P style="WIDOWS: 2; TEXT-TRANSFORM: none; BACKGROUND-COLOR: rgb(255,255,255); MARGIN-TOP: 1em; TEXT-INDENT: 0px; LETTER-SPACING: normal; FONT: 12px Verdana, Geneva, Arial, sans-serif; WHITE-SPACE: normal; ORPHANS: 2; MARGIN-BOTTOM: 1em; COLOR: rgb(51,51,51); WORD-SPACING: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">&nbsp;</P>
  <P style="WIDOWS: 2; TEXT-TRANSFORM: none; BACKGROUND-COLOR: rgb(255,255,255); MARGIN-TOP: 1em; TEXT-INDENT: 0px; LETTER-SPACING: normal; FONT: 12px Verdana, Geneva, Arial, sans-serif; WHITE-SPACE: normal; ORPHANS: 2; MARGIN-BOTTOM: 1em; COLOR: rgb(51,51,51); WORD-SPACING: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">&nbsp;&nbsp;&nbsp; 之後,我就再也沒能玩robocode了,由於工作的繁忙,由於robocode機器人技術已經如此高深,現在要寫一個能排到前十的機器人,就算是一個老手,沒有兩個月時間日以繼夜的努力,也很難成功。</P>
  <P style="WIDOWS: 2; TEXT-TRANSFORM: none; BACKGROUND-COLOR: rgb(255,255,255); MARGIN-TOP: 1em; TEXT-INDENT: 0px; LETTER-SPACING: normal; FONT: 12px Verdana, Geneva, Arial, sans-serif; WHITE-SPACE: normal; ORPHANS: 2; MARGIN-BOTTOM: 1em; COLOR: rgb(51,51,51); WORD-SPACING: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">&nbsp;</P>
  <P style="WIDOWS: 2; TEXT-TRANSFORM: none; BACKGROUND-COLOR: rgb(255,255,255); MARGIN-TOP: 1em; TEXT-INDENT: 0px; LETTER-SPACING: normal; FONT: 12px Verdana, Geneva, Arial, sans-serif; WHITE-SPACE: normal; ORPHANS: 2; MARGIN-BOTTOM: 1em; COLOR: rgb(51,51,51); WORD-SPACING: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">&nbsp;&nbsp;&nbsp; 我們一直在等待IBM的下一次國際大賽,或者在中國舉行大賽(其他很多國家都舉行過),但是IBM一直沒舉行。</P>
  <P style="WIDOWS: 2; TEXT-TRANSFORM: none; BACKGROUND-COLOR: rgb(255,255,255); MARGIN-TOP: 1em; TEXT-INDENT: 0px; LETTER-SPACING: normal; FONT: 12px Verdana, Geneva, Arial, sans-serif; WHITE-SPACE: normal; ORPHANS: 2; MARGIN-BOTTOM: 1em; COLOR: rgb(51,51,51); WORD-SPACING: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">&nbsp;</P>
  <P style="WIDOWS: 2; TEXT-TRANSFORM: none; BACKGROUND-COLOR: rgb(255,255,255); MARGIN-TOP: 1em; TEXT-INDENT: 0px; LETTER-SPACING: normal; FONT: 12px Verdana, Geneva, Arial, sans-serif; WHITE-SPACE: normal; ORPHANS: 2; MARGIN-BOTTOM: 1em; COLOR: rgb(51,51,51); WORD-SPACING: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">&nbsp;&nbsp;&nbsp; 之前我介紹的,算是1v1的技術和歷史,對於Melee還有Team的比賽,在我認爲,從來沒有過像1v1的模式匹配,統計學,WaveSufer(我和Xiemin稱爲反統計學)那樣的輝煌技術突破,因此沒有詳細介紹,可以提到一些比較優秀並很有益的技術,比如反重力Anti-Gravitation,很有趣的技術,它的思路是這樣的,由於在Melee混戰中,你越跟大多數敵人混在一塊,越死的快,因此跑到人煙稀少的區域,從遠處射擊人煙密集的地方,越能取得好成績,因此Anti-Gravitation假設每個機器人都有排斥的力量,牆壁也是(避免裝牆),每個tick都分析自己周圍那個方向的磁力最低,因此往那個方向運動,由此,自己總能往人煙稀少的地方跑,這很有效。很多優秀的Melee機器人都採用了這種思路,雖然具體實現方式可能不同,但是都能取得不錯的效果。此種思路,非常啓發人,你可以從這個技術和WaveSurfer技術看到,模擬一個現實的物理現象(重力/磁力,波,衝浪),是多麼的優美和有趣啊,並且總能獲得很好的實戰效果。還有更多的例子,我這裏就不一一追述了。從生活中領悟,乃是技術突破的關鍵。在你編碼和思考疲勞的時候,或許出去走走,你就會有更多的發現。</P>
  <P style="WIDOWS: 2; TEXT-TRANSFORM: none; BACKGROUND-COLOR: rgb(255,255,255); MARGIN-TOP: 1em; TEXT-INDENT: 0px; LETTER-SPACING: normal; FONT: 12px Verdana, Geneva, Arial, sans-serif; WHITE-SPACE: normal; ORPHANS: 2; MARGIN-BOTTOM: 1em; COLOR: rgb(51,51,51); WORD-SPACING: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">&nbsp;</P>
  <P style="WIDOWS: 2; TEXT-TRANSFORM: none; BACKGROUND-COLOR: rgb(255,255,255); MARGIN-TOP: 1em; TEXT-INDENT: 0px; LETTER-SPACING: normal; FONT: 12px Verdana, Geneva, Arial, sans-serif; WHITE-SPACE: normal; ORPHANS: 2; MARGIN-BOTTOM: 1em; COLOR: rgb(51,51,51); WORD-SPACING: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">&nbsp;&nbsp;&nbsp; Team的話,我沒有深究,雖然也嘗試寫過,但是都僅限於一些是人都想得到的簡單方式把幾個Melee機器人和在一起組成一個團隊而已。並且,其他玩家也很少有人深入發展Team,因此,也沒有什麼可值得提的好思路。</P>
  <P style="WIDOWS: 2; TEXT-TRANSFORM: none; BACKGROUND-COLOR: rgb(255,255,255); MARGIN-TOP: 1em; TEXT-INDENT: 0px; LETTER-SPACING: normal; FONT: 12px Verdana, Geneva, Arial, sans-serif; WHITE-SPACE: normal; ORPHANS: 2; MARGIN-BOTTOM: 1em; COLOR: rgb(51,51,51); WORD-SPACING: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">&nbsp;</P>
  <P style="WIDOWS: 2; TEXT-TRANSFORM: none; BACKGROUND-COLOR: rgb(255,255,255); MARGIN-TOP: 1em; TEXT-INDENT: 0px; LETTER-SPACING: normal; FONT: 12px Verdana, Geneva, Arial, sans-serif; WHITE-SPACE: normal; ORPHANS: 2; MARGIN-BOTTOM: 1em; COLOR: rgb(51,51,51); WORD-SPACING: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">&nbsp;&nbsp;&nbsp; 由於時間倉促,事先也沒有準備,就介紹到這裏,時隔我最後一次寫機器人,也大概2年多了,很多以前知道的東西,現在也很模糊了,因此未能全面而詳細,請見諒。更詳細的各種信息,你可以通過瀏覽<A style="COLOR: rgb(163,103,177); TEXT-DECORATION: none" href="http://robowiki.net/">http://robowiki.net</A><SPAN class=Apple-converted-space>&nbsp;</SPAN>而得到。</P>
  <P style="WIDOWS: 2; TEXT-TRANSFORM: none; BACKGROUND-COLOR: rgb(255,255,255); MARGIN-TOP: 1em; TEXT-INDENT: 0px; LETTER-SPACING: normal; FONT: 12px Verdana, Geneva, Arial, sans-serif; WHITE-SPACE: normal; ORPHANS: 2; MARGIN-BOTTOM: 1em; COLOR: rgb(51,51,51); WORD-SPACING: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">&nbsp;</P>
  <P style="WIDOWS: 2; TEXT-TRANSFORM: none; BACKGROUND-COLOR: rgb(255,255,255); MARGIN-TOP: 1em; TEXT-INDENT: 0px; LETTER-SPACING: normal; FONT: 12px Verdana, Geneva, Arial, sans-serif; WHITE-SPACE: normal; ORPHANS: 2; MARGIN-BOTTOM: 1em; COLOR: rgb(51,51,51); WORD-SPACING: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">&nbsp;&nbsp;&nbsp; 最後,我不得不提一下在我畢業後和Xiemin還有Cairong創立的公司,PASost(<A style="COLOR: rgb(163,103,177); TEXT-DECORATION: none" href="http://www.ai-code.com/">http://www.ai-code.com</A>),後來天翼·李也加入了,我們開發了類似robocode這樣的遊戲平臺,功能更強大,支持Java,C/C++,Delphi…多種語言編寫機器人,並且提供了很好的機器人編寫/調試環境。我們還開發了機器人足球平臺,跟國內外現有的仿真平臺不同,我們沒有走完全仿真的思路,而是像robocode那樣的簡單有趣的模擬方式。但是由於市場推廣困難,我們幾人在去年和今年相繼離開。此產品現在由投資我們的公司繼續持有並運營。對於國內玩家,如果有興趣組織發起此類遊戲比賽的朋友,我非常推薦採用我們的平臺,因爲它用起來更簡單,功能更強大,並且有完善的工具,支持更多的語言。非常希望看到國內能有此類活動的發展,可惜無奈,我已無能再投身此業。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章