“想为自己喜爱的游戏机开发游戏”这个念头,一定曾经存在于很多玩家的心中,但相较于个人电脑平台的开放性,“游乐器主机”(包含电视游乐器、掌上型游乐器等主机)多半属于封闭式的平台,除了有能力向原厂取得正式开发授权的游戏公司,一般的玩家或业余创作者在正规手段下,并没有办法自行为游乐器主机制作游戏。
不过,凡事总有例外,事实上,在过往至今的许多游乐器主机平台上,也的确出现过一些能够让玩家在主机上自行撰写游戏程式的市售级开发套件。
本文的主题,就是统整与介绍各种游戏机历史上所出现过的“可自行撰写程式码”的“业余级”“游乐器主机游戏”“正规”游戏开发套件。
请注意我上面所强调的几个要素,无法撰写程式码的简易型游戏制作软体(例如家用游乐器主机上的《RPG 工具》系列软体)、或者授权给商业游戏公司使用的专业级开发机都不是本文所要讨论的项目;透过非官方授权软硬体进行逆向工程式开发的非正规套件亦不在本文的守备范围内。当然也不会介绍不属于游乐器平台的电脑游戏开发套件。有机会的话,我会再以另文专述非程式化的间易型游戏製作软体。
本专题将会依据时期,分为三篇系列文章:
一:1980年代篇(SG-1000、FC 等平台)
二:1990年代~2000年代篇(PCE、PC-FX、PS、SS、WS、PS2 等平台)
三:2000年代~现在篇(XBOX360、PSV、NDS、3DS 等平台)
1980 年代篇‧前论
1980 年代前期全球掀起了一阵个人电脑热潮,使得个人电脑产业一时蓬勃发展,除了“正规用途”的个人电脑外,市面上也有许多功能单纯化、以学习和游戏为导向的“家用电脑”,例如欧洲流行的“ZX Spectrum”、北美的“Commodore 64”,或者像亚洲的日本也有“ぴゅう太”、“MSX”等等入门级的家用个人电脑系统。当然也有一些游乐器厂商会试图在这股热潮之下,把自家产品以电脑之名包装,行卖游乐器之实。
那么要怎么样让一台游乐器看起来像电脑呢?最常见的做法,就是给它加上一组键盘,再赋予基本的试算与程式编写能力,就可以称得上是具有最基本功能的个人电脑了。
由于该世代的主机总类繁多、也有许多定位上较为模糊的产品,这边就仅以其中几个具有较高知名度与代表性、具有明确游乐器定位的主机作为主要的介绍项目。
Basic Programming
Atari 2600/1979/ATARI/售价不明
其实早在 Atari 2600 上,就有可以让玩家自己写程式的软体《Basic Programming》存在了。这套软体所提供的是仿造 BASIC 设计的间易程式语言,程式编写环境除了有一般的程式输入区块外,stack、变数、程式字元数量统计等资讯也都具有自己的状态显示区块,算是很亲切的机能,但是在绘图机能方面,就只能够对预设的两个方块图像进行程式化控制,而更致命的是,因为记忆体有限,这套《Basic Programming》只能输入最多9行(或透过特殊操作达到11行)、上限63个字元的程式码!这洋严苛的限制就连要写纯文字的应用程式都没什麽发挥空间,拿来做游戏的话,单人《Pong》就差不多是极限了,因此这套《Basic Programming》仅能算是让入门者练习基本程式概念的工具。
另外,这套软体必须要搭配两个 Atari 2600 的 Keypad 控制器才能使用,Keypad 不是 Keyboard,它是电话式排列的按键组...,总之,时至今日你不会想用它来写程式的。
不过我必须要赞扬这款软体的主视觉画得实在是精彩万分,仿彿一切电脑科学都在我手中的豪气感,不知道开启了多少儿童对于程式设计师的向往?
延伸阅读:
A constructive look at the Atari 2600 BASIC cartridge
《Basic Programming》的语法结构解析文章。
Fun with Basic Programming
《Basic Programming》的实际运行展示影片。
BASIC Cartridge(BASIC カートリッジ)
SG-1000/1983.7/SEGA/5000~15000日圆
1983 年 7月 SEGA 同时发售了家用游乐器主机“SG-1000”与低阶家用级电脑“SC-3000”,这两者间的硬体架构几乎相同,只要 SG-1000 加上了“SK-1100”键盘扩充套件或者 SC-3000 加上了游戏摇杆,两者间的软体与硬体就差不多完全互通。而事实上 SC-3000 就只是一台包装成电脑的游乐器,它没有一般家用电脑所该提供的文书或会计机能,除了游戏软体和数量稀少的教学软体外,能够让其自称为“电脑”的主打功能就是 BASIC 程式的撰写环境。
SEGA 提供了多种版本的 BASIC 卡匣,有 BASIC LEVEL II、LEVEL II B、LEVEL III A、LEVEL III B、SK-III等版本,主要是供不同使用程度与机种的使用者选择(部分 BASIC 卡匣仅对应 SG 或 SC 单一机种),像是一些较进阶的指令只有 LEVEL III 之后的版本有提供,A 与 B 版本所搭载的 RAM 总量也有不同,最低阶的 LEVEL II 只有 512 Byte 的记忆体可用,最高等级也最贵的 LEVEL III B 与 SK-III 的记忆体搭载量则有 32KB(实际可用容量约 26KB)。由于 BASIC 卡匣本身没有储存功能,如果想要把程式码储存下来则还需要额外再添购磁带机或磁碟机,同时也有少量的 SG/SC 软体,是以磁带的形式贩售。
SEGA 甚至也没忘了发挥本业专长,把 SG/SC 系统改装成大型电玩洋式的机台,称之为“电脑学习机”,以计时付费的方式,让家裡不能买电脑的小朋友,只要花点小钱就有机会可以来“学电脑”。
延伸阅读:
SC-3000 Survivors
海外 SC-3000 爱好者网站,包含许多 SC-3000 相关资源,以及线上的 SC-3000 BASIC 模拟器。(使用时请注意该网站所使用的 SC-3000 键盘符号配置与常用的美式键盘不同,输入对应上会有差异)
Family BASIC(ファミリーベーシック)
Famicom/1984.6/任天堂/14800日圆
既然名为 Family Computer,那就不能够缺少让红白机看起来真的像台电脑的扩充套件啦,《Family BASIC》套件内含有卡匣与专用键盘,让使用者可以在 FC 上撰写 BASIC 程式。《Family BASIC》所採用的程式语言是以 HUDSON 的“Hu-BASIC”为基础,再加上任天堂(N)与夏普(S)两家公司的惨与,开发出专为 FC 硬体大幅特化的“NS-Hu BASIC”。
跟其他程式设计工具相比,《Family BASIC》十足具有任天堂式的游戏化风格,主选单介面营造出一种“和电脑对话”的情境,要透过对话的方式来选择要执行什么功能,除了 BASIC 撰写环境外,还提供了算术程式、作曲程式、占卜程式与留言板程式,介面设计也都相当游戏化。
不只介面充满游戏风格,《Family BASIC》完全是以製作游戏作为主要功能诉求,像是支援的数值型态只有 16bit 整数,捨去了更多的应用性来专注在游戏运算效能;卡匣内建了一些图像素材,包含有玛利欧、赛车、飞机等角色 sprites 与砖块、边框、旗帜等背景 tiles,让使用者不管是想製作动作游戏或赛车游戏、射击游戏都有现成的图像可以运用,但使用者无法自行绘製新 sprites 或 tiles,只有 2KB 的可用记忆体空间也让创作空间大幅受限。
《Family BASIC》可以将写好的程式记录在卡匣内的 SRAM 中,这也是 FC 软体中首个具有电池记忆功能的卡匣,不过并不像后来其他游戏採用水银电池来维持 SRAM 的纪录,《Family BASIC》卡匣内装的是四颗三号电池,让这块卡匣显得相当厚重。因为卡匣所搭载的 SRAM 容量也仅有 2KB,储存不了多少个程式,所以另外加购磁带机才是比较实际的档案纪录方式。《Family BASIC》除了最初发行的 1.0 版外,还有 2.0 版与 2.1 版,主要差别在于新增指令与 bug 修正。
Family BASIC V3(ファミリーベーシック V3)
Famicom/1985.2/任天堂/9800日圆
1985 年堆出的《Family BASIC V3》是《Family BASIC》的 3.0 版,只有单独贩售卡匣,没有与键盘套件同捆贩售,是专为既有《Famicom BASIC》使用者提供的进阶版本。《V3》版增加了 26 个新指令,可用记忆体空间提升到 4KB,并内附四款范例游戏,但旧版《Family BASIC》的附属程式与对话式主选单介面则没有保留。
延伸阅读:
Family BASIC Room
《Family BASIC》的介绍、使用说明与范例程式(原始连结已失效,此为 archive.org 备份网页)
FBR
《Family BASIC》的指令说明、范例游戏,并提供「FamilyBasicEditor”程式,可以在电脑介面下编写《Family BASIC》程式,再转输出至 FC 模拟器执行。
ベーマガに载っていたファミベのプログラム
曾经刊载在《マイコン BASIC Magazine》上的《Family BASIC》游戏影片集。
Home BASIC(ホームベーシック)
SG-1000/1985/SEGA/9800日圆
可能是受到《Family BASIC》的影响,SEGA 在 1985 年的时候为 SG/SC 系统推出了专注于游戏製作导向的新版程式撰写软体《Home BASIC》,《Home BASIC》一洋搭载 32KB(可用容量约 26KB)的记忆体,但价格比起 BASIC SK-III 已经低廉许多。
机能方面,《Home BASIC》牺牲了浮点数的运算,变成整数型 BASIC 来提升效能,除了 BASIC 的撰写环境外,还附上了间易的射击游戏、算术程式以及一个 sprites 编辑器,使用者可以用这个编辑器轻松地绘制 sprites 元件来让自己的程式使用,或者也可以把内附的射击游戏改成独有的风格,让使用者可以较快速的获得成就感,而不像 83 年版的 BASIC 完全要自己从无到有手动製作。
1980 年代篇‧短结
1980 年代正是日本个人电脑创作风气极为兴盛的时代,凭藉著 FC 的高普及率,加上《Family BASIC》以其相对低价与专为游戏製作所设计的特性,亦创下累计 40 万套程度的销售佳绩。配合这些开发套件本身的入门、低龄取向,甚至还有著数本以图画或漫画来教导游戏程式写作的书籍发行,发挥了引导学生或儿童初探游戏製作的功能,想必也因而培育出不少日后的游戏创作者。
像是製作出《星之卡比》、《任天堂明星大乱斗》系列游戏的樱井政博,在演讲时就提过他是透过《Family BASIC》学习程式设计的概念、理解 FC 的硬体特性;日本 90 年代同人射击游戏代表作《超连射68K》作者“よっしん” ,也曾经非常致力于使用《Family BASIC》开发射击游戏。又例如曾经在 niconico 上发表“一小时制出俄罗斯方块游戏”实况影片的程式设计师纪平拓男,在受访时就表示他是在幼稚园时,透过 SC-3000 开始接触程式设计的。
在作品与技术交流方面,就跟那个时代的业余电脑游戏创作者一洋,都是透过《マイコン BASIC Magazine》、《I/O》等电脑杂志来做为主要的媒介,读者们投稿的 FC 或 SG/SC 专用 BASIC 程式,也长期在这些杂志上占有部分篇幅。
因此,即便当初厂商们为游乐器推出程式开发周边,可能只是一种把游乐器包装成个人电脑的销售手法,但依然也有达到程式创作启蒙的效果,为业界未来的人才养成奠基。
不过,随著游乐器产业的定位正式确立,不再需要依附个人电脑风潮后,业余创作的环境,也有了一些改变。迈入 1990 年代之后的业余游乐器程式开发环境演变,请待下回分解。
怀念红白机
啊,想起中学研究这段历史的时候了w
@tnl:你这也很6了哈哈
我也是从裕兴学习机开始接触的编程 现在回想起来 里面那个basic十之八九是使用了任天堂basic 里面马里奥整个游戏的精灵都有