これからプログラミングを始めるのならゲームアプリ開発がおすすめ
【最終更新日 2019/04/24】
これからプログラミング学習を始めようとしてる人には、まずゲームアプリを作ることをおすすめしています。
なぜかって言えば、プログラミングの勉強にはモチベーションの維持が不可欠だからです。ようは、作りたいものがないと勉強が続かないってことですね。
ただ、大抵の人は作りたいものなんてないのが普通でしょう。
「プログラミングに興味あるから、ちょっと勉強してみたいな」っていうのが、当たり前だと思います。
なので僕は「ゲームアプリをリリースすることをゴールに設定してみては?」って提案したいわけです。
ゲームアプリってみんなやったことありますよね?パズドラとかモンストとかツムツムとか。
こういうメジャータイトルじゃなくても、誰でも一度はやったことあると思うんです。
そんな馴染みのあるゲームアプリだけに、これを作ろうとすれば、モチベーションは下がりません。むしろ上がる一方ですよ。
「いやいや、そうは言っても、アプリって作るの難しいんでしょ?」っていう方のために、これからゲームアプリを作ることの楽しさと、その勉強方法についてお話したいと思います。
ゲームアプリは遊び。だから本当に楽しい
プログラミングが出来るようになると、色々と作れるものがあるんですけど、その中でも僕はアプリをおすすめしています。
理由は世界中の人にやってもらえるから。んでついでに言うとお金も入ってきますw
想像してみてください。友達に「俺、アプリ作ったぜ」って言ってる姿を。
想像してみてください。地球の裏側であなたのアプリをダウンロードして、ほくそ笑んでるブラジル人の姿を。
どうです?興奮しませんか?w
海外旅行とか行くと気付くんですけど、今は世界中の人がスマホをイジってます。それも四六時中。
んで何をやってるかと言えば、みんなゲームかSNSをしてるんですよ。
つまり、あなたが作ったゲームをブラジル人がダウンロードする可能性もゼロではないということです。
ゲームって世界共通だし、なにより言語に左右されないじゃないですか。
START(スタート)GAMEOVER(ゲームオーバー)CONTINUE(コンティニュー)
まあこんな風に、世界中誰でも分かる英語を最小限使っておけばいいんですよ。言語を最小限に抑えて作れば、世界中の誰でもプレイすることが出来ます。
今のスマホって、マジでiPhoneとAndroidしかないようなものなので、この2つでアプリを公開すれば、海外からもダウンロードされますよ。
自分のことを言えば、「泳げおっさん」ていうアプリを出してるんですが、これのダウンロード数が8000。んでその内の5000ダウンロードが海外からのダウンロードです。
やってもらえれば分かるんですが、これ見事なクソゲーですw
ただ、アメリカ、アジア、ヨーロッパはもちろん、なんでだがアフリカからもダウンロードされてるんですよね。
もちろんダウンロード数自体は全然少ないんですが、自分のゲームをアフリカの人がやってくれてると思うと、最高に興奮します。
(これアプリに貼ってる広告の収益画面なんですけど、南アフリカがあるんですよ。んでその2つ下にはブラジルもw)
とにかくゲームって、作ってる自分が楽しいんですよ。
僕が作るゲームは全部くだらないものばかりなんですが、自分の頭の中にある「バカ」を本気で出してることだけは確かです。
んで、そのバカが誰かの元に届いてると思うと、本当に楽しいんですよね。
ゲームと違ってツール系アプリ(お役立ち系)は、頭の中にある「真面目」を出す感じですけど、ゲームはバカですね。バカを出す必要があります。
でもだからこそ面白いんですよ。ゲームアプリは本当に楽しい。
簡単なゲームなら、誰でもすぐに作れる
「ゲーム作るのが楽しいっていうのは分かったけど、実際に作るのは難しいんだろ?」って思ってそこのあなた。鋭い。それはその通りですw
ただ、それも作ろうと思ってるゲームの規模によります。ちょっとした簡単なアプリなら、プログラミング初心者でも一ヶ月で作れますよ。
僕はプログラミング初心者の人が1週間でアプリの提出まで行ったって聞いて、自分も作ることにしました。
(提出っていうのはAppleに自分の作ったアプリを送ることです。そこから審査があるんですが、これに通るとAppStoreに公開され、世界中に配信されます。反対にAndroidは審査なし。つまり提出してすぐに公開されます)
僕がアプリを作ろうと思ったときっていうのは、プログラミングの基本を身に付けてた頃なんですが、そこから10日で提出、んで見事な審査落ちを経て、一ヶ月でリリースすることが出来ました。
(この辺の流れは、以前書いた「勉強方法を書いてみる」って記事を参考にしてみてください)
プログラミングを独学して1年。今日までの勉強方法を書いてみる - ホーリーのプログラミング日記
僕は最初にWEBサービスを作りたかったんで、アプリを作ったのはプログラミングを勉強して数ヶ月以上たってからだったんですが、最初からアプリを目標にしていれば、一ヶ月くらいでリリースまで行けたと思っています。
ゲームアプリを作るのなら選ぶ言語はC#
スマホって世界的に見てもiPhoneとAndroidしかないようなものなんですけど、この2つでは開発言語が異なります。
iPhone(iOS)はSwift、AndroidはJavaっていう言語で開発を行うわけです。
つまり、iPhoneとAndroid、両方でアプリを出そうと思ったら、2つの言語を勉強する必要があるんですよ。普通は。
普通はそうなんですけど、ことゲームに限っては違います。あとで詳しく書くんですが、いまゲーム開発っていうのは、Unityっていうゲームエンジンを使うのがスタンダードになってきています。
これはアプリだけじゃなくて、DSとかSwitchとかプレステのゲームも、Unityを使った開発が増えてきてるんです。
んでこのUnity。こいつはまじでヤバイんですよ。
Unityで作ったアプリは、iPhoneとAndroid、両方で公開することが出来るんです。
そのUnityで使われてる言語っていうのがC#。つまりC#を勉強すれば、いきなり両方のプラットフォームでアプリをリリースすることが出来るってわけです。
どうですか?Unityヤバイでしょうw
肝心のC#も特別難しい言語ではありません。僕が今日まで触ったことのある言語で言えば、難しいのはC++だけ。
あとはJavaだろうがSwiftだろうがPHPだろうがJavaScriptだろうが、基本は一緒です。学ぶ内容に大差ありません。
あとでC#の勉強方法を書くんですが、とりあえずC#は難しくないってことだけ覚えてください。
Unityについて詳しく書いてみる
先ほども書きましたけど、Unityっていうのはゲームを作るためのゲームエンジンです。ソフトって言えばいいのかな?まあそんなやつなんですよ。
詳しく書いてみるって見出しをつけたくせに、実は僕も詳しく分かってません。毎日使ってるのにw
ただ、使うにあたって何も身構える必要はないってことだけ覚えてください。
iPhoneアプリを開発しようとすると、Xcodeってソフトを使うことになります。
んでAndroidアプリを開発するときにはAndroidStudioってソフトを使うことになるんです。
Unityも、このXcodeやAndroidStudioと同じようなものだと思ってればOKですね。
僕はXcodeしか使ったことなかったんですけど、UnityはXcodeよりも分かりやすいソフトだと感じています。
これはUnityで脱出ゲームを作ってる画面なんですが、Xcodeを使ったことのある人なら、似てるって感じるでしょう。そう、Xcodeと似てるんですよ。
真ん中の実際の画面があって、左右にファイルの画面や部品のステータス画面がある感じが。
Unity自体、使うのは無料です。厳密に言えば、アプリ収益が年間10万ドル以上ある人は有料になるらしいですが、まあ普通は10万ドルもないので無料と思っていいでしょう。
Unityの有料版と無料版の違いについて - ホーリーのプログラミング日記
Unityを使ってC#を勉強してみる
ここからは実際の勉強方法について書いてみたいと思います。
ど素人がゲームアプリを作るためには、C#を覚える→Unityの使い方を覚える→実際にアプリを作ってみる→リリース、って流れになるんですが、まずは最初のC#とUnityについて勉強していきましょう。
実際にはUnityを使ってC#を覚えていくことになるので、2つを同時に勉強していくことになりますね。
勉強方法は独学でもいいし、プログラミングスクールに通ってもいいでしょう。
僕は根本的に学校嫌いなので独学を選んでますが、学習スピードを優先するひとはスクールに通った方がいいと思っています。
スクールって最低でも10万くらいの学費がかかるのがデメリットですが、アプリを作る場合、アプリからの広告収益で十分回収できる可能性があります。
自分のことを言えば、10万超えるのに11ヶ月かかりましたが、市場で人気のある脱出ゲームなどを優先して作れば、半年未満で回収出来る可能性も大きいですね。
プログラミングの学習費用(10万円)を回収するまでにかかった期間を調べてみたら11ヶ月だった件 - ホーリーのプログラミング日記
ダウンロード数の伸ばし方については、前に書いたことがありました。
戦闘力の低いアプリでダウンロード数を伸ばす方法について。
5万ダウンロードを超えたので書いてみる。アプリ初級者の俺が思うダウンロード数の伸ばし方 - ホーリーのプログラミング日記
さて、では実際の勉強方法について、独学→プログラミングスクール、の順で書いていきたいと思います。
独学でゲームアプリを作るには
最初に謝っておきたいんですが、僕は2Dゲームしか作ったことがありません。
だから、これから紹介する方法で独学しても、3Dゲームを実際にリリース出来るかは分からないんですよね。ごめんなさい。
(ま、まあ、そうは言っても、多分3Dも大丈夫だと思いますよ。多分w)
Unityを独学するにあたって、おすすめする本は2冊あります。Unity5の教科書とUnityではじめるC#の2冊です。
これどちらも良書なんで、どちらを読んでも問題ないんですが、一応それぞれに長所がありますね。
Unity5の教科書 2D&3Dスマートフォンゲーム入門講座 (Entertainment&IDEA)
- 作者: 北村愛実
- 出版社/メーカー: SBクリエイティブ
- 発売日: 2016/06/22
- メディア: 単行本
- この商品を含むブログを見る
Unity5の教科書は最初の環境設定や、C#って言語について、非常に分かりやすく書いてます。
実際のAmazonレビューを見ていただけると分かると思うんですが、ガチの初心者に向けた入門書なんですよ。Unityのダウンロード方法も実に分かりやすい。
それでUnityではじめるC#なんですが、これも初心者向けの入門書になってまして、環境設定やC#の基本的なことが載ってます。
これでも十分優しくて分かりやすいんですが、全くのプログラミング初心者が読むって考えると、Unity5の教科書の方が分かりやすいでしょうね。
ただ、このUnityではじめるC#は、実際のゲームの作り方がすごく実践的に載ってるんですよ。
巷で流行ってる脱出ゲームの作り方も、非常に細かく載ってて、ほんとこれ見れば脱出ゲームのリリースも問題ない内容になってます。
僕は実際にこの本を見て、アインシュタインて脱出ゲームをUnityで作ってみたんですが、リリースから2ヶ月で1万ダウンロードを超えました。
絵も手抜きだし、なんなら1〜2日で作ったような脱出ゲームなんですけど、かなりダウンロードされるんですよね。
それもこれも、UnityではじめるC#のおかげだと思っています。
学習時間に余裕のある人は2冊買ってもいいでしょうね。僕は2冊とも買っています。
もしもどちらか1冊って話になれば、Unity5の教科書の方がいいかもしれません。
本当のど素人、プログラミング初心者に勧めるべきはUnity5の教科書だと思うので。
もしも多少なりともプログラミングの経験があるのならば、UnityではじめるC#をおすすめします。
Unity5の教科書だけだと、実際のゲーム作りは少し難しく感じますしね。
とにかく、ゲームアプリを独学で作ろうと思ったら、Unity5の教科書かUnityではじめるC#、このどちらかを読めば問題ないと思ってください。
C#とUnityの基本的なことが、とても分かりやすく載ってますよ。
【追記 2019/04/24】
「UnityではじめるC#」の続編が出たので、ちょっと追記したいと思います。
それっていうのがこれですね。Unityの寺子屋。
これもめっちゃいいですよ。僕、発売を待てずに、池袋のジュンク堂で行われた先行発売で買ったんですけど、マジの良書です。
内容は放置ゲーム、クリッカーゲーム、横スクロールアクションゲームなんですけど、上記した「UnityではじめるC#」と合わせれば相当な数のゲームを作れるでしょうね。
てか実際に「うだらぁああ!!」ってテンションで量産したんですよ。思いつくのを片っ端から。
その結果アプリの総ダウンロード数が20万を超えたので、それもこれもUnityの寺子屋のおかげだと思います。
この本でかなりレベルアップ出来ましたね。
プログラミングは変数、if文、ループ文、配列だけ覚えておけばOK
プログラミングスクールの話をする前にこれだけは書いておきたいので書いておきましょう。
独学でプログラミングを学ぼうとすると、最初に立ちはだかる壁があって、それは情報量の多さなんですよ。
変数、クラス、メソッド、オブジェクトみたいに、わけの分からない言葉が沢山出てきます。
んで、それを見て早々に挫折する人がいると思うんですが、そんな人のためにこれだけは書いておきたい。覚えることは最小限でも全然大丈夫だよって。
どんな言語を学習するにしても、変数、if文、ループ文、配列っていうのは出てきます。これは必ず。
最初にこういうのが出てきてそのあとにオブジェクト指向、クラスがどうしたって話が出てくるんですが、これはいきなり理解出来なくても全然大丈夫です。
このオブジェクト指向っていうのが、本当に難しいんですよ。僕も理解し始めたのは本当に最近のことです。
ところでオブジェクト指向ってなんだっけ? - ホーリーのプログラミング日記
なので、とりあえず変数、if文、ループ文、配列の、ごくごく基本的なことだけ覚えましょう。
これしか知らなくても、出来ることは沢山あります。脱出ゲームなんかも、これしか知らなくても作れますもん。
だから、最初から全部を理解しようとせずに、上記した4つの基本的なことだけ覚えるようにしてください。
独学に挫折しないコツの1つは、欲張らないことです。
プログラミングスクールでゲームアプリを作るには
プログラミングスクールでゲームアプリを作るには、授業を受けながら講師に質問すればいいんですが、問題はスクール選びにあると思います。
決して安くない授業料を払うので、ここは絶対に失敗したくないですよね。
んで、最初に気を付けたいのが、そのスクールにUnityコースがあるかどうかなんですよ。
アプリを作れるコースは、大概どこのスクールにもありますが、Unityってなると、そんなに数は多くありません。
別にどこかのスクールのアプリコースに入ってもいいんですが、そうなるとiPhoneとAndroidが分かれてるんですよね。これ絶対に。
前にも書いたことですが、iPhoneとAndroidでは使う言語が異なります。だから、そのスクールでどちらかのコースを受講した場合、片方のプラットフォームでしかアプリをリリース出来ないことになります。
またゲームを作る場合、Unityを使うのが本当に楽です。ゲームを作ることを目的に開発されたエンジンなので、ゲームを作るのならUnity一択と言っていいでしょう。
つまり、ゲームアプリを作るためにスクールに入るのなら、Unityコースがあるスクールに入った方がいいってことです。
問題はこれの数が少ないってことなんですが、僕のおすすめはテックアカデミーですね。
なんでこのスクールを勧めるのかっていうと、大手でUnityコースがあるのが、テックアカデミーだけだからなんですよ。
自分が他のスクールに通ってUnityを学んだってことなら、そっちのスクールを勧めるんですが、実際にそうでない以上、確かな実績があるテックアカデミーしかおすすめすることが出来ません。
んで、このテックアカデミーはオンライン学習が出来るので、住んでる場所に左右されないっていうのもメリットですね。
プログラミングスクールって、結構都市部に集中しちゃってるので、地方に住んでる場合、通うことが出来ないのがデメリットなんですが、テックアカデミーの場合、その心配はありません。どこに住んでてもOKですね。
無料体験もあるみたいなので、スクール選びに迷ったら、テックアカデミーを受講してみてはいかがでしょうか。
Unityコースはこちらのリンク先にありますよ。
書き忘れた。パソコンがMacじゃないとiPhoneアプリをリリース出来ないって話を
ごめんなさい。大事な話を書き忘れました。
手元にあるパソコンがMacじゃないと、Unityを使ってもiPhone(iOS)でアプリをリリースすることが出来ないんです。
「お前今さらかよ」って思ったでしょう。ええ、僕もそう思いましたw
iPhoneでアプリをリリースするには、最終的にXcodeってソフトが必要になります。
んで、このXcodeなんですがMacじゃないとダウンロードすることが出来ないんですよ。
なのでWindowsユーザーの方は、Androidでしかアプリをリリース出来ないことになります。
(Mac持ってれば、iPhoneもAndroidもどちらもリリース出来ますよ)
もちろん、そうは言ってもゲームアプリを作るのはUnityが格段に楽なので、Windowsユーザーの方にもUnityを全力でおすすめします。
最後に
ここまで、プログラミングを始めるのなら、ゲームアプリを作るのがおすすめだよって話を書いてきました。
とにかく僕が言いたいのはひとつだけなんですよ。
ゲームアプリ最高
っていう一言に尽きます。
僕がプログラミングを始めたのは2年前くらいで、実はそのときまでパソコンすら持ってなかったアナログ野郎なんですけど、今はゲームアプリ開発に夢中になってます。
パソコンに縁のない生活をずっと送ってきたんですけど、実はゲーム作り自体はしたことあるんですよ。
中学生の頃に、プレステでRPGツクールとサウンドノベルツクールっていうのがあって、これに夢中になったことがあります。
どちらのゲームも、自分でゲームを作れるソフトなんですけど、これを寝食忘れるくらいやりました。
それで実際に周りの友達にプレイしてもらうのが、たまらなく楽しかったんですけど、今のゲームアプリ開発は、この頃の延長線上にあるって認識です。
当時は周りの数人しかユーザーがいなかったですけど、今は世界中の人がやってくれますからね。それ考えただけでも、本当に恵まれた環境が出来上がってると思います。
しかもアプリに貼った広告から、お金まで入ってくるって言うんだから、こんなに幸せなことはないでしょう。
(Unityで作ったゲームに広告を貼る方法は、ネット上にも沢山あるし、このブログでも結構書いています)
プログラミング学習をこれから始める場合、まず何か作るためのモチベーションを持つこと。そして実際に作ることが大事だと思っています。
Unityを使ってゲームアプリを作れば、スマホ持ってる人全員にやってもらえるので、本当におすすめですよ。
「アプリリリースしたからやってみて」って言えば、どのスマホからもダウンロードすることが出来ますから。
本当に簡単なものでいいので、まずは1本作ってみてください。
作る過程でプログラミングを学び、それをリリースすることで、プログラミングが大好きになってると思います。
以上、これからプログラミングを始めるのならゲームアプリを作るのがおすすめ、って話でした。