Excel上で「ドラクエ3」を再現した勇者に「最大の変態」「控えめに言って天才」と称賛 一体どうやって?
作者のパパセンセイさんにもお話を聞きました。
表計算ソフトの「Excel」を使い、なおかつVBA(Visual Basic for Applications)を使用することなく「ドラゴンクエストIII」を再現する――。そんな信じ難い動画と、その作り方を解説したブログに「今まで見たExcel職人の中でも最大の変態」「控えめに言って天才」といった声が寄せられています。
この偉業を成し遂げたのは、ブログ「パパセンセイ365」のパパセンセイ(@10mikiya)さん。投稿された動画はカクつきこそあるものの、どう見ても「ドラクエ3」。……と思いきや、後半ではMicrosoft Officeのヘルプで有名なイルカの“カイル君”も登場するなど、遊び心あふれるものになっています。
VBAとは、Excel上で動かすことができるプログラミング言語のこと。これを使えばちょっとしたゲームのようなものも作れるのですが、パパセンセイはあえてこれを使いませんでした。一体どうやって、VBAを使わずにExcelで「ドラクエ3」を再現したのか、ここではブログを元に、プログラムやExcelの知識がなくても可能な限り理解できるように解説してみました。
「散布図」を使って強引にゲーム画面を作る
ブログではまず、「散布図」を使用したゲーム画面の再現について触れています。散布図とは与えられたデータを“点”で表記するグラフのこと。棒グラフや折れ線グラフに対して“点グラフ”と呼ばれることもあります。
通常は与えられた数値を“点”で表示する散布図ですが、点の代わりに「任意の画像」に置き換えることもできます。パパセンセイさんは別途、16×16ドットのマップチップや勇者の画像などを用意して散布図上に配置。これで取りあえず動かないゲーム画面ができました。
そしてここからが散布図の本領発揮。散布図はグラフですから、数値を変えれば点(=16×16ドットの画像)の位置が移動します。これを利用して、画面のスクロールやキャラクターの移動、戦闘画面への移行などを表現しているとのこと。
加えて、これを利用すればフォントも扱うことができます。個々の点には“ラベル”を付けることができ、このラベルも散布図上には表示可能。つまり、黒一色の画像を用意して“こ”“う”“げ”“き”のラベルをそれぞれ付けておけば、“こうげき”という戦闘コマンドが表示できるわけです。これも同じように、数値を変えれば文字を書き換えたり、1文字ずつ滑らかに表示したりすることができます。
無限ループでアニメーション
ただ、Excelは基本的に何かしらの入力が行われたときにだけ数値を計算したり、数値をもとにした散布図への反映を行ったりするソフトです。散布図に画像を配置しても、何も入力しないままでは勇者は棒立ちのまま。ここからゲームを動かすためにはもう一工夫が必要です。
そこでパパセンセイさんは“循環参照”、言い換えれば“無限ループ”を利用しました。例えば「X=X+1」という計算をさせようとすると、計算を行うたびにXが1ずつ増えていくことになります。通常はこうなると警告が出るのですが、設定で警告を出ないようにして、F9キー(押すたびに再計算を行う)を押しっぱなしにすれば、時間に応じてXが1ずつ増えていく“カウンタ”が完成。これであとはカウンタの数字に合わせて画像を置き換えるようにすれば、アニメーションなどの処理ができるわけです。意外と力技だった。
VBAを使わずExcelだけで疑似プログラミング
さて、これで画像の表示やアニメーションは可能になりましたが、ここからゲーム的な動きをさせるには、やはりプログラミング的な動作が必要になってきます。パパセンセイさんはここでVBAを使わず、Excelだけで“疑似プログラミング”ができる環境を作り上げました。
ここは細かく説明すると非常に長くなるのですが、ものすごく簡単に言ってしまえば、行ごとに「ステップ数」と「処理させたい内容」と「次に進むステップ数」を設定しておき、「その行の処理を終えたら次の行の処理を行う」という仕組みです。もちろん、ただ単に上から下に流れるだけでなく、処理に応じて「次に進むステップ数」の数字を書き換えれば、途中の処理を飛ばしたり、戻って処理をやり直したりといったことも可能。言うなれば、Excel自身が自分に指示を出している状態になり、あとはこれを複雑に組み合わせることで、ほぼプログラミングと同じような動きを(VBAを使わず)関数だけで再現できるというわけです。実はこここそが今回の挑戦の一番すごいところなのですが、もっと詳しく知りたい人はパパセンセイさんのブログをどうぞ。
さて、これで「画像の表示」「循環参照によるカウンタ」「セルを使った疑似プログラミング」という“ゲーム作りの道具”がそろったことになります。こうなってしまえば、もはや「ドラクエ3」に限らず、理論的にはほぼどんなゲームでも作ることが可能。あとはひたすら絵とプログラムを書いて組み合わせていけば……「ドラクエ3」の完成というわけです。ただ、パパセンセイさんによれば「唯一出来ないのが音を出すこと」で、VBAを使わず自由に音を鳴らす方法だけはいまだに分からないそうです。
ネット上ではこの、すさまじいまでの“力技”による「ドラクエ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.
関連記事
- ファミコンなのにヌルヌル回転縮小、とある自作ゲームに「意味わからない」「すげぇ」と称賛の声
「古いハードは触っていて楽しい」との思いからファミコンで作ったそうです。 - アトラスなのにちゃんと原作尊重してて偉い! 令和によみがえった「真・女神転生III」、歴年のファンから見た良い点・ダメな点
あと一歩だけ本気を出して欲しかった、という部分はあるものの……オコッテナイデスヨ。 - 水平思考(ねとらぼ出張版):「ファイナルファンタジーらしさ」とは飛空艇でありシドであり大して強くないアルテマである
なぜFFシリーズの飛空艇は「速い」のか? - 懐かしの「ゲーム&ウオッチ」が復活! スーパーマリオ35周年記念コラボで
「スーパーマリオブラザーズ」「スーパーマリオブラザーズ2」が遊べる! - 「桃鉄」最新作は11月19日発売 早期購入特典にファミコン版「スーパー桃太郎電鉄」
関連リンク
Copyright © ITmedia, Inc. All Rights Reserved.
-
【追記あり】夫に「油買ってきて」と頼んだのに、手ぶらで帰宅した理由はまさかの…… とんでもないオチに「やめてww」「久しぶりに大爆笑」
-
1歳息子の“はじめての寝落ち”が140万再生 10歳兄のやさしい行動に「なにこの平和でかわいい世界」「最高に癒やされる」と絶賛の声
-
「予言者いた」「先見の明」 大谷翔平選手&真美子さんの結婚を2021年時点で予言(?)している投稿が発掘され話題に
-
北海道内の移動距離を本州と比較したら…… 感覚がバグるマップ画像に「これが北海道」「大きすぎる」
-
生後1カ月の赤ちゃん「ぼく泣かないもんねっ」 うるうるおめめとへの字口が「はぁ〜たまらん!」「ぐぁぁああああっっ」取り乱すほどかわいい
-
「一番イチャイチャしているように見える」 大谷選手が公開した写真でドジャース山本由伸選手の“手つなぎ”?が話題に 「そっちに目が行く」
-
「妻の服を勝手に着て脱げなくなったムキムキ夫とデカワンコ」に爆笑の嵐 シュールすぎる状況が500万表示突破
-
“おしりが5日で変わる”トレーニング! 「明日からやるか」「1日1回だけなら続けられる」と累計3000万再生突破
-
大好きなボールを100個プレゼントされたときのワンコの表情に「放心ww」「引いてない?」 直視できない姿がSNSで話題
-
赤ちゃんが妙に静かだと思ったら…… 思わぬものへの“真剣モード”に笑顔になる人続出「たれたもちもちほっぺたまらん!」
- 水道検針員から直筆の手紙、驚き確認すると…… メーターボックスで起きた珍事が300万再生「これはびっくり」「生命の逞しさ」
- 昭和時代に“無かった物”が写っている……? 細かすぎて伝わらない「未来から来たことがバレた写真」に6万いいね
- 「マジで汚い」「こんなもんです」 辻希美、“大散乱”のリビングと“新”キッチンの差を公開し共感の声集まる
- 双子の赤ちゃん、姉が全力でくしゃみして…… 被害にあった妹の反応に「生後3ヶ月でドリフのコントw」「めちゃどっちもカワイイ」と絶賛の声
- 「よくも病院に連れてきたな……」とにらむ猫、先生が来た瞬間 驚きの変貌に爆笑の声「これがほんとの猫かぶり」
- 急に片耳がたれたワンコ、慌てて病院にいった結果…… 「こんな可愛い診断結果初めて見たよw」「笑っちゃった」と反響
- 「何羽いる?」一見普通の“草むら”、よく見ると……? 思わず絶叫まちがいなしの1枚に「どっさりいるw」「まさに迷彩!」
- 店員に「この子は懐きませんよ」と言われたチンチラ、家に来て3日後…… 人を信じる姿に「愛が伝わったんですね」
- 元SDN48光上せあら、目を離した隙に……子どもが商品を触り“全買取” 「子連れママに厳しすぎないか?」
- 柴犬を子どものように育てた結果、人間みたいな行動をするようになった 何気ない幸せな日常に「完全に家族の一員」「全部が愛くるしい」
- 釣れたキジハタを1年飼ってみると…… 飼い主も驚きの姿に「もはや、魚じゃない」「もう家族やね」と反響
- パーカーをガバッとまくり上げて…… 女性インフルエンサー、台湾でボディーライン晒す 上半身露出で物議 「羞恥心どこに置いてきたん?」
- “TikTokはエロの宝庫だ” 女性インフルエンサー、水着姿晒した雑誌表紙に苦言 「なんですか? これ?」
- 1歳妹を溺愛する18歳兄、しかし妹のひと言に表情が一変「ちがうなぁ!?」 ママも笑っちゃうオチに「かわいいし天才笑」「何度も見ちゃう」
- 8歳兄が0歳赤ちゃんを寝かしつけ→2年後の現在は…… 尊く涙が出そうな光景に「可愛すぎる兄妹」「本当に優しい」
- 1人遊びに夢中な0歳赤ちゃん、ママの視線に気付いた瞬間…… 100点満点のリアクションにキュン「かわいすぎて鼻血出そう!」
- 67歳マダムの「ユニクロ・緑のヒートテック重ね着術」に「色の合わせ方が神すぎる」と称賛 センス抜群の着こなしが参考になる
- “双子モデル”りんか&あんな、成長した姿に驚きの声 近影に「こんなにおっきくなって」「ちょっと見ないうちに」
- 犬が同じ場所で2年間、トイレをし続けた結果…… 笑っちゃうほど様変わりした光景が379万表示「そこだけボッ!ってw」
- 新幹線で「高級ウイスキー」を注文→“予想外のサイズ”に仰天 「むしろすげえ」「家に飾りたい」