Logo white

ギークサロン ブログ
GeekSalon Blog

【Unity初心者必見】Unityでゼロから始めるゲーム開発

入門編

2019年06月27日

Head top01

目次

1.ゲーム開発初心者にオススメの環境Unityとは?

2.Unity入門者が知っておきたいプログラミング言語

3.初心者が、ゲーム開発をUnityで学ぶ手順とは?

4.Unityでのゲーム開発。独学で挫折する原因は?

5.Unity使いを育成する、開発コミュニティとは?

▼30秒で完了!GeekSalonの説明会/体験会に申込む▼

1.ゲーム開発初心者にオススメの環境Unityとは?

ゲームエンジンUnityは、大手の開発会社からインディーズゲームの開発者まで、さまざまなデベロッパーが採用しています。特に近年では、スマートフォンに移植されたドラゴンクエストⅧ の開発に、Unityが使われたことが話題となりました。

また、スマホゲームだけでなく、PCゲームのプラットフォームで有名な STEAM では、インディーズゲームが数多くリリースされています。

一口にゲームを作ると言っても「RPGツクール・シリーズ」のようにゲーム感覚で制作できる環境から、アプリ制作全般をあつかうApple社のXcodeまで、プログラミング言語の種類も併せると、多様な組み合わせがあります。

そのため、ゲーム開発に入門するなら、最初の一歩は非常に重要。さまざまな方法がある中で、なぜUnityを使うべきなのか? 当記事では、効率的な学習方法も含めて考察していきます。

米国のUnity Technologiesが提供するゲームエンジンで世界シェアNo.1

Unityは、サンフランシスコに本拠地を置く、Unity Technologies社によってリリースされており、同社の調べ(※1)によると、世界 30億の端末で動き、モバイルゲームの50%で開発環境として採用されています。

先例のドラゴンクエストⅧ のような移植だけでなく、ステルスアクションゲーム "Aragami" のように、PC 、mac だけでなく、PlayStation 4 や Switch といったコンシューマ機で動くゲームでも、開発環境として採用されています。

また近年では、ゲームだけでなく VRや映画をはじめとした映像制作の分野でも、リアルタイムに生成される 3D技術のプラットフォームとして、Unityに注目が集まっています。

一例を挙げれば、SF映画『第9地区』などを制作してきたスタジオが、Unityによるリアルタイム描画を使った作品を発表しています。(※2)

従来のCG映画では、一般的なアニメ作画と同じように、あらかじめ人間がプログラムした動きを録画する仕組みでした。

しかし、現在 Unity や Unreal Engine といったプラットフォームでは、まるで実写のような映像を、その都度計算して表示させることができる「リアルタイムトレーシング」を実現し、新しい映像表現のスタイルを生んでいます。

※1. Unity Growth Facts

※2. Oats Studios による『ADAM ep.3』
Youtube|ADAM: Episode 3

ゲームデザインに特化したゲームエンジン

何らかのブログラミング言語を使ってシステムを開発する際に、ゼロの状態から開発するのは、大きな手間がかかり非効率であるため、何らかの補助的なツールを使います。

たとえば、iOSアプリを開発する際に、各種iPhone、iPadの画面サイズを調整し、タッチパネル・センサーからの情報を処理するプログラムを書く。といった無駄な作業は行いません。

Apple社が配布している Xcodeには、すでに用意された雛形があり、ある程度はそれらを組み合わせることで、スマートフォンアプリを完成させることができるようになっています。

Unityに代表されるゲームエンジンも同様で、横スクロールのアクションゲームから、FPS(ファーストパーソン・シューティングゲーム)まで、作りたいゲームの方向性をサポートしてくれるメニューやアセット(ライブラリ)が用意されています。

アセットとは、単にインストールしただけの Unityに組み込むことで、3D処理やデータベース処理など、個々の利用者がやりたいことをスムーズに実現する、後付のオプション機能のようなものです。

ゲームエンジンとは、ゲーム開発を行うために特化した「土台」だとイメージしてください。

世界中のエンジニアが利用しているので、入門用の資料も多い

Unityの特徴として挙げられるのが、優れたゲームエンジンであるだけでなくゲーム開発者にとっての「共通言語」のようなプラットフォームになっている点です。

