惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

T
Threatpost
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Engineering at Meta
Engineering at Meta
T
The Blog of Author Tim Ferriss
Recent Announcements
Recent Announcements
G
Google Developers Blog
Google DeepMind News
Google DeepMind News
The Register - Security
The Register - Security
MongoDB | Blog
MongoDB | Blog
U
Unit 42
B
Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
L
LangChain Blog
Stack Overflow Blog
Stack Overflow Blog
P
Privacy International News Feed
L
LINUX DO - 最新话题
博客园_首页
博客园 - Franky
大猫的无限游戏
大猫的无限游戏
小众软件
小众软件
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
T
Tor Project blog
V
Visual Studio Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
P
Privacy & Cybersecurity Law Blog
C
Cyber Attacks, Cyber Crime and Cyber Security
K
Kaspersky official blog
C
Cisco Blogs
博客园 - 【当耐特】
阮一峰的网络日志
阮一峰的网络日志
I
Intezer
罗磊的独立博客
MyScale Blog
MyScale Blog
Last Week in AI
Last Week in AI
A
About on SuperTechFans
G
GRAHAM CLULEY
Y
Y Combinator Blog
Microsoft Security Blog
Microsoft Security Blog
GbyAI
GbyAI
T
Threat Research - Cisco Blogs
P
Proofpoint News Feed
D
DataBreaches.Net
The Hacker News
The Hacker News
Spread Privacy
Spread Privacy
AWS News Blog
AWS News Blog
I
InfoQ
T
The Exploit Database - CXSecurity.com
Simon Willison's Weblog
Simon Willison's Weblog
博客园 - 叶小钗
Project Zero
Project Zero

机核

