游戏机的游戏程序业余开发套件(一):1980 年代篇

文/KWL    独游网整理

“想为自己喜爱的游戏机开发游戏”这个念头,一定曾经存在于很多玩家的心中,但相较于个人电脑平台的开放性,游戏主机(包含电视游戏机、掌上型游戏机等主机)多半属于封闭式的平台,除了有能力向原厂取得正式开发授权的游戏公司,一般的玩家或业余创作者在正规手段下,并没有办法自行为游戏主机制作游戏。

不过,凡事总有例外,事实上,到目前为止的许多游戏主机平台上,也的确出现过一些能够让玩家在主机上自行编写游戏程序的市售开发套件。

Nintendo-Famicom-Family-Basic-Keyboard-wCart.jpgFamicom 专用的《Family BASIC》套件

本文的主题,就是整理与介绍各种游戏机历史上所出现过的可自行编写程序的业余游戏主机正规的开发套件。

请注意我上面所强调的几个要素,无法编写程序的简易型游戏制作软件(例如家用游戏主机上的《RPG 工具》系列软件)、或者授权给商业游戏公司使用的专业级开发机都不是本文所要讨论的项目;透过非官方授权软硬件进行逆向工程序开发的非正规套件亦不在本文范围内。当然也不会介绍不属于游戏机平台的电脑游戏开发套件。有机会的话,我会再以另文专述非程序化的简易型游戏制作软件。

本专题将会依据时期,分为三篇系列文章:

1980 年代篇‧前论

1980 年代前期全球掀起了一阵个人电脑热潮,使得个人电脑产业一度蓬勃发展,除了“正规用途”的个人电脑外,市面上也有许多功能单纯化、以学习和游戏为导向的“家用电脑”,例如欧洲流行的 ZX Spectrum 、北美的 Commodore 64 ,或者像亚洲的日本也有 ぴゅう太 、 MSX 等等入门级的家用个人电脑系统。当然也有一些游戏机厂商会试图在这股热潮之下,把自家产品以电脑之名包装,行卖游戏机之实。

《KungFury》.jpgKung Fury》电影剧照,Hackerman 所持有的都是80年代的经典个人电脑机种

那么要怎么样让一台游戏机看起来像电脑呢?最常见的做法,就是给它加上一组键盘,再赋予基本的试算与程序编写能力,就可以称得上是具有最基本功能的个人电脑了。

SG-1000IISG-1000II的平面广告

由于该世代的主机总类繁多、也有许多定位上较为模糊的产品,这边就仅以其中几个具有较高知名度与代表性、具有明确游戏机定位的主机作为主要的介绍项目。

Basic Programming

Atari 2600/1979/ATARI/售价不明

其实早在Atari 2600 上,就有可以让玩家自己写程序的软件《Basic Programming》存在了。这套软件所提供的是仿造BASIC 设计的简易程序语言,程序编写环境除了有一般的程序输入区块外,stack、变量、程序字符数量统计等信息也都具有自己的状态显示区块,算是很亲切的机能,但是在绘图机能方面,就只能够对预设的两个方块图像进行程序化控制,而更致命的是,因为内存有限,这套《Basic Programming》只能输入最多9行(或透过特殊操作达到11行)、上限63个字符的代码!这样严苛的限制就连要写纯文字的应用程序都没什么发挥空间,拿来做游戏的话,单人《Pong》就差不多是极限了,因此这套《Basic Programming》仅能算是让入门者练习基本程序概念的工具。

Basic-Programming.jpg《Basic Programming》的主界面

另外,这套软件必须要搭配两个Atari 2600 的Keypad 控制器才能使用,Keypad 不是Keyboard,它是电话式排列的按键组...,总之,时至今日你不会想用它来写程序的。

Keypad.jpg《Basic Programming》使用的两组Keypad控制器,加上专属的overlay图卡

不过我必须要赞扬这款软件的主视觉画得实在是精彩万分,仿佛一切电脑科学都在我手中的豪气感,不知道开启了多少儿童对于程序设计师的向往。

b_BasicProgramming_Color_front.jpg《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 程序的编写环境。

SG-1000II 的电视广告,16 秒开始的第二段广告主打键盘扩充套件与创作功能

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 软件,是以磁带的形式贩售。

BASIC LEVEL III A 的使用画面。

SEGA 甚至也没忘了发挥本业专长,把SG/SC 系统改装成大型电玩样式的台机,称之为「电脑学习机」,以计时付费的方式,让家里不能买电脑的小朋友,只要花点小钱就有机会可以来“学电脑”。

SEGA电脑学习机.gifSEGA电脑学习机的广告

延伸阅读:

  • 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 。

FamilyBASIC.jpg《Family BASIC》的平面广告

跟其他程序设计工具相比,《Family BASIC》十足具有任天堂式的游戏化风格,主选单界面营造出一种“和电脑对话”的情境,要透过对话的方式来选择要执行什么功能,除了BASIC 编写环境外,还提供了算术程序、作曲程序、占卜程序与留言板程序,界面设计也都相当游戏化。

《Family BASIC》的电视广告。

不只界面充满游戏风格,《Family BASIC》完全是以制作游戏作为主要功能诉求,像是支持的数据类型只有16bit 整数,舍去了更多的应用性来专注在游戏运算效能;卡带内建了一些图像素材,包含有马里奥、赛车、飞机等角色sprites 与砖块、边框、旗帜等背景tiles,让使用者不管是想制作动作游戏或赛车游戏、射击游戏都有现成的图像可以运用,但使用者无法自行绘制新sprites 或tiles,只有2KB 的可用内存空间也让创作空间大幅受限。

《Family-BASIC》內建的角色sprites.png《Family BASIC》内建的角色sprites

《Family BASIC》可以将写好的程序记录在卡带内的SRAM 中,这也是FC 软件中首个具有电池记忆功能的卡带,不过并不像后来其他游戏采用水银电池来维持SRAM 的纪录, 《Family BASIC》卡带内装的是四颗三号电池,让这块卡带显得相当厚重。因为卡带所搭载的SRAM 容量也仅有2KB,储存不了多少个程序,所以另外加购磁带机才是比较实际的档案纪录方式。《Family BASIC》除了最初发行的1.0 版外,还有2.0 版与2.1 版,主要差别在于新增指令与bug 修正。

使用《Family BASIC》制作的游戏《SUPER PENPEN》。程序码与制作解说请见作者OKI的博客

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 V3》的电视广告。

延伸阅读:

  • 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完全要自己从无到有手动制作。

《Home 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 程序,也长期在这些杂志上占有部分篇幅。

因此,即便当初厂商们为游戏机推出程序开发周边,可能只是一种把游戏机包装成个人电脑的销售手法,但依然也有达到程序创作启蒙的效果,为业界未来的人才培养奠基。

80年代电脑、电玩少年的房间典型.JPG80 年代电脑/电玩少年的房间典型

不过,随着游戏机产业的定位正式确立,不再需要依附个人电脑风潮后,业余创作的环境也有了一些改变。迈入1990 年代之后的业余游戏机程序开发环境演变,请待下回分解。

来源:IGDSHARE

打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