ニュース
» 2020年11月21日 20時30分 公開

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

作者のパパセンセイさんにもお話を聞きました。

[オピオンねとらぼ]

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

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



ExcelでVBAを使わないでドラクエ3を再現してみた

Excelでドラクエ ちゃんと歩けるフィールド画面

Excelでドラクエ 戦闘突入時のアニメーションも

Excelでドラクエ モンスターとのバトルもそのまま

Excelでドラクエ 動画後半にはカイル君も登場

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


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

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


Excelでドラクエ これが散布図。与えた数値に応じて青い点が何カ所かに打たれています(パパセンセイさんのブログより)

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

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


Excelでドラクエ 大体均一な正方形になるように調整した散布図

Excelでドラクエ この記事用に作った力作を点と置き換えてみました。これをもっと精密に行えば、正方形の画像の集合でゲーム画面を表現できます

Excelでドラクエ 上の妙なイラストで敷き詰めた散布図の1カ所だけ数値を変更。画像が1枚だけ右へ移動しています

Excelでドラクエ 散布図上に打つ点(=画像)の候補をあらかじめ用意しておいて、それらを反映させることでゲーム画面を表現しています(パパセンセイさんのブログより)

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


無限ループでアニメーション

 ただ、Excelは基本的に何かしらの入力が行われたときにだけ数値を計算したり、数値をもとにした散布図への反映を行ったりするソフトです。散布図に画像を配置しても、何も入力しないままでは勇者は棒立ちのまま。ここからゲームを動かすためにはもう一工夫が必要です。

 そこでパパセンセイさんは“循環参照”、言い換えれば“無限ループ”を利用しました。例えば「X=X+1」という計算をさせようとすると、計算を行うたびにXが1ずつ増えていくことになります。通常はこうなると警告が出るのですが、設定で警告を出ないようにして、F9キー(押すたびに再計算を行う)を押しっぱなしにすれば、時間に応じてXが1ずつ増えていく“カウンタ”が完成。これであとはカウンタの数字に合わせて画像を置き換えるようにすれば、アニメーションなどの処理ができるわけです。意外と力技だった。


Excelでドラクエ 無限ループする計算は、通常ならこういった警告がでます

Excelでドラクエ 例えば勇者の足踏みアニメーションは、カウンタの10の位を参照することで画像を置き換えています(パパセンセイさんのブログより)

VBAを使わずExcelだけで疑似プログラミング

 さて、これで画像の表示やアニメーションは可能になりましたが、ここからゲーム的な動きをさせるには、やはりプログラミング的な動作が必要になってきます。パパセンセイさんはここでVBAを使わず、Excelだけで“疑似プログラミング”ができる環境を作り上げました。


Excelでドラクエ 解説用に用意された、プログラムのフリをするExcel(パパセンセイさんのブログより)

 ここは細かく説明すると非常に長くなるのですが、ものすごく簡単に言ってしまえば、行ごとに「ステップ数」と「処理させたい内容」と「次に進むステップ数」を設定しておき、「その行の処理を終えたら次の行の処理を行う」という仕組みです。もちろん、ただ単に上から下に流れるだけでなく、処理に応じて「次に進むステップ数」の数字を書き換えれば、途中の処理を飛ばしたり、戻って処理をやり直したりといったことも可能。言うなれば、Excel自身が自分に指示を出している状態になり、あとはこれを複雑に組み合わせることで、ほぼプログラミングと同じような動きを(VBAを使わず)関数だけで再現できるというわけです。実はこここそが今回の挑戦の一番すごいところなのですが、もっと詳しく知りたい人はパパセンセイさんのブログをどうぞ。


Excelでドラクエ 次に処理する行を別途用意しておけば、処理を小分けにできるため見やすいプログラム(のようなExcel)にできるそうです(パパセンセイさんのブログより)

 さて、これで「画像の表示」「循環参照によるカウンタ」「セルを使った疑似プログラミング」という“ゲーム作りの道具”がそろったことになります。こうなってしまえば、もはや「ドラクエ3」に限らず、理論的にはほぼどんなゲームでも作ることが可能。あとはひたすら絵とプログラムを書いて組み合わせていけば……「ドラクエ3」の完成というわけです。ただ、パパセンセイさんによれば「唯一出来ないのが音を出すこと」で、VBAを使わず自由に音を鳴らす方法だけはいまだに分からないそうです。