游戏性能旗舰最强之选,一加 Ace 6 至尊版国补到手价2999元起 6元钱自己更换电动车刹车线 《生化危机9:安魂曲》编剧Haris Orkin专访 摸金游戏?音乐游戏!暗区新赛季这把能弹的琴有何来历? 好评国产武侠SRPG《息风谷战略》免费DLC现已推出 | 机核 GCORES 碎片 《生化危机:安魂曲》将于5月实装首个免费更新内容 | 机核 GCORES 新锐东方游戏,谱写世界新章! 沉浸式恋爱视觉小说游戏《心象演算》免费试玩版现已正式上线 | 机核 GCORES 互动影游《代号三国:龙起》上线!穿越三国与曹操并肩、与佳人同行、与权谋博弈! 《老头收集梦想生活》,游戏酒桌会6,录音笔VOL.689 | 机核 GCORES 破界·共生——《白日梦:无限世界》五大核心游戏特点解析 价格已到史低,锐龙5 9600X/锐龙7 9700X正适合抄底 时间循环之旅即刻启程!《归环》一周目测试今日开启 热门在线韩游变魂游,洛奇衍生作能否打破“花瓶”魔咒? LG UltraGear evo 全新高端显示器系列:当“5K”遇见“AI”,不止强大,更懂热爱 反套路三国互动影游《代号三国:龙起》今日上线! 愿望单登记人数突破10万!备受瞩目的“女儿养成游戏” 《梦幻魔法公主》今日于Steam平台上线!限时八折优惠中 《黑神话:悟空》全球音乐会2026巡演将于4月29日12时开票 | 机核 GCORES “Snowguelike”生存肉鸽挖矿新作《蛙穿雪境》公布发售日期,5月7日正式上线 | 机核 GCORES 重塑移动办公、AI创作新境!全新华硕灵耀Air系列、ProArt 骁龙版震撼首发,创芯未来 均分88:《Saros》媒体评分汇总 | 机核 GCORES 上海烛龙公布合作遗迹探险游戏《吉时已到》首支预告片 | 机核 GCORES 首个独立游戏《萝薇日记》已上线Steam! 烛龙新IP《吉时已到》首曝,打造国内首款中式合作遗迹探险游戏 喜加一:《暗黑破坏神Ⅳ》国服现已开启限时免费领取本体活动 | 机核 GCORES 新版《生化危机》电影定于9月18日上映,官方网站现已上线 | 机核 GCORES 《冲就完事模拟器2》“星球大战”联动DLC正式宣布 | 机核 GCORES SteamController将于5月4日发售,售价99美元 | 机核 GCORES 事已至此,内存这么用也算省钱了,“2+1”非对称双通道应用实测 505游戏母公司现已收购《明末:渊虚之羽》IP | 机核 GCORES 基石 手动杂谈12|格斗游戏也能讲好故事 | 机核 GCORES I Love You Mr Snowball 我的向日葵小姐 会比GTA6先发售吗?最硬核的生存游戏《DAYZ》要推新DLC了 周记02:在2026遇到新怪谈 什么硬件,能让游戏Loading界面快速消失? | 机核 GCORES GadioSpec《百年风云世界杯》免费试听集 | 机核 GCORES 百年风云世界杯Vol.1丨足球崛起 | 机核 GCORES 100年前,一群人提前替我们经历了AI恐惧 | 机核 GCORES 《呼啸山庄》2026 ——一辆当代艺术的大卡车冲撞了我的大脑 手游《天穗之咲稻姬:日之香巡灵传》宣布将于7月27日停服 | 机核 GCORES 集结梦之队,征战世界杯,《最佳球会ONLINE》上线Steam 山水绝景随心拼 休闲建造游戏《千里山河录》Steam商店页公开 巫师帽、法袍、魔杖,为什么它们是影视、游戏里的法师必备三件套? 《无鞘信使》-第一章 复古风自动战斗肉鸽《终结之终结》Steam商店页面现已上线 电脑里有一款不破不立的MMO,录音笔VOL.688 | 机核 GCORES 《生化危机》30周年纪念周边发售,这次是真的“保护伞” 可靠耐用+AI全能,惠普战66 2025锐龙版深度体验 《时之书:无尽终章》关卡“大航海时代”全球首次公开 经典名作《乌龙派出所》改编经营模拟游戏《乌龙派出所~阿两的商店街物语~》正式宣布支持简体中文 明日开冲,解锁反套路三国互动影游《代号三国:龙起》即将上线 独立游戏《这是我的宝藏!》已发售~ 降低难度不是唯一解,无压力死亡也是好体验 Netflix官宣新片《普通人》:讲述韩国现代史上的权力风暴 《生化危机:安魂曲》全球销量现已突破700万份 《绝地鸭卫》PC版5月15日正式发售 亡妻回忆录?女性向情感叙事游戏《S-mail》现已正式发售 全新酷黑风格,酷睿Ultra 200S PLUS的高性价比搭档!七彩虹BATTLE-AX B860M-PLUS S WIFI7 V20 超级黑刃主板测评 胖狗 索尼发布了港台地区PS5产品价格调整公告,将于5月1日起实施 二次元怪猎+性感美女!《碧蓝幻想:无尽黄昏》开启Beta公测 这款怪谈类型中式恐怖游戏居然更新了?! 《百日战纪 -最终防卫学园-》改编漫画将于今年冬季开启连载 《如被附身,请致电我们》:匈牙利黑色幽默恐怖小说 《竹屿山房杂部卷五》(译文) 大树 超越引擎 摄影分享丨四月 碎片杂记vol.72 当老式FPS与老式动画技术碰撞出新时代的火花—《神探杰克鼠》 想做独游,如何避免首个项目就褒姒? 在线多人动作游戏《OCTOPinbs》将于5月12日上线Steam! 《酒鬼女神的酒诡》确定将于2026年登陆Steam 《CRYMELIGHT》将于11月5日(周四)正式发售!4月25日开始预购! 钢铁国度MKI部落Evolution,蛮兵部分 【钢铁国度】部落-Primal MK I,蛮兵部分 这是一个高中生用ai跑出来的作品,我自称他为物理神话 钢铁国度MKI部落Metamorphosis,蛮兵部分上 钢铁国度MKI部落Metamorphosis,蛮兵部分下 INDIE Live Expo于4月25日举办:首发9款新作,超200款独立游戏亮相 暗黑卡牌策略新作《魔忌:穷鼠啮狸》发布全新中文试玩版和发售预告片,4月30日正式上线在即 战锤40K长篇小说:变节者・苦难主宰(三)(全书完) 战锤40K长篇小说:变节者・苦难主宰(二) 战锤40K长篇小说:变节者・苦难主宰(一) 英语语言学习丨短语专题1:短语的特点 唯一的EVE战争 【少前同人】【M200】战术人形会梦见音乐会吗 【昏迷3】即将发售,前作主角悉数到场!“恶灵”宋老师化身可操控角色 业内人士:游戏公司“十有八九”使用生成式AI,包括卡普空 欢庆一周年:《光与影:33号远征队》全新纪念艺术图、超值折扣与免费更新同步上线 才刚刚开始呢 【抽奖】《星际卡车司机》推出免费大型更新,四折平史低折扣进行中 四人合作FPS游戏《佣兵猎手》抢先体验重大更新 1 现已上线 Raw Fury新作《深馅地牢 Deep Dish Dungeon》将于今秋加入 XGP 塔防幸存者游戏《魔怪来袭》推出首个 DLC 《饿狼传说:群狼之城》1周年纪念!新DLC“沃尔夫冈·克劳萨”今日参战 猫狗相伴 欢乐闯关 双人合作平台跳跃游戏《猫狗同行》上线Steam商店页 《同行:月球逃脱》(Together: Moon Escape)上线将于明日上线Steam
译介丨文字游戏50年——1974年:《超级星际迷航》
观乐 · 2021-11-03 · via 机核

