ボム君.com

プログラミングで世界を変えよう

Unity始めてみたけど、めちゃカンタンでおもしろい。始めた理由とメリットについて。

f:id:powerbombkun:20170923201642p:plain

こんにちは、ボム君です。

一週間ほど前からUnityを使ってゲーム作りの勉強を始めています。知っている人からすると今更かって思うかもしれませんが聞いてくださいね。

Unityを始めてみて分かったんですが、これめちゃカンタンにゲーム作れますね。ゲーム作りって時間がかかるってイメージがあった私からするとカンタンすぎて感動してます!

Unityを始めた理由とかメリット・デメリットついていろいろまとめてみました。

Unityってそもそも何よ?

何なのUnityってさ?そんなの聞いたことない。って人のために何なのか説明しておきますね。

Unityとはユニティ・テクノロジーという会社が作っているゲームエンジンです。サイトはここ。↓
unity3d.com

ゲームエンジンってイメージ沸きますか?よくわからんという人のために少し説明しておきます。

ゲームエンジンは言わばiPhoneやMac、Windows等でカンタンに動くゲームを作るための環境です。一からゲームを作ろうと思ったらすごく大変なんです。初代ドラクエIとかのような簡単なゲームだとしても完成までには死ぬほどたくさんやらなきゃいけないことがあります。

  • キャラクターの座標位置
  • キャラクターの動き方
  • コントローラーのボタン押した時に起きること

とかね。ゲームが複雑になればなるほどたくさんやらなきゃいけないことが増えて大変。

ゲームエンジンというのはこのやらなきゃいけないことが内臓されている環境のこと。ゲームエンジンが無いと100やらなきゃいけなかったが、ゲームエンジンがあると30だけやればゲームが完成しちゃうみたいな。これがゲームエンジンです。

f:id:powerbombkun:20170923175750p:plain

Unityは言わばこのやらなきゃいけない量がかなり少なくてゲームを作れるゲームエンジン。20とか10の作業量で完成までもっていけちゃう。だから開発者の間ではけっこう人気。

Unityでどんなゲームが作れるの?

Unityはゲームを作れるのはなんとなく分かったと思います。じゃあどんなゲーム作れるのよって思いませんしたか?

そんなあなたにUnityで作られたゲームを紹介しておきます。多くの有名ゲームもUnityを使って作られてます。頑張ってスキルを身に付ければこんなゲームもいつか作れるかも。

Super Mario Run

Super Mario Run

Super Mario Run

  • Nintendo Co., Ltd.
  • ゲーム
  • 無料
任天堂のスマホで遊べるマリオゲーム。3Dでちょこまか動くマリオがかわいいですよね。

Pokemon Go

Pokémon GO

Pokémon GO

  • Niantic, Inc.
  • ゲーム
  • 無料
少し前に流行りましたよね。公園までレアなポケモン捕まえにいったりして。こういう3Dのアプリとか作るのはUnityはすごくラクみたい。

ドラゴンクエストVIII 空と海と大地と呪われし姫君

PlayStation 2用に発売された名作RPGのスマホ移植版。風景とかキャラクターが美しいです。バトルシーンもかっこいい。

なぜ私はUnityでの開発を始めたのか

少し前まで毎日ヒマをしていた私なんですが、ここにきて急にUnityを始めた理由もいろいろあるんです。ちょっと紹介しておきます。

3Dゲームはこれからがアツい

3Dゲームの作成スキルってこれからの時代ですごく大事になってくるし、需要も増えてくると思うんです。

特に私が注目しているのはVRの分野

VRとはバーチャルリアリティ。実物ではないが、実物そっくりなものを目の前に見えるように表示する技術。仮想現実とかいうキーワードで言われたりしますね。最近だとVRを使ったゲームとかがたくさん出始めているんです。

去年発売されたPlayStarionVRとかはVRを使った面白いゲーム機ですよね。私も試したことがありますが、目の前に3Dの仮想世界が広がるのがリアルすぎて面白いです。

Youtubeに動画がありました。↓

youtu.be

プログラミング言語でC#が使える

Unityの開発はプログラミングなんか使わなくてもOKかというとそれは違います。プログラミングでコードを書いたりする作業もあります。

例えばUnityで車をただ走らせるアプリで見てみると、車を画面上に置くだけならプログラミングは必要ありません。Unityの環境上で設定するだけです。

でも車を走らせる際に排ガスを出したり、音を鳴らしたり、ライトを照らしたりという細かい制御を行いたい場合は車の動きに合わせてプログラミングが必要です。

f:id:powerbombkun:20170923185507p:plain

