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