Unityのアドオンが無償化されたので一日でゲーム作ってリリースしてみた

unity android

先日2013/05/21に無償版UnityのiOS/Android向けアドオンが無償化されました。
ということで、簡単なゲームを作成してリリースまでこぎ着けました。
ゲームの実装方法ではなく、Androidでリリースするために行った作業をまとめます。

成果物

単純なタップゲームです。
Macを持っていないためAndroidのみのリリースです
https://play.google.com/store/apps/details?id=com.w1mvy.arrowgame


Unityって

Unityはゲームエンジンです。cocos2d-x、coronaSDKなどのフレームワークとは異なり、ツールや開発環境が
提供されております。とにかくすげー便利ということです。
開発言語としてはC#、Boo、UnityScript(JavaScript)の三種類が選択できます。


C#を書いたことがないので合っているかどうかわかりませんが普通のC#として書けるようです。
Unityを利用している企業などでは一番選択される言語なんでしょうか
「もののけ大戦“陣”」製作事例


BooはPythonとC#を混ぜた感じのような言語らしいです。
http://boo.codehaus.org/
http://www.atsuhiro-me.net/unity/dev/boo-basic


UnityScriptは調べた限りではJavaScriptの見た目をしたC#で、JavaScriptっぽい
書き方ができないようで、色々なところでディスられています。
トップページ - antiunityscript @ ウィキ - アットウィキ


今回はPythonの経験があるためBooで記述してみました。

Unityのダウンロード

http://japan.unity3d.com/unity/download/
上記からダウンロードして適当にインストールします。
Unityアカウントも必要のようで、どこかしらのタイミングで作成要求をされるので
言われるがままに作成します。
これで開発準備が整いました。

AssetStore

http://japan.unity3d.com/asset-store/
UnityにはAssetStoreと呼ばれる様々なアセットが購入、ダウンロードができるサービスがあります。


有名なアセットは以下のようにあるみたいです。
今回は2Dゲームの作成ということでNGUIを購入、利用しました。

NGUI

http://www.tasharen.com/?page_id=140
2Dゲームではほぼ必要不可欠なぐらい有名なアセットです。
値段は$95します。フリー版もありますが、フリー版は古いバージョンでかつ、アプリ起動時に
NGUIの広告が表示されてしまうため、リリースするためのアプリを作成するのであれば、
購入すべきかと思います。

使い方に関しては下記のまとめが参考になりました!
NGUIの使い方に関する記事まとめ - その後のその後

iTween

http://itween.pixelplacement.com/
オブジェクトの操作をよりリッチに簡単に動かせるアセットです。
こちらはフリーで提供されています。

FinguerGestures

http://fingergestures.fatalfrog.com/
タップ、ドラッグ、スワイプでの操作を簡単に作成できるアセットです。
こちらは$55で販売されております。

AssetStoreでの購入方法

"Window"->"AssetStore"からAssetStoreのウィンドウを開きます。
欲しいアセットがあれば、購入orダウンロードを行い、自分のプロジェクトにインポートします。
今回利用したアセットはNGUIのみで、購入、インポートを行いました。

Androidに向けてビルド

Androidに向けてビルドするため、AndroidSDKをダウンロードします。
最新のAndroid SDK Tools (rev. 22)でAndroidのビルドができない件について | Unity Japan Official Blog
上記にあるように、rev.22でビルドが失敗するバグが発生しているため、
rev.21を利用してください。

AndroidSDKのパスを通す

"Edit"->"Preferences"よりウィンドウを開き、"ExternalTools"という項目の中に
"AndroidSDKLocation"という設定項目があるため、そこにAndroidSDKのパスを指定します。

ビルド先対象を変更する

"File"->"BuildSettings"から設定ウィンドウを開きます。
"Platform"の項目を"Android"に変更します。
設定後、"File"->"Build & Run"を実行するとapkファイルを作成しつつ、接続されたAndroidに作成したアプリがインストールされます。

署名

Androidアプリはリリース前にkeytoolsで署名を行いますが、
UnityではUnity上から署名を行うことが可能です。
BuildSettingsウィンドウから"Player Settings"ボタンをクリックします。
すると、設定画面が開くため、"Settings for Android"タブ->"Publishing Settings"から
"Create New Keystore"にチェックを入れ、パスワードを入力し、keyを作成し、署名ができます。

広告

Androidの広告はいくつかありますが、今回はAdMobを利用しました。
Google AdMob - モバイルアプリの収益化、分析、メディエーションに登録し、idを発行します。


Unityでの広告の表示は下記を利用しました。
GitHub - keijiro/unity-adbanner-example: Unity で iAd (iOS) と AdMob (Android) を共用する場合の実装例
ビルド済みのパッケージが用意されているので感謝しつつ利用します。
パッケージをインポート後、以下のようにたった一行記述することで広告が表示されます!!

リリース作業

Play Console の使用方法 - Play Console ヘルプ
GooglePlayDeveloperConsoleアカウントに登録します。$25かかります。


新しいアプリの項目を作成後、タイトル、ビルドしたapkファイルのアップロード、下記のようなアプリの説明などを記述すると
簡単にアプリがリリースできます。

再度宣伝

二度目になりますが、下記が今回作成したゲームです。
$95のNGUIを購入したので、皆様インストールして頂けると嬉しい限りです。
https://play.google.com/store/apps/details?id=com.w1mvy.arrowgame

書籍

今回の開発にあたって以下の参考書を購入しました。


初心者向けのUnityの使い方が一から書いてあり、初めての人はこれから始めるといいかもしれません。

実際に動くサンプルゲームのコードが付属のディスク内にいくつも入っています。
サンプルゲームは2Dゲームばかりですが、NGUIを利用しておりません。

ゲームの作り方 Unityで覚える遊びのアルゴリズム

ゲームの作り方 Unityで覚える遊びのアルゴリズム


以上、2013/05/18にAndroid向けアドオンを購入してしまった私がUnityを利用してAndroid向けゲームを作成した際の色々なまとめでした。
スマホゲームを作成したのは今回が初めてですが、簡単に作成することができました!


今回技術的なことについて触れていないため、次回は技術的な面について触れた記事を書きたいと思います。