第一款实时网络游戏的开发历程全解

2024-09-07 13:08

本文主要是介绍第一款实时网络游戏的开发历程全解,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 “我的兴趣是创建世界,而不是生活在别人创建的世界里。我希望游戏世界能让人们能跳出现实世界的局限,去尝试新的身份……不是要脱胎换骨,而是让他们找到自己真正的归属”。所以他创造了第一个网络世界。

     特鲁布肖所开发的MUD1(为区别这款游戏与MUD这一游戏类型,后文游戏名统一为MUD1)依然是一个纯文字的世界,没有任何图片,但是不同计算机前的玩家可以在游戏里共同冒险、交流。

  与以往具有网络联机功能的游戏相比,MUD1是第一款真正意义上的实时多人交互的网络游戏,它最大的特色是能够保证整个虚拟世界和玩家角色的持续发展——无论是玩家退出后重新登录,还是服务器重启,游戏中的场景、宝箱、怪物和谜题仍保持不变,玩家的角色也依然是上次的状态。

  不过这种改变也使游戏需要更加丰富的内容才能满足多用户玩家的需求。特鲁布肖最开始设计的MUD1版本只有一个区域,用户登录后除了和其他用户聊天外,人机交互功能十分有限,因此需要为游戏注入更多的内容才能让游戏更有乐趣。

  尽管特鲁布肖对于编程十分在行,但对游戏策划则全无经验,这时他的朋友理查德·巴图(RichardBartle)出于兴趣帮他完成了这项工作:增加了更多的区域、怪物、宝物以及谜题等。后来,二人还为游戏开发了一套专用语言——MUDDL,并对游戏不断进行修补和维护。

  巴图的改进和完善工作提高了MUD1的趣味性,意义十分重大。1978年10月20日,二人合作改善后的MUD1在埃塞克斯大学的校园网络内推出,玩家数很快超出了特鲁布肖和巴图的预期,成为大学里最受欢迎的游戏之一。在危机四伏的丛林冒险、与怪物战斗、解决远古的谜题,都成为一些学生业余时间最喜欢的消遣。

  与早期联机游戏相比只支持有限的玩家相比,MUD1在理论上支持无限多的玩家,但是在现实中由于系统内存限制等问题,使得游戏很快达到支持人数的上限。好在当时只有埃塞克斯大学网络内的人能够访问——直到1980年埃塞克斯大学加入了ARPA net (Advance Research Projects Agency Network,美国国防部高级研究计划署研制的世界上首个包交换网络,它的成功直接促成了互联网以及传输控制协议即TCP/IP的诞生)。

  加入了ARPAnet后,校园以外的玩家也可以通过互联网体验MUD了,来自校园网络之外的玩家大幅增加,占据了大量系统资源,埃塞克斯大学不得不限制用户的登录时间,只允许在教学和科研时间以外的晚间访问以减少负荷,但这并未影响这款游戏在新生的互联网络上的流行。不久特鲁布肖毕业离开学校,留校任教的巴图接手了全部的维护工作。直到1987年,MUD1被授权给了CompuServe做商业化运营。巴图决定离开母校,全心投入MUD游戏的开发,埃塞克斯大学的MUD服务器也随之关闭,但CompuServe公司运营的MUD还持续了20多年。

  在大学期间,巴图出于分享和交流的目的,曾将MUD的源代码上传到网络供学者和开发者研究,这一做法的直接后果是在短时间内诞生了一系列的衍生和克隆作品。尽管这对MUD的版权伤害很大,但在另一方面也加速了在线文字角色扮演游戏这一类型的流行。由于MUD是这类这类作品的起源,所以这类作品也都被称为MUD。在2005年的GDC游戏开发者大会上,组委会授予理查德·巴图”游戏先锋奖”,以表彰这位网络游戏行业的先驱所做出的贡献。

  除了在创作和传播MUD上所做出的贡献之外,巴图最大的贡献是在对游戏玩家行为的研究上。在运营MUD期间,巴图发现游戏中的玩家需求和表现各不相同,在对玩家行为进行分析之后,他形成了一套自己的理论,后世将其理论称为”巴图模型”。1996年,巴图发表了一篇名为《红心、梅花、方块、黑桃——MUD游戏玩家分类》的文章,在文章中提出了MUD玩家的4种分类方法,将MUD游戏玩家分为杀手型、成就型、社交型、探索性4种不同的类型,不仅对分析网络游戏玩家的社会学行为建立了指导理论,也对后来的网络游戏开发者产生了巨大的影响。对后世的网络游戏来讲,MUD最大的贡献是让多人在线交互成为了可能,也让游戏制作者们创建一个虚拟游戏世界的梦想变成了可能。同时,MUD也为后世的网络游戏提供了一个模板,很长一段时间之内,MMORPG都未能跳出其中。关于这一点巴图有着更多的感悟:

  “举个例子,我们在MUD1引入级别系统,只是当时面临的几种方案的一个选择,但是成为网络游戏的标杆配置之后,人们在开发一款游戏之前想到的是’我们的游戏应该有多少级’,而不是’我们是否需要等级这一设定’。在人们的心目中,一个虚拟的游戏世界必须有等级才有意义,这同时也意味着游戏要有一个尽头或顶点。”

  对于包括等级系统在内等日益僵化的游戏模式,巴图在很多场合都给予了批评,并希望开发者们能够有所革命。在早年做过商业化的MUD开发之后,巴图目前已经远离游戏开发,重新回到母校从事计算机游戏设计的教学工作。

  “罗伊和我当年的工作就像是种下一棵树,树木长大之后撒下更多新的种子,现在已经长成了一片森林。无论我现在做什么事情,这些树木都继续生长下去,虽然今天我也可以继续种树,但是对我来讲,尽自己的努力保持森林的健康成长更有意义。”

  最后,当我们的目光回到1978年的埃塞克斯大学校园时,不禁会想,为人类创造了一个伟大的虚拟世界的两名少年究竟有着怎么样的初衷呢?对于这个问题,二人在后来的时光中曾经做过回答,两个人的答案并不相同:当年19岁的特鲁布肖希望使用技术建设一个比现实更出色的世界,而只有18岁的巴图则希望建立一个世界让人们找到自我。

  “我的兴趣是创建世界,而不是生活在别人创建的世界里。我希望游戏世界能让人们能跳出现实世界的局限,去尝试新的身份……不是要脱胎换骨,而是让他们找到自己真正的归属”。

  启示:文字与画面

  在网络游戏发展初期,因为网络自身条件的限制,网络游戏经历了长期的MUD时代。文本冒险游戏占据了近20年的主流,形成的很不同类型的分支都对今后的网络游戏发展产生了深远的影响,为网络游戏奠定了坚实的基础。

  与后世的图形网络游戏相比,MUD最大的区别就在于只是文字冒险,没有画面带来的直观感受,这也是在图形网络游戏开始普及之后,MUD迅速湮没在历史的尘埃中的主要原因。游戏首先是一种娱乐,MUD虽然能够提供比书本阅读更愉快的互动体验,但是当人们能够身临其境地在游戏世界中徜徉时,这种仅仅依靠文字想象带来的乐趣便相形逊色了。诚然,文字能够带来想象的空间,但是画面能够带来更直观的观感,大众玩家似乎并不需要太多想象的空间。

这篇关于第一款实时网络游戏的开发历程全解的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1145142

相关文章

基于Python开发电脑定时关机工具

《基于Python开发电脑定时关机工具》这篇文章主要为大家详细介绍了如何基于Python开发一个电脑定时关机工具,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. 简介2. 运行效果3. 相关源码1. 简介这个程序就像一个“忠实的管家”,帮你按时关掉电脑,而且全程不需要你多做

Java中的Opencv简介与开发环境部署方法

《Java中的Opencv简介与开发环境部署方法》OpenCV是一个开源的计算机视觉和图像处理库,提供了丰富的图像处理算法和工具,它支持多种图像处理和计算机视觉算法,可以用于物体识别与跟踪、图像分割与... 目录1.Opencv简介Opencv的应用2.Java使用OpenCV进行图像操作opencv安装j

基于Qt开发一个简单的OFD阅读器

《基于Qt开发一个简单的OFD阅读器》这篇文章主要为大家详细介绍了如何使用Qt框架开发一个功能强大且性能优异的OFD阅读器,文中的示例代码讲解详细,有需要的小伙伴可以参考一下... 目录摘要引言一、OFD文件格式解析二、文档结构解析三、页面渲染四、用户交互五、性能优化六、示例代码七、未来发展方向八、结论摘要

