Excel上で「ドラクエ3」を再現した勇者に「最大の変態」「控えめに言って天才」と称賛 一体どうやって?

ねとらぼ / 2020年11月21日 20時30分

写真

信じられないと思いますがExcel上で動いています

 表計算ソフトの「Excel」を使い、なおかつVBA(Visual Basic for Applications)を使用することなく「ドラゴンクエストIII」を再現する――。そんな信じ難い動画と、その作り方を解説したブログに「今まで見たExcel職人の中でも最大の変態」「控えめに言って天才」といった声が寄せられています。

 この偉業を成し遂げたのは、ブログ「パパセンセイ365」のパパセンセイさん。投稿された動画はカクつきこそあるものの、どう見ても「ドラクエ3」。……と思いきや、後半ではMicrosoft Officeのヘルプで有名なイルカの“カイル君”も登場するなど、遊び心あふれるものになっています。

 VBAとは、Excel上で動かすことができるプログラミング言語のこと。これを使えばちょっとしたゲームのようなものも作れるのですが、パパセンセイはあえてこれを使いませんでした。一体どうやって、VBAを使わずにExcelで「ドラクエ3」を再現したのか、ここではブログを元に、プログラムやExcelの知識がなくても可能な限り理解できるように解説してみました。

●「散布図」を使って強引にゲーム画面を作る

 ブログではまず、「散布図」を使用したゲーム画面の再現について触れています。散布図とは与えられたデータを“点”で表記するグラフのこと。棒グラフや折れ線グラフに対して“点グラフ”と呼ばれることもあります。

 通常は与えられた数値を“点”で表示する散布図ですが、点の代わりに「任意の画像」に置き換えることもできます。パパセンセイさんは別途、16×16ドットのマップチップや勇者の画像などを用意して散布図上に配置。これで取りあえず動かないゲーム画面ができました。

 そしてここからが散布図の本領発揮。散布図はグラフですから、数値を変えれば点(=16×16ドットの画像)の位置が移動します。これを利用して、画面のスクロールやキャラクターの移動、戦闘画面への移行などを表現しているとのこと。

 加えて、これを利用すればフォントも扱うことができます。個々の点には“ラベル”を付けることができ、このラベルも散布図上には表示可能。つまり、黒一色の画像を用意して“こ”“う”“げ”“き”のラベルをそれぞれ付けておけば、“こうげき”という戦闘コマンドが表示できるわけです。これも同じように、数値を変えれば文字を書き換えたり、1文字ずつ滑らかに表示したりすることができます。

この記事に関連するニュース

トピックスRSS

ランキング