มันขึ้นอยู่กับวิธีการที่แข็งแกร่งที่คุณอยู่กับคณิตศาสตร์ และ 3D แนวคิดการเขียนโปรแกรมเกม
2D คุณสามารถรับได้โดยใช้เพียงแนวคิดของ x, y ตำแหน่งและความเร็ว (และการบวกและลบออก - เวกเตอร์โดยทั่วไป) และการชนกันของกล่อง 2D
ใน 3D คุณต้องกังวลเกี่ยวกับคณิตศาสตร์มากขึ้น: เมทริกซ์การฉาย, การดูเมทริกซ์, frusta ..
นอกจากนี้คุณต้องโต้ตอบกับชุดฟังก์ชั่นที่สมบูรณ์ยิ่งขึ้นจาก API การวาดที่คุณใช้ (โดยอาศัยข้อเท็จจริงที่ว่าคุณกำลังทำ 3D ดังนั้นคุณต้องเรียนรู้ฟังก์ชั่นเพิ่มเติมมากมายที่เกี่ยวข้องกับ 3D )
Microsoft XNA มียอดเยี่ยมการสนับสนุนสำหรับการเริ่มต้นออกในแบบ 2D และทำให้การแสดงผลได้ง่ายโดยใช้SpriteBatch ทันทีที่คุณเข้าร่วมกับ 3D คุณจะต้องเรียนรู้VertexBufferหรือModelโดยอัตโนมัติจากนั้นจะมี ModelBones และทุกอย่างอื่นที่เกี่ยวข้องกับมัน
คุณดีที่สุดในการเริ่มต้น 2D เพราะแนวคิดที่คุณต้องเข้าใจน้อยกว่า (2D sprite หรือไม่! หลังจากที่คุณมีประสบการณ์ภายใต้เข็มขัดของคุณแล้วคุณควรทำ 3D ได้ดี