在 VSCode 中配置 C++ 开发环境的详细教程

《在VSCode中配置C++开发环境的详细教程》本文详细介绍了如何在VisualStudioCode(VSCode)中配置C++开发环境,包括安装必要的工具、配置编译器、设置调试环境等步骤,通... 目录如何在 VSCode 中配置 C++ 开发环境:详细教程1. 什么是 VSCode?2. 安装 VSCo

C#图表开发之Chart详解

《C#图表开发之Chart详解》C#中的Chart控件用于开发图表功能,具有Series和ChartArea两个重要属性,Series属性是SeriesCollection类型,包含多个Series对... 目录OverviChina编程ewSeries类总结OverviewC#中,开发图表功能的控件是Char

鸿蒙开发搭建flutter适配的开发环境

《鸿蒙开发搭建flutter适配的开发环境》文章详细介绍了在Windows系统上如何创建和运行鸿蒙Flutter项目,包括使用flutterdoctor检测环境、创建项目、编译HAP包以及在真机上运... 目录环境搭建创建运行项目打包项目总结环境搭建1.安装 DevEco Studio NEXT IDE

Python开发围棋游戏的实例代码(实现全部功能)

《Python开发围棋游戏的实例代码(实现全部功能)》围棋是一种古老而复杂的策略棋类游戏,起源于中国,已有超过2500年的历史,本文介绍了如何用Python开发一个简单的围棋游戏,实例代码涵盖了游戏的... 目录1. 围棋游戏概述1.1 游戏规则1.2 游戏设计思路2. 环境准备3. 创建棋盘3.1 棋盘类

这15个Vue指令,让你的项目开发爽到爆

1. V-Hotkey 仓库地址: github.com/Dafrok/v-ho… Demo: 戳这里 https://dafrok.github.io/v-hotkey 安装: npm install --save v-hotkey 这个指令可以给组件绑定一个或多个快捷键。你想要通过按下 Escape 键后隐藏某个组件,按住 Control 和回车键再显示它吗?小菜一碟: <template

Hadoop企业开发案例调优场景

需求 (1)需求:从1G数据中,统计每个单词出现次数。服务器3台,每台配置4G内存,4核CPU,4线程。 (2)需求分析: 1G / 128m = 8个MapTask;1个ReduceTask;1个mrAppMaster 平均每个节点运行10个 / 3台 ≈ 3个任务(4    3    3) HDFS参数调优 (1)修改:hadoop-env.sh export HDFS_NAMENOD

嵌入式QT开发:构建高效智能的嵌入式系统

摘要: 本文深入探讨了嵌入式 QT 相关的各个方面。从 QT 框架的基础架构和核心概念出发,详细阐述了其在嵌入式环境中的优势与特点。文中分析了嵌入式 QT 的开发环境搭建过程,包括交叉编译工具链的配置等关键步骤。进一步探讨了嵌入式 QT 的界面设计与开发,涵盖了从基本控件的使用到复杂界面布局的构建。同时也深入研究了信号与槽机制在嵌入式系统中的应用,以及嵌入式 QT 与硬件设备的交互,包括输入输出设