我的人物小傳 - 2. 金磁片獎的夢碎

        國二時候,當時台視影集有口皆碑。除了霹靂車李麥克之外,還有部的電視影集:超級麥斯,敘述一個人工智慧與一位記者查案突破各種黑幕的故事,開啟了我對人工智慧的想像。

        那段時間,我整個投入在這種 “偽智慧” 的『聊天機器人』的撰寫上,用城市獵人主角:『孟波』的頭像開發屬於自己的超級麥斯,並且邀請許多同學來家裡跟這個機器人打字對話。

        每天,我記錄下同學們輸入過,但我的麥斯無法判斷的字句,加強其中的關鍵字判斷和回應 (就是寫死一堆 if 敘述),到最後,我的麥斯成為了最能理解各種髒話和會回罵各種髒話的聊天機器人!

        這段時間帶來我很多歡樂,但由於沈溺在程式這件事情上,幾乎荒廢學校課業,已經替未來我與原生家庭衝突的爆發埋下種子。


        然而用倚天的 ETBASIC 由於無法編譯,如果依照以前的模式販售軟體,我等同把原始碼一起賣出,總是感到不妥,也一直想不出為何別人的軟體不需要程式碼,可以包裝成一個執行檔 .exe 就能運作?


        到了國三,QuickBASIC 橫空出世,徹底解決了這個難題!


 

        這個神器可以將 BASIC 編譯成 EXE 執行檔,現在我的 DOSBOX 模擬器仍存放著這寶貝。


        然而那時候,想做遊戲的我,聽說遊戲都是用 C 語言開發,沒人使用 BASIC,讓我不免有些灰心與擔憂。直到智冠的軟體世界,舉辦了國內第一屆『金磁片』獎的遊戲軟體開發大賽,其中一個得獎作品『魔點』,正好就是使用 QuickBASIC 開發而獲獎的作品,讓我整個摩拳擦掌,準備參加第二屆的金磁片獎...


        當時我模仿紅片半邊天 KOEI 三國志一代的回合玩法,規劃了一款戰略遊戲。

        一隻恐龍怪獸會攻擊日本地圖上的三座核電廠,玩家要透過在地圖上移動軍隊去阻止這隻怪獸...。咦?這設定有沒有很熟悉?沒錯,就是我小學時『哥吉拉』的電影劇情!只是當時台灣片商引進這部日本電影,片名只用了『大恐龍』這樣的翻譯,所以我一直不知道他就是鼎鼎有名的『哥吉拉』。

        為了找到足夠的圖片素材,買了一本日文的 Hobby 模型雜誌,裡面有許多哥吉拉的模型圖片的擺拍。

        當時我還用掃描器,盜用酒井法子的大頭圖,以類似播報員的方式隨時在畫面右小角提醒玩家怪獸移動的動態。

        第一次撰寫這麼大規模的遊戲程式,又沒有受過正規的程式教育,不懂記憶體的限制和資源的釋放,我只會從上到下一路撰寫,也完全沒有模組化的設計。很快,在我開發到軍隊與怪獸移動到地圖相同位置相遇時,我想要載入戰鬥場景,遇到了超出記憶體用量的限制,導致程式無法執行。

        然而國三時,外面世界的電腦已經進步到 286、386 這種 16位元、CPU 50MHz 以上、搭配 CGA(4色) / EGC(16色) / VGA(256色) 等級以上的彩色電腦,而我還停留在使用 8 位元 CPU 8MHz 的黑白單色電腦,既使成功做出這款遊戲,也絕對難登大雅之堂,根本沒有勝算。

        而長大後我也理解,當時記憶體不足的原因,就是 8 位元能給單一軟體使用的基本記憶體就是 2 的 8 次方,也就是 256KB 的限制。

        既使主記憶體有 640 KB,也是先保留給作業系統、常駐程式 (倚天中文、防毒軟體之類) 佔用,再加上開發工具編譯器本身也已經佔用記憶體,所以當時 QB 能支持最大的編譯產出不可以超過 64KB,而不懂拆分模組的我,就是撞到這道牆。

        當時找不出失敗原因,我甚至一氣之下,拿起削鉛筆機砸向電腦螢幕洩憤!所幸當時有安裝過濾輻射的螢幕護眼罩,罩子碎掉,螢幕沒壞。

        但這次的失敗,讓我失意了好一段時間,沒再那麼全心投入程式開發這件事,只當作在學校電腦課堂上,在同學面前炫技的單純娛樂。

這個網誌中的熱門文章

SQL Deadlock 的處理經驗談

網站效能不佳?談『如何判定系統變慢原因』的簡易 SOP