亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

AlphaBot:對 Robocode 的創始人 Mat Nelson 的一次采訪

2019-11-18 11:30:02
字體:
來源:轉載
供稿:網友

AlphaBot:對 Robocode 的創始人 Mat Nelson 的一次采訪
關于 Robocode 如何產生以及將來的發展的深思

Dana Triplett(dana@orange-atelier.com)
自由作家
2002 年 7 月

假如您一直在關注 developerWorks 和 alphaWorks 的話,您會看到一個名為 Robocode 的小東西的巨大能量:Robocode 是一個比較上癮的游戲,剛好可以用于 java 編程教學。Mat Nelson 在過去 18 月內已經付出了一段寶貴的時間來開發 Robocode。起初是為了自己娛樂,后來就成了一份認真的工作,把他心愛的這個項目放到了 IBM alphaWorks 上。現在已經到了他收獲的時候。Robocode 的成功用“爆炸性”來描述一點也不過分 — 而這才只是個開頭。

Mat Nelson
AlphaBot:對 Robocode 的創始人 Mat Nelson 的一次采訪

早在 1995 年,也就是 Mat Nelson 開始在 IBM 做全職工作之前,他就開始使用 Java 語言了。隨著這種語言的成熟,這個狂熱的玩家看到了創建這個“他一直想玩”的游戲的機會。2000 年后期 Robocode 剛開始時只是個人的努力,2001 年 7 月以 alphaWorks 下載的形式帶入 IBM 后就成了一種職業工作。在這個游戲(下載次數超過了 121,000 次)和它的創始人的名聲漸大之際,我們請 developerWorks 的通訊記者 Dana Triplett 對 Mat 進行了一次采訪,請他談談是什么激發了他創建 Robocode 的靈感,以及他對 Robocode 未來發展的看法。

Robocode Rumble 鏈接

從 alphaWork 下載 Robocode。

閱讀“Rock ''em, sock ''em Robocode”(developerWorks,2002 年 1 月)和“Rock ''em, sock ''em Robocode: Round 2”(developerWorks,2002 年 5 月)

進入 Robocode Rumble 辯論會。

developerWorks:Robocode 背后的中心思想是什么?

Nelson:Robocode 是一種有趣的競賽性編程,而“有趣”在這里絕對是要害詞。使用幾行簡單的代碼,您就可以看著您的機器人在屏幕上四處奔馳,碾碎一切擋道的東西。在做這件事時,您將學習到一種解決目前真實問題的真實的語言。

dW:哪些游戲曾經是您最喜歡的,您最喜歡它們的哪些方面?

Nelson:Worms 的 Commodore 64 版(不要與目前同名的游戲混淆)是我看到的第一個游戲,它讓我“教”一些東西在游戲中如何行動,然后看它們玩。我還非常喜歡戰略和角色扮演游戲。這幾年來令我上癮的有哪些游戲?Civilization、Master of Orion、Sim City、Command and Conquer 系列、Warcraft/Starcraft 系列、Ultima 系列和 Diablo 系列。當然,我還玩過數百種其它的游戲,但我最喜歡的肯定是那些讓我構建一樣東西,然后在游戲環境中放開它,看它如何發展的游戲。

dW:這些游戲中有哪一個是您開始創建 Robocode 時的靈感來源嗎?

Nelson:Worms,肯定是,其它的還有 C64 游戲 Mail Order Monsters。那些經典游戲中的其中一些非常棒。那時還沒有圖形,所以一切東西都必須可玩。那正是我正設法在 Robocode 中采用的方法:輕易開始,玩起來有趣,并且讓人很上癮。

然而 Robocode 的主要靈感來源于 Brad Schick 創建的一個名為 Robot Battle 的游戲(這個游戲本身的靈感來源于 Robot Wars 的 Apple 2 版)。我在 1995 年發現了 Robot Battle,并花費了無數的時間創建我自己的機器人“The Cleaner”。它實在是太有趣了。我看著其他人創建的機器人把它淘汰出局,然后設計了我自己的戰略。那時主要的挑戰是一類被稱為 seesaw bot 的機器人,它們會往返移動,很難擊中。 Cleaner 在試圖擊中它們時碰到了很多麻煩。我的解決辦法?我用了一點三角知識來估算 seesaw 的角度,然后向那個角度猛烈開火。我一鼓作氣完成了編寫,然后開心地看著 Cleaner 3 爬上比賽排行榜。