制作者:麦克·米菲得(Mike Mayfield),鲍勃·李登(Bob Leedom) 发行日期:未发行的原版(1971);《STTR1》(HP, 1973);《SPACWR》 (EDU, 1973);李登的版本(1974);《超级星际迷航》 (《创意计算》, 1975) 编码语言:BASIC 平台:SDS Sigma 7

1963 年 6 月 3 号,《星际迷航》 的终集播出,而它的超级粉丝麦克·米菲得 (Mike Mayfield) 恰好刚刚高二毕业。 最后一集的名字是 ”逆转侵袭“,拍的并不怎么好。《星际迷航》 曾险遭腰斩,只不过因为粉丝持续不断的请愿才得以幸存,但这一回看起来是彻底回天无力了。该剧的第三季整体上毫无创意,奄奄一息。 连《卧底侦缉队》(The Mod Squad)重映版的观众都是它的两倍。下一部全新制作的 《星际迷航》 电视剧都得在十年之后了。在那之前,粉丝们只能靠自己让《星际迷航》保持活力。

和其他懂得技术的星际迷一样,米菲得从微型计算机日渐强大的算力上看到了让剧集精神延续的方法。而像其它早期游戏一样,复杂度各异的《星际迷航》游戏在 60 年代末,70 年代初就已经出现在主机系统上,被复制、分享和各种改进。如今已经很难去拼凑起这么多早期游戏的传承关系,一是它们很少会标明出处,甚至不会署名,二是它们很多都是重名的,都简单的取名为《星际迷航》。在游戏中很难模拟出电视剧中有些剧集展现的精髓(比如 “永恒边缘的城市”一集),但是战舰之间的战斗策略倒是比较容易模仿,比如第一季中广受粉丝喜爱的 “恐怖平衡”这集里面,柯克和罗慕伦指挥官的那场猫捉老鼠的把戏。《星际迷航》还为游戏提供了现成的世界观,这样制作者就不必往本已捉襟见肘的存储空间中塞进全新的设定。这一切对米菲得来说是其实是一个学术问题,真的,因为在当时所有的计算机都是宝贵的资源,它们都被锁在大学的实验室里,一个 16 岁的小屁孩哪有机会得到一台计算机啊。

在电视剧完结后不久,米菲得在他高中旁边的加州大学尔湾分校看到了《SpaceWar!》的宣传 (《SpaceWar!》 是早期另一个极具影响力的太空战斗游戏)。《SpaceWar!》 用当时领先的 CRT 显示器来绘制战舰的矢量图,玩家们在几乎空无一物的屏幕上驾驶着战舰闪转腾挪,一边向其他人发射鱼雷,一边试图抵消中心恒星的引力。《SpaceWar!》 有趣,令人上瘾,未来感强烈:当时大多数的计算机还使用着电传打字机,可以想象,一个能实时更新的屏幕该多么令人兴奋啊,简直堪比神迹。米菲得大受震撼,从此便心心念念地渴望获得一台他自己的计算机。他清楚,用电传打字机连接一台远端的计算机对他而言还是有点可能的,因为全国很多学校都在这么做,但要用一台显示器去连接电脑就难于登天了,所以他一开始也只能白日做梦:

