ExcelでVBAを使わずに『ドラゴンクエストIII』を再現した猛者が話題に。関数と機能を駆使して擬似的にプログラムを実現

11月10日(火)18時41分 電ファミニコゲーマー

 11月初め、Microsoftの表計算ソフト「Excel」でマクロ言語「VBA」(Visual Basic for Applications)を使わず『ドラゴンクエストIII そして伝説へ』(以下、ドラクエ3)の序盤を再現した猛者が現れたことが話題となった。

 VBAを使わずに『ドラクエ3』を再現したのは、普段の業務でExcelを使う仕事をしているブロガーのパパセンセイ氏だ。氏が公開した動画「ExcelでVBAを使わないでドラクエ3を再現してみた」では、ファミコン版『ドラクエ3』の序盤、最初の街「アリアハン」からフィールドを移動して「スライム」などのモンスターと遭遇、戦闘シーンまでもが見事に再現されていることを確認できる。

 Excelでは、付属しているVBAを使ってプログラミングができるので、オセロやブロック崩しゲーム、『スーパーマリオ』『ロックマン』を制作可能だ。しかしパパセンセイ氏はこのVBAを頼らずに、Excelの関数と機能だけでセル上で擬似的なプログラムを再現することへ成功した。

(画像はパパセンセイ365「ExcelでVBAを使わないでドラクエ3を再現する」より)
(画像はパパセンセイ365「ExcelでVBAを使わないでドラクエ3を再現する」より)
(画像はパパセンセイ365「ExcelでVBAを使わないでドラクエ3を再現する」より)

 具体的にはオプションで反復計算を有効にして、循環参照を使ったという。循環参照は、セル参照がループ(循環)している状態のことで、普段はエラーメッセージが表示されるが、あえてそれを利用することによってプログラムカウンタを実現している。
 またとくに難問だったのがアニメーションの再現とのことで、これはキーボードのF9キーを押しっぱなしにして再計算し続けることで突破したとのこと。なお地図やモンスターなどの画像は、パパセンセイ氏がExcelで1から作ったものを使用している。

 パパセンセイ氏いわく「セル上でも疑似的なプログラミングが可能だということは、ほとんどのゲームが作れる」とのことだが、課題としてはVBAを使わずに音を鳴らす方法がいまだにわからないとのこと。

 これまでパパセンセイ氏は『ドラクエ3』以外にも、VBAを使わずにExcelで「スライドパズル」『マインスイーパー』を作っており、次はVBAを使わない『テトリス』に挑戦するという。はたして次はどのような仕様になるのか、パパセンセイ氏の動向に注目といえそうだ。

ライター/福山幸司

パパセンセイ氏による「ExcelでVBAを使わないでドラクエ3を再現する」ブログ投稿はこちら
ライター
福山幸司
85年生まれ。大阪芸術大学映像学科で映画史を学ぶ。幼少期に『ドラゴンクエストV』に衝撃を受けて、ストーリーメディアとしてのゲームに興味を持つ。その後アドベンチャーゲームに熱中し、『この世の果てで恋を唄う少女YU-NO』がオールタイムベスト。最近ではアドベンチャーゲームの歴史を掘り下げること、映画論とビデオゲームを繋ぐことが使命なのでは、と思い始めてる今日この頃。
Twitter:@fukuyaman

電ファミニコゲーマー

「ドラクエ」をもっと詳しく

「ドラクエ」のニュース

トピックス

BIGLOBE
トップへ