dW:當您開始開發 Robocode 時,您心目中的觀眾是誰?

Nelson:開始時,只是我自己。Robocode 是我一直想玩的游戲,所以我寫了它。

我希望即使您什么也不知道也可以玩 Robocode,而當您了解得更多時它可以與您一起成長。學起來簡單,但很難精通,就象國際象棋。我把 API 設計得盡可能簡單,并提供了幾個樣本機器人說明如何使用它。我希望任何人,從建筑師到中學生到動物園治理員,都能夠讓一個簡單的機器人運行,并說“嗨,我寫了一個 Java 程序!”。另一方面,高級用戶很快意識到他們可以使用 Java 編程語言的整套功能,隨心所欲地使用它為自己的機器人構建行為。

dW:現實生活中玩 Robocode 的人們讓您感到過驚奇嗎?

Nelson:最大的驚奇是成功本身。我很有把握人們會有愛好玩它,因為我 ...... 但我沒想到有那么多人!現在的下載次數超過了 100,000,真讓我大吃一驚。我一直能夠很驚異(興奮)地看到人們用不同的方式使用 Robocode,而社區也一直讓我感到驚喜。

dW:Robocode 玩家建立了哪些具獨創性的機器人示例?

Nelson:有很多種,包括猜測目標(不是直接向機器人開火,而是向機器人即將到達的地方開火)、跟蹤和記錄敵人的行為、多線程控制機器人的不同方面、即時(just-in-time)算法、躲避子彈、僵持、最優化的雷達跟蹤 ......,還有很多很多。其中最優秀的機器人簡直讓人吃驚。我最近引入了一個全新型的戰略,也就是組,所以我非常期待看到接下來還會有什么東西出現。

dW:您想為 Robocode 添加些什么功能?

Nelson:我想做的第一件事是把 API 重新構建為更簡單、更面向對象、更具擴展性和更開放的 API。例如,我更希望看到 radar.setTurn() 而非 setTurnRadarRight()。一旦 Radar 成了一個對象,我們就可以擁有不同類型的 Radar:setRadar(new Radar(range,speed))。

作為 API 重設計的一部分,我預備解決兩個突出的大問題:度數對弧度和單位圓數學(Unit circle math)。機器人將有一個單獨的調用,該調用確定它們是想使用度數,還是使用弧度,而另一個調用在單位圓數學或羅盤數學(Compass math)間切換。單位圓數學用于 Java 中的所有三角方法,它的 0 度指向右,逆時針方向為正。而羅盤數學的 0 度指向上,順時針為正。不同的程序員喜歡不同的東西,我希望在使 API 簡單的同時支持它們中的全部。

另一個大問題是物理學問題。目前 Robocode 的物理學原理極其簡單。為增加真實感,我預備引入力矢量。例如,加速度將會被空氣阻力和滾動摩擦力抵消一部分,而不只受到“最大速率”的限制。根據摩擦力和半彈性碰撞原理,機器人撞到另一個機器人的一側時會把它推到一邊去。我以前對這些的試驗使游戲比以前“酷”了許多。猛烈地撞向一個機器人并使其發出尖利的聲音滑向一邊,這是很有趣的。另外,前后加速將會更改;機器人向前移動時速度可以更快。

目前,撞擊(Ramming)還未被充分利用,所以,我想引入機器人各部分不同的裝甲力量 — 仍然是可配置的。擊中機器人的一側將會造成更大的傷害。

我還想在競技場中引入墻和障礙物,以及不同外形的競技場、這將產生許多全新的戰略。

因為這些更改要引入一些復雜的編程,我計劃使它更輕易擴充機器人。一個專家可以寫一個查找墻四周路徑的可重用的機器人類,而一個新手可以只使用它來快速創建一個不錯的機器人(同時學習如何重用代碼)。

dW:您認為將來 Robocode 會變成一個由 alphaWorks 主持的分布式游戲嗎?

