Beralih dari XNA / C # ke C ++? [Tutup]


8

Untuk sementara waktu sekarang, saya telah bekerja dengan XNA untuk desain dan pengembangan game (walaupun hanya untuk penggunaan pribadi ATM). Secara keseluruhan, saya penggemar utama XNA itu sendiri, dan itu secara keseluruhan "merasa." Namun, karena fakta bahwa:

  1. XNA tampaknya memiliki kurangnya dukungan (tidak ada dukungan Metro, tidak ada pembaruan sejak 2010, dll.)
  2. Saya berencana untuk mencoba dan mendapatkan pekerjaan di industri pengembangan game, dan karena dominasi C ++, menjadi lebih akrab dengannya akan sangat berguna
  3. XNA hanya mendukung Windows (non-Metro) dan Xbox 360, sementara saya tertarik pada Mac dan (sedikit banyak) mendukung Linux.

Saya telah mencoba untuk beralih ke C ++ sebagai bahasa utama saya. Namun, saya tidak ingin fokus belajar DirectX / C ++ mentah saat ini, jadi saya sudah mencari tingkat yang lebih tinggi C ++ API (sesuatu tentang tingkat yang sama dengan XNA, meskipun sesuatu yang sedikit lebih rendah akan baik-baik saja) ) dengan nuansa yang mirip dengan XNA. Jadi, untuk seseorang yang beralih dari C # / XNA ke C ++, apa pilihan terbaik saya untuk API mirip dengan XNA, meskipun tidak dikelola dan berjalan pada C ++?


JANGAN PERNAH menggunakan DirectX dengan C ++ ... Gunakan OpenGL;)
CoffeeandCode

Jawaban:


14

Pertama-tama, jika Anda ingin tetap menggunakan C # / XNA, dan masih mendukung Mac / Linux, Anda dapat mempertimbangkan MonoGame . Plus, mereka juga memiliki port Metro. Jadi saya tidak akan menyebut API XNA mati dulu . (Di sisi bawah, kualitas kode MonoGame meninggalkan banyak hal yang diinginkan.)

Juga saya tidak akan mengabaikan kemungkinan versi resmi XNA pada akhirnya.

Jika Anda ingin menikmati beberapa kelas pembantu bagus XNA (misalnya: SpriteBatch, SpriteFont), sambil bergerak ke DirectX / C ++, Anda bisa mencoba DirectX Tool Kit . Dan jangan lupa bahwa banyak kebaikan XNA ada di dalam pipa kontennya - jadi DirectXTex mungkin bisa membantu. Itu dibuat oleh beberapa orang yang sama yang membuat XNA, jadi Anda tahu itu bagus ( posting blog ).

Anda dapat mempertimbangkan mencoba Unity - yang menggunakan C #, mendukung Mac dan Linux dan banyak platform lain, dan digunakan dalam "The Industry".

Jika Anda ingin dukungan Metro, ingin mempelajari DirectX, tetapi tidak ingin meninggalkan kenyamanan C #, Anda dapat memeriksa SharpDX .

Akhirnya, Anda dapat melihat Cocos2d-X , yang tampaknya cukup populer dan mungkin merupakan pustaka C ++ lintas-platform terdekat dengan XNA yang dapat saya pikirkan.


1

Demi kelengkapan saya ingin menyebutkan SFML. Semua orang yang menggunakan C ++ setidaknya harus melihatnya karena SFML sepenuhnya berorientasi objek sedangkan SDL pada dasarnya adalah C.


0

IMHO, perpustakaan ini menarik untuk menyelesaikan migrasi Anda terutama jika Anda ingin memprogram di C ++:

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.