Saya tahu ini adalah potensi penipuan dari pertanyaan ini , tetapi jawaban terakhir ada 18 bulan yang lalu dan banyak yang telah terjadi sejak itu.
Tampaknya ada beberapa ketidakpastian tentang XNA di Windows 8. Secara khusus, Windows 8 secara default menggunakan antarmuka Metro, yang tidak didukung oleh XNA. Juga toko Windows 8 tidak akan menyediakan aplikasi non-metro, sehingga tidak akan menyediakan aplikasi XNA.
Haruskah kita tetap dengan XNA atau apakah Microsoft ingin kita pindah ke kerangka kerja yang berbeda untuk pengembangan game yang dikelola di Windows 8?
Sunting: Seperti yang ditunjukkan dalam salah satu komentar, Windows 8 akan dapat menjalankan game XNA dalam mode kompatibilitas mundur. Tapi itu bau penghinaan.
Jawaban:
EDIT: Ini resmi, Microsoft telah membunuh XNA . Saya sedih dengan ini tetapi itu tidak terduga, itu yang saya prediksi akan terjadi, tetapi berharap saya salah. Segala sesuatu di bawah titik ini adalah posting asli saya dari awal 2012.
Hal lain yang perlu dipertimbangkan adalah bahwa Microsoft kemungkinan akan merilis konsol baru pada pertengahan hingga akhir 2013. Akankah mereka terus mencoba untuk membuat sesuatu seperti XNA bekerja pada konsol mereka? Jika mereka ingin orang membuat game di Xbox baru, mereka akan membutuhkan sesuatu, dan itu akan sia-sia untuk memo XNA dan mulai lagi dengan sesuatu yang lain. Selain itu, Windows 8 akan berjalan pada tablet dengan prosesor ARM, dan kita semua tahu seberapa besar pasar untuk aplikasi untuk ponsel dan tablet, itu adalah peluang besar bagi Microsoft untuk memiliki API untuk membuat aplikasi pada perangkat tersebut, tetapi apakah itu XNA , atau hanya .NET?
Saya melihat beberapa jalur potensial:
XNA belum terlalu sukses dengan Xbox saat ini, sebagian besar disebabkan oleh sedikitnya game XNA yang muncul, dan betapa buruknya pengaturan toko untuk game XNA di Xbox Live. Jadi Microsoft dapat memutuskan untuk menarik steker sepenuhnya, meninggalkan kita dengan XNA 4.0, yang kompatibel dengan DX10, dan akan menjadi platform yang layak bagi orang untuk membuat game PC sederhana untuk beberapa tahun ke depan sebelum menghilang.
Microsoft mungkin melihat kemungkinan besar dengan aplikasi buatan sendiri, hal-hal seperti Apple App Store adalah pembuat uang yang besar, dan jika Microsoft dapat membuatnya lebih mudah untuk membuat game dan memasukkannya ke tablet Xbox Live dan Windows 8, maka mereka memiliki peluang untuk menjadikannya besar di pasar aplikasi konsol. Jika Microsoft melewati jalur ini, saya melihat XNA baru yang mendukung DX11.1 dengan versi berikutnya, dan melanjutkan dukungan untuk XNA selama setidaknya 5 tahun lagi.
Beberapa hal yang perlu dipertimbangkan:
Saat ini dengan XNA Anda harus membayar $ 100 jika Anda ingin mengembangkan game Anda untuk Xbox 360, itu $ 100 hanya untuk mencobanya dan melihat apakah Anda dapat menghasilkan uang, dan bahkan kemudian MS mendapat sebagian dari keuntungan dari game Anda. Jika Microsoft mengeluarkan biaya $ 100 dan hanya mengambil sebagian dari keuntungan, mereka mungkin benar-benar akan melihat lebih banyak permainan dan menghasilkan lebih banyak uang dari kesepakatan.
Game XNA memiliki masalah kinerja pada Xbox 360. Microsoft tidak ingin game XNA menimbulkan risiko keamanan ketika mereka berlari di Xbox orang lain, jadi mereka pada dasarnya menjalankan game XNA di kotak pasir dengan akses terbatas ke CPU, GPU, dan memori. Selain akses terbatas, game yang diprogram pada Xbox SDK lengkap tidak ditulis dalam C # dan tidak perlu hal-hal seperti pengumpulan sampah, tetapi XNA berjalan pada Microsoft # C sendiri, jadi Microsoft harus menulis pembungkus untuk membuat XNA berjalan pada Xbox, dan pembungkus itu sedikit memperlambat segalanya. Hal-hal seperti kinerja floating point bisa sampai 10x lebih lambat daripada game Xbox yang ditulis melalui SDK lengkap. Masalah kinerja ini berarti bahwa game Xbox yang dikembangkan melalui XNA tidak dapat benar-benar menggunakan potensi penuh dari Xbox, yang hanya merusak kualitas game yang bisa didapat Microsoft dari komunitas. Microsoft sebaiknya mempertimbangkan hal ini jika mereka melanjutkan dengan XNA sehingga konsol mereka berikutnya memungkinkan pengembang XNA untuk menggunakan sistem secara maksimal.
Sejauh yang saya tahu, XNA tidak akan mendukung gaya metro Windows 8, jadi pengembang tidak akan dapat menulis game untuk memanfaatkannya. XNA juga tidak akan berjalan pada prosesor ARM, jadi Anda tidak bisa menggunakan XNA untuk menulis aplikasi untuk tablet Windows 8 yang akan segera keluar. Apakah ini pertanda bahwa XNA mungkin tidak didukung di masa depan?
Microsoft menggunakan XNA untuk game sekarang, tetapi dengan sedikit kerja dapat digunakan untuk membuat beberapa aplikasi yang menarik juga. Jika Microsoft mendorong XNA ke komunitas selain pengembang game, maka Microsoft mungkin akan lebih sering digunakan dan memiliki lebih banyak alasan bagi Microsoft untuk terus mendukungnya.
Forum XNA telah sedikit mengering, dibutuhkan lebih banyak waktu bagi orang untuk mendapatkan jawaban, dan saya jarang melihat anggota tim XNA di forum lagi kecuali Shawn Hargreaves, sehingga mereka mungkin hanya berperan sebagai pendukung saat ini.
Saya membuat dan mendukung mesin game open-source untuk XNA, selama 2 tahun terakhir unduhan mesin menurun hingga setengah dari yang mereka mulai, meskipun mesinnya jauh lebih baik daripada dulu. Ini menandakan bagi saya bahwa lebih sedikit orang yang menggunakan XNA daripada sebelumnya. Berikut adalah grafik jumlah hit yang saya miliki di situs saya, Anda dapat melihat minat pada XNA memuncak sekitar akhir 2007 hingga pertengahan 2008.
Ini adalah diskusi panjang yang melibatkan beberapa anggota tim XNA. Tentu saja, mereka tidak mau berkomentar banyak karena Microsoft tidak banyak bicara tentang hal-hal sebelum diumumkan:
http://xboxforums.create.msdn.com/forums/t/91616.aspx
Kutipan seperti ini juga menarik:
http://download.microsoft.com/download/1/E/4/1E455D53-C382-4A39-BA73-55413F183333/Windows_Developer_Preview-Windows8_guide.pdf
Saya saat ini mendukung mesin game open-source untuk XNA, jadi saya lebih suka melihatnya didukung di masa depan, namun, bahkan jika XNA 4.0 adalah XNA terakhir, itu masih merupakan platform yang layak untuk membuat game Windows dengan cepat dan mudah, dan juga API yang bagus untuk mereka yang ingin belajar cara membuat video game.
Pendapat jujur saya adalah bahwa XNA 4.0 akan menjadi yang terakhir, tapi saya benar-benar berharap saya salah tentang itu.
sumber
MonoGame (implementasi OpenSource, OpenGL XNA) v2.5 dirilis hari ini dengan dukungan untuk shader kustom di iOS, Android, MacOS dan Linux. Tim kami telah mulai bekerja untuk menambahkan dukungan SDK PlayStation Suite dan juga Window8 Metro (berdasarkan SharpDX, saya percaya).
Kami sudah memiliki cabang 3D, imajinatif bernama develop3d, yang mana semua upaya kami akan fokus pada beberapa bulan mendatang, sekarang v2.5 sudah keluar. Lihat di saluran YouTube kami untuk saat ini dengan 3D - http://www.youtube.com/user/MonoGameTeam?feature=watch .
Kami memiliki pengembang dari beberapa studio game yang membantu, jadi kami pikir cabang develop3d harus lebih dioptimalkan daripada cabang v2.5 kami saat ini dan hampir total menulis ulang. Demo Reach memerlukan waktu 15 menit untuk port dari Windows ke MacOS X, ketika saya mulai dari awal akhir pekan lalu. Cabang develop3d belum sempurna dan tidak juga seluruh MonoGame, tetapi kami pikir kami sedang dalam perjalanan untuk menyelesaikan masalah yang kami miliki dan jika lebih banyak orang membantu, bahkan lebih baik.
Sudah ada 28 game iOS (27 2D dan 1 3D) di Apple App Store, 5 di pasar Android dan 1 di toko MacOS dan Linux. Jika ada orang di sini yang memainkan Bastion di browser Google Chrome mereka, yang menggunakan versi MonoGame yang dimodifikasi dan kami berharap dapat mendukung game-game NaCL di masa mendatang, terima kasih kepada SuperGiant mengirimkan informasi kepada kami tentang bagaimana mereka membuat MonoGame bekerja dengan NaCL.
Kami memiliki sekitar 4-5 pengembang aktif yang bekerja di MonoGame dan jika Anda suka mengobrol dengan kami, silakan langsung ke monogame.codeplex.com, atau di irc.gnome.org di saluran #MonoGame. Raih kode terbaru dari Github
Jadi saya kira maksud saya adalah, tolong pertimbangkan MonoGame jika Anda berencana untuk menulis game lintas platform menggunakan XNA.
Dominique.
sumber
Dari apa yang saya pahami tentang situasi ini, bisa jadi ada dua cara. API tidak lagi digunakan atau mereka sedang dikembangkan untuk membuat versi XNA berdasarkan DirectX 11.
Berikut ini adalah artikel tentang masing-masing perspektif:
sumber
XNA hanya akan berjalan di desktop Win8 dan hampir tidak ada kemungkinan bahwa Microsoft bekerja pada API yang kompatibel dengan XNA yang berjalan di bawah Win8 Metro UI / DirectX11.1.
Jika Anda benar-benar ingin terus mengembangkan XNA seperti API di Windows 8 Metro, sementara masih dapat menggunakan pipa konten (salah satu alasan mengapa XNA ramah pengembang game dengan anggaran rendah), Anda harus mengikuti proyek ANX Framework . Proyek ini memiliki beberapa peluang bagus untuk siap sebelum Windows 8 RTM (setidaknya dengan dukungan SpriteBatch). Meskipun mungkin perlu sedikit mengubah shader (misalnya semantik), ANX menyediakan cara untuk mengimpor proyek XNA yang ada, sehingga sangat membantu. Mereka juga bekerja pada backend lain (seperti OpenGL untuk grafik), sehingga mereka juga dapat menargetkan platform .NET lainnya (seperti Mono di Android / iPhone).
MonoGame bisa menjadi pilihan lain, tetapi saat ini hanya untuk 2D, dengan backend OpenGL / ES tunggal, jadi itu tidak akan dapat berjalan di Windows 8 Metro (OpenGL bukan API "bersertifikat" di bawah Win8 Metro, dan kemungkinan besar bukan bagian dari rencana Microsoft).
Ada beberapa opsi:
Anda dapat menggunakan langsung SharpDX , DirectX API tingkat rendah (ANX menggunakannya). Misalnya, kerangka kerja minimal untuk game 2D biasanya layak dengan API tingkat rendah seperti ini (dan dapat dilakukan dengan Direct2D). Saya tahu setidaknya dua perusahaan kecil yang menggunakannya untuk mengembangkan game Win8 Metro.
Anda bisa mulai menggunakan DeltaEngine yang diharapkan akan kompatibel dengan Win8 Metro dalam beberapa bulan mendatang (mungkin akan memerlukan lisensi)
Anda dapat mencoba mengembangkannya dengan Unity3D , meskipun mereka belum mengumumkan dukungan Windows 8 Metro (memerlukan lisensi). Tetapi mereka baru-baru ini bekerja pada penyaji Direct3D11, sehingga seharusnya tidak terlalu sulit bagi mereka untuk memberikan dukungan Win8 (tetapi karena banyak Win32 API tidak diotorisasi dari Win8 Metro, Ini mungkin bukan satu-satunya hal yang mereka butuhkan untuk port).
sumber
Dengan rilis WinRT , semakin jelas bahwa Microsoft telah mengambil langkah besar. Sensasi dikelola akan turun, sensasi asli lebih kuat dari sebelumnya. Rupanya seseorang yang berpengaruh di perusahaan (beberapa mengklaim itu adalah tim inti Windows) tidak puas dengan kinerja. NET sama sekali. Tren utama yang saya lihat di artikel terbaru adalah sesuatu seperti
Mereka bilang:
Itulah perasaan yang saya dapatkan terakhir kali. Karena Anda dapat mengharapkan pelambatan semua proyek terkait yang dikelola, satu-satunya perbedaan adalah jumlah perlambatan.
Microsoft menghargai saya karena hampir tidak pernah menjatuhkan dukungan untuk produk, mereka hanya tidak dikembangkan lagi. Jadi setidaknya kita dapat menggunakan XNA 4.0 untuk beberapa waktu walaupun itu adalah versi yang didukung terakhir.
sumber
Itu tidak terlihat baik bagi kami pengembang XNA indie yang ingin mem-port game XNA kami ke Metro. Microsoft tidak menunjukkan minat dan mengharapkan kami kembali ke pemrograman C ++ / DirectX atau mengadopsi kerangka kerja C # pihak ketiga, yang sebagian besar tidak mendukung Pipa Konten XNA.
Semua sangat sedih, kadang-kadang saya benar-benar tidak dapat memahami MS.
sumber