【Unity】(#1環境準備)お金をかけずにゲームアプリを作りGoogleAdMobで収益を得るまで!
この記事はアプリ開発初心者がUnityでゲームアプリを作りGoogleAdMobで収益を得るまでの道のりをまとめた独自記事です。
極限まで開発費用を抑えつつ、アプリで収益を得られるかを検証します!
Unityとは?
Unityとは、Unity Technologiesが提供するゲームエンジンです。2Dや3Dゲーム両方の開発に対応し、FPS・RPGをはじめ、アイデア次第であらゆるジャンルのゲームを作れます。
最近では3D開発機能を生かし、Vtuber用の動画を作ったりしている方もいるようです。
コードはC#かJavaScriptで書け、Unithyエディタ上では直感的に操作し制作を進めることができます。
基本的には無料で利用可能
まずはどんなジャンルのゲームアプリを作りたいかを決めよう!
ゲームにはRPG、パズル、アクション、シューティング、アドベンチャーといった幅広いジャンルがあります。
作成には最後までやり切るモチベーションと完成イメージが大事なので、自分が得意なジャンルを選びましょう!
今回私が作るゲームアプリは、ローグライクな8bit風ターン制RPGになります。
いわゆるドラクエ1や2程度の内容を想定しています。
完全に世代でして、いつかは自分で好きなように作れたらいいなと思っていたことを実現させることになります。
雰囲気は下の画像のような感じです。実際にスクリーンショットを撮ったものになります。
開発環境の準備
Unityでは様々なプラットフォームを対象にビルドが行えます。
私の経験では、作成した同じアプリをAndroid、iOS、Windows向けにビルドしたところ、全て動作しました。
機種特有の機能を実装した場合は、OSに合わせてコードを書き換える場合もあるので注意が必要です。
例えば、Androidのローカルプッシュ(通知機能)用のプラグインが含まれている場合、MacのXcodeでビルドするとエラーで先に進めなくなったり等・・・この場合、コードの書き換えや不要なプラグインの無効化が必要になってきます。
今回の流れでは、初めにAndroid版を確実に制作しリリースする、そこからAdMobで収益を得ることを目標にします。
iOSでのリリースは後程検討したいと思います。
それでは主な具体的開発環境がこちらになります。
- Unity Windows 10 2018.2.18f1 (64-bit)
- コードはC#
- Visual Studio 2017
- webサーバー(セーブデータ保存や何かしら情報表示用としてのwebビュー)
- 画像作成に無料アプリの8bit Painterを利用させて頂きます。
- 地形作成には無料配布されているものや、有料購入したtile mapを探すのも有り。
- 音素材も無料利用できるものが沢山あるので「ゲーム音」「効果音」等のキーワードで探す。
Android Studioが必要と書かれているブログがありますが、基本的にはその中に含まれている「tools」だけで大丈夫です。適正バージョンを単体でダウンロードし、Unity上からtoolsフォルダが置いてあるパスを指定するだけです。javaインストールも必須になります。
tile mapとは下のような画像になります。一枚の画像ですがUnityで16px等に分割できるので、利用しやすくなるのが特徴です。
地上やダンジョン作成には、Unityのマップエディターという機能を利用すると大変便利なので、このような画像を扱う場面があります。
ゲーム仕様を決めておく
- ドラクエ風ターン制
- 地下100階に潜むラスボス討伐を目指すダンジョン型か、ひたすら上を目指しつつレベルを上げ、最後にラスボスがいる。地下100階まで作るのはだるいので後者にしました。
- 登場するのはスライム系のみ!自分もスライム。
- 基本は片手で操作できるように!
- セーブデータは自前のサーバーにJSON形式で保存。ユーザー毎に固有のIDがあり、それで紐づけます。
- 基本的にはランダムで敵に遭遇。例外でマップ上位あらかじめ固定配置されている敵もいる。
- 宝箱、扉、鍵、各種アイテムは全てに固有のIDが振られておりフラグ管理する。
- 戦闘でのダメージ計算には基本的な「アルテリオス計算式」を採用。攻撃力から防御力を引き去るシンプルなもですが、独自補正はあります。
- 各所に街があり売買可能にする。
仕様的な記事はこちら
まとめ
概ねこのような仕様を目指しますが、考え出すとあれもこれも実装したくなりがちです。
時間もかかりますので、今回は規模が大きくならないよう気を付け、シンプルに完成させることが目標!
初心者ではビルドにこけたりと最初の環境を整えるのに時間もかかる場合もあるので、ゲーム内容はまずはあまり壮大なものは考えずに、シンプルに完成させることを目標に頑張りましょう!
次回はUnity画面解説についての記事になります。