Nodachisoft Nodachi Sword Icon
  
@あまじ✎ 2020年7月17日に更新

アプリ動作環境の比較まとめ。PC、スマホ、コンソール

個人でゲームアプリを開発するにあたって、最初にゲームを動かすプラットフォームをどうしようか、 どんなものがあるのかを比較検討し、各プラットフォームにあった開発がどのくらい大変なのかを考えた内容を 残しています。

まず、主要な各プラットフォームである、コンソール(コンシューマ機器)、PC、スマホの3つを 対象にメリット・デメリットをいくつか挙げてみて、 どれくらい遊んでいる人がいるのかの統計を確認し、最終的に個人開発するゲームのプラットフォームの対象と 基盤(Unity とか Web ブラウザベースにするとか)を選択しました。

プラットフォーム比較

1. コンソール(コンシューマ機器)

PlayStation とか、Nintendo Switch とかいろいろと素敵なモノありますが、まずは個人で気軽に公開できるものを対象にしたいと思いますのでいきなり対象外になりました。

最近はインディーゲームなどもコンシューマで発売されてたりしますが、私個人でこのレベルのハイクオリティなものを目指すのは現実的ではないかな。

マイナーなゲームとしてのコンシューマ

マイナーな機器でいえば他に Amazon Kindle FireStick TV なんかもコンシューマといえるかも。

コンシューマ機器は、機器の構成である OS、メモリ、CPU、操作するインターフェイス が決まっていることがほとんどかとおもいますので、作るならその範囲で動作するようにゲームを作成する必要があります。