このようなプログラミングをする際に使える言語というのは決まっており、C#, JavaScript, Booという言語が使えます。8割程度のユーザーは環境のサポートや言語がすごく優秀なC#を使っています。

私はもともとC#を3年程度はやってきた経験があるので学習コストも少ないだろうと思ってUnityを始めてみました。

とにかくおもしろそう!

勉強するにはモチベーションって大事ですよね。私は純粋にUnityって面白そうって思ったんです。

少し勉強しただけでこんなゲームが作れちゃいました。

勉強でもスポーツでもとにかく楽しむってすごく大事だと思うんですよね。


おもしろさが生み出すループ

  1. 勉強する
  2. おもしろい!
  3. さらに勉強する
  4. スキルアップ!

楽しくなかったらすぐやめちゃう。このループがあるからメキメキ成長するんですよね。

Unityで作るメリットは?

ゲームエンジンって結構たくさんあるんですが、中でもUnityは人気です。メリットがたくさんあるんですよね。私が考えるメリット紹介しておきます。

ゲームがカンタンに作れる

この記事の最初の方でも書きましたがとにかくカンタンにゲームが作れるというのは大きなメリット。

3Dゲームってとにかく昔は作成が大変でした。以前は3Dでゲームを作るといったらDirectXとかの環境を使って作るのがメインでした。でも座標計算したり単純な描画をするにも多くのコードを書かなかったりしてすごくめんどくさかったんです。Windowsの関数とかもそれなりに勉強しなければいけないので、素人が開発するのはムリでした。

そんな難しい部分がUnityでは大幅に肩代わりしてくれます。ややこしいところをやってくれるので、純粋にゲーム作りに集中できるのがサイコー。

いろんなデバイスで動かせる

様々なデバイスで動かせるというのは最近のアプリ開発では重要視されています。

1ヵ月かかってせっかくiPhone用のアプリを作ったのに、それをAndroidで動かすには1からゲームを作り直してさらに1ヵ月。なんて感じだとウンザリしちゃいますよね。1度作ったらいろんな環境で動かせる。開発期間や労力短縮の面では多くの環境をサポートしているというのは非常に重要です。

Unityの場合だと以下のようなデバイスをサポートしており、一度作ればそれぞれの環境でカンタンに動かせます。


Unityのサポートデバイス

  • iOS
  • Android
  • Windows
  • Mac
  • Linux
  • PlayStarion4
  • Wii
  • Nintendo3DS
  • Facebook

※他たくさん

大半のデバイスをサポートしているので一度作ればどんな環境でも動かせるのがUnity。だから開発は超ラクチンで人気なんですよね。

学習用書籍がたくさんある

本やさんに行くと多くの学習用書籍があります。

ゲーム関連の開発書籍のコーナーに行くとたくさん置かれています。私は初心者なので以下の書籍を買って勉強しています。↓

さきほどの私が作ったゲームもこの書籍の中の学習中に作りました。

初心者向けの本はほとんどの本にサンプルコードが載っており、実際にUnityでカンタンな使りながら学んでいくタイプのものが多いです。動かしながら学習できるのは面白いので飽きっぽい人にもおすすめできます。

Unityで作るデメリットって何?

私が唯一デメリットだと思ったのは開発環境の画面が全部英語だというところですね。私英語が苦手なものでして。。

慣れれば気にならなくなると思いますが、英語に敬遠感がある人は気を付けてくださいね。

考えてるヒマがあるなら始めてみよう

ここまでなんでUnity始めたかとかメリット何だとか話してきましたが、私が言いたいのは面白いからヒマなら始めてみたら?ってこと。

プログラミング経験者なら新しい開発スキルの1つとしてUnityを。プログラミング未経験者なら始めての動くアプリ作るためにUnityを。

そういえば値段とか書いてなかつたですがUnityは年間10万ドル以上の売り上げとかが無ければお金はかかりません。なので個人で趣味程度で開発するなら基本は無料。ホームページでカンタンにダウンロードしてインストールできます。

インストールページ。↓
unity3d.com

まとめ

Unityはゲーム開発を大幅に効率化させてくれます。これからゲーム開発をしていきたい人にとってはぜひ勉強してほしいゲームエンジンですね。


Unityで開発するメリット

  • ゲームがカンタンに作れる
  • いろんなデバイスで動かせる
  • 学習用書籍がたくさんある


Unityで開発するデメリット

  • 開発環境が英語

3Dゲームの開発は今後重要になってくる開発スキルです。まったくさわったことないって開発者は一度お試しでやってみてください。おもしろいですよ。