技術は私たちの力。技術は私たちの楽しみ。 Creative Developer BLOG 技術部ブログ
Technology is our strength. Technology is what we enjoy.

エクセルでゲームを作ってみた

2018-09-15 勉強会

エクセルでゲームを作りたい

エクセルでゲームを作っている動画を見ていて、いつか私も作ってみたい。どうやるんだろ。

くらいに考えていました。

今回勉強会にお誘いいただいたのをきっかけに、実際に作ってみることにしました。

でもどうやって作るんだろう・・・?

動画のコメントを見るとちらほら書かれている「VBA」

これはいったい何なのか。
調査から始めました。

VBAとは

定型業務の自動化、省力化。例えば、毎日更新されるデータを出社してからいちいち手入力し、手順を入力して計算させていた業務を、夜の間に自動でソフトを起動し、データを読み込ませ、朝までに処理させておくことができる。またマクロ記録/再生という操作手順の記録/再生機能を使って、プログラムに関する知識が少ないユーザーでも、ある程度の定型業務の自動化を行うことができる。
※wikipedia参照

らしい。
とにかく、ゲームを作るためにはこれを使わないといけないみたいなので、勉強することにしました。

お勉強開始

とはいっても、どこになにをすれば良いのかも、全く無知な状態の私。
1から勉強できるサイトを探していたところ、こちらのサイトを発見しました。

ドットインストール

https://dotinstall.com/
なんと、映像付き、解説付き。
細かく分かりやすく、しかも3分で説明してくれます。

ちょっと空いた時間や、休み時間にも勉強ができて、とても助かりました。

業務にも生かせる!

にも、というか、おそらく本来の使い方はこっちです。
私の仕事はエクセルを使ったルーチン作業がとても多く、それらの単純作業をVBAを使って自動化してみました。
そしたら、なんと1ヶ月の内の約1週間分の業務が自動化されてしまいました。

すごい!今までの苦労はなんだったんだ!

そんなわけで、ゲーム作り開始

4月。
まず、私はポケモンを作ろうと思い、参考になりそうな本を買ってまた勉強を開始。

今までは基礎と、業務で使うようなものしか知りませんでしたが、ゲームとなると使うものが全然違って苦戦しました。

特にAPI。

エクセルでゲームを作るのなら、APIの知識は不可欠でした。
ポケモンの主人公を動かせたり

ポケモンの主人公を動かせたり

マサラタウンを作ったり

マサラタウンを作ったり

ここまでは順調でした。2カ月かかりましたが・・・

この後は町をスクロールさせて、主人公を歩かせる予定でしたが、まさかのハプニング。

どうしても動かない。
エラーでなくて、重くて動かない様子。
本のサンプルも動かない。

パソコンが64bitだからか、スペックが足りないのか、どこかでループでも起きてるのか。
なんとか動かそうと試行錯誤して、ついに本を疑い、32bit高スペックPCを持っている知人に動作確認してみてもらったところ

やはり重くて動かない!

A〇AZONレビューにも同じようなことが書かれていて、私もそっとレビューを追加。

気を取り直して、別のゲームを作ろう!

そもそもVBAでRPGを作るのは、とても大変のようです。
もう少し知識がついたら再チャレンジしたいです。

というわけで、別のゲームを作ることにしました。

参考サイトを探していたら、ものすごいサイトを発見。

猫とエクセル

http://www.geocities.co.jp/excelgame/
コードの説明もたくさん書いてくれてて、すごく分かりやすい!
アクションゲーム、シューティングゲーム、ボードゲームなどなどたくさん作成されています。

本も出版されているようです。

とにかくすごい!!

こちらのゲームをお借りして、改造しました。

まずは材料作りから。

メディバンというアプリのドットツールを使って絵を描いて

@iconというフリーソフトで拡張子を.icoに変換

そして音楽。

そういえば私ピアノやっているので、BGMに使うために「スーパーマリオワールド アスレチックのテーマ」を弾いて録音しました。

楽譜は、まらしぃさん版を弾かせていただきました!

BGMをループさせるために使ったソフトは、以前檜垣さんの勉強会で紹介していた、ガレージバンド

檜垣さんの勉強会

http://www.interpark.co.jp/dev/p0183.htm
ガレージバンドについてはこちら↑

一応演奏動画も・・・笑

録音したのとは別ですが、動画も撮ってもらいました!

スーパーマリオワールド アスレチック

完成!

まだまだ材料は足りないですが、完成とします!


こんな感じ

最後に

今回スーパーマリオワールドを作ってみましたが、まだまだ出来ていない要素はたくさんあって、

ほんとはキノコ、ドカン、ファイヤーフラワー等々
マリオの動作も少なく、敵も少ししか作れず、全体のほんの一部しか作ることが出来ませんでした。

まだ01-01ステージなのに、こんなにたくさん詰め込んでいてNintendoさんは本当に凄い!素敵!


VBAは、日々エクセルで事務作業する人には、すごく強力な武器になるのではないでしょうか。
定型業務が多い方に強くお勧めします。
おそらく、ゲームを作るものではないのかなと感じました。


でもいつかポケモンリベンジします。
記事一覧へ