微軟 Office 系列的 Excel 可製作遊戲,這早就不是什麼大秘密,過去網路上已有不少神人分享,不過大多都是透過 VBA 來實現,而這位日本神人更是厲害,不用 VBA 也能利用 Excel 重現超經典遊戲「勇者鬥惡龍 3」,近日他就放上一段成功的影片,真的是讓人跪著看阿,甚至還在部落格上分享製作過程。
日本神人用 Excel 重現「勇者鬥惡龍 3」遊戲
這位 パパセンセイ 日本神人一直以來都很熱衷於專研 Excel 技術,並於個人部落格也分享相關知識,而遊戲部分他也嘗試過,在這款勇者鬥惡龍 3 之前,他就曾成功不用 VBA 製作出踩地雷遊戲:
https://twitter.com/10mikiya/status/1267745678949679106
而為了挑戰更高難度,幾個月前他先在個人 Twitter 詢問網友,下一款不用 VBA 製作的遊戲,大家最想看到哪一款?最終勇者鬥惡龍獲得最高票數,其次是俄羅斯方塊,然後馬力歐,最後一名是太空侵略者,這也是為什麼他先嘗試勇者鬥惡龍 3 的原因:
https://twitter.com/10mikiya/status/1307960581245341696
影片中可以看到,他打開這一個 Excel 檔:
然後勇者鬥惡龍 3 的畫面就出現,右下角還製作一個任天堂搖桿的控制器,按方向鍵來移動主角:
行走時組隊的夥伴也會在後面跟著:
碰到怪物時,進入戰鬥的超經典切換畫面:
攻擊選項、每一支怪物的 H、M 等數值,連對話都有:
碰到打不贏的怪物時,既然是自己製作的遊戲,所有數值當然都能更改,不用靠金手指:
跳出把所有數值都改成 255:
全部都 255 誰都不是對手:
完整影片:
根據他的說明,這次勇者鬥惡龍 3 可以分成三個部分,「一、利用散佈圖來呈現地圖和怪物」「二、使用循環參照(反覆運算)與按住 F9 來創建一個計數器」、「三、於單元上編碼」。
透過更改散佈圖的標記數值,就能做到英雄在地圖上移動的效果:
還能藉由切換屬性,製作出走路的畫面:
他也提醒,散佈圖無法放大或縮小圖片,因此一開始就要設定好對的尺寸:
「循環處理」他認為是所有之中最困難地方,透過函數來循環不是不可能,但遊戲越複雜,需要處理的函數越困難,可能會碰到不少錯誤,因此最終他就改用循環參照的方法:
地圖與戰鬥之間的切換,則藉由在單元格上創建 FizzBuzz 實現,裡面也會加入一些判斷式:
更詳細步驟有興趣的讀者可以點我至這位神人部落格閱讀,雖然說不使用 VBA 情況下,Excel 確實也能重現這款遊戲,但聲音部分他也直言還想不到解決方法,因此玩得過程中不會有任何背景、戰鬥聲音: