「想為自己喜愛的遊戲機開發遊戲」這個念頭,一定曾經存在於很多玩家的心中,但相較於個人電腦平台的開放性,「遊樂器主機」(包含電視遊樂器、掌上型遊樂器等主機)多半屬於封閉式的平台,除了有能力向原廠取得正式開發授權的遊戲公司,一般的玩家或業餘創作者在正規手段下,並沒有辦法自行為遊樂器主機製作遊戲。
不過,凡事總有例外,事實上,在過往至今的許多遊樂器主機平台上,也的確出現過一些能夠讓玩家在主機上自行撰寫遊戲程式的市售級開發套件。
Famicom 專用的《Family BASIC》套件。
本文的主題,就是統整與介紹各種遊戲機歷史上所出現過的「可自行撰寫程式碼」的「業餘級」「遊樂器主機遊戲」「正規」遊戲開發套件。
請注意我上面所強調的幾個要素,無法撰寫程式碼的簡易型遊戲製作軟體(例如家用遊樂器主機上的《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」等等入門級的家用個人電腦系統。當然也有一些遊樂器廠商會試圖在這股熱潮之下,把自家產品以電腦之名包裝,行賣遊樂器之實。
《Kung Fury》電影劇照,「Hackerman」所持有的都是 80 年代的經典個人電腦機種。
那麼要怎麼樣讓一台遊樂器看起來像電腦呢?最常見的做法,就是給它加上一組鍵盤,再賦予基本的試算與程式編寫能力,就可以稱得上是具有最基本功能的個人電腦了。
SG-1000II 的平面廣告。圖片來源
由於該世代的主機總類繁多、也有許多定位上較為模糊的產品,這邊就僅以其中幾個具有較高知名度與代表性、具有明確遊樂器定位的主機作為主要的介紹項目。
Basic Programming
Atari 2600/1979/ATARI/售價不明
其實早在 Atari 2600 上,就有可以讓玩家自己寫程式的軟體《Basic Programming》存在了。這套軟體所提供的是仿造 BASIC 設計的簡易程式語言,程式編寫環境除了有一般的程式輸入區塊外,stack、變數、程式字元數量統計等資訊也都具有自己的狀態顯示區塊,算是很親切的機能,但是在繪圖機能方面,就只能夠對預設的兩個方塊圖像進行程式化控制,而更致命的是,因為記憶體有限,這套《Basic Programming》只能輸入最多9行(或透過特殊操作達到11行)、上限63個字元的程式碼!這樣嚴苛的限制就連要寫純文字的應用程式都沒什麼發揮空間,拿來做遊戲的話,單人《Pong》就差不多是極限了,因此這套《Basic Programming》僅能算是讓入門者練習基本程式概念的工具。
《Basic Programming》的主介面
另外,這套軟體必須要搭配兩個 Atari 2600 的 Keypad 控制器才能使用,Keypad 不是 Keyboard,它是電話式排列的按鍵組...,總之,時至今日你不會想用它來寫程式的。
《Basic Programming》使用的兩組 Keypad 控制器,加上專屬的 overlay 圖卡。圖片來源
不過我必須要讚揚這款軟體的主視覺畫得實在是精彩萬分,彷彿一切電腦科學都在我手中的豪氣感,不知道開啟了多少兒童對於程式設計師的嚮往?
《Basic Programming》的外盒圖案。圖片來源
延伸閱讀:
- 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 程式的撰寫環境。
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「電腦學習機」的業務用廣告。
延伸閱讀:
- 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》的平面廣告。圖片來源
跟其他程式設計工具相比,《Family BASIC》十足具有任天堂式的遊戲化風格,主選單介面營造出一種「和電腦對話」的情境,要透過對話的方式來選擇要執行什麼功能,除了 BASIC 撰寫環境外,還提供了算術程式、作曲程式、占卜程式與留言板程式,介面設計也都相當遊戲化。
《Family BASIC》的電視廣告。
不只介面充滿遊戲風格,《Family BASIC》完全是以製作遊戲作為主要功能訴求,像是支援的數值型態只有 16bit 整數,捨去了更多的應用性來專注在遊戲運算效能;卡匣內建了一些圖像素材,包含有瑪利歐、賽車、飛機等角色 sprites 與磚塊、邊框、旗幟等背景 tiles,讓使用者不管是想製作動作遊戲或賽車遊戲、射擊遊戲都有現成的圖像可以運用,但使用者無法自行繪製新 sprites 或 tiles,只有 2KB 的可用記憶體空間也讓創作空間大幅受限。
《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 年代電腦/電玩少年的房間典型。
不過,隨著遊樂器產業的定位正式確立,不再需要依附個人電腦風潮後,業餘創作的環境,也有了一些改變。邁入 1990 年代之後的業餘遊樂器程式開發環境演變,請待下回分解。