我和我高中的极客朋友们花了很长时间去脑暴在没有一个图形终端的情况下,我们能干些什么事情。我是当时唯一一个有点计算机知识的人(知道的也不多),我们最终想出了很多根本无法实现的点子。其中一个点子我一直记着,就是打印一幅星系地图和星图,然后用它们来帮助玩家射击。

最终,米菲得向加州大学尔湾分校的一个学生借了一个账号(严格来说这种行为是被禁止的)才获得了 Sigma 7 的远程登录权限。他慢慢地跟着教科书,用电传打字机一行一行地自学 BASIC。因为他的账号没有永久存储权限,所以每次结束时,他都要把程序写在打孔纸带上,想修改的时候,需要小心翼翼地重新加载。尽管进展缓慢, 但在 1971 年高三的夏天结束之时,米菲得做出了一部在游戏性和复杂度之间保持了恰好平衡的 《星际迷航》游戏。

米菲得的游戏最初只被简单地称作《星际迷航》,它让玩家担任企业号 的指挥官,奉命在全宇宙追击克林贡人。游戏的地形 8 乘 8 地分成 64 个扇区,每个扇区包含 64 个正方形的星区,整个地图因此有近四千种不同的位置。每个扇区拥有若干恒星,它们是克林贡人的掩体,也是阻挡玩家前进的阻碍。有些扇区存在一个星空基地,在那里企业号可以重新装填光子鱼雷,并恢复用于迁跃和护盾的能量。玩家的目标就是在三十个星际日内找到并打败所有的克林贡人。在地图中,符号 * 代表恒星,<*> 代表玩家的飞船。

[注: 以下所有的脚本都来自于 1974 年米菲得和李登联合发表的那版游戏。米菲得自己的那版大同小异,但排版不太一样,并且语言更简陋。我移除了一些水平空格来减少文字被换行的可能。]

《星际迷航》游戏中的地图是被后来称之为 ASCII 图形的早期案例,它将文字按一定方式排列,在电传打字机上形成简单的图形。许多年以后,roguelike 类型的游戏还将这种艺术发展成了一种颇具辨识度的风格。但本质上,米菲得的游戏设计有更多的突发事件 ,比其他同期的作品更加扣人心弦,同时提供了更大的空间去容纳不同的策略。玩家可以使用八种不同的命令分别控制引擎,护盾,光炮,光子鱼雷,短距/长距探测器,损止系统以及百科电脑。许多命令可以接受额外的参数:转移到护盾的能量值,需要获取的电脑指令或者迁跃的速度以及方向(使用数字标注的罗盘)。因为支持浮点数,所以玩家可以精确地控制飞船在扇区进出:如果足够精确,玩家可以迁跃过大半个宇宙,恰好到达一个发起攻击的完美位置。游戏命令的组合明显比 《登月舱》 或者 《狩猎旺普斯》丰富,为了追击敌人,玩家必须探索地形网格,这让游戏气氛十分紧张,并且带来许多发现的乐趣。敌人的火力或者过度使用迁跃引擎都会损伤飞船,玩家要根据各种不同的损伤去权衡是否要继续追击敌人,还是花点时间去找星空基地来修复战舰。

