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

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

相关文章

SpringBoot开发中十大常见陷阱深度解析与避坑指南

《SpringBoot开发中十大常见陷阱深度解析与避坑指南》在SpringBoot的开发过程中,即使是经验丰富的开发者也难免会遇到各种棘手的问题,本文将针对SpringBoot开发中十大常见的“坑... 目录引言一、配置总出错?是不是同时用了.properties和.yml?二、换个位置配置就失效?搞清楚加

Python中对FFmpeg封装开发库FFmpy详解

《Python中对FFmpeg封装开发库FFmpy详解》:本文主要介绍Python中对FFmpeg封装开发库FFmpy,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录一、FFmpy简介与安装1.1 FFmpy概述1.2 安装方法二、FFmpy核心类与方法2.1 FF

基于Python开发Windows屏幕控制工具

《基于Python开发Windows屏幕控制工具》在数字化办公时代,屏幕管理已成为提升工作效率和保护眼睛健康的重要环节,本文将分享一个基于Python和PySide6开发的Windows屏幕控制工具,... 目录概述功能亮点界面展示实现步骤详解1. 环境准备2. 亮度控制模块3. 息屏功能实现4. 息屏时间

使用Python和OpenCV库实现实时颜色识别系统

《使用Python和OpenCV库实现实时颜色识别系统》:本文主要介绍使用Python和OpenCV库实现的实时颜色识别系统,这个系统能够通过摄像头捕捉视频流,并在视频中指定区域内识别主要颜色(红... 目录一、引言二、系统概述三、代码解析1. 导入库2. 颜色识别函数3. 主程序循环四、HSV色彩空间详解

OpenCV实现实时颜色检测的示例

《OpenCV实现实时颜色检测的示例》本文主要介绍了OpenCV实现实时颜色检测的示例,通过HSV色彩空间转换和色调范围判断实现红黄绿蓝颜色检测,包含视频捕捉、区域标记、颜色分析等功能,具有一定的参考... 目录一、引言二、系统概述三、代码解析1. 导入库2. 颜色识别函数3. 主程序循环四、HSV色彩空间

Python实例题之pygame开发打飞机游戏实例代码

《Python实例题之pygame开发打飞机游戏实例代码》对于python的学习者,能够写出一个飞机大战的程序代码,是不是感觉到非常的开心,:本文主要介绍Python实例题之pygame开发打飞机... 目录题目pygame-aircraft-game使用 Pygame 开发的打飞机游戏脚本代码解释初始化部

使用Python开发一个现代化屏幕取色器

《使用Python开发一个现代化屏幕取色器》在UI设计、网页开发等场景中,颜色拾取是高频需求,:本文主要介绍如何使用Python开发一个现代化屏幕取色器,有需要的小伙伴可以参考一下... 目录一、项目概述二、核心功能解析2.1 实时颜色追踪2.2 智能颜色显示三、效果展示四、实现步骤详解4.1 环境配置4.

Python使用smtplib库开发一个邮件自动发送工具

《Python使用smtplib库开发一个邮件自动发送工具》在现代软件开发中,自动化邮件发送是一个非常实用的功能,无论是系统通知、营销邮件、还是日常工作报告,Python的smtplib库都能帮助我们... 目录代码实现与知识点解析1. 导入必要的库2. 配置邮件服务器参数3. 创建邮件发送类4. 实现邮件

基于Python开发一个有趣的工作时长计算器

《基于Python开发一个有趣的工作时长计算器》随着远程办公和弹性工作制的兴起,个人及团队对于工作时长的准确统计需求日益增长,本文将使用Python和PyQt5打造一个工作时长计算器,感兴趣的小伙伴可... 目录概述功能介绍界面展示php软件使用步骤说明代码详解1.窗口初始化与布局2.工作时长计算核心逻辑3

python web 开发之Flask中间件与请求处理钩子的最佳实践

《pythonweb开发之Flask中间件与请求处理钩子的最佳实践》Flask作为轻量级Web框架,提供了灵活的请求处理机制,中间件和请求钩子允许开发者在请求处理的不同阶段插入自定义逻辑,实现诸如... 目录Flask中间件与请求处理钩子完全指南1. 引言2. 请求处理生命周期概述3. 请求钩子详解3.1