Excelでドラクエ 実際に使われている戦闘用処理の一部(パパセンセイさんのブログより)

 ネット上ではこの、すさまじいまでの“力技”による「ドラクエ3」再現に対し、「Excelの懐の深さなのか作者の狂気なのか判別がつかん」「久しぶりに『才能の無駄遣い』タグを付けたくなる突き抜けたのを見てしまった」など惜しみない称賛が寄せられることに。なお、今回の挑戦で実質どんなゲームでも作れるようになったパパセンセイさんですが、次は「テトリス」に挑戦するとブログを締めくくっており、既に着手をしている様子です。



 最後に、なぜExcelで「ドラクエ3」を再現しようとしたのかなど、パパセンセイさんからメッセージをいただくことができました。

―― そもそもなぜExcelで、しかもVBAも使わずに「ドラクエ3」を作ろうと思ったのでしょうか。

パパセンセイさん:もともとExcelの機能や関数の勉強をしていたのですが、一つずつ機能を確かめるだけでは面白くなく定着もしませんでした。そこで目標として、ゲームを作れば楽しく学べるのではないかと思ったのがExcelでゲームを作り始めたきっかけです。課題があれば、その課題を解決するという目的を持って機能を隅から隅まで探すことになるので、とても効果的な勉強方法になっていると感じています。出来上がったものを私の子どもに遊んでもらうのも楽しみですね。

―― ブログを見ると、これまでにも簡単なゲームは再現されていたんですね。今回特に苦労したのはどのあたりでしたか。

パパセンセイさん:「ドラクエ」はこれまで作成した他のゲームより処理や分岐が複雑で、正直ギブアップしようと思っていました。Excelの機能を上から下までボタンを1つずつクリックしては動きを確認する作業を2〜3周して、ようやくたどり着いたのが記事のような機能の組み合わせです。

―― よく完成にこぎつけましたね……。

パパセンセイさん:平日の夜2時間程度しか作業できず、予想外に大変だったのでくじけそうになりました。また、課題に対しゴールが見えるとやる気がなくなる性格なので、途中で手を止めてしまうのでは? という懸念もありました。毎日Twitterに進捗(しんちょく)を報告して、皆さんの反応をいただけたのが最後までやる気を維持できた要因ですね。フォロワーの皆さんには感謝です。


(C)1988, 2019 ARMOR PROJECT/BIRD STUDIO/SPIKE CHUNSOFT/SQUARE ENIX All Rights Reserved.




Copyright © ITmedia, Inc. All Rights Reserved.

昨日の総合アクセスTOP10
  1. /nl/articles/2311/27/news041.jpg 大好物のエビを見せたらイカが豹変! 姿を変えて興奮する姿に「怖い」「ポケモンかと思った」
  2. /nl/articles/2311/28/news172.jpg バイクでケーキを持って帰ったら…… ミュージカル俳優、思わぬ形になったケーキに「見たことないほどズタボロ」
  3. /nl/articles/2311/25/news015.jpg 道路脇のパイプ穴をのぞいたら大量の…… 思わず笑ってしまう驚きの出会いに「集合住宅ですね」の声
  4. /nl/articles/2311/27/news095.jpg 『ちいかわ』通称“島編”が最終話へ 絶望色が強すぎて阿鼻叫喚 想像に任せるオチに“存在しない劇場版”を幻視する読者が続出
  5. /nl/articles/2311/27/news024.jpg 葛藤の末、野良の黒猫親子を保護して1カ月後…… 幸せを見つけた家族の光景に「本当に良かった」「癒やされます」
  6. /nl/articles/2311/28/news037.jpg 愛犬の大切なおもちゃを洗濯したら→「お友達が……!」 悲しい鳴き声をあげる姿に「家の子も一緒だ」「健気で癒されます」
  7. /nl/articles/2311/27/news076.jpg ミキ亜生、駅で出会った“謎のおばさん”に恐怖「めっちゃ見てくる」 意外な正体にツッコミ殺到「おばさん呼びすんな」「マダム感ww」
  8. /nl/articles/2311/27/news093.jpg 『キン肉マン』ゆでたまご・嶋田、ヘルプマーク使用を報告も…… 「正義はないのかこの日本」理解の低さに苦言
  9. /nl/articles/2311/28/news032.jpg 物理学を理解しているハムスター、回し車で遊びたい姉妹へのかわいいイジワルが「強い意志を感じる…」と話題に
  10. /nl/articles/2311/27/news106.jpg エド・はるみ、連日ハードな研究で生活も激変 “18種類おかずの手作り弁当”に影響「数と彩りも無くなり」「忙しく時間がなさすぎて」
