Netrek

**Netrek** 是一款跨平臺開源網路遊戲，最多 16 名玩家可以在同一局裡玩。它結合清版射擊遊戲和組隊的即時戰略遊戲。在即時戰鬥中玩家試圖摧毀或使得對方飛船失效。在戰略方面則通過從自己的行星上獲得陸軍，對敵人的行星轟炸和降落陸軍來占領敵人的行星。遊戲的目標是占領所有敵人的行星。

Netrek 的前身是 1986 年開發的 Xtrek，Netrek 是 1988 年首次可以玩的。它是歷史上第三款網路遊戲，是第一款網絡組隊遊戲。截至 2011 年為止它是最老的依然有人玩的網路遊戲之一。它創新了許多被後來的遊戲使用的技術，在專利爭執中被引用為現有技術。

## 描述

Netrek 有多個不同版本和變種，下面描述的是布朗克 Netrek，也稱香草 Netrek。

Netrek 基本上是一個對在柏拉圖系統上運行的多人太空戰爭遊戲《帝國》的巨大擴展。而《帝國》則是最早的電子遊戲《太空戰爭》的多人版。和這些前身遊戲一樣，玩家指揮一艘飛船，這艘飛船可以在整個遊戲宇宙的二維地圖上飛行，玩家從地圖的上方指揮飛船的路線。Netrek 把戰術戰鬥和戰略戰役組合在一起。

### 行星和設施

遊戲的 40 個行星分布在整個地圖上。地圖分四個區，每個區有十顆行星。Netrek 把玩家分成四個隊，它們基於電視連續劇星艦奇航記中的四個派系星際聯邦、羅慕倫、克林貢和奧里昂。遊戲開始時每個隊占據地圖上的一個區。

行星各不相同，有些是軍事性的，有些是農業性的。遊戲開始的時候每個隊在他們控制的區裡有一顆主星，一般這顆主星的名字也是按照星艦奇航記命名的。有些行星擁有為環繞它們的友方飛船提供特殊服務的設施。扳手代表修理設施，它可以加快玩家在作戰中被敵人破壞的外殼和能量盾的修補。油箱代表燃料庫，可以提高圍繞行星的飛船提高補充燃料的速度。有些行星兩個設施都有，有些什麼也沒有。有些行星上產生陸軍的速度比其它行星高，這些行星被稱為農業星。一個隊的主星總是有燃料庫和修理設施，但是肯定不會是農業星。其它的九顆行星里兩顆是農業星，其它的星上可能有燃料庫或者修理設施。陸軍在行星上逐漸成長，玩家可以把陸軍上傳到飛船上，然後下傳到敵人的行星上來占領敵人的行星。飛船可以轟炸行星來殺行星上的陸軍，但是至少有一個陸軍是不能通過轟炸被殺死的，因此要占領一顆行星必須下傳陸軍。

行星會對環繞它的敵方飛船開火，甚至於即使原來是自己的主星，被敵人占領後會對原來自己的飛船開火。

### 戰鬥

和太空戰爭與帝國不同的是 Netrek 擁有許多不同的飛船，這些飛船各有自己的長處和短處。比如偵察飛船速度高，可以用來做長距離騷擾。而戰艦則火力非常高，但是行動緩慢，利於做防禦。

通過摧毀敵人飛船或者轟炸敵人陸軍玩家獲得「殺點」。殺點決定玩家的飛船可以運載多少陸軍。假如玩家的飛船被摧毀了他的殺點就被重置為 0，因此它們需要重新獲得殺點來運輸軍隊和占領行星。因此有 2 個殺點或者以上的玩家往往會遭受自殺性攻擊，來取消他們可以運輸陸軍的能力。

飛船有兩種主要武器：相位武器和光子魚雷。相位武器是立刻生效的能量武器，飛船不能逃避它們。魚雷則需要一定時間才能到達目標，因此可以被逃避。其它飛船上的戰術系統包括盾、牽引光束和推離光束。假如一條飛船被摧毀了，玩家可以選擇一條新的，然後在他們的主星附近重新出現。

除了敵人飛船的直接攻擊外假如飛船離一個爆炸太近，比如附近的一艘飛船被摧毀，的話也會受損害。靠近敵人的行星也會導致行星自動對飛船做損害。

## 遊戲

遊戲的最終目標是占領敵人所有的行星。一般每局只有兩個隊，其它兩個空缺的隊的空間被稱為「第三空間」。假如每個隊至少有四名玩家的話伺服器就進入「競賽形式」，在這個形式里玩家可以轟炸和占領行星。假如一個隊只有兩顆行星了就開始一個 20 分鐘的倒計數，倒計數結束時他們就自動投降。假如在這 20 分鐘裡該隊占領第三個行星，倒計數就暫停，假如他們能夠占領第四個行星，倒計數就取消，自動投降的危險就被消除了。

假如一個隊或者兩個隊都只有不到四名玩家，遊戲進入競賽前形式，在這個形式下一個隊比另一個隊的行星多四個就算贏了。在這個形式下遊戲的狀態不會被存儲。假如有更多玩家加入遊戲使得遊戲進入競賽形式的話競賽前形式就會被取消。在一些伺服器上機器人會補充缺乏的玩家使得每個隊至少有四名成員。假如有新的玩家加入的話他們會取代機器人玩家。