例えば自宅にある Kindle Fire Stick TV であれば、以下のような特徴があります。(公式から参照

  • OS は Android ベースの Fire OS。
  • Android 同様、APKファイルでインストールできる。
  • FireStick のコントローラは 十字キーと決定+再生などのボタンでアプリ操作。
  • Android Studio + Fire App Builder でアプリ作成。
  • Amazon WebView を利用してゲーム作りもできる。
  • Unity、Cocos2d-x、GameMaker などにも対応。

Amazon Fire TV(LDC9WZ)の音声認識リモコン

写真は 2016年10月にリリースされた Amazon Fire TV (LDC9WZ) についてくる、音声認識リモコン。

もし Fire Stick TV で動作させるアプリなら、少ないボタンで操作できるものにしないといけないという制限があります。

マイコンとか

他にもマイコンなどに LCD パネルとスイッチを付けてゲームを作りこむのも楽しいと思うのですが、ネット経由でいろんな方に遊んでいただくのには向いていないと思うので、とりあえず比較の対象外に。

メリット

  • 開発者は予め機器の開発元が公開している情報から、利用可能なメモリ、CPU、専用のAPI が分かるので、機器のパフォーマンスをフルに引き出すようなプログラムを作ることが可能。
  • ゲーム専用機器なら専用のライブラリが整っており、アプリ開発に専念しやすい。

デメリット

  • 個人がちょっとお試し、くらいの感覚でアプリ公開することに壁がある。
  • 機器それぞれの特徴を把握する必要がある。機器によって開発方法が異なったり、他のプラットフォームへの移植が大変な傾向。
  • 個人が趣味で開発したようなゲームは、認知度が低いので遊んでもらえるような機会を持つことは難しいのでは。

2. PCゲーム

千差万別のスペックがあり、開発環境も整っていてゲームプラットフォームも豊富。ゲーム開発は一番しやすいと思います。

メリット

  • 開発環境が整っているので、好きな開発環境やスタイルが採用できる。
  • 世の中に存在する様々なライブラリ、物理演算などが無料で使用できる。
  • Unity などの統合開発環境を使用してクロスプラットフォームで動作するアプリを出力できる。
  • Valve 社の Steam や Electronic Arts 社のOrigin など、個人が開発した インディーゲームを公開するような基盤が存在する。

デメリット

  • 遊ぶ側に、Native アプリとしてインストールしてもらう手間がある。
  • OS のバージョンによって動作しなくなることもあり。Java や C# などのVM(仮想マシン)上で動作するようなアプリであれば、互換性はあまり心配いらないかも。OS の API 機能に依存するようなコードを書いちゃうと、OSパッチをあてたら動作しなくなったりすることも。

3. スマホ

メリット

  • ゲームとして気軽に遊べるプラットフォームとしてスマホが増加している。※資料は後述
  • 趣味で開発しているような人でも参入できる。Google 社が提供している Play Store や iOS 向けの App Store など、簡単にアクセスできる場所で公開できる。
  • 大きなサイズの画像や音声等を、アプリインストール時に一度にダウンロードしてもらえる。アプリ立ち上げ時にデータをインターネットからダウンロードしてゲームデータをアップデートする手法も取りやすい。

デメリット

  • いきなりアプリだけ公開しても、遊んでくれる人がいるか不明。アプリ認知度をどうやって向上していくか課題。
  • アプリをインストールしてもらう手間がある。
  • 格安スマホなどは極端に画像処理性能が低かったりするので、動かないことも。スマホOS によって使える機能、使えない機能があり。
  • ブラウザベースで構築するアプリは、OS 標準のブラウザバージョンを意識する必要あり。

ゲーム市場の大きさと内訳

Newzoo.com 社が 2019年に公開したレポートで、ゲーム市場規模の内訳は 2019 年時点で、1位. スマホゲーム(36%)、2位. コンソールゲーム(32%)、PCゲーム(21%)、タブレットゲーム(9%)、ブラウザPCゲーム(2%) の順番と参考になる値が出ています。

調査データの元ネタ

ページ最後に参考にした資料へのリンクを貼っています。調査母数や調査方法も記載されているので詳細はそちらでご確認ください。

どのプラットフォームを対象に開発する?

遊ぶ側の市場の大きさや、手軽さを考えるとスマホ、PC を対象としたいと思います。

スマホとPC の両方で気軽に公開できるアプリ基盤を考えてみます。

使うアプリ開発基盤

今後も廃れることのなさそうなアプリ開発基盤を選択したいと思います。 特に重要なポイントは二つ。

  • いろんなプラットフォーム上で同じように動かしたい。
  • なるべく無償で開発環境を手に入れたい。

となると、対象はだいぶ絞られてきます。

  • ブラウザ上の HTML5 ベースでいろいろ組合せ
  • Unity などのクロスプラットフォーム向け開発基盤利用
  • Google のFlutter などのクロスプラットフォーム向けUIフレームワーク利用
  • Epic Games の Unreal Engine の開発基盤利用

Unity はプログラムを C# で開発できて、開発環境の UI も非常に洗礼されて扱いしやすく、搭載しているゲームエンジンも軽いしで良いとこづくし。 コレでほとんど済んでしまうのでは、と思っています。

ただ、今回はネット経由で個人宛に気軽に触ってほしいというのもあり、とりあえず対象から外しました。

Unity はブラウザ上で動作するようにコンパイルもできますが、すこしサイズ的に重かった印象なので様子見です。

ただい、ブラウザベースはキレイな 3D や性能が必要になるような処理は向いていないので、 場合は Unity や Unreal Engine + α の開発にしたほうが圧倒的に良いかと思います。

今回はどんなプラットフォームでも最初から動作する環境となりつつある、HTML5 ベースを対象に考えてみました。

ブラウザベースアプリ(HTML5)のメリット

性能を要求しないような、シンプルなゲームであれば HTML5 上で実現できることも多くなっており、 ネット上から気軽に訪問してもらえる可能性は一番高そうです。

最近は HTML5 ベースで作製した Web アプリをスマホのアプリ市場に取り込む動きもありますし、 そうでなくても、Android や iOS などでブラウザを組み込んでおくだけ、実際の処理は組み込んだブラウザ上で動作させるなんていう 属に"ガワネイティブ"と呼ばれるアプリにすることは容易ですし。

  • 公開するアプリはとにかく気軽に遊べるようなものを考えている。スマホで Wi-fi を使ってでかいファイルをダウンロードしなくても遊べるくらいの転送サイズが良い。
  • スマホ、PC、今後でてくる機器上でも、ゲームをそのまま動かせるようにしたい。大抵の機器ではブラウザを動作させるアプリを搭載していて、一度書いたコードはそのまま他の機器上でも使えることが多い。
  • HTML5 対応ブラウザが増え、ブラウザ上で複雑な画像処理を行う WebGL の画像処理ができるようになった。

将来的に別のプラットフォームで再作成

Unity などの優秀なアプリ開発プラットフォームで HTML5 + WebGL + asm.js の出力が可能となっているので、 こちらのほうが圧倒的に便利であれば、今後開発しなおすかもしれません。

参考

変更履歴

  • 2020/03/28 記事公開
  • 2020/07/17 Unity メリット関連を追記
 
 
送信しました!

コメント、ありがとうございます。

なんかエラーでした

ごめんなさい。エラーでうまく送信できませんでした。ご迷惑をおかけします。しばらくおいてから再度送信を試していただくか、以下から DM などでご連絡頂ければと思います。

Twitter:@NodachiSoft_jp
お名前:
 
連絡先:
 
メッセージ:
 
戻る
内容の確認!

以下の内容でコメントを送信します。よろしければ、「送信」を押してください。修正する場合は「戻る」を押してください

お名前:
 
連絡先:
 
メッセージ:
 
Roboto からの操作ではないという確認のため確認キーを入れてください。
確認キー=95
戻る
 / 
送信確認へ
コメント欄
コメント送信確認へ

関連ありそうな記事(4件)です!

ブラウザでデータの保存

#ブラウザゲーム開発記録✎ 2020-07-17
ブラウザアプリ(Webアプリ)でデータを保存する先について、cookie、webstorage、サーバ側保存を比較し使いどころを整理
広告領域
追従 広告領域
目次
アプリ動作環境の比較まとめ。PC、スマホ、コンソール
アプリ動作環境の比較まとめ。PC、スマホ、コンソール
プラットフォーム比較
プラットフォーム比較
1. コンソール(コンシューマ機器)
1. コンソール(コンシューマ機器)
メリット
メリット
デメリット
デメリット
2. PCゲーム
2. PCゲーム
メリット
メリット
デメリット
デメリット
3. スマホ
3. スマホ
メリット
メリット
デメリット
デメリット
ゲーム市場の大きさと内訳
ゲーム市場の大きさと内訳
どのプラットフォームを対象に開発する?
どのプラットフォームを対象に開発する?
使うアプリ開発基盤
使うアプリ開発基盤
ブラウザベースアプリ(HTML5)のメリット
ブラウザベースアプリ(HTML5)のメリット
将来的に別のプラットフォームで再作成
将来的に別のプラットフォームで再作成
参考
参考
変更履歴
変更履歴
Nodachisoft © 2020