著者 北村拓也

  1. 未分類
  2. 361 view

【ベストセラー1位の中身を無料公開】独学で身につけるためのプログラミング学習術

こんにちは、北村拓也です。

拙著「独学で身につけるためのプログラミング学習術」が、Amazonで3部門ベストセラー1位を達成した記念に、中身の一部を公開します。
多くの方に読んでいただき、とても嬉しいです。ありがとうございました。

本書は、2月に電子書籍版の値上げ(500円→980円)をおこないます。



ここから、本書の内容を一部抜粋した内容です。
残念ながら、学習法については公開できないので、本書を御覧ください。
学習法には自信があり、僕は学習の研究で博士課程に所属しているため、最新の学習研究の知見を反映させた方法になっています。
公開している内容は、下記の3章です。本の雰囲気をつかんでいただけたら嬉しいです。
・はじめに
・プログラミングって一体なんなのか?
・作品別プログラミング学習ルート-ゲームを作ろう-

はじめに

さぁこの本を読んでプログラミングができるようになろう!

そう思って手に取っていただいた方申し訳ありません。

残念ながら、本書を読んでもプログラミングは学べません。

ただ、プログラミングができるようになりたいのであれば本は閉じないでください。

なぜか?

それは、プログラミングができるようになるためには、まずその学習方法について学ぶことが大切だからです。

例えば、「外国に行きたいから、外国語を勉強しよう」

と思って、がむしゃらに英語を勉強したとします。

しかし、実は自分が行きたかった国では英語が通じなかったらどうでしょうか。

プログラミングも同じです。

プログラミングは、様々な種類があり、何を作りたいか、何ができるようになりたいかによって、学ぶ言語が変わります。

やみくもに学習しても、実は自分が作りたいものは作れない言語だった、ということもあります。

だからこそ自分が何をしたいか、何を作りたいかの目標を最初に立てて、それに合った学習法を見つけることが大切なのです。

更に、プログラミング学習は、途中で挫折してしまう人が多いです。

その理由の大きな一つが、学習法を知らないことにあります。

プログラミングを勉強しようと、本屋に行ったら、同じ言語の書籍が何冊もあり、結局どれをえらんでいいかわからずに帰ってしまった。なんて経験ありませんか?

学習法をマスターすれば、途中で挫折するリスクも減りますし、学習のスピードも格段にアップします。

この本では、プログラミングの学習方法について、詳しく解説します。

目的ごとに、おすすめの学習法や書籍を紹介し、挫折しないコツも解説します。

これからプログラミングを学ぶ人にとっての、道案内の役割を果たせると嬉しいです。

本書では、独学でプログラミングを修得し、40点以上の作品を作り、受賞40件(*1)、代表作のランキング1位(*2)を達成し、国の天才的クリエイター発掘未踏事業に選ばれた僕が、挫折しづらい効率的なプログラミング学習法を紹介します。

また、大学院の工学研究科修士課程を飛び級で修了し、学習工学研究に従事し、14校舎あるプログラミングスクール(*3)を運営している経験から、最新のプログラミング学習の知見を提供します。

本書は、自分で書籍を読んで理解できる大学生・社会人を主に対象としています。

このように実績を書くと偉そうですが、もともと僕は中学生の頃に不登校で期末試験も数学が0点の落ちこぼれでした。そんな僕でも、プログラミングを学んで、物づくりが出来るようになりました。

誰でも学べば使える物づくりのための最強のツール、プログラミングを学びましょう。

(*1) 主な受賞タイトルに、U-22プログラミングコンテスト CSAJ(コンピュータソフトウェア協会会長賞)、IoT Challenge Award 総務大臣賞、人工知能学会 先進的学習科学と工学研究会 優秀賞などがある。

(*2)サイバーセキュリティ学習アプリCyshipが、ゲーム投稿サイトPlicyでランキング一位を達成。また、スマートフォンアプリ市場のGoogle Play 新着有料アプリランキング4位。当時の一位がドラゴンクエスト、二位がファイナルファンタジー。

(*3)小中高生対象のプログラミングスクールTechChance! (https://techchance.jp)

目次(公開部分を太字)

はじめに
プログラミングが僕を変えてくれた
 プログラミングに出会って、人生が変わった
 IT技術者の需要が高まっている
 世界は機械化している
 課題を解決するための新しい力(コンピュテーショナルシンキング)

プログラミングって一体なんなのか?
 プログラミングってそもそも何?
 60%の人間にはプログラミングの素質がない?

プログラミングで何ができるか
プログラミングができるようになるための8つの学習ステップ
 誰もやったことがないことが無限にある
作品別プログラミング学習ルート
 WEBページを作ろう
 便利ツールを作ろう
 WEBアプリケーションを作ろう
 ゲームを作ろう
 AI(人工知能)を作ろう
 スマートフォンアプリケーションを作ろう
 VR・ARを作ろう
 作品別プログラミング学習法まとめ
 応用編 チーム開発
 応用編 プロジェクト管理
 応用編 デバッグ
 応用編 設計
 応用編 セキュリティ
 応用編 サーバ
 応用編 データベース
 応用編 美しいプログラム
 応用編 アルゴリズム
 応用編 コンピュータ・サイエンス
書籍が高すぎて買えない人へ
一度挫折した人へ、プログラミングを楽しく体験してみよう
プログラミングコンテストに参加してみよう
 プログラミングコンテストってなに?
 作品(ソフトウェア)の評価を競うコンテスト
 アルゴリズムに関する問題を解く早さを競うコンテスト
 ソフトウェアやネットワークのセキュリティ上の問題点を見つけることを競うコンテスト
 プログラミングコンテストに参加するメリット
 おすすめのプログラミングコンテスト一覧
 ハッカソンに参加してみよう
ハッカソンってなに?
 ハッカソンに参加するメリット
 国内の有名なハッカソン一覧
僕はどうやってプログラミングを独学で学んだか
おわりに
参考文献

プログラミングが僕を変えてくれた

「この国の全ての人が、プログラミングができるようにならなければいけない。
なぜなら考え方がわかるようになるからだ。ロースクールに行くようなものだよ。
全員が弁護士になるべきだとは言わないけれど、現実にロースクールに通うことは人生に役立つはずだ。一定の方法で物事の考え方を学べるからね」

スティーブ・ジョブズ(アップル 創業者)

なぜプログラミングを学ぶ必要があるのかをお伝えします。

プログラミングに出会って、人生が変わった

 一つお聞きしたいことがあります。あなたは、なぜプログラミングに興味を持ったんですか? アプリを作ってみたいから。ITに強くなりたかったから。これから必要なスキルだから。色々な理由があると思います。どんな理由であれ、プログラミングに興味を持っていただけたことは、僕にとって、とても嬉しいことです。そしてあなたの人生にとっても、きっと素晴らしい出会いになると思います。プログラミング技術を身につけることで、人生は変わります。僕も、プログラミングで人生が変わった一人です。 僕は、学校の授業が嫌いでした。中学3年生の時に不登校になり、かろうじて受けた期末試験の数学は、答案を全て埋めても0点。進学校でしたから、当然教師からは嫌われました。クラスの前で立たされ「お前はこの学校に必要ない」と言われたことは、今でも記憶に残っています。このように僕は、絵に描いたような落ちこぼれでしたが、大学に入ってプログラミングと出会い、人生が180度変わりました。トータルで40点以上の作品をつくり、様々なコンテストで、賞を受賞しました。代表作品はゲーム投稿サイトでランキング1位を獲得できました。プログラミングで人生は変わると確信できる瞬間でした。

サイバーセキュリティを学べるゲームCyship(サイシップ)。ゲーム投稿サイトでランキング1位を獲得。
将棋の定跡を学べるアプリ。GooglePlayで全国ランキング4位を獲得。

そして、もっと多くの人たちにプログラミングという武器を配りたいと思い、プログラミングスクールを運営しています。プログラミングは、学び始めれば誰でも使えるようになる技術です。自分が作った将棋アプリがランキング4位になったときの喜びは今でも忘れません。日本が誇るあのドラゴンクエストやファイナルファンタジーと僕の作ったアプリが同じ画面に表示されているのですから。「プログラミング技術は、自分の武器になる。」そう感じた瞬間でした。

これからの時代は、技術が必要です。技術があれば、会社に依存せずとも自由に生きることができます。もしあなたが将来に不安を感じ、技術を身に付けたいと思っているのであれば、間違いなくプログラミングをお勧めします。なぜならば、

  1. IT技術者の需要が高まっている
  2. 世界は機械化している
  3. 課題を解決するための新しい力が求められている

という3つの理由があるからです。

IT技術者の需要が高まっている

現在、IT技術者(システムエンジニアやプログラマを包括した概念)の不足が深刻化しており、需要が高まっています。なぜ、IT技術者が必要とされているのか、それは会社においてITが切り離せない技術になったからです。2017年5月の時価総額TOP10の会社をご紹介します。

時価総額ランキング

 上記の表の中で、青枠で囲った会社がIT企業です。またこれらの会社の内、Google、Apple、Facebook、Amazonを総じてGAFA(ガーファ)と呼ばれています。Googleの親会社が、上記の表の2位にあるアルファベットです。なぜIT企業がこれほど成長しているのか。

 製造業とIT業の大きな違いが、コピー(複製)にかかるコスト(費用)です。例えば、自動車を一台から二台に増やすのには、自動車一台分のコストがかかります。しかしながら、ソフトウェアは右クリックしてコピーするだけで2つになります。ソフトウェアとは、モノ(ハードウェア)以外のモノに付随する情報を言います。
例:音楽CDの、CDはモノ。入っている楽曲はソフトウェア。

 物理世界に対して情報世界のビジネスがいかに有利かわかりますね。実際、平成28年の経済産業省による「IT人材の最新動向と将来推計に関する調査結果」によると、2020年には36.9万人のIT人材が不足すると言われています。

世界は機械化している

プログラミング技術が求められている大きな理由として、世界が機械化していることが挙げられます。あなたはコンドラチェフの波という言葉を知っていますか? コンドラチェフの波とは、景気循環の一種で、約50年周期の景気サイクルのことを指します。

コンドラチェフの波



現在は、情報技術の波が来ています。IoT(Internet of Things)という言葉も当たり前になりました。IoTとは、今までインターネットに繋がっていなかったモノが接続され、モノ同士の情報交換が行われる仕組みのことです。そのため、どんな業界でも情報技術が必要となってきているので、業種、職種に関わらず全ての業界でITが求められているのです。例えば車の自動制御システムの搭載、自動運転、仮想通貨でおなじみのブロックチェーン技術もそうです。車や電車、貨幣ですらIT技術が使われている時代です。これからますます機械化されていくことでしょう。その中で生き残るためには、機械(自動)化という仕組みを作ることができる人、その仕組みを使ってお金を稼ぐことができる人、もしくはその仕組みを管理できる人のどれかになる必要があります。

課題を解決するための新しい力(コンピュテーショナルシンキング)が求められている

2020年に、日本の公教育でプログラミングが必修化されるなど、子供向け教育としてもプログラミングに注目が集まっています。これは、先ほど述べたIT技術者の不足もありますが、コンピュテーショナルシンキングと呼ばれる課題を解決するための新しい力に注目が集まっている、というのはご存知でしょうか。 あまり聞かない言葉かもしれませんが、コンピュテーショナルシンキングとは、コンピュータ科学者の思考法です。計算論的思考と呼ばれることもあります。もともと、アルゴリズミック・シンキングと呼ばれていた思考法の現代版です。人によっていくつか定義が異なりますが、もう少し具体的に言うのであれば、ある課題をコンピュータサイエンスに則って考えて、適切に解決する方法です。コンピュータサイエンスに則ってとは、プログラミングを書いて、という意味ではありません。問題を抽象化して分析し、それに基づき問題解決を自動化するための手順(アルゴリズム)を作る事を言います。コンピュテーショナルシンキングという言葉を広めたWingはすべての子供達の学ぶことに、「読み・書き・そろばん(算術)」の他にコンピュテーショナルシンキングを加えるべきだと主張しています。コンピュテーショナルシンキングは、単にプログラムを書けることではありません。実際に、Wingはこのようなことを述べています。

コンピュータ科学者のように考えるということは,コンピュータをプログラムできるということ以上の意味を持つ.複数のレベルの抽象思考が必要である

Wing 2010

コンピュテーショナルシンキングを子どもたちに育むために、各国がコンピュータサイエンスにつながるプログラミングをこぞって教えているわけです。イングランド、ハンガリー、ロシア、オーストラリア、フィンランドなどが代表となっています。プログラミングを学ぶことで、コンピュテーショナルシンキングを鍛えることが可能です。なぜならプログラムを書くためには、コンピュータ科学者の様に考える必要があるからです。どういうことか、具体的に説明します。

IoTの話を覚えていますか。現在の世の中のありとあらゆるものにコンピュータが入っています。人間は1つのことを行うのは得意ですが、1億の同じ作業を行うのは無理ですよね。コンピュータにとっては、1つの作業を行うのも、1億の作業を行うのも同じです。コンピュータは単純労働が得意です。しかし、コンピュータが実行できる単位は小さいです。コンピュータは0と1しか分かりません。そのため、コンピュータが実行可能なように物事を変換してあげる必要があります。そうするとプログラムができ上がります。つまり、プログラムを作るには、コンピュータが実行可能なように物事を変換する力が必要になります。そのための思考法がコンピュテーショナルシンキングです。プログラミング技術を会得すると同時に、次世代の思考法、コンピュテーショナルシンキングを一緒に身につけていきましょう。

プログラミングって一体なんなのか?

本章では、「プログラミングって一体なんなのか?」に答えます。

プログラミングってそもそも何?

プログラミングとは日常に溢れているコンピュータ技術です。プログラムを書くことをプログラミングといいます。プログラムとは、コンピュータがすることリストです。例えば、レストランの店員さんのマニュアルもプログラムと言えます。

1.「挨拶する」
2.「何名か聞く」
3.「タバコを吸うか吸わないかを聞く」
4.吸うなら→喫煙席に案内する。
5.吸わないなら→禁煙席に案内する。

マニュアルが上から下に実行される様に、プログラムも基本的に上から下に実行されます。また上記の4行目、5行目のように、条件に応じて行動が分岐することを、条件分岐といいます。

1.水があるかチェックする
2.水が無ければ→水を注ぐ。→時間を空けて1に戻る。
3.水があれば→時間を空けて1に戻る。

また、このように繰り返す(1→2→1)こともありますね。

プログラムの基本は、この条件分岐繰り返しです。身近なところで言えば、Webサイト、スマートフォンのアプリやゲーム、家電、ロボットなんかもプログラミングで動いています。例えば、Googleのホームページを見てみましょう。

Googleのトップページ

右クリックして、メニューから「ページのソースを表示」を押してみます。(*1)
すると、こんな風に文字の羅列が沢山でてきました。

GoogleのWEBページのソースコード

これはソースコードと呼ばれるプログラムです。WEBページは全て、このようなプログラムで作られています。プログラミングが、身近なところに存在することがわかりますね。身近なところから離れてみると、ロケットの発射制御もプログラミングです。実際、アメリカ初の惑星探査機であるマリナー1号は、ある理由で打ち上げ失敗になりました。その理由とは、プログラムに一文字、ハイフン『−』が抜け落ちていたから。ハイフン一つが、成功と失敗を分けてしまったのです。自分がそのプログラムを書いていたらと思うとゾッとしますね。とは言え、ゲームを作ったり、Webサイトを作ったり、ロケットの発射までできるなんて、ワクワクしませんか。まるで、魔法です。僕は月50冊以上の本を読む読書好きで、中でもファンタジー小説が大好きです。ファンタジー小説と言えば、魔法ですよね。魔法は、知らない人から見れば不思議な力で動く便利な力。なんだかプログラミングと似ていると思いませんか。残念ながら魔法は魔法使いでなければ使えません。しかし、プログラミングは、書き方を理解してしまえば誰でも使えます。本書で一緒に、未来を作る魔法使いを目指しましょう。

*1: これはPC版Google Chromeでの操作です。
Microsoft Edgeでは、右上の「…」をクリック後、開発者ツールからデバッガーを選択します。
Safariでは、メニューバーのSafariをクリックして「環境設定…」をクリックします。詳細タブの一番下にある「メニューバーに開発メニューを表示」にチェックをいれます。メニューバーに開発が追加されますから、開発メニューから「ページのソースを表示」を押します。
Android版Chromeでは、ソースコードを表示させたいサイトのURLの先頭に「view-source:」と入力して移動します。

60%の人間にはプログラミングの素質がない?

プログラミングに文系や理系や素質は関係ありません。しかし、過去の研究成果を引用して、プログラミングに素質が必要だと主張する人もいるので、ここでご紹介しておきます。「ふたこぶラクダ」の論文をご存知でしょうか。「60%の人間はプログラミングの素質がない」ことを主張し、議論を呼んだ2006年の論文です(The camel has two humps )。なぜふたこぶラクダなのかと言うと、プログラミング学習者が、低成績と高成績の二つの山に分かれたからです。その成績は「構築したメンタルモデルを一貫して適用できるか」どうかで決まるという結論になりました。メンタルモデルとは、「こうすれば、ああなる」という頭の中の模型です。難しいものだけではなく「手に持っている物を離したら、落ちる」というようなものです。自分が作った規則とも言えます。一貫して自分の作った規則を適用できなかった層が60%ということです。

もう少し詳しく説明します。実験を受けた被験者たちは、プログラミングを知らない学生でした。彼らには、以下のような問題が出されました。

int a = 10;

int b = 20;

a = b;

aとbの新しい値は何でしょうか:

上記はプログラムですが、学生たちはプログラミングを知らないので思い思いに答えます。この問題の評価は、1つの規則を、複数の似たような問題に首尾一貫して適用できたかどうかです。つまり正解かどうかではありません。例えば、a=b は値を交換することだ、と考えた人もいるでしょうし、a=bはaにbの値を入れることだ(正)、a=bはbにaを入れることだと考えた人もいると思います。その考えた規則を、他の似た問題にも適用したのか、しなかったのか、が見られたわけです。その後3週間、学生たちはプログラミングの授業を受けて、また同じテストを受けます。その結果、最初のテストで一貫して規則を適用したグループは、プログラミングの伸びが高く、良い成績を取ったという実験です。

この論文を鵜呑みにすると、プログラミングには素質があり、素質がなければ高成績は取れないとなります。しかしながら、この論文は撤回されました。この実験からだけでは、 一貫したメンタルモデルを持っている生徒がプログラミングで高成績を取りやすく、 そうでない生徒は低成績ということは言えない、実験からは、プログラミングに素質が必要とは言えないと発表されました。実際に、今回の実験に限らず、学校のテストではこのようなふたこぶラクダ現象はよく起こるそうです。ただし、この実験で出てきたメンタルモデルは重要ですので、次章で詳しく触れます。

プログラミングに素質は必要ありません。そもそも素質ってなんでしょうか。僕は素質だの才能だのをあまり信じていません。例えば、そんなものが仮にあったとして、赤ちゃんにプログラミングの天性の素質があったら、その子はプログラマーになるべきなのでしょうか。素質がその子の人生を決める世界は、とても窮屈で洗脳的で吐き気がします。近い話で、僕は理系・文系のカテゴリー分けが嫌いです。いまだに君は文系だから、君は理系だからという人がいます。なぜ嫌いかというと、自分の能力を制限してしまうからです。現在ではもう、理系文系の区別は無意味になりつつあります。枠に囚われない人材が重視される時代です。
 とはいっても、プログラミング、コンピュータ、数学、聞いただけでいわゆる“理系”ですよね。だからといって、“理系”の人にしかできないかというと、絶対にそんなことはありません。いわゆる“文系”の学部の人で、素晴らしいプログラミング技術を持つ人を何人も知っています。ぜひ、まっさらな気持ちで学んでみてください。

僕は所属的にはバリバリの理系です。工学研究科の博士課程で、来年には工学の博士号を取る予定です。しかし、中3の期末試験の数学は答案をすべて埋めて0点で、一番得意な科目は国語でした。国語の成績がとても良かったので、教師からは文系に行けと言われましたが、反発しました。当時の僕が興味のある分野は医学だったので、理系に進みたかったのです。得意・不得意で人生を決めるなんてもったいないですよね。あの時、自分の好きな道に進んでよかったと思います。素質・才能・理系・文系と言った意味のない言葉に惑わされないようにしてください。

プログラミングは、ITの前提知識がないとできないものだと思っている人が多いのではないでしょうか。もちろん、コンピュータの基礎知識や使い方などの知識は必要にはなりますが、基本的に前提知識がなくてもできるものなんです。僕の運営するスクールでは、ITについて勉強をしたことのない小学生や中学生、高校生がプログラミングを学んでいます。彼らのほとんどが、挫折することなく、プログラミングで自由に作品を作れるようになるほどまで成長しています。プログラミングは、正しい学び方をすれば誰にでも使いこなせる技術なんです。

次の節では、プログラミングで、具体的に何ができるようになるかを紹介します。

プログラミングで何ができるか

(省略)

作品別プログラミング学習ルート

本章では、作品ごとにおすすめの書籍やWEBページをこの順番で学ぶといいですよというルートを示しています。
これが絶対というわけではありません。
ただ、書籍やWEBページは膨大で、選択肢が多すぎることが現状です。
ですから、それぞれに基本的に1つのルートを示します。
何も知識がなく、自分で選べないという状態の人は、まずはそのルートで学んでみてください。
ルートにない書籍が気になった場合は、そちらに進んでもらって構いません。
残念ながら、これだけ学べば充分とは言えません。
プログラミングは技術ですから日々進化しています。
常に最新の情報をキャッチして、学び続ける必要があります。
作りたい物別に、おすすめの学習教材を紹介していきます。
各節の最後の部分に、実際に何をどの順番で学べば良いのかを載せています。

ゲームを作ろう

ゲームを作るには、大きく3つの方法があります。

  1. ゲームエンジンを使って作る方法
  2. ライブラリを使って作る方法
  3. ツールを使って作る方法

それぞれ説明していきます。

ゲームエンジンを使って作る方法

ゲームエンジンとは、ゲーム作りにおいて共通して用いられる処理を代行してくれるソフトウェアです。
例えば、ゲーム作りにおいてキャラクターを表示させる部分、多用しますよね。
これを毎回1からプログラミングしていたら、キャラクターを表示させるだけで時間がかかりすぎます。
ですから、キャラクターはドラッグ&ドロップで表示するような、
ゲーム作りで楽しくない部分は全部やってくれるソフトウェアが、ゲームエンジンです。
現在主流のゲームエンジンは、UnityUnreal Engineです。
他にFrostbite、CRYENGINEなどがあります。
任天堂やSONYなど、ゲームを作っている大手会社は自社エンジンを持っています。
ここでは、Unityを主に紹介します。
Unityでは、コンポーネント(部品)を付けることで、複雑な動作も簡単に作ることができます。
Unityはゲームだけでなく、研究でも活躍しています。
実際、僕は研究で論理的思考力を育成する学習システムをUnityで作っています(人工知能学会研究会優秀賞受賞)。
独学で言えば、書籍がおすすめです。
Unity関連の書籍は全てチェックしているので、おすすめをご紹介します。

初心者向けに特化した本です。Unityの基本的な作り方が一通り学べます。
Unityの教科書 Unity 2017完全対応版 2D&3Dスマートフォンゲーム入門講座

こちらも入門者向けです。違いは、イラストが豊富なので、堅苦しい技術書は苦手という人におすすめです。
Unityで神になる本。

ゲームフレームワーク・ゲームライブラリを使って作る方法

フレームワークとライブラリの違いは、フレームワークが全体の処理の流れが備わっているのに対して、ライブラリは便利な機能を集めたプログラムです。

いくつか代表的なゲームフレームワークとゲームライブラリを紹介します。

Cocos2d-x
Cocos2d-x は ゲーム開発用のゲームフレームワークです。
C++11やJavaScript 、 Lua を使ってゲームを作ることが出来ます。
無料で使えて、有名作品の多くにも使われています。

Cocos2d-xで作られたゲーム例
・モンスターストライク(株式会社ミクシィ)
・ディズニー ツムツム(LINE株式会社)

Cocos2d-xの本はまだ少ないです。その中でもおすすめの本を紹介します。

はじめてでもよくわかる! Cocos2d-xゲーム開発集中講義

enchant.js
enchant.jsは、JavaScriptでのゲーム開発が簡単になるライブラリです。

おすすめは、改訂2版 はじめて学ぶ enchant.jsゲーム開発です。
この本は、改定前に読んで勉強していました。
サンプルで作るゲームが面白く、実践的な内容が多く学べます。

Siv3D
Siv3Dは、ゲームとメディアアートのための C++ ライブラリです。
開発者の鈴木さんが個人で作られています。
鈴木さんは2013 年 に IPA 未踏事業に採択されています。

僕は鈴木さんのSiv3D勉強会に参加して、Siv3Dを使えるようになりました。
シンプルなコードですぐに動く作品が作れるので、楽しいです。

ゲームツールを使って作る方法

プログラミングの知識がなくても、グラフィカル(図で描かれた)画面でゲームを作ることが出来るツールが多数あります。

自分が使ったものだと、WOLF RPGエディター があります。
本格的なRPGを、簡単に完全無料で作ることが出来ます。
ゲームを作ろうと思うと、素材集めが大変ですが、WOLFRPGエディターに元々揃っているため、アイデアがあればすぐ作れます。

本も出ています。ただこの本は古いので参考程度にしてください。
WOLF RPGエディターではじめるゲーム制作―「イベントコマンド」と「データベース」で、ゲームシステムを自由に作る!

また、ノベルゲームに特化したティラノビルダーも使いやすいです。
友人と一緒にノベルゲームをティラノビルダーで作ったことがあります。
ゲームは友達と作ると楽しさ倍増です。

様々な選択肢を紹介しましたが、最初に学ぶならUnityがオススメです。

ゲームを作るためのおすすめ学習ルート


Unityの教科書 Unity 2017完全対応版 2D&3Dスマートフォンゲーム入門講座
↓入門書からステップアップして実践力をつけるために。
ほんきで学ぶUnityゲーム開発入門 Unity5対応
↓プロのゲーム開発者によるゲームの作り方を学ぶために。
ゲームの作り方 改訂版 Unityで覚える遊びのアルゴリズム
↓オンラインゲームを作るために。
Unity5オンラインゲーム開発講座 クラウドエンジンによるマルチプレイ&課金対応ゲームの作り方
↓Unityで使うC#の定石を知るために。
実戦で役立つ C#プログラミングのイディオム/定石&パターン
↓ゲーム実装の思想や使われている技術を学ぶために。
ゲームプログラマになる前に覚えておきたい技術
↓ゲームの制作のいろはを学ぶために。この著者のシリーズは全ておすすめ。
「レベルアップ」のゲームデザイン ―実戦で使えるゲーム作りのテクニック
↓ゲームで使われるAIの基本を学ぶために。
ゲーム開発者のためのAI入門

いかがでしたでしょうか。僕はプログラミングを自己実現のための最強の武器だと思っています。多くの人が、プログラミングで物づくりに取り組む世界を作りたいです。
独学で身につけるためのプログラミング学習術

本書は多くの人の手によって作られた作品です。
その作り方を下記の記事で紹介しています。
関連→リーンスタートアップを書籍に適用したら、個人出版でもAmazonランキング1位ベストセラーを3日で取れた方法

また、僕はゲーム中毒だったことがあり、ゲームに依存している人にプログラミングを勧めています。
関連→ゲーム中毒者の末路

未分類の最近記事

  1. 最高の生き方:書評

  2. 圧倒的利他心と慈悲で生きようと思える。書評:近未来のブッダ

  3. 不調の原因は口呼吸だった。書評:べろトレ

  4. セキュリティイノベーター育成SecHack365 Returns 発表資料公開

  5. プログラミングで作りたい物別、学習マップ

関連記事

コメント

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

PAGE TOP