自分でゲームを作ってみたいと思ったことはありませんか?
スマホなどを含み、ひとりで何台ものゲーム機を所有する時代ですから、誰でも1度くらいは考えたことがあるのではないでしょうか。
幸いなことに、世界向けのマーケット、高機能で安価なハードウェア、洗練された開発環境など、今は誰でも開発を始められる条件が揃っていますから、実際のところ「あとはやってみるだけ」と言えます。
とはいえ、まったく道筋がない状態では何も始められませんよね。
簡単に言うと、「自分が習得しているスキル群」と「他人に頼る部分のスキル群 (部品として取り込んで使用)」を足してすべてが揃えばゲームが1本完成するわけですが、時間をかけて自分で習得してみるにせよ、ある程度他人が作成した部品を利用するにせよ、まずは全体像を知ることが先決です。
そこで今回は、個人で活動している現役のプログラマが、「ゲームをまるまる1本仕上げて公開するには、どんな知識、技術が必要になるのか」という情報をシェアしてみようと思います。
(執筆者:オブさん)
この記事の内容は?
はじめに
ゲームに限らず、どんなアプリを作成する場合であっても、まずは作業の中心となる「統合開発環境」を選ぶ必要があります。
個人的には「Unityゲームエンジン」を使用しており、経験上、人を選ばずにおすすめできると感じています。数え切れないくらいの理由がありますが、とりあえず初期選択時の懸念材料を解消できそうなものをいくつか挙げておきます。
●マルチプラットフォーム対応により、対象のマーケットを限定する必要がない
●ほぼ全ての機能が無料 (決められた収入を超えたらライセンスの変更が必要)
●自分に足りないスキルを手軽に補える手段が「公式」に用意されている (後述)
ぽんぽこ
https://propoko.com/blog/unity
もちろん他にも開発環境の候補はありますから、始める前に自分の思い描く方向性と合うかどうかしっかり検討することをおすすめします。
それでは次項より、ゲーム開発に必要となるスキルの概要を順に見ていきましょう。
プログラミングのスキル
プログラミングはもう必須の中の必須スキルですよね。
画像などの「部品」なら他の誰かが提供しているものを使用することもできますが、「自作ゲーム」であるためには、すべてをつなぎ合わせて制御する部分はもちろん自分で担当する必要があります。
ちなみにゲーム開発では、プログラミング言語 + エディタでの純粋なコーディング以外の、「部品同士の論理的なつながりを開発環境上で設定していく作業」もかなり多く発生します。
ベースとなる環境を選ぶ際には、基本的な設計思想に加え、そのあたりの使い勝手を重点的に比較してみると良いでしょう。
https://propoko.com/blog/recommend-school
画像編集のスキル
ユーザーインターフェース、背景、ビジュアルエフェクトなど、ゲームは常に「何か目に見えるもの」を通して操作され、それに対するフィードバックを返しながら進んでいきますから、画像編集は必ず発生する作業になります。
基本的には、ゲームの雰囲気や用途にあわせて「ベクター系」と「ラスター系」の2種類の編集ツールを使い分けます。
どちらか片方だけでも必要なものは作成できますが、2種類とも使えた方がいろいろなケースに対して柔軟に対応できます。
ツールのタイプ | 主な用途 | 画像解像度の変更 |
---|---|---|
ベクター | アイコン、UI、シンプルな見た目のキャラクター、背景など | どんなサイズにも劣化なしで調整可能 |
ラスター | 多色、ベタ塗りで細部を描きこんでいくタイプのキャラクター、背景など | 基本は固定 (拡大縮小すると、ぼやけたり汚くなる) |
(「ベクター」:「ラスター」は、大ざっぱに言うと、アドビの「イラストレーター」:「フォトショップ」の関係です)
BGM、効果音編集のスキル
ゲーム内で使用する音源は、「バックグラウンドで流す音楽」と、ボタンのタップや爆発音などの短い「効果音」の2種類に大きく分けられます。
好みにより多くの作り方があると思いますが、試行錯誤の末、個人的には以下のように切り分けて作業しています。
ツールのタイプ | 用途 |
---|---|
ループシーケンサー | BGM |
ピアノロールでの打ち込み | 効果音 |
波形編集 | 効果音 |
ループシーケンサーというタイプのDAW(デジタル・オーディオ・ワークステーション)ツールは、「専門外の人間が簡単にBGMを作成する」ということを前提に「費用対効果」を考えると、かなりおすすめの選択肢です。
ゲーム開発用として実費をかけて追加したツールはこれ1つだけなのですが、BGMの作成に費やす時間を大幅に短縮でき、しかも自身のセンスはほとんどいらない・・と、良いことずくめの投資でした。
動画キャプチャ・編集のスキル
ダウンロードページや自分のサイトにYoutube動画などへのリンクを置いておくことにより、訪れた人に興味をもってもらう可能性が増えます。検索したアプリにプロモ動画が付いていたら、なんとなく観ますよね?
いろいろな方法がありますが、個人的には、「Android端末で実際のゲームプレイを録画し、Youtubeのサイト上で直接編集」しています。
Androidの開発者用セットアップが必要になりますが、この方法なら無料でキャプチャ~編集までおこなえます。
ちなみに、上記の動画キャプチャの方法は、「android screenrecord」などで検索すれば多くの情報が得られます。ただし、できあがりの動画に音は含まれませんので、必要な場合には別系統で同時録音したもの、もしくは適当なBGMを編集時に追加します。
WEBサイト作成のスキル
作ったゲームの説明、使用許諾、プライバシーポリシーなどを含む、「オフィシャルサイト」を作成するために必要なスキルです。本格的にやるなら、ドメインの取得、設定、レンタルサーバの用意などの知識も必要になります。
アプリ ~ サイト間で相互にアクセスの増加を促す効果もありますので、ブログの1ページを利用したような簡易的なものでも、なるべくなら用意しておきたいところです。
フォント作成のスキル
フォントを同梱してそのまま使用できる開発環境なら、自分で作ってみるのもおすすめです。
著作権を気にすることなく複数のプロジェクトで使いまわせますし、思っているより簡単に作成できるWEBサービスなどもあります。
さすがに日本語のフルセットはかなりの気合いが必要ですが、「アルファベット、数字、多少の記号」程度のものをいくつか持っておくだけでもだいぶ雰囲気がでます。
キーフレームアニメーション作成のスキル
FLASHのような、タイムライン上にキーフレームを設定していくタイプのツールを扱うスキルがあれば、UIやキャラクタのアニメーションを作成する際に活用できます。
開発環境に含まれる機能を使用する場合、有料、無料の外部ツールを使用する場合など、いくつかの作業スタイルがありますが、基本的な概念は共通ですので、異なる環境にもすぐに適応できるはずです。
3Dのスキル
最近では3Dプリントのサービスなどもたくさんあり、趣味で3Dモデリングをおこなう方も多いと思いますが、ゲームで扱う場合には、「見た目とパフォーマンスのバランスをとりつつ可能な限り頂点数を減らす」、「動かすための骨組みを入れる」、「アニメーションを設定する」などの追加要素があります。
3D関連は全体的にかなりディープな分野です。あくまで自作にこだわるという場合には、相当な研究、選択した作業ツールへの慣れ、何度も修正しながら根気強くパフォーマンス調整に取り組むことなどが必要になります。
特にローエンドのモバイルデバイスをターゲットに含める場合には、最適化もなく作成したものをただ並べただけでは、まともなパフォーマンスは望めません。
スキルが足りない場合の補い方
さて、ゲーム開発に関連するスキルを1つ1つ見てきましたが、もちろん最初から全部は無理な話ですよね。
もともとゲームを含むアプリケーションの開発は「適材適所の人材でチームを組む」というのが一般的な方法です。どんなに簡単なものであれ、確実に数人分の作業を並行していくわけですから、一朝一夕ではいかないのも当然のことです。
また、個人的には「興味」を優先させ、ほぼすべての作業に手をだしていますが、「ひとりで全部」仕上げるということにこだわらず、初めから「自分にないスキルを持っている人が作った部品を使用する」というスタイルで効率良く作成していく方がむしろ妥当な選択肢だと思います。
「Unity」という開発環境を推薦したのには、ここにも理由があります。開発元のUnity社は「アセットストア」というマーケットも運営しており、有料、無料あわせ、世界中のクリエイターによる数え切れないくらいの便利な部品を仲介しています。
極端な話、コアロジック以外のすべてにアセットストアの部品を使ってゲームを1本仕上げることもできるくらい多彩で、1つ1つ見ていったらどれだけ時間がかかるかわからないくらいのボリュームです。
習得すべきスキルの優先度
ここまでお話ししてきた内容をふまえ、私見でスキルの優先度を並べてみると以下のような感じになります。
1.プログラミング
2.画像編集
3.キーフレームアニメーション(2D)
4.BGM編集
5.WEBサイト作成
6.効果音編集
7.etc
「開発環境の操作に慣れつつ1 ~ 3まで程度」を自分でおこない、「足りない分を外部から補充」すれば、2Dのカジュアルゲームなどは完成まで導けるはずです。
もちろん、美麗な背景やキャラクター、複雑なアニメーションなどが必要な場合には外部の部品に頼ることになるかもしれません。それでも、「画像編集」、「2Dのキーフレームアニメーション」に関しては、常に便利に使用できるスキルですので、「プログラミング」と合わせて自ら習得しておくべきだと考えます。
また、BGMも外部の部品を利用して他のゲームと同じになってしまう場合を考えると自作が望ましいため、効果音より優先度を上にしています。
まとめ
いかがだったでしょうか?
今回は、個人でゲームを開発・公開する際に必要なスキルを列挙し、ざっくりと概要を説明してみました。今日までまったく何も知らなかったという方でも、なんとなく全体像がつかめたのではないでしょうか。
画像や音源などの「部品」の作成に加えて、実際の開発環境上でプロジェクトがどのように構成されているかを知り、さらに使い方にも慣れなければなりませんから、覚えることはかなりたくさんあります。
それでも、ゲームの開発はとにかく面白いものです。初期費用はゼロでも始められますし、ハードルが高すぎる場合には、外堀から埋める方式で「まずはラクガキで画像編集ツールの練習をしてみる」なんていうのもアリだと思います。
皆さんもこれを機会に「ゲーム開発」を始めてみませんか?
さて、ここまで読んでさらに興味があるようでしたら、「すべての作業を自分ひとりでおこなう場合の進め方」をテーマにした続編記事もいかがですか?
関連記事
https://propoko.com/blog/app-process
以上、「個人でゲームを開発するために必要なスキル」の紹介でした。
Unityをオンラインで学ぶなら・・・
書籍での学習ではなかなか進まない・・・という方は外部のサービスを利用して学習するのもオススメです。
最近ではUnityを学べるサービスも増えてきていますね。
Unityをオンラインスクールで学ぶ
当サイトでも人気のテックアカデミーにもUnityコースがあります。
ぽんぽこ
Unityを動画で学ぶ
まずは動画でUnityの全体像を把握するのも学習の効率アップに繋がるでしょう。Unityのざっくり理解するには視覚的に確認できる動画もオススメです。Udemyには日本語の動画もありますよ。
Udemy(ユーデミー)のレビューはこちら。
https://propoko.com/blog/udemy
ぽんぽこ