新刊ピックアップ

ゲーム開発に必要な知識

この記事を読むのに必要な時間:およそ 1 分

Unityでゲームを開発する前提として,対象となる言語が使えることとUnityの基本知識があることは当然です。ゲーム開発にはそれ以外にも技術的な知識が必要となってきます。

スマートフォンゲームの構成

スマートフォン向けゲームの構成は,大きく分けるとインゲームと呼ばれるゲームそのものの部分とアウトゲームと呼ばれるゲームの設定をする部分に分けられます。たとえば育てたキャラクターを使ってパズルをクリアしていくゲームがあるとします。その場合,インゲームがパズルで,アウトゲームがキャラクターを育てたり,新しいキャラクターを手に入れたり,パズルで使うキャラクターを選んだりする部分です。 どちらの構成をとっても,ユーザの入力を受けて画面の裏側でデータをロードしたり,サーバと通信を行ったりと,見えないところでもいろいろな技術要素を用いています。ここでゲーム開発に必要な知識をまとめてみます。

クリエイティブの知識

画面に見える技術要素は,ユーザの入力を受け付けるUIとキャラクターのようなゲームの状態の一部を表す要素の2つに大別できます。UI要素はUIデザイナーが作成したグラフィックに,Unityエンジニアがプログラムを実装して,ボタンやスクロールバーといった機能を付与します。ゲームの状態を表す要素は,その画面において必要なメインキャラクターや敵キャラクター,マップやエフェクトなど,ゲーム内での状態の変化を視覚的に表すのが目的です。プログラムを実装するのはUnityエンジニアの役割ですが,クリエイティブを生成する知識はもちろん,ゲームの演出効果を高めるパーティクルエフェクトの知識なども身につけた方が良いでしょう。

通信,ネットワークの知識

画面に見えない技術要素として,オンライン機能が挙げられます。たとえば,チャットやメールのようなコミュニケーション機能や,対戦型のゲームにおいては世界中のユーザといつでもリアルタイムに遊べる通信機能です。これらの機能を実装するには,通信,ネットワークについて理解しなくてはなりません。近年リリースされるゲームではマルチプレイ機能が当たり前になっています。マルチプレイにおける通信処理や実装の方法も押さえてください。

開発効率化の知識

ゲーム開発の現場では限られた時間と予算で進める必要があります。リリースフローを考えてみると,アップデートのたびに同じビルド,テストなどの作業が必要になります。ヒューマンエラーを防ぐためにもCIツールなどを利用して自動化できる手順は自動化してください。また,ゲーム開発にはソフトウェア開発のMVCパターンのようにMVVMパターンと呼ばれる開発手法があります。これによりプレゼンテーションロジックとビジネスロジックを分離でき,チームでの開発が効率化されます。そのほかにもゲーム開発を最適化するためにスクリプトを用いてエディタを拡張し,独自の開発環境を用意することが必須です。たくさんのオブジェクトを用意することになるので,アセットバンドルを用いた効率的なリソース管理も必要です。

ゲームシステムの知識

せっかく作成されたゲームですから少しでも長く運用したいと考えるでしょう。ユーザが離脱しないために,常に新しい機能を追加できる運用を計画しましょう。

おわりに

そのほかにもスマートフォンゲームの開発にはOS特有の問題が発生したり,プラットフォームのレギュレーションに引っかかって配信できないなどの問題も出ます。このように,ゲームを開発するには幅広い知識が必要になることが分かります。本誌ではこれらの項目をなるべくカバーするように構成しています。本格的なゲームを開発するのであればぜひ手にとってみてください。