去年から1年半ほどPCゲーム(Steam)の開発を行なってました。
自分はずっとスマホゲームの人間だったのですが、初めてPCゲームを作って分かったことがあるので、そのへんをまとめたいと思います。
使用できるメモリ量
スマホゲームだと古いiPhoneの4GBとかを基準にするかと思うんですけど、PCの場合、理論上無制限で、どこを基準にするかの話しがあります。
SteamだったらSteamDeckを基準にするとかがスペック高すぎなくていいと思うんですが、大抵Switchにも対応したりするんで、Switch基準が一番ベターなのかもしれないです(SteamDeckよりSwitchの方がアプリで使えるメモリが少ない)。
Switchのメモリは4GBですが、アプリで使える実際のメモリは3〜3.5GBくらい。
iPhoneと同じメモリに見えますが、実際にスマホゲームを開発すると3GBも使えなかった印象があります。
なので、Steamだったら3GBくらい使えるんで、メモリの面では多少有利って感じでした(まぁ自分はSwitch担当じゃなかったんで、強くは言えないですがw)。
画面解像度(テクスチャの解像度)
スマホだと画面がそんなに大きくないので、HD(720×1280)でもギリギリ耐えられるかもしれませんが、PCの場合、割と画面が大きかったりするので、荒さが目立ってしまいます。
メモリ使用量は増えてしまいますが、フルHD(1080×1920)もしくは4K(2160×3840)にする必要があるかと思います。
ただ、4Kにした場合、Switchのメモリ量に抑えられるかは微妙なので、プラットフォームによって読み込むテクスチャのサイズを変える、とかの対応が必要になってくるかもしれません(その分、複雑になるので、スマホの場合は出来るだけ処理分けしないようにしてましたが)。
入力デバイス
スマホ → タッチ
PC → キーボード・ゲームパッド
この違いがあります。
Unityの場合、InputSystemを使えばデバイスを意識せず開発出来ますが、タッチの場合、uGUI のイベント拾えばいいですが、キーボード・ゲームパッドの場合、自分でロジックを組む必要があります。
割と泥臭いプログラムを組む必要があるかと。
ビルドアプリ(Linux or Windows)
SteamはLinux上で動作するので、Linux向けビルドでも動作します。
Linux向けかWindows向けのどちらでビルドするかですが、どっちでも大丈夫そうです。
Linux向けの方がより最適化がかかって良さそうですが、普段はローカルでWindowsビルドして確認したりするので(いちいちSteamにアップするのは面倒)、簡単に確認するならWindows向けでいいんじゃないかと思います(挙動的にはそんなに違いはなさそうでした)。
クラウドセーブ
SteamにはSteamクラウドというクラウドセーブの機能が用意されています。自前で用意するには大変だったりするので、結構便利です。
この他にもSteamSDKを使ったフレンド招待とかこういうプラットフォームが用意してくれてる機能を使えるのが便利ですね。
オプション(キーコンフィグなど)
PCゲームの場合、キーコンフィグなどPC固有のオプション設定を用意する必要があります。
これが割と大変なので、最初はキーコンフィグ・グラフィック・ディスプレイみたいな優先度の高いものから入れるのがいいかと思います(そりゃモンハンみたいなめっちゃカスマイズ出来るのが理想ですけど、現実は時間の面で厳しいですからね)。
文化の違い(アーリーアクセス)
全然PCゲームをやってこなかった人間なので知らなかったのですが、Steamの場合、まずはアーリーアクセスでお客さんの反応を見る、というのが多いみたいですね。
いろいろバグあるかもだけど面白いと思ったら正式リリースまで応援してね
みたいな。
そして、実際に感じたのですが、Steamの方が割とお客さんの反応が優しい気がします。
スマホの場合、リリースして失敗したら即サービス終了、みたいな(⭐︎2)。
未完成でもちゃんと面白ければ応援してくれる文化があるように思います。
まぁスマホのアプリ内課金と違って買い切りなので、完成したら遊ぶか〜くらいの軽い気持ちなのかもしれません。
最後に
いろいろ書きましたが、開発中は割とそこまでPCだから〜と意識せず作ってた気がします。
Unityがある程度吸収してくれてたようです。
スマホ:運営しながら機能を足してく
Steam:途中経過を見せながら完成させていく
コンシューマ:完成作品を遊んでもらう
運営スタイルだとずっとお金が掛かるし、完成させてからだとお客さんの反応を見れない。
割と今の時代に沿ったスタイルなのかと思いました。
〜オセロを作りながらゲームのプログラムを学ぼう〜