先週の総合アクセスTOP10
  1. 大好物のエビを見せたらイカが豹変! 姿を変えて興奮する姿に「怖い」「ポケモンかと思った」
  2. 「3カ月で1億円」の加藤紗里、オーナー務める銀座クラブの開店をお祝い “大蛇タトゥー”&金髪での着物姿に「極妻感が否めない」
  3. 愛犬と外出中「飼いきれなくなったのがいて、それと同じ犬なんだ。タダで持ってきなよ」と言われ…… 飼育放棄された超大型犬の保護に「涙止まりません」
  4. ミキ亜生、駅で出会った“謎のおばさん”に恐怖「めっちゃ見てくる」 意外な正体にツッコミ殺到「おばさん呼びすんな」「マダム感ww」
  5. 永野芽郁、初マイバイクで憧れ続けたハーレーをゲット 「みんな見ろ私を!」とテンション全開で聖地ツーリング
  6. 道路脇のパイプ穴をのぞいたら大量の…… 思わず笑ってしまう驚きの出会いに「集合住宅ですね」の声
  7. 柴犬が先生に抱っこしてほしくて見せた“奥の手”に爆笑&もん絶! キュンキュンするアピールに「あざとすぎて笑っちゃった」
  8. 病名不明で入院の渡邊渚アナ、1カ月ぶりの“生存報告”で「私の26年はいくらになる?」 入院直後の直筆日記は荒い字で「手の力も入らない」
  9. 小泉純一郎元首相、進次郎&滝クリの第2子“孫抱っこ”でデレデレ笑顔 幸せじいじ姿に「顔が優しすぎ」「お孫さんにメロメロ」
  10. デヴィ夫人、16歳愛孫・キランさんが仏社交界デビュー 母抜かした凛々しい高身長姿に「大人っぽくなりました」
先月の総合アクセスTOP10
  1. 病名不明で入院の渡邊渚、3カ月ぶりSNS更新で「表情に違和感」「そこまで酷い状況とは」 ベッド上で「人生をやり直すこともできません」
  2. 動かないイモムシを助けて1年後のある日、窓の外がありえない光景に 感動サプライズが「アゲハ蝶の恩返し」と話題
  3. 「スカートはないわ」「常識無視の番組でびっくり」 山下リオ、登山中の服装批判巡って反論「私が叩かれているようですが」
  4. 「千鳥」大悟、大物美人俳優にバッグハグされた表情に注目集まる 「マジ照れのお顔ですね」「でれでれやん」
  5. 渋谷駅「どん兵衛」専門店が閉店 店内で見つかった書き置きに「店側の本音が漏れている」とTwitter民なごむ
  6. 神田愛花アナ、拡散された女子中学生時代ショットにスタジオ騒然「ヤバい」→“アネゴ感”でSNSもざわつく
  7. 「生きててよかった」 熊谷真実、美麗な初“袋とじ”グラビアで63歳の色気全開 真っ赤なドレス着こなす姿に「すごいプロポーション」
  8. 尻尾がちぎれた小さな子猫をサーキット場で保護→1年後“ムキムキ最強生物”に 驚異の成長ビフォーアフターに注目集まる
  9. 双子モデル・吉川ちえ、美容整形後のひたいが“コブダイ”状態へ 多額の費用要した修正手術で後悔も「傷がこんなに残りました…」
  10. 「犬ぐらい大きくなれよ」と願い育てた保護子猫が「まさか本当に犬ぐらいになるとは」 驚異の成長ビフォーアフターが192万表示!