公式サイトでは多くのチュートリアルが公開されており、ほかにも、無料で視聴できる学習素材があるため、将来エンジニアを目指している学生から、資金が十分にないインディーズのデベロッパーまで、幅広い層が利用しています。

また、先述した通り、モバイルゲームの約半数が Unityによって開発されている現状を見れば、メジャーなゲーム会社への就職を考えている人にとっても、Unityの学習は外せない課題です。

ゲームを開発する基盤としては、Google社の公開する「Game Builder」や、オープンソースのゲームエンジン「Godot Engine」といった環境もありますが、Unityと比較すると、以下のような点で劣ります。

  • 手軽に3Dゲームが開発できる代わりに、機能が限定されている
  • 絶対的なユーザー数が少なく、日本語での資料も少ない

それに対して、Unityは、オールマイティーのゲーム開発エンジンだと言えるでしょう。ゼロから作ることもできるし、すでに用意されたパーツ(アセット)を活用した気軽な開発を行うことも可能です。

基本無料で開発が可能。ゲーム開発、プログラミングの入門にも最適

近年では「Game Builder」が無償でリリースされているように、ゲームエンジンの世界でも、フリーミアムの考え方が浸透しています。

フリーミアムとは、サービスの基本的な部分は無料で配布して、追加機能は課金させたり、広告で収益を上げる方法。無料で流通を促進するかわりに、その市場をより多く、独占する目的があります。

当初より、Unityはこの考え方を取り入れており、詳細なサポートを希望しないユーザーや、プロジェクトを開始するにあたって年間10万ドルを超えた資金調達がないユーザーであれば、無料で使い始めることが可能です。

また、後でも解説しますが、プログラミング言語 C# を学習する際にも、優れた統合開発環境(IDE)が用意されています。

スマホからコンシューマまで、マルチなプラットフォームに対応

Unityで作ったゲームは、マルチに配布できます。PC(Windows)、mac、といったパソコン系に始まり、iOS/Androidといったモバイル端末のゲーム、PlayStation・Xbox・Nintendo Switch向けのゲームにも対応しています。

たとえば、ローポリで処理を控えめにしたゲームであれば、パソコン向けに開発したゲームをスマートフォンに移植するのも多くの工数(手間)を必要としません。

実際にどんな作業が行われたのかは、株式会社スクウェア・エニックスの実例(※3)が公開されているので、参照してみてください。データの自動軽量化など、Unityならではの技術が使われています。

※3.Unity の公式カンファレンスイベント「Unite」での資料|Unityでコンソールタイトルを移植する.pdf

3Dグラフィックのゲーム開発が可能

三次元でリアルに動くキャラクターの動きを表現するには、三角関数や速度・加速度の演算などが欠かせません。また、敵との衝突判定も行う必要があるでしょう。

理屈から言えば、そのような計算をプログラマーが全部最初から記述することも可能です。しかし、このようなゲームで使われるさまざまな演算は、誰かがすでに開発し、すでに技術が確立している分野です。

Unityでは、ユーザーが「車輪の再発明(※4)」を行わないために、さまざまな型が用意されています。3Dモデルの配置なども視覚的にわかりやす直感的に行えるインターフェイスを備えています。

細かな計算や動きの部分はゲームエンジンに任せて、ゲームデザイナーやエンジニアは、自分のアイデアを詰めていく作業に集中できるのが、Unityのようなゲームエンジンの利点です。

※4.車輪の再発明:すでに先人が作ったモノ(技術)を知らずに、再び同じ仕組みを発明することは、新しい価値を生まないとして、エンジニアの間では否定される行為。しかし、初心者にとっては、あえて自分で考えることにより学習の機会となることもある。

2.Unity入門者が知っておきたいプログラミング言語

Unityなら、アセットやパーツといった機能の組み合わせで、ある程度は動くゲームが制作できますが、プログラミング言語を全く排除して開発を行うのは、効率が良くありません。

HTML5ベースで制作するアプリの場合には、プログラミングを意識することなく、メニューを組み合わせるだけで、簡単なクーポンアプリなどを制作できるサービスもありますが(※5)、細かな調整には、やはりJavaScriptなどのコードを書く必要があります。