要在游戏中完成计划通常需要执行很多步骤,这给了玩家一种他指挥的是一艘复杂的星际飞船、而不是一个星号字符的幻觉。如果玩家想找到克林贡人,就得动用他的百科电脑以及两种探测器。长距探测器会将周边的扇区标记上一个三位数的数字,玩家必须学着去解密它们:114 表示这个扇区有一个克林贡人,一个星空基地以及四颗恒星。如果玩家迁跃进了一个有敌人的扇区,那么在将一部分能量用于展开护盾之后,玩家就得开始思考是用光炮还是鱼雷,二者各自有各自的战略得失。光炮可以无视距离攻击多个敌人,但是这些敌人必须处于玩家的视野中,这就意味着玩家必须机动绕过一颗恒星,在看见敌人之时也将自身暴露在敌人的反击火力下。而要发射鱼雷,玩家必须计算出一条合适的弹道,或者学会使用百科电脑来帮忙计算轨道,并手动输入百科电脑提供的数值。玩米菲得的 《星际迷航》 要求玩家全神贯注。它展露的严肃性和对细节的追求是此前很多游戏无法做到的。

游戏的代码使用了各种奇淫巧技来克服早期 BASIC 语言的严重限制。光存储游戏中的 4096 个网格位置就已经超出了当时绝大多数机器的能力,所以与其用一个二维数组来一次性存储每个网格对应的内容,不如将这部分信息“压缩”成长距探测器会使用的那种三位数编码。只有在玩家进入一个扇区后,游戏才会根据编码提供的信息,将一定数量的敌人和恒星随机分布在地图中。因为玩家几乎没有理由重复进出同一个扇区,所以这种取巧的方式才能成功。即使玩家确实需要重新进入扇区,那也是因为他需要逃离敌人,那这时候,扇区里的敌人处在不同的位置也情有可原。大多数玩家基本上都不会注意到恒星其实也跟着变了位置。

同时,游戏的代码也暴露了它是一个边学边做的产物,比如像是抱着试试的心态,用了一两次就不再使用的 HP2000C BASIC 语言特性。整个程序仅仅定义了一个函数(在当时的 BASIC 中还相对是一个新概念),但也就只用了两次而已,绝大部分都还是依赖传统的 GOSUB/RETURN 来重复使用代码。游戏里,作者用一个三位数的编码来代表某个扇区里有何物,并将所有扇区的编码都存在了一个 8 x 8 的数组里。在具体描述某个扇区里的东西的分布情况时,作者本可以再次使用数组来记录,但他却选择了使用字符串这种更加刁钻的方法,表明很可能这种方法是作者早期不懂数组时实现的。在当时,每个字符串最长为 72 个字符,而每个扇面上有 64 个星区,每个星区长度为 3,所以至少需要三个字符串才能完全表示这 192 个空间,作者将这三个字符串变量命名为 Q$, R$, S$ 。如果要查询或者更新地图上的某一个地方,那么得首先根据坐标信息找到这个地方是记录在哪个变量上的。下面是算法的部分代码,根据 Z1 和 Z2 两个坐标信息,从 Q$, R$, S$ 中找到具体的内容信息,并存在变量 A$ 中:

5520 S8=Z1*24+Z2*3-26 5530 IF S8>72 THEN 5560 5540 Q$[S8,S8+2]=A$ 5550 GOTO 5600 5560 IF S8>144 THEN 5590 5570 R$[S8-72,S8-70]=A$ 5580 GOTO 5600 5590 S$[S8-144,S8-142]=A$ 5600 RETURN

上述的代码代表了在上世纪70年代早期使用 BASIC 语言来写复杂程序时会遇到的各种挑战。变量名称只能由单个字母加额外的数字组成,没有全局变量和本地变量的区别,也不能为一段代码块赋予一个有意义的名称。尽管 BASIC 相比其他早期的语言已是一大进步,但搞明白一段不熟悉的代码到底是干嘛的依旧是个挑战。这也恰是早期极客的乐趣之一,他们就喜欢拿着一堆有趣的程序,坐在那儿逐行分析它到底是怎么运作的。

