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

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

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

2019-11-18 13:08:56
字體:
來源:轉載
供稿:網友

  假如您一直在關注 developerWorks 和 alphaWorks 的話,您會看到一個名為 Robocode 的小東西的巨大能量:Robocode 是一個比較上癮的游戲,剛好可以用于 java 編程教學。Mat Nelson 在過去 18 月內已經付出了一段寶貴的時間來開發 Robocode。起初是為了自己娛樂,后來就成了一份認真的工作,把他心愛的這個項目放到了 IBM alphaWorks 上?,F在已經到了他收獲的時候。Robocode 的成功用“爆炸性”來描述一點也不過分 — 而這才只是個開頭。
  
  早在 1995 年,也就是 Mat Nelson 開始在 IBM 做全職工作之前,他就開始使用 Java 語言了。隨著這種語言的成熟,這個狂熱的玩家看到了創建這個“他一直想玩”的游戲的機會。2000 年后期 Robocode 剛開始時只是個人的努力,2001 年 7 月以 alphaWorks 下載的形式帶入 IBM 后就成了一種職業工作。在這個游戲(下載次數超過了 121,000 次)和它的創始人的名聲漸大之際,我們請 developerWorks 的通訊記者 Dana Triplett 對 Mat 進行了一次采訪,請他談談是什么激發了他創建 Robocode 的靈感,以及他對 Robocode 未來發展的看法。
  
  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
亚洲一区久久久| 久久久久久久久爱| 不卡伊人av在线播放| 91精品久久久久久久久久另类| 韩曰欧美视频免费观看| 日韩在线视频观看正片免费网站| 欧美激情奇米色| 蜜月aⅴ免费一区二区三区| 亚洲高清免费观看高清完整版| 日韩国产欧美精品一区二区三区| 久久综合色影院| 欧美一区三区三区高中清蜜桃| 日韩最新av在线| 欧美激情欧美狂野欧美精品| 久久国产精品电影| 成人在线观看视频网站| 亚洲free嫩bbb| 欧美精品第一页在线播放| 精品日本美女福利在线观看| 麻豆一区二区在线观看| 欧美亚洲成人网| 国产日韩欧美影视| 另类视频在线观看| 成人在线观看视频网站| 国产人妖伪娘一区91| 亚洲欧洲中文天堂| 日韩在线观看免费高清| 国产成人+综合亚洲+天堂| 欧美一级电影在线| 6080yy精品一区二区三区| 自拍偷拍亚洲在线| 国产精品成熟老女人| 尤物yw午夜国产精品视频| 日韩美女视频中文字幕| 日韩精品在线免费观看| 揄拍成人国产精品视频| 欧美成年人网站| 亚洲欧美在线一区| 欧洲日本亚洲国产区| 国产精品电影观看| 国产精品wwwwww| 日韩在线播放视频| 日韩精品视频免费在线观看| 欧美综合国产精品久久丁香| 国产日韩欧美在线视频观看| 欧美午夜性色大片在线观看| 国内精品模特av私拍在线观看| 欧美性生活大片免费观看网址| 欧美激情视频在线观看| 亚洲欧美在线一区二区| 少妇激情综合网| 久久偷看各类女兵18女厕嘘嘘| 在线播放亚洲激情| 2019最新中文字幕| 国产亚洲精品久久久久动| 久久精品国产69国产精品亚洲| 九九精品视频在线| 精品久久久久久久久国产字幕| 91爱爱小视频k| 欧美成人在线免费视频| 在线播放日韩专区| 亚洲日本欧美日韩高观看| 欧美午夜性色大片在线观看| 欧美日韩国产成人在线观看| 中文字幕日韩欧美在线视频| 欧美亚洲国产另类| 亚洲人成毛片在线播放| 久久国产精彩视频| 亚洲精品999| 一区二区欧美久久| www.美女亚洲精品| 尤物九九久久国产精品的分类| 欧美日韩国产一区二区三区| 992tv成人免费视频| 中文字幕欧美精品在线| 国模极品一区二区三区| 亚洲老头同性xxxxx| 欧美日韩国产精品一区二区不卡中文| 亚洲一级免费视频| 一区二区亚洲欧洲国产日韩| 久久久在线免费观看| 国产在线一区二区三区| 亚洲v日韩v综合v精品v| 亚洲精品电影网在线观看| www国产亚洲精品久久网站| 久久久久亚洲精品| 国产一区二区三区高清在线观看| 美女福利视频一区| 久久成人精品一区二区三区| 亚洲一区国产精品| 亚洲最新av在线网站| 欧美日韩国产一区二区| 亚洲电影第1页| 亚洲人线精品午夜| 国产一区二区三区高清在线观看| 91精品国产色综合久久不卡98口| 国产欧美 在线欧美| 欧美日韩中文字幕日韩欧美| 国产精品电影一区| 国产成人精品综合久久久| 日韩av片免费在线观看| 97在线免费视频| 超碰97人人做人人爱少妇| 亚洲国产精品悠悠久久琪琪| 91产国在线观看动作片喷水| 国产精品一区二区电影| 97精品久久久中文字幕免费| 在线电影欧美日韩一区二区私密| 在线电影av不卡网址| 91精品免费久久久久久久久| 国产一区二区日韩| www.亚洲天堂| 欧洲日韩成人av| 国产成人福利夜色影视| 亚洲天堂av电影| 欧美激情一区二区三区高清视频| 亚洲福利视频网| 国产又爽又黄的激情精品视频| 亚洲成人av在线播放| 538国产精品一区二区在线| 欧美寡妇偷汉性猛交| 欧美大奶子在线| 亚洲精品国产精品乱码不99按摩| 97香蕉超级碰碰久久免费软件| 精品福利在线视频| 18久久久久久| 欧美一级片免费在线| 亚洲黄在线观看| 日韩一区av在线| 久久亚洲国产精品成人av秋霞| 超在线视频97| 日韩天堂在线视频| 久久久久久久久久av| 欧美日韩一区二区在线播放| 亚洲精品99999| 国产91精品视频在线观看| 91精品成人久久| 国产午夜精品视频| 亚洲欧美色婷婷| 国产午夜精品久久久| 国产成人中文字幕| 亚洲欧美日韩精品久久| 在线精品高清中文字幕| www.欧美三级电影.com| 欧美裸体xxxx极品少妇软件| 欧美裸体xxxx| 亚洲成av人乱码色午夜| 欧美综合一区第一页| 欧美一级淫片播放口| 日本精品中文字幕| 欧美性受xxxx黑人猛交| 国产欧美精品va在线观看| 欧美一区二区三区……| 永久免费看mv网站入口亚洲| 91大神在线播放精品| 久久久久久久久爱| 亚洲人成啪啪网站| xvideos亚洲人网站| 亚洲精品97久久| 国产精品扒开腿做爽爽爽的视频| 日韩在线一区二区三区免费视频| 欧美一级片免费在线| 国产成人精品电影久久久| 永久555www成人免费|