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.
-
「食中毒出すつもりか」 人気ラーメン店の代表が“スシローコラボ”に激怒 “チャーシュー生焼け疑惑”で苦言 運営元に話を聞いた
-
授業参観のたびに「かっこいい」と言われた父が10年後…… 「時間止まってる?」驚愕の姿が1100万再生 大バズリしたモデルに話を聞いた
-
人気日本人TikToker、タイ滞在中に交通事故で意識不明の重体 「サトミを信じてる」家族と友人が詳細や現状を報告
-
元“顔ぽっちゃり”のグラドル、ダイエットは「1番の整形」! 衝撃の“別人級ビフォーアフター”で遂げた「ミラクル変身」
-
「諦めてて草」 マクドナルドが「大切なお知らせ」投稿→“あまりの内容”に騒然…… そして予想外の展開に
-
天皇皇后両陛下、“195センチのタレント”とのショットに注目 そのインパクトに「遠近感バグった」「デカすぎて……」
-
医師「これは取らなあかん」→即オペ “体重120kg”彦摩呂、“切除手術”を報告 顎に大きなガーゼを貼った姿を見せる
-
子猫がちんまり眠る“猫鍋”→3年後…… 思わず声が出るビフォーアフターに「同一猫さん!?」「うわああああ!」
-
「震えが止まらない」何気なく手に入れたディスクの中身に反響 「ロマンがありますね」「文化財ですわ」
-
夫妻がお互いを撮影した1枚を比較すると…… 歴然の“差”に「おなか痛いwww」「ここまできたら逆に才能アリ」【海外】
- 「泣いても泣いても涙が」 北斗晶、“家族の死”を報告 「別れの日がこんなに急に来るなんて」
- 「驚愕の修理代」の金額明かす お見送り芸人しんいち、約2000万円の愛車が故障で「終わった」「お金がないです」
- プロ警鐘「エアコン、夏が終わったらコレやらないと……」が530万再生 水漏れや“内部のスライム化”を防ぐコツが目からウロコ
- “医療ミス”で両頬に大きな火傷 「鏡見るたび涙が止まらない」フォロワー24万人のモデルが悲痛の声 「周りの目が怖い」
- スーパーで買ったニンニクを土に植えると…… ぼこぼこ増える驚きの簡単栽培に「たくさん出来て最高」「植えてみよう」
- 「これは合格出せない」 リンガーハットがジョブチューン挑戦→“まさかの不合格メニュー2品”に騒然
- 「全く動けません」清水良太郎がフェスで救急搬送 事故動画で原因が明らかに「独りパイルドライバー」「これは本当に危ない!!」
- 「本当に56歳…?」 “王騎”大沢たかお、“腕と足の太さがほぼ同じ”の圧倒的肉体を披露 「かっこよすぎる」
- モグラに似てる“ヤベぇ虫”を、2カ月育ててみたら…… 感動の展開に「これはマジで凄い」「学術発表レベル」
- カインズの「撒くだけで防草できる砂」本当かどうか検証してみたら…… 驚きの結果に「魔法のような砂、買いに行きます!」「これさえあれば」
- “緑の枝付きどんぐり”をうっかり持ち帰ると、ある日…… とんでもない目にあう前に注意「危ないところだった」
- 「しまむら」に行った58歳父→買ってきたTシャツが“まさかのデザイン”で3万いいね! 「同じ年だから気持ちわかる」「欲しい!」
- 友人に「100円でもいらない」と酷評されたビーズ作家、再会して言われたのは…… 批判を糧にした作品が「もはや芸術品」と490万再生
- 高校3年生で出会った2人が、15年後…… 世界中が感動した姿に「泣いてしまった」「幸せを分けてくださりありがとう」【タイ】
- 「ま、まじか!!」 68歳島田紳助、驚きの最新姿 上地雄輔が2ショット公開 「確実に若返ってる」とネット衝撃
- 荒れ放題の庭を、3年間ひたすら草刈りし続けたら…… 感動のビフォーアフターに「劇的に変わってる」「素晴らしい」
- 食べた桃の種を土に植え、4年育てたら…… 想像を超える成長→果実を大収穫する様子に「感動しました」「素晴らしい記録」
- 「天才!」 人気料理研究家による“目玉焼きの作り方”が目からウロコ 今すぐ試したいライフハックに「初めて知りました!」
- 「エグいもん売られてた」 ホビーオフに1万1000円で売られていた“まさかの商品”に「めちゃくちゃ欲しい」
- 義母「お米を送りました」→思わず二度見な“手紙”に11万いいね 「憧れる」「こういう大人になりたい」と感嘆の声