Nelson:現在我主要關心簡單性;引入一定程度的復雜性卻不能使游戲玩起來更有趣是沒有必要的。Robocode 在分布式環境中會比現在更有趣嗎(現在的 Robocode 只是一種單機游戲,可以從中下載其它的機器人)?我還不確信。我的確認為有一個空間可以容納一個趣味無窮的分布式 Java 編程游戲...... 但我認為那就是一個新游戲,不是 Robocode。

dW:為什么您選擇用 Java 編寫 Robocode?

Nelson:當我在 1995 年發現 Java 時,我馬上就被迷住了。它是一種簡潔、優雅的語言。使用 Java 可以比用其它語言節省一半的時間,并且做出來的東西可以在完全不同的系統上運行。 例如,Robocode 可以在 Mac OS X 上運行,而我甚至從來沒接觸過 Mac。

目前,Java 速度很,盡管許多人仍沒有意識到這一點。計算機的處理速度正以驚人的速度增長,JVM 的速度比以前任何時候都快,Java 已經成熟了,我們甚至可以用硬件加速生成圖形。Java 現在已經用于客戶機了,我希望 Robocode 可以幫忙促進這一點。

dW:是什么使您想使用自己的編程技巧為程序員創建一個教育性游戲而不是創建只用于娛樂的浮華的游戲?

Nelson:沒有任何東西。我的確只是為了好玩而編寫了一個浮華的游戲。我們是后來才發現它的教學用途的。

在 25 年的玩游戲生涯中,我已經花費了無數的時間來學習如何玩游戲。我閱讀手冊、看幫助菜單、查閱游戲參考資料、還在 Web 上看技巧和提示。當然,與任何其它游戲一樣,對 Robocode 也要做相同的事。但有一點很大的不同:手冊是關于 Java 的。參考資料是 Javadoc。幫助菜單是 Java 教程。學習玩 Robocode 就是學習 Java,剛開始時我沒有意識到這一點。

我希望擔任編程入門課程的教授和教師能夠發現 Robocode 是一種使學習變得很有趣的好方法,并推廣 Java,使人們選擇使用 Java。使用幾篇教程(游戲內部和外部皆可),我相信我們可以使 Robocode 成為一個更好的自學工具。我將嘗試用幾個簡單的任務來完成我們的游戲內教程(就象“完成這 10 個任務您就能夠很好地理解 Java 一樣”)。稍微利用些指導,任何人都可以成為 Java 程序員。

回頭看一下,很明顯;它當然是一個教育工具。但 Robocode 是從一個全新的角度達到了現在的程度。Robocode 是一個游戲。但在您學習玩 Robocode 時,哦,哇唔!您學會了 Java。我的確是把 Robocode 作為一個有趣的游戲而不是教育工具來寫的,而且我還將繼續以這種精神開發它。但假如您在得到樂趣的同時又學會了 Java,那就太妙了!




