ゲームロジックをAPIに依存しないようにしようとしています。そうすることで、Unity3DのVector3構造体やXNAなどを使用したくありません。これを行うための最良の方法は何ですか?独自のVector3構造体をロールして、さまざまなAPI実装への暗黙的なコンバーターを作成した場合、キャストが非常に重くなるようです。
この種のベストプラクティスはありますか?MicrosoftやUnityなどにピクニックをして共通のインターフェースを守るように頼むことができるわけではありません。
私の経験に基づいて、ロジックを書き込むプラットフォームを1つ選択し、もう1つのプラットフォームで、プラットフォームのネイティブタイプへの変換を使用して一致する実装を作成します。3番目の実装を設計および作成してから、両方のプラットフォームに変換する必要があるのは意味がありません。
すべてのプラットフォームが同じであれば、MonoGameまたは(最終的には)ExEnからオープンソースの実装を取得して使用できるため、おそらくXNAを好むでしょう。
ただし、実際には、開発する予定のプラットフォーム(XNAまたはUnity)から始めて、実際に必要になったときに互換性レイヤーを作成するのがおそらく最善だと思います。