NintendoSwitchでも出したいよね(PlayerPrefsや入出力の分離設計)
今日はプログラミングの話。PlayerPrefsの分離について。
今回のゲームは最終的にニンテンドースイッチでも出したいと思っているので、データリポジトリを噛ませることで簡単にPlayerPrefsを取り除けるように設計しています(リポジトリパターンと呼ばれるヤツね)。ニンテンドースイッチ用ソフトはスマホアプリ同様にunityで開発できるので元々Unityで開発していれば比較的移植しやすいのですが、他プラットフォームと違ってplayerprefsが使えなかったり入出力回りが特殊だったりします。
(加えて、個人で任天堂のデベロッパー申請を受かるのは結構大変なので、申請がリジェクトされたらツテを頼らないといけないという問題がある)
さて、こういうデータ周りや入出力の設計を始めとするマルチプラットフォーム対応はアーキテクチャ(設計理論)の活躍しどころです。
整頓して粒度を細かく作っておくと、環境依存の因子を分離しやすくなります。
初心者~初級者のプログラマは動くことを優先して整頓を疎かにするので、移植や変更が入った時に地獄を見るのですよね。(昔の自分を振り返りながら)
特に対応プラットフォームを広げる野望がある場合はアーキテクチャを意識することを心がけましょう。最初は概念的にも簡単なMVCから自分のものにしていくとGOOD。
(まぁアーキテクチャは常に意識しといた方がいいんだけど、特にね)
移植を意識して開発する時は、データアクセスを直接行わずにリポジトリクラスを噛ませること、また入出力も専用クラスを用意しておくと移植時の修正箇所を限定することができて後々楽なので覚えておくと便利かも。