玩家可以隨時加入或離開遊戲。有些局在十到 15 分鐘內就結束了，但是一般會長得多。「線索遊戲」是有經驗的玩家之間的遊戲，一般這些玩局的時間定為一個小時，加上半個小時延長，一個定分系統決定最後的勝負。

## 歷史

Netrek 主要是從 1973 年在柏拉圖系統大型機上開發的《帝國》遊戲衍生出來的。兩個遊戲之間有許多相似處。關鍵的區別在於行星的樣子不一樣，遊戲節奏不一樣，以及其它硬體發展導致的區分比如使用滑鼠而不是鍵盤指令、TCP/IP 網絡，以及屏幕有色彩和聲音。

1982 年加利福尼亞大學柏克萊分校學生戴維・戴維斯寫了一個叫 trek82 的 UNIX 遊戲。這個遊戲是他根據自己記憶他在夏威夷大學使用柏拉圖系統時玩《帝國》的情景寫的。這個遊戲版本使用字母圖像顯示遊戲的場面，使用一個分享文件交換數據。克里斯・古斯里參加戴維斯的工作並把他介紹給傑夫・波茨坎側和克萊格・里瑞斯。這兩個人當時正在編寫一個更加戰略性的《帝國》衍生，名叫《征服》。他們合作的版本被稱為 trek83。

1986 年古斯里開始把 trek83 轉寫給新發行的 X 視窗系統，其結果是 Xtrek。XCF 繼續開發這個遊戲，艾德・詹姆斯加入該項目提供幫助。1988 年春斯科特・西爾維和斯密斯發表了 Xtrek II，這個版本不在使用 X 視窗系統來傳送遊戲信息，而是擁有遊戲自己的伺服器 - 客戶端協議。這個更改非常關鍵，因為從此開始這個遊戲也可以被轉寫到其它平台上，不管這些平台是不是支持 X。正是這個版本後來被西爾維、斯密斯和特倫斯・張開發為 Netrek。

1989 年遊戲的原始碼在 Usenet 上發表。1990 年秋當時正在卡內基・梅隆大學學專科的特倫斯・張在當地設置了一個開放 Netrek 伺服器。張是加利福尼亞大學柏克萊分校的本科畢業生。1991 年春卡內基・梅隆大學和加利福尼亞大學柏克萊分校之間舉辦了第一次跨學校比賽。1992 年 1 月「國際 Netrek 聯賽」組成，不同的隊形成，並互相之間進行比賽。1990 年代初的數年裡 Netrek 尤其在卡內基・梅隆計算機群上特別流行。

1993 年多特蒙德工業大學的海口・溫格勒添加了短包袱的性能，把 Netrek 的網絡通訊減少了 40-75%，使得玩家在網絡聯絡慢的情況下也能玩。

1990 年代中期和後期是 Netrek 的鼎盛時期，當時在不同地區有多個聯賽，使用不同形式的 Netrek 版本，而即時的玩局隨時隨刻都有人在玩。2002 年到 2006 年間玩的人不斷減少。2007 年初 Netrek 的玩家人數有有些增長，其開發也獲得了一定的復興。2006 年末一個新的麥金塔用戶端 Mactrek 被發表，同時 Windows 的用戶端也獲得了巨大改變，伺服器也獲得不同改進。2019 年在 MacOS 的應用程式商店上出現了一個新的用 Swift 程式語言編寫的開源用戶端。目前有把每秒 10 輻的圖像提高成每秒 50 輻的計劃，另外還有語音聊天的計劃。

## 評價

《Macworld》把麥金塔版的 Netrek 列為 1989 年最佳網路遊戲，並把它列入麥金塔遊戲名人堂。

## 技術創新

Netrek 創新了許多新技術和設計，許多這些創新後來被商業網路遊戲採用：

* 有效第使用快速但是不可靠的用戶數據報協議和可靠但是比較慢的傳輸控制協議流。Netrek 可能是第一個兩個網際協議都使用的遊戲。
* 堅固的主從式架構把需要交換的信息減少到「需要知道」，降低遊戲需要的帶寬，同時也降低玩家通過獲得他們對手方面的信息作弊的可能性。
* 持久的用戶信息，玩家可以創造自己的「人物」，登錄，通過玩不同的玩局提高自己的級別。
* 遊戲機制專門設計成使得機器人玩家無法比真人玩家獲得很多好處。
* 使用基於 RSA 加密演算法的公開密鑰加密驗證系統來防止作弊，甚至用這個方法來勘測和防止中間人攻擊。
* 同一用戶端可以玩不同的遊戲變體，伺服器會通知用戶端正在玩的玩局使用哪些設置。
* 使用後設伺服器幫助用戶端尋找可用的遊戲伺服器。
* 1994 年 1 月專題為 Netrek 遊戲和編程的網站 Netrek Nexus（頁面存檔備份，存於網際網路檔案館）建成。它最初由傑夫・納爾遜設置在 obsidian.math.arizona.edu，是 1000 座最早的 www 網站之一。

## 參考資料

## 外部連結

* Netrek Nexus（頁面存檔備份，存於網際網路檔案館）, official website
* PlayNetrek.org（頁面存檔備份，存於網際網路檔案館）
* rec.games.netrek usenet 群
* SourceForge 上的 Netrek（頁面存檔備份，存於網際網路檔案館）
* _MacTrek_（頁面存檔備份，存於網際網路檔案館）給 Mac OS X 編寫的開源版本