發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美精品久久久久久久久久| 欧美体内谢she精2性欧美| 成人精品久久av网站| 欧美日韩亚洲视频| 日本精品视频在线播放| 不卡伊人av在线播放| 欧美日韩性视频在线| 亚洲精品97久久| 国产精品久久婷婷六月丁香| 久久久久久久久久久久av| 日韩av影院在线观看| 91在线播放国产| 欧美一级视频一区二区| 欧美激情精品久久久久久黑人| 亚洲国产天堂久久国产91| 国产精品视频一区国模私拍| 国产精品久久久久久中文字| 国产精品美女午夜av| 国产精品r级在线| 久久国产精品视频| 欧美极品美女视频网站在线观看免费| 欧美日本精品在线| 91精品免费视频| 中文字幕日韩在线观看| 久久夜色精品国产| 亚洲天堂av在线播放| 色偷偷88888欧美精品久久久| www.久久色.com| 欧美国产日韩一区二区| 人人爽久久涩噜噜噜网站| 在线视频欧美日韩精品| 亚洲xxxx18| 亚洲免费av片| 欧美最猛性xxxx| 国内精品久久久久影院优| 欧美激情小视频| 国产日韩欧美另类| 久久久之久亚州精品露出| 欧洲亚洲妇女av| 美女999久久久精品视频| 国产午夜精品全部视频在线播放| 中文欧美日本在线资源| 久久久久国产精品免费网站| 日本a级片电影一区二区| 亚洲女成人图区| 91色琪琪电影亚洲精品久久| 国产精品久久久久久av下载红粉| 国产精品∨欧美精品v日韩精品| 欧美日韩综合视频网址| 国产精品无码专区在线观看| 亚洲精品wwwww| 成人网在线视频| 国产精品久久久久91| 日韩av在线免费| 欧美一级在线亚洲天堂| 久久国产精品亚洲| 欧美日韩国产综合视频在线观看中文| 亚洲欧洲一区二区三区久久| 亚洲国产精品电影| xvideos亚洲| 国产午夜精品美女视频明星a级| www.日本久久久久com.| 欧美日在线观看| 成人国产精品久久久久久亚洲| 欧美成人久久久| 中文字幕日韩在线播放| 亚洲精品乱码久久久久久金桔影视| 成人福利网站在线观看| 在线不卡国产精品| 久久久精品在线| 97av在线视频免费播放| 亚洲综合在线做性| 久久久久久久久中文字幕| 国产精品高清免费在线观看| 日韩av网址在线| 91国产精品视频在线| 欧美性感美女h网站在线观看免费| 高清日韩电视剧大全免费播放在线观看| 中文字幕亚洲一区| 亚洲第一在线视频| 狠狠躁夜夜躁人人爽天天天天97| 欧美中文字幕在线观看| 成人免费网站在线| 精品国产成人在线| 欧美精品18videos性欧| 国产视频综合在线| 国产精品女人网站| 欧美黑人又粗大| 欧美电影在线观看完整版| 国产极品精品在线观看| 色婷婷**av毛片一区| 中文字幕久久精品| 亚洲欧美激情精品一区二区| 亚洲视频国产视频| 国产91在线视频| 久久久欧美一区二区| 精品欧美国产一区二区三区| 97国产在线观看| 综合网日日天干夜夜久久| 国产精品久久久久久久美男| 午夜精品久久久久久久男人的天堂| 97在线精品国自产拍中文| 成人黄色大片在线免费观看| 亚洲国产精品悠悠久久琪琪| 精品无人区乱码1区2区3区在线| 欧美午夜片在线免费观看| 欧美成人高清视频| 日韩在线中文字| 亚洲人成电影网| 国产精品网红直播| 亚洲综合在线小说| 九九热这里只有精品免费看| 久久国产精品偷| 在线精品国产成人综合| 欧美另类69精品久久久久9999| 亚洲精品www久久久| 91沈先生作品| 欧美老肥婆性猛交视频| 亚洲欧美综合区自拍另类| 亚洲qvod图片区电影| 日本精品免费一区二区三区| 97超碰色婷婷| 亚洲国产精品99久久| 国产日韩一区在线| 欧美午夜丰满在线18影院| 97视频网站入口| 亚洲欧美www| 国产精品高潮视频| 欧美情侣性视频| 欧美xxxx做受欧美.88| 欧美多人爱爱视频网站| 国产一区二区在线播放| 欧美日韩国产精品专区| 亚洲最大福利视频网站| 国产一区二区三区中文| 成人午夜激情免费视频| 国产美女直播视频一区| 欧美日韩成人在线视频| 国产精品亚洲一区二区三区| 国产成人精品在线视频| 国产午夜精品麻豆| 亚洲视频自拍偷拍| 国产亚洲欧洲高清一区| 亚洲人在线观看| 午夜精品福利电影| 日韩大片免费观看视频播放| 精品久久久一区二区| 欧美制服第一页| 精品福利免费观看| 欧美中文在线免费| 亚洲人在线视频| 亚洲国产精品99久久| 久久人91精品久久久久久不卡| 2019中文在线观看| 国产日韩在线亚洲字幕中文| 欧美最猛性xxxxx亚洲精品| 96精品视频在线| 欧美—级高清免费播放| 91国内产香蕉| 欧美日韩国产中文精品字幕自在自线| 国产视频精品免费播放| 国精产品一区一区三区有限在线| 欧美日韩午夜激情| 欧美性资源免费|