回答:
それはあなたが数学にどれだけ強いか 、 3Dゲームプログラミングの概念に依存します。
x、yの位置と速度の概念(およびそれらの加算と減算-基本的にはベクトル)と2Dボックスの衝突だけを使用して、2Dを取得できます。
3Dでは、投影行列、表示行列、フラスタなど、さらに多くの数学を心配する必要があります。
さらに、使用している描画APIのはるかに豊富な関数セットと対話する必要があります(3Dを実行しているという事実のため、3Dを処理するより多くの関数を学習する必要があります) )。
マイクロソフトXNAは持っている優れた 2Dに出始めのサポートをし、使用して簡単にレンダリング可能SpriteBatchを。3Dに挑戦するとすぐに、自動的にVertexBufferまたはModelを学習する必要があり、ModelBonesとそれに関連する他のすべてのものが自動的に学習されます。
把握する必要がある概念が少ないという理由だけで2Dを開始するのが最善です(2Dスプライト?簡単な説明!)。ある程度の経験を積んだら、3Dをうまくやってください。
2Dと3Dのゲーム開発の唯一の基本的な違いは、3番目の軸を使用するかどうかです。Unityのようなエンジンを使用している場合、モデルの代わりに正投影カメラ投影とスプライトを使用するだけで、2Dゲームを3Dゲームと同じくらい簡単に作成できます。
そうは言っても、3Dの大量のリフティングを行うエンジンを使用していない場合は、はるかに困難です。この質問に対する答えを参照してください:ゲームの2Dと3Dを決定する際に考慮すべきことは何ですか?
あなたがすべきことはあなたがどのゲームを作りたいかを決めることであり、アートとデザインはそれが2Dまたは3Dである必要があるかどうかを教えてくれます。
アートとデザインについて考えるべきであり、それが2Dまたは3Dである必要がある場合、それがあなたを導くことになるという点で、Tetradに同意します。また、最初に2Dゲームを作成することをお勧めします。そうすることで、3Dゲームに伴う困難なことを考える必要がなくなります。また、2Dゲームでは、脳が処理する情報が少なくなります。これは、よりカジュアルな体験に必要なものです。
過去3年間で成功したインディーズゲームのほとんどを見ると、それらの多くは2Dでした。
http://www.braid-game.com/
http://limbogame.org/
http://supermeatboy.com/
http://www.andyetitmoves.net/
したがって、企業は2Dゲームだけを成功させることができます。ゲームの成功は、ゲームの仕組み、ストーリー、美学、テクノロジーからもたらされます。それ以外の場合は、テトラッドとして知られています。私は話題を逃しているので、脱線します。
2Dアートアセットを使用して練習する方が簡単になることを覚えておいてください。したがって、2Dゲーム開発の学習は3Dゲーム開発の学習の前提条件ではないと思いますが(グラフィックコードの上部のゲームコードはほとんど同じです)、まだ初心者でない限り、ほとんどの初心者は2Dゲームから始めることをお勧めします3Dグラフィックスのための堅実なリソースを持っている(たとえば、3Dアーティストである仲間と一緒に学習する)。
コード面では、難易度は、学習しようとしていることと、使用するエンジンによって異なります(特に、独自のエンジンを作成する場合)。低レベルの3Dグラフィックコードは、低レベルの2Dグラフィックコードよりもはるかに複雑ですが、Unityのようなエンジンを使用する場合、低レベルのグラフィックコードを記述することはありません。そのエンジンに組み込まれている3Dゲームのコードは、2Dゲームのコードほど複雑ではありません。確かに、あなたが話している特定のエンジンにもよりますが、かなり複雑ではないかもしれません。