随着在 1970 年代早期被多次转手,米菲得的 《星际迷航》 升级使用了最新版本的 BASIC 语言,有时各种特性也被加强。最著名的改版来自于鲍勃·李登(Bob Leedom),他是职业程序员,就职于威斯汀屋(Westinghouse),负责研发通用数据超新星(Data General Nova)系列微机。李登在 1974 年断断续续地对《星际迷航》行进改进,保留了米菲得的核心系统和游戏流程,同时增加了一些让游戏更加完善、更具动感的改动。他的版本将原版中的指令全部换成了三个字母的代号(比如 LRS 代表长距探测,NAV 代表启动引擎),令人想起阿波罗登月计划中,宇航员使用过的机载计算机上的那些按钮。李登添加了更有趣的指示以及消息:当鱼雷的路线穿过恒星时,米菲得的版本会提示——“傻瓜,你不能摧毁一颗恒星”,李登的版本则替换成了更成熟和更有沉浸感的语言—— “星区 7 ,3,鱼雷被恒星消解”。原版中,如果一个星空基地被摧毁,那么代表它的符号只会无声无息地从地图上消失。而在李登的版本中,星际舰队则会考虑对玩家展开军事审判。更令人印象深刻的还有许多被重写的状态报告和错误消息,仿佛他们真的就是剧中舰桥的船员在传递消息一般。当玩家试图迁跃出地图的边缘时,李登的版本则会提示:

李登给游戏的扇区设定了更易联想的名字,比如参宿四;给百科电脑新增了实用的函数;让克林贡人在被攻击后随机移动到新的方位(而非像原著一样坐以待毙,恭候玩家的鱼雷)。这些改编不仅成功保留了原作的精髓,同时也让游戏更加好玩了。

李登改进的程序发行于 David H.Ahl 的 《创意计算》 杂志上,为了和其他版本区分开,它用名《超级星际迷航》(Super Star Trek)。再后来,它被收录于发行超百万册的 《BASIC电脑游戏》 一书中,这让它成了那个年代最为著名的 《星际迷航》 游戏。接着涌现出了无数的衍生和改进版本,但都几乎都没有提到原作者是谁。一个叫做 WAR 的双人版本演变成了多人游戏的 DECWAR,再然后变成了 CompuServe 平台上流行的 MegaWars 系列策略游戏。在苹果二代电脑上出现了一个叫做 《苹果迷航》(Apple Trek)的版本。Radio Shack 为 Trandy 发型了一版 "Space Trek"。1979 年,《星际奇兵》(Star Raider)登上了雅达利平台,这个版本更先进,能以 3D 形式在动态的星域中进行战斗。《星际奇兵》作为雅达利平台早期的现象级作品,直接影响了以后出现的 《Elite》 和 《Wing Commander》,后两者则直接塑造了那个年代的太空战斗模拟游戏。尽管在当时派拉蒙也后知后觉地发布了几部官方授权的《星际迷航》游戏,但它们和其他游戏相比几乎没激起任何水花。

《超级星际迷航》 不是那个年代最有文学性或者最复杂的《星际迷航》游戏。1973 年 Willian K. Char 推出的一版迷航里有大量舰桥船员的对话,数十种命令,玩家可以紧急抛弃迁跃核心,或者尝试类似 Kirk 在原剧“Corbomite Maneuer”一集中所使用的策略。除此之外,当然还有非常多无人问津的《星际迷航》游戏。米菲得和李登的程序能成为典范,就在于它们有趣且不过于复杂,代码足够精简,可以被打印在杂志或者书本上。在那个年代,人们认为书本或者杂志才是获取程序的最好途径。作为 《BASIC电脑游戏》 上最长的一个程序(除去指令大概有500行代码),《星际迷航》 需要用比其他程序更小一号的字体,更紧密的间距来打印。还好它能挤得下,假如它的代码再多一点点,那恐怕就很难被打印出来,更别说被大众口耳相传了。

一直以来,技术的不足总会限制文字游戏的上限。然而对于上世纪的作者而言,页数和字体大小也会成为游戏开发的限制,《超级星际迷航》就是一个例子,但它也是最后一个。因为从那之后,游戏的发展将远超任何图书印刷商的想象。

可以在这里试试《超级星际迷航》,和原来的版本音效和色彩都不太一样,但已经是最接近的版本了。要是有BASIC电脑的话,源码在这里。在Internet Archive上可以继续阅读由Maury Markowitz撰写的本游戏发展历史。如果你感兴趣的话,去年我还研究过这份源码。

本文作者:Aaron A. Reed,撰稿人,推特@aaronareed,已取得翻译转载授权,原文链接

翻译:@丁Ding 校对排版:@观乐