また、ほかのアプリと違ってゲーム開発では、処理速度やメモリ消費の調整など、細かな工程を必要とします。Unityを使ってゲーム制作を始めるために、どんな言語が採用されているのか? チェックしてみましょう。

※5. 一例として、以下のようなサービスがあります

  • 集客用のスマホアプリを制作できる|アプスタ
  • HTML5ハイブリッドアプリ開発プラットフォーム|Monaca

仮想マシン上で動かすC#での開発なら、プラットフォーム間の調整が不要

C#(シーシャープ)とは、C言語から派生したプログラミング言語です。C言語に関しては、「コンパイル」という考え方を知っておく必要があるので、少し触れておきましょう。

コンパイルとは、何らかの人間が読むことのできるコード(ソース)を、機械語に変換する処理です。そして、機械語とは CPU(プロセッサ)に直接命令することができる言語です。

機械語で発行する CPUへの命令は、人間にとって読みにくい内容です。
複数のレジスタ(CPUの中にあるメモする場所)で計算した結果を、メモリの何番地に書き込んでおく。といった、私たちから見ると原始的な作業の繰り返しが、延々と記述されています。

たとえば、シンプルな計算機のように、

  • 【(1)(+)(1)(=)が順番に入力されれば、「2」をディスプレイに表示する】

といった内容なら、少し学習すれば、直接CPUに対して機械語で命令できるでしょう。

しかし、現在リリースされているようなアプリを、ゼロから記述するのは、とても困難です。

過去には、ほぼ機械語と同じ記述方法である「アセンブリ言語」を使ってプログラムを組むこともありましたが、現在ではCPUの種類もさまざまで、つながっている機器も多様であるため、現実的な選択肢ではありません。

そのため、機械語、C言語、C# とプログラミング言語は、ハードウェアの発展とともに進化してきました。いまでは、直接ハードウェアに命令するのではなく、あらかじめインストールしておいた「仮想マシン」を動かす方法がとられています。

  • C言語は、人間が読めるコードから、機械語に変換
  • C#は、人間が読めるコードから、仮想マシンで処理するコードに変換

このように、C#が C言語と大きく違うところは、「.NET Framework」という実行環境(仮想マシン)の中で動かす、インタプリタとコンパイラを併用した仕組みになっている点にあります。

仮想マシンを採用することで、WindowsPC や Macのように違うOSであっても、「.NET Framework」がインストールされていれば、その中で C#のコードを動かすことができます。

web制作なら必須の JavaScript 、でもゲーム開発には物足りない

JavaScriptは、web制作の現場で利用されることも多く、アプリ開発においても、いわゆる「ハイブリッドアプリ(HTML5アプリ)」を制作する際に必要となるプログラミング言語の一つです。

数多くのwebページに使われており、過去には JavaScript で複雑な処理を組込むと、ページ表示が遅くなるなどの問題も発生していました。

いまでは端末の処理速度が早くなったことに加えて、画像の読み込みなど回線スピードが上がっているため、技術的な制約は少なくなっています。

web関連の仕事に就くなら必須の言語であり、利用者も多いメリットはあります。しかし、実行環境であるブラウザに依存する部分が多いことに課題があります。

先ほどの C#では「.NET Framework」という統一環境が用意されていますが、JavaScript は基本的にブラウザアプリの中で動きます。

ブラウザは単にアプリの一種であり、Chrome、Firefoxなど多くの種類があるため、仮想マシンほどの信頼性はありません。

利用者が多いゆえに入門書も多く、チュートリアルなども数多く公開されている JavaScript ですが、根本的に「ブラウザを制御するための仕組み」が出発点のプログラミング言語であるため、高度なゲーム開発という点においては、十分な機能を持ちません。

学習用としての価値はあるが、現状はサポートも外された Boo

人工知能系のプログラミングなどで、注目を集めているプログラミング言語 Pythonと同じような書き方ができる Boo言語ですが、すでにUnityのサポートから外れています。

Pythonは、シンプルな文法構造で、初学者にとってもわかりやすく、さらにはコンパイルの必要ないインタプリタ型言語なので「書いたらすぐに動かせる」ため、プログラミング入門者に人気があります。

その Pythonの利点を受け継いで開発されたBoo言語ですが、全般的に資料が少ないところが大きなデメリットです。特に日本語で翻訳された情報が少なく、チュートリアルなども手軽に集めることができません。

ゲーム開発だけでなく、プログラミングを根本から学べるのが C#(シャープ)

ここまで見てきたように、プログラミング言語と、その開発環境は、ハードウェアの進化や、ユーザーの利用状況に合わせて変化してきました。

ゲームエンジンの Unityも同様で、当初は「気軽にプログラミングできる」として採用されていた「JavaScript」や、国際化の点で優れていた「Boo」といった言語を外して、C#に絞り込んでいます。

もともとゲーム開発のような、シビアな演算(3D処理など)が必要なプログラミングには、CPUに対してより直接的な命令を発行できる、C言語系が使われます。

また、ゲーム開発だけでなく、これから学習を始めるプログラミング入門者にとっても、C#には、以下のようなメリットがあります。

  • Windowsから、iOSアプリまで、多様な環境が用意されている
  • 開発環境として「Visual Studio」が使える
  • 利用者が多く、入門書やチュートリアルが充実している

もちろん、Visual Studioだけでなく、Unityエディタでも動きますから、楽しみながらゲーム開発の学習を進める中で、実務的な開発スキルを身につけることも可能です。

[](../_images/pro_unity_beginner/head03.jpg)

3.初心者が、ゲーム開発をUnityで学ぶ手順とは?

▼30秒で完了!GeekSalonの説明会に申込む▼

他人が作ったアセットの組み合わせだけでもゲーム制作は可能?

"Unity Asset Store"(※5)にアクセスしてみれば分かる通り、パズルゲームを作るための枠組みや、可愛いキャラクターの3Dモデルなど、さまざまなパーツが有償/無償で配布されています。

中には、3Dキャラクタに「梯子や段差を登る動き」を専門にあつかうアセット(※6)などもあり、複数のアセットを組み合わせれば、なんでもできるのでは? と思ってしまうかも知れません。

しかし、このようなアセットには、以下のような弊害もあります。

  1. ゲームが陳腐化する(どこかで見たことのあるようなゲームになる)
  2. 個々のアセットが更新されるとは限らない
  3. 自分のゲームがブラックボックス化しがち

一番目の、ありきたりなゲームになりがち。というのは想像できるかと思います。人気のアセットは、数多くの人が利用しているので、ほかのゲームとかぶる可能性が高くなります。

また、二番目の「複数のアセットを組み合わせ」で、ゲームを制作する場合には、「Aというアセットの仕組みが更新された時に、Bのアセットが未対応」といったように、アセット同士の相性が合わなくなるケースがあります。

最後の「ブラックボックス化」は、デバッグの時などに問題を引き起こします。不具合が見つかった時や、改善点が見つかった時に、アセットに依存していると、どこを直せばよいのか? 改良点がわかりにくい場合があります。

※5.Unity Asset Store

※6.Dias Games "Climbing System"

高度なゲーム開発を目指すエンジニアなら、C#を学習するのが一番の近道

ゲーム制作の初心者が、Unity + C# の環境で開発を進める理由として、以下の点を確認してきました。

  1. メジャーなゲームエンジンのUnityが入門に最適(公開資料が多い)
  2. ゲーム開発以外にもマルチに使える( C#のプログラミング学習にも有利)
  3. 注意点として、オリジナルのゲームをつくるには、アセットに頼り過ぎないこと

では、C#をどのように学び始めれば良いのか? 次からは「効果的な学習方法」について、いくつかの例を挙げていきます。

できるだけ躓きをなくして、基礎的なプログラミング能力を身につける

プログラミングに限らず、ほかの技術も同様ですが、基礎的な能力を身に付けずに先に進んでしまうと、システムが複雑化した時に「自分がどこで間違ったのか」わからず、行き詰まりを感じてしまうことがあります。

そのため、ほかのプログラミング言語を使ったことのある人も、Unity + C# の学習は、わかりきった部分からスタートするのがオススメです。

また、学習に際しては、自分の得意な/好きな感覚を意識することが重要です。

たとえば、本を読むのに抵抗がない(視覚と論理)人は、入門書を読み始めるべきですし、英単語などを聞いて覚えるタイプの人は、公開されているチュートリアル動画を再生してみてください。

・視覚タイプ▶やさしい入門書からチャレンジ

・聴覚タイプ▶チュートリアル動画の「ながら聞き」からスタート

・身体感覚タイプ▶web・書籍から動くコードを見つけて模写する

模写とは、素直に書いてあることを書き写す作業です。入門書のソースコードを、PC上で打ち込むのが一般的ですが、紙に手書きで書き写すと、キーボード操作では気が付かなかった点が見つかります。

独学の問題点。わからないところが出てきたら?

独学の問題点は、学習ペースがつかみにくい部分にあります。

たとえば、アクションゲームを作る時に、「衝突処理で煮詰まってしまったから、先にマップを最後まで仕上げる」こういった臨機応変さがあれば良いのですが、独りで作業していると、なかなか冷静に自分を判断するのは難しいものです。

また、独学の場合「エラーの内容がわからない」のもストレスになります。「わからない部分がわからない」といった状況ですね。

このような状況に陥ると、検索エンジンで調べても、質問サイトを活用しても、一向に自分が思うような答えが帰ってこないケースも少なくありません。

理解できない部分が言語化できない。ここからレベルをアップしたいなら、抽象的な質問でも理解してくれる先達者(自分よりも詳しい人)に頼るのがベストです。

C#は、日本語・英語圏ともにコミュニティが盛んですから、オンラインの情報だけでなく、IT勉強会を紹介する「TECH PLAY(※7)」のようなサイトであれば、定期的に開催されている C#の学習会を見つけることもできます。

しかし、こういったイベントは期間が限定されているため、上手く参加できるとは限りません。また、ゲーム開発専門という分野は数が少ないのが現状です。

では、どうすれば、ゲーム開発という課題を効率的にやり遂げることができるのでしょうか? 次の項目では、他者の力を借りて自分の開発レベルを向上させる方法を見て行きましょう。

※7.TECH PLAY (テックプレイ)

[](./_images/head04.jpg)

4.Unityでのゲーム開発。独学で挫折する原因は?

▼30秒で完了!GeekSalonの説明会に申込む▼

世界中で色んな開発者が利用しているゲームエンジンUnity は、すでにエンジニアとして活躍している人だけでなく、入門者にとっても有利な開発環境であることを見てきました。

また、オリジナルのゲーム開発を効率的に行うには、アセットだけに頼らず、C#を学習することも重要です。

プログラミング学習の初期段階であれば、チュートリアル動画などを使った独学でカバーできますが、自分のアイデアをゲームに組み込むためには、さらなるレベルアップが必要です。

ただし、多くの入門者、独学者は「レベルアップ」の前につまずくことが多いようです。ここでは、よくある挫折の原因をチェックしてみたいと思います。

挫折の原因1:わからないことに対して、解決方法が見つからない

英語圏では "Stack Overflow" のような、エンジニア専門のQAサイトがありますが、ある程度の技術を持つユーザーが集う場所なので、いい加減な質問をすると、結構冷たい対応をとられます。

あくまで、エンジニアのためのQAサイトなので、できるだけ調べて、それでもわからない時に質問するのがルールとなっているためです。

日本語で質問できる、エンジニア向けQAサイトも増えてきましたが、初学者が安易にQAサイトを利用すると、質問に対する応答、コミュニケーションで多くの時間をロスしてしまいます。

さらに、「どこから質問すればよいのかわからない」というのも、初学者の困った問題です。中級〜上級者が共有している専門用語や、その分野での常識を知らないと、詳しい人に質問さえできません。

挫折の原因2:先の見えない道のりに希望を失ってしまう

2008年に出版された、マルコム・グラッドウェル氏の書籍「Outliers」では、著者が一流のアスリートからアーティストまでをリサーチした結果、一定の高度な技術を習得するためには、1万時間のトレーニングが必要。という結果を発表し、話題となりました。

日本でも、「天才! 成功する人々の法則」というタイトルで翻訳され、「1万時間の法則」が有名になりました。

それに反して、2013年にはジョッシュ・コーフマン氏が、世界的なカンファレンスの場である TEDに登壇して、「最初の20時間 — あらゆることをサクッと学ぶ方法」を発表して、基本スキルは20時間で学べることを伝えています。

グラッドウェル氏は、いろんな分野のプロフェッショナルをリサーチするジャーナリストの立場であるのに対し、コーフマン氏は自ら実験した「やってみた系」であるため、立ち位置が違うのですが、テーマはどちらも「どうすれば技術が習得できるのか?」という疑問から発しています。

ほかにも多くの研究者が、同じようなテーマを扱っていますが、個々人の問題に対して明確な答えを出すのは難しいのが現状です。

ただし、人間は集団生活で生き残ってきたので、「目標を達成したいなら、他者との関係を考えよう」というのは、多くの研究者が共通して持っている認識です。

どちらにしても、独学では以下のような点で挫折しがちです。

  • 目標を簡単にすると「達成感が感じられず挫折」
  • 目標を高度にすると「いつまでたっても完成しないので、諦める(挫折)」

では、このような「目標」「時間」「モチベーション」に対する答えはあるのでしょうか? この記事の最後で、それらについて一定の回答を出していますので、参照してください。

挫折の原因3:定期的な学習時間の確保が難しい

学校の場合には時間割があり、アルバイトならシフト制といったように、ある程度「他人が時間調整をしてくれている」場合には、そのタイムテーブルを破ってまでも、自分の好きなことをするには抵抗が生まれます。

目の前のスマホゲームをしたいから、部活を休む。といったことを繰り返していれば、退部になるでしょうから、多くの人は怠けることに対して歯止めをかけられるのです。

それに反して、独学の場合は、そこまでの強制力がありません。「家に帰って夕食までの時間に 30分だけ入門書を読もう!」と意気込み、スマホのカレンダーに入力しておいても、それを実行するかどうかは自分の自由です。

ダイエット、朝のランニング、英会話のトレーニングなどなど。これまで、目標設定を守れなかった人も多いのではないでしょうか。

このように、挫折の原因を追って見ましたが、そのほとんどは「自主的に新しい習慣を身につけるのは難しい」に集約されます。自分だけで自分を管理するには、「他人を巻き込む」仕組みが必要です。

その点で、プログラミングスクールのような、参加型の環境であれば、ある程度の強制力が働きます。また、学習ステップを決めてくれる他人がいるので、「次に何を勉強しようか?」と考える時間も必要なくなります。

[](../_images/pro_unity_beginner/head_lp.jpg)

5.Unity使いを育成する、開発コミュニティとは?

ここまで、ゲームエンジンとして優れた特徴を持つUnityと、プログラミング独習の難しさを見てきました。特に、大学生のように毎日の講義やアルバイトなどがある中で、新しいスキルを身につける時間を確保するのは大変です。

また、単にチュートリアル動画を再生するだけのオンライン講座は、「好きな時に学べる」という自由度が高いがゆえに、独りで学ぼうとすると、挫折してしまう可能性が高いことも、理解してもらえたと思います。

忙しい毎日を送っているが、しっかりとプログラミングの技術を身に着けたい。そんな人のためにオススメするのが、大学生限定プログラミングコミュニティ「GeekSalon(ギークサロン)」です。

GeekSalon -大学生限定プログラミングコミュニティ-

Unity + C#でのゲーム開発をイチから学べる体制が整っている

GeekSalonでは、Unityのゲーム開発だけでなく、複数のコースが用意されています。

  • ゲーム開発コース
  • iPhoneアプリ開発コース
  • webサービス開発コース
  • web Expertコース

「ゲーム開発コース」では、Unity + C# の学習を前提として、目標に「オリジナルのゲームを App Store(iOS)および、Google Play(Android)にリリースする」ことが設定されています。

独学では中途半端になりがちな点も、コミュニティ参加者一人ひとりにメンター(指導者)が付くことで、最後までの学習継続をサポートしています。

当コミュニティを運営する株式会社Scoville(※8)によれば、目標設定にたどり着くまでの完走率は 80%とのこと。参加者を大学生に限定しているため、共通の話題を保ちながら、最後まで学びあえる体制が、ほかとの大きな違いです。

※8.株式会社Scoville|教育事業

具体的な目標があるからゴールできる! 3ヶ月でオリジナルゲームを開発

独習では目標があいまいになりがちです。「VRを活用した、これまでにないゲームを作る!」と自分のノートに書いたところで、その約束を破っても誰からも文句はこないでしょう。

その点、GeekSalonのような集団に参加していれば、メンターとの間で相談しながらの目標設定を行います。また、同期の仲間とも目標を共有するため、簡単に約束を破棄することができません。

また、SNSやIT系のニュースサイトなど、たくさんの情報に触れている私たちにとって、「一つのことをやり続ける」というのは難しい。これも、ゴールまで完走する障害となっています。

たとえば、最初は「シンプルな2Dアクションを完成させよう!」と考えていても、ブログ記事などで「初心者は、まずシューティングゲームを作るべき」といった記事を読んでしまうと、心に迷いが生じてしまいますよね。

このような面においても、同じ目標を持つコミュニティに参加していれば、参加者同士のつながりによって生まれる「新しい価値観」がゴールを支えてくれます。

つまりは、メンターだけでなく同じ大学生ともつながっている環境に身を置くことで、書いた人のことを良く知らないニュース記事よりも、自分が宣言した(みんなに約束した)ゴールの方が重要であると意識できます。

専属メンターにオンラインチャットツールでいつでも質問できる

プログラミングの学習がほかの科目と違うのは、技術が日々進化しているため、情報の更新が速く、変化に対応する必要性が高い点にあります。

たとえば、数学の問題を解く場合には、アルキメデスの原理に 2019年バージョンがあるわけではありません。誰しもが躓く部分は、おおよそ共通しているため、質問すればほぼ間違いなく、正しい答えが返ってくるでしょう。

しかし、Unityの使い方に限らず、プログラミングの世界では、作業するOSや、バージョン、どんなライブラリを使うべきなのか? アセットは何を入れるべきか? といった多様な組み合わせがあります。

GeekSalonの場合は、そのように日々更新されるゲーム制作の環境に対応するため、生徒それぞれにメンターが寄り添っています。

さらに同サービスでは、メンターに対してチャットで質問できるシステムを構築しています。メールのように一定の長さの文書を書く必要もなく、小さな疑問から解決できるため、学習をスムーズに進めることができます。

学習スケジュールは、専属メンターと相談して調整が可能

ゲームプログラミングに限らず、一定の技術を習得するトレーニングにはフィードバックが必要です。

自分が目標とするスキルに対して、いまはどのぐらいの位置までたどり着いているのか? このポイントが見えなければ、学習を継続するのは難しいでしょう。

独学で参考書をひたすら模写(真似)していても、いずれ技術は頭打ちになるため、自分の独創性を取り入れる必要がありますが、この時のハードルが高すぎると、学習は上手く進みません。

微妙な調整が必要な課題設定に対して、専属メンターからのフィードバックをもとに、学習スケジュールを組むことで、「自分に丁度よい目標」を設定し、おのずと順調な成長曲線を描くことができます。

GeekSalonの卒業生のインタビューによれば、文系出身でパソコンの操作さえ怪しい、まったくの開発経験ゼロという参加者でも、自分のアイデアを活かしたアプリをリリースしたとのこと。

メンターの存在だけでなく、「大学生限定プログラミングコミュニティ」であるため、同じような仲間とも接触でき、一定期間みんなで成長を体験できるところが大きなメリットと言えるでしょう。


説明会のお申込みはこちらから

その他、気になることなどございましたら、お気軽にGeekSalon公式LINEからお気軽にお問合せください。

友だち追加


無料体験会概要

持ち物

PC(Mac/Windows)
※iPhoneアプリ開発コースはMacのみ
※貸出PCのご用意ございます。ご希望の方はお申込時にご連絡ください。

費用

無料

服装

自由

会場 / アクセス

GeekSalon 東京教室
烏山恵比寿ビル 2F
代官山駅徒歩5分 / 恵比寿駅徒歩8分

GeekSalon 京都教室
國友ビル 4F
河原町駅より徒歩3分 / 祇園四条駅より徒歩6分

お問合せ

GeekSalon公式LINEからお問合せください!

友だち追加

当記事掲載のUnityに関する画像の著作権は
株式会社 Unity Technologiesに帰属します。