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网站之一。 Ocampo, Jason. The Greatest Star Trek Game You've Never Heard Of. GameSpot.com. [2020-06-29]. （原始内容存档于2020-07-02）.  Bangeman, Eric. EFF's patent busters take on broad multiplayer gaming patent. Ars Technica. 2008年2月3日 [2020年6月29日]. （原始内容存档于2012年4月29日）.  McFadden, Andy. The History of Netrek, through Jan 1 1994. 1994年5月1日 [2020年6月29日]. （原始内容存档于2020年7月2日）.  Kelly, Kevin. The First Online Sports Game. Wired Magazine (1.06). 1993年12月 [2020-06-29]. （原始内容存档于2020-07-03）.  Wengler, Heiko. Definition and implementation of short packets. 1993年5月24日 [2020年7月1日]. （原始内容存档于2016年3月4日）.  Valentine, R Jason. Netrek. Slashdot.org. [2020-06-29]. （原始内容存档于2020-07-01）.  Swift Netrek Github repository. [2020-06-29]. （原始内容存档于2020-09-09）.  Levy, Steven; Mello, Adrian. The Game Hall of Fame. Macworld (Mac Publishing). 1989年12月: 162-167.  Andy McFadden's UDP client, the wave of the future. [2020-06-29]. （原始内容存档于2016-03-03）.  The new RSA blessing scheme for clients. [2020-06-29]. （原始内容存档于2016-03-03）.  Lists of WWW Home pages not yet known to the WWWW Worm.. [2020年6月29日]. （原始内容存档于2002年8月23日）.  Netrek Nexus（页面存档备份，存于互联网档案馆）, official website PlayNetrek.org（页面存档备份，存于互联网档案馆） rec.games.netrek usenet群 SourceForge上的Netrek（页面存档备份，存于互联网档案馆） MacTrek（页面存档备份，存于互联网档案馆）给Mac OS X编写的开源版本