プログラミング初心者がエクセルのみでゲームを作る方法について紹介します!
- エクセルを使ったプログラミングでゲームを自作できるって本当?
- プログラミング初心者でもかんたんに作成できるゲームを知りたい!
こんな疑問にお答します。
エクセルというと表計算のイメージが強いと思います
本稿では、
- エクセルでゲームを自作してみたい方
- かんたんなゲームから覚えて徐々にスキルアップしたい方
に向けて、
- エクセルを使ったゲームの作り方
- ゲーム開発におすすめのプログラミング言語
- ゲーム開発におすすめの学習方法
をご紹介します。
かんたんなゲームを自作してみたい方はもちろん、将来ゲームプログラマーを目指している方はぜひご覧ください。
目次
エクセルを使ったプログラミングでゲームを作る方法
エクセルでプログラミングゲームを作る方法について解説します。
ExcelとはMicrosoft社が提供するアプリケーションです。
主に、表計算やデータベース作成を始めとした機能を持つことから、個人・企業問わずさまざまなシーンで使用されていますね。
「エクセルは表計算のアプリケーションなのにゲームが作れるの?」と感じる方も多いのではないでしょうか。
あのゲームもエクセル(VBA)プログラミングで作成できる
エクセルに搭載されている「VBA」を活用することでゲームの作成が可能です。
ここでは、VBAで作成できるゲームの例をご紹介します。
ブロック崩し
まずは定番のブロック崩しゲームです。
例えば、ブロック崩しゲームを作成する際は、コンピュータに次のような命令を指定する必要があります。
- スタートボタンを押すとゲームが開始する
- ブロックを崩す
- ラケットを左右に動かせる
- ラケットにボールが当たると跳ね返る
- ボールを壁で反射させる(壁の外に出ない)
- すべてのブロックが消えたらゲーム終了
ブロック崩しゲームは、シンプルながら色々な処理が必要です。
出典:ブロック崩しゲームを作る(新興出版社啓林館 情報授業実践記録)
オセロゲーム
続いてはオセロゲームです。
エクセルのセルをマスに見立てて碁盤を作成できます。
オセロゲームを作成するまでのステップとしては
- オセロの準備(碁盤、石の作成)
- 碁盤に石を置けるようにする
- 挟んだオセロの石を反転させるようにする
- オセロの数をカウントする
といった流れになります。
特にVBA(プログラミング)に対しては
- 碁盤に石を置けるようにする
- 挟んだ石を反転させる
といった抽象的な言葉は理解できませんので、「それはつまりどういうことか」を別な言葉で論理展開する必要になります。
あくまでもVBAやプログラミングは、命令されたコードを処理するためのツールでしかありません。
出典:【Excel Vba でオセロ】オセロ作成のために必要な考え方と事前準備(プログラミングで遊ブログ)
そもそもVBAとは
VBAでゲームが作れることを解説してきましたが、そもそもVBAとは何か?について説明します。
◎VBAとは・・・
VBAとはVisual Basic for Applicationsの略でExcelやAccessなどで利用できるプログラミング言語の1つです。VBAを使うことで手動で行っている定型的な業務などを自動化させることができたり、独自のフォームなどを作成してExcelをアプリケーションのように見せることなどができます。
引用元:Excel VBA入門
VBAとマクロの違い
よくVBAとマクロを混同されている方がいますので、それぞれの違いを解説します。
マクロとは
エクセルの操作を自動化するための機能のことです。
マクロはエクセルの全機能を操作できます。
操作を記録できるので、その記録データを呼び出すことで操作の自動化ができます。
VBAとは
MicrosoftOfficeに搭載されたプログラミング言語のことです。
VBAを使ったゲームの作成手順
VBAでゲームを作成する際は以下の流れで進めていきます。
- 仕様を検討する(ゲームのルール、見た目など)
- 必要な機能の一覧を作成する
- かんたんな設計を行う
- VBAでコードを記述して挙動を確かめていく
- 挙動にエラーがあれば適宜修正する
例えば、家の建築で考えてみます。
家を建てるのは大工さんですが、大工さんは設計図を見ながら家を組み立てていきます。
設計図なしに家を建てていけば、何かしら不具合が生じるはずです。
つまり、
- 家の設計図=ゲームの仕様書
- 大工=プログラミング
にあたります。
建築の基礎が数mmでもずれていると全体に影響を及ぼすのと同様に、プログラミングもたった1つコードが誤っているだけで正しく動作しません。
いきなりコードを書くことから始めると、あとから機能が足りないことに気づいたり、その機能を入れるためにすでに記述したコードを書き直す必要性も出てきます。
あらかじめ詳細まで仕様を詰めておくことで、コードを一気に書き上げていけるようになります。
エクセル(VBA)でプログラミングゲームを始めるメリット
VBAでゲームを作ることはプログラミング初心者にとってメリットがあります。
主には
- 面倒な環境構築が不要
- 自動化できる
というメリットについて解説します。
面倒な環境構築が不要
エクセルは、現在ほとんどのWindowsPCにイントールされているため、あらためて設定する必要がありません。
それ以外のプログラミング言語の場合は、パソコン内にプログラミング言語を使うための開発環境を構築する必要があります。
特に初心者の場合は、この環境構築からつまずくケースが多いほど、手間が掛かる作業です。
本業の業務自動化ができる
VBAは本来ゲームを作るためのプログラミング言語ではなく、作業を自動化することで効率化を図ることを目的としています。
もし本業でエクセルを利用する機会が多いのであれば、VBAで自動化することで作業時間をはるかに短縮化できます。
実際に、今まで3時間かけていた作業がわずか1分程度でできるようになったという例もあります。
VBAの学習を通じて、
- 「いつもの作業をVBAで自動化できないか?」
- 「あの作業を自動化するためには、このようにしたらよいのではないか?」
と考えられるようになります。
プログラミング初心者がゲームを作るためのおすすめ言語
プログラミング初心者がゲーム作成にあたりどんなプログラミング言語がおすすめなのかを解説します。
VBAでもゲームを自作できますが、本来はゲーム開発のためのプログラミング言語ではありません。
そのため、どうしても作れるものに限界があります。
ステップとしては、
- VBAでプログラミングに触れてみる
- VBAでゲームを自作してみる
- 新しいプログラミング言語にチャレンジする
といった流れで進めると挫折せずに進められます。
プログラミング言語にはさまざまな種類がありますが、ここでは初心者がゲーム開発ができるプログラミング言語を紹介します。
Kotlin
Kotlin(コトリン)は、Android開発の公式言語として正式に採用されているプログラミング言語で、Androidアプリのゲーム開発にも利用されています。
現在海外のスタートアップ企業を中心にKotlinを利用したアプリケーション開発が進んでおり、Slack、Evernote、WordPress、Pinterestなどの世界的有名企業も導入しています。
日本国内ではまだメジャーな言語ではありませんが、Yahoo!・LINE・サイバーエージェントといった企業では、すでに導入されています。
海外のトレンドが日本に到達するまでタイムラグがあります。
Swift
Swift(スウィフト)は、iPhone、iPadなどで有名なApple社が開発したプログラミング言語です。
iOSやMacなどのアプリ開発に利用されています。
そのため、初心者でも扱いやすいプログラミング言語として定評があり、数多くの教育機関がプログラミング教材として導入しています。
Swiftエンジニアの需要は今後さらに伸びると予想されています。
理由としては、
- 国内のiPhoneシェアは4割であるため市場規模がそもそも大きいことと
- 最新アップデートによりiOS以外のWebアプリ開発も可能になったこと
が挙げられます。
Unity
Unity(ユニティ)は、ゲームアプリを開発するためのゲームエンジン(開発環境)です。
初めてUnityに触れる人でもチュートリアルに沿って進めるだけで、1時間程度でシンプルなゲームアプリを作成が可能です。
さらにUnityを使いこなせば、高クオリティの3Dゲームまであらゆる開発ができます。
実際にPS4やXboxなどの3Dゲームの多くがUnityで開発されており、ゲーム開発エンジンの中でトップシェアを誇ります。
プログラミング初心者がゲームを作るおすすめの学習方法
ここからは、プログラミング初心者がゲームを作れるようになるための学習方法を紹介します。
学習方法は大きく分けてふたつあります。
- 費用をなるべく掛けずに自分のペースで学習したい場合は「オンライン学習」
- 多少費用を掛けてでも最短でスキルを身につけたい場合は「プログラミングスクール」
といった違いがあります。
ご自身の目標に合わせて選択してください。
オンライン学習
オンライン学習はインターネット環境があれば、いつでもどこでも学習が可能です。
主な特長は
- いつでも場所を選ばず学習できる
- 豊富なコンテンツの中からテーマを自由に選べる
- 何度も繰り返し学習ができる
- 無料で使えるサービスもある
が挙げられます。
ここではおすすめのオンライン学習サービスを紹介します。
ドットインストール
ドットインストールは、プログラミング学習に特化した動画学習サービスです。
ドットインストールの特長は、
- 445レッスン、6,695本の豊富なレッスン動画
- 動画は1本あたり3分以内
- 無料で観られるコンテンツもある
という点があります。
ゲームプログラミングに関するテーマも豊富に用意されており、
- Unity入門
- iPhoneアプリ開発入門
- Androidアプリ開発入門
など、基礎学習から始めることが可能です。
Udemy
Udemy(ユーデミー)は、教育業界大手のベネッセが運営するオンライン学習プラットフォームです。
- Unityを使ったゲーム開発
- Excel VBAの基本講座
- Androidアプリ開発基礎講座
動画は1本あたりの購入課金制ですが、タイミングによってはセールを行っている場合があるので、費用を抑えた学習が可能です。
エクセルの真髄:鵜原パソコンソフト研究所
画像参照元:エクセルの真髄 鵜原パソコンソフト研究所
エクセルの真髄は、VBA初心者でも基礎から応用まで学べる学習サイトです。
ゲーム開発というよりは、VBAの理解と操作に慣れるための学習サイトとなっています。
「VBAやプログラミングのことがまったく何もわからない。」といった方は、まずはこちらのサイトで基礎を覚えることで、他の学習方法を選択したときにも理解が早まるはずです。
プログラミングスクール
オンライン学習よりも短期間でプログラミングスキルを高めたい方は、プログラミングスクールの受講がおすすめです。
プログラミングスクール受講のメリットは、
- わからないところは現役エンジニアに直接質問できる
- 学習期間とカリキュラムが決まっているためゴール設定がしやすい
- 同レベルの仲間と交流できるためモチベーションが保ちやすい
- 転職サポートがあるので最短でエンジニアに転職できる
といったことが挙げられます。
ここでは、VBAやゲームプログラミング学習に特にオススメのスクールを紹介します。
KENスクール
KENスクールは開校から31年目を迎える老舗のプログラミングスクールです。
そのほかにも、Unityコースやスマートフォンアプリ開発コースなどより実践的なゲームプログラミング学習ができるコースが用意されています。
マンツーマンレッスンに特化しているので、わからない点や不安に感じることはいつでも直接相談可能です。
テックアカデミー
TECH ACADEMY(テックアカデミー)は、複数の学習コースの中から、学習内容・期間などを自由に選択できるオンラインプログラミングスクールです。
受講生の中には、なんと81歳でiPhoneアプリを開発した方もいるようです。
また、全コース転職サポートがついているため、完全未経験からエンジニア転職を実現することが可能です。
プログラミングジャパン
プログラミングジャパンは、パソコン超初心者でも最短1ヶ月でITエンジニアを目指せるプログラミングスクールです。
多くのスマホアプリ開発の現場で導入されているプログラミング言語「Swift」や「Kotlin」を基礎から身につけることが可能です。
どちらの言語も、海外のスタートアップ企業ではメジャーになりつつあり、日本でもこれから需要が増えることが予想されています.
学習の目的は「1つのアプリを完璧に1人で開発できるようになること」としており、学習を通じて自分の力でスマホアプリ(ToDoリストアプリ)の完成を目指します。
未経験からエンジニア転職!
副業・フリーランス転職にも完全対応!
社会人がエンジニア転職するなら
『プログラミングジャパン!』
まずは無料体験レッスンで詳しく話を聞いてみよう!
まとめ|エクセル(VBA)のゲーム開発はプログラミング初心者におすすめ!
この記事ではExcelでゲームを作りたい方に向けて、
- VBAを使ったゲームの例
- VBAを使ったゲームの作成手順
- ゲーム開発におすすめのプログラミング言語
- ゲーム開発におすすめの学習方法
を解説してきました。
またVBAに限らず、さらにほかの言語にもチャレンジしたい方は、オンライン学習サイトやプログラミングスクールの受講がおすすめです。
初心者が始めから高度なゲームを開発するのは難しいため、始めは動画を活用したり、ほかの人が作ったゲームのプログラムを同じように真似てみると理解が早くなります。
ぜひ参考にしてみてください。
プログラミングを始めようか迷っていませんか?
プログラミングを始めてみようと思っても
学習で挫折しないか、職業として生計を立てていけるか不安ではありませんか?
プログラミングジャパンでは
全くの初心者でも最速で安定した収入を得るプログラマーになる為に必要なステップをLINE@で配信しています。