Apa masa depan XNA di Windows 8 atau bagaimana game yang dikelola akan dikembangkan di Windows 8? [Tutup]

83

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.

Ken
sumber
2
Windows 8 memiliki mode back-kompatibel di luar kotak, jadi mengapa ini menjadi masalah?
ashes999
6
Jika saya ingin mengembangkan game # ac untuk UI metro, kerangka apa yang harus saya gunakan?
Ken
5
Anda harus menggunakan SharpDX.
Jonathan Dickinson
+1 untuk Johnathan. SharpDX sekarang mendukung DirectX 11.1 untuk kompatibilitas Metro.
ChrisC
4
@Deza: Tidak hanya itu tidak memiliki dukungan metro, tetapi XNA juga tidak akan digunakan untuk Windows Phone 8. Selain itu, jika XNA tidak diperbarui, ia tidak akan pernah mendukung DX11, dan tidak akan berfungsi untuk konsol Xbox yang akan datang. Ada banyak alasan bagi pengembang untuk menghindar dari XNA jika tidak diperbarui.
Nic Foster

Jawaban:

61

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:

  1. 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.

  2. 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. Tampilan Halaman Engine QuickStart

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:

Buat gim immersive menggunakan kekuatan DirectX Tumpukan grafis Windows 8 yang baru lebih terintegrasi, membuat komponen Direct2D, Direct3D, dan DirectCompute lebih mudah digunakan bersama-sama dan membutuhkan lebih sedikit sumber daya duplikat dari sebelumnya. Kemampuan yang sebelumnya hanya tersedia di XNA, seperti DirectXMath, XAudio2, dan XInput, sekarang tersedia. Untuk pengalaman terbaik dalam bermain game dan video, gunakan DirectX 11.1 untuk menghadirkan 3D stereoskopis ke aplikasi Anda.

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.

Nic Foster
sumber
Perwakilan Microsoft tampaknya telah memberitahu orang untuk menggunakan dukungan MonoGame untuk Windows 8, meskipun dukungan 3Dnya masih dalam dev. Mungkin patut dilihat jika Anda dapat mem-porting mesin Anda :)
David C. Bishop
1
Ya itu sesuatu yang mungkin saya pertimbangkan. Saya sering menggunakan proyek mesin sebagai hobi untuk mempelajari lebih lanjut tentang bidang pengembangan game yang kurang saya kenal. Dengan mesin seperti Unity di luar sana yang dapat digunakan secara gratis, hanya sedikit penggunaan mesin saya (sejauh yang saya tahu). Saya tidak yakin seberapa serius saya membuat mesin lebih mudah diakses mengetahui seberapa kecil kemungkinan akan digunakan. Saya dapat terus memperluas mesin lebih jauh hanya untuk terus berlatih dengan teknologi mesin permainan secara umum.
Nic Foster
1
Saat ini saya menggunakan Monogame untuk game 3D XNA saya yang saat ini bekerja pada WP7, Windows dan W8. Masih ada sejumlah elemen penting yang hilang yang saya harap ada di sana tetapi sedang banyak dikembangkan oleh beberapa pihak yang berkepentingan utama.
RobCurr
47

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.

Dominique
sumber
4
Bagi siapa pun yang memberi saya skor negatif, apakah saya tidak menjawab pertanyaan penulis asli tentang "bagaimana game yang dikelola akan dikembangkan di Windows 8?" Saya pikir saya akan menyarankan bahwa MonoGame akan memiliki implementasi Windows 8 di masa depan, jadi itu adalah salah satu alternatif yang mungkin untuk Unity3D, DeltaEngine dll. Dan saya juga menjelaskan poin xoofx tentang MonoGame. Hanya ingin tahu mengapa suara turun.
Dominique
6
Saya berani menebak itu bisa jadi karena jawaban Anda lebih mirip iklan daripada jawaban.
Josh
6
@ Dominique I down memilih Anda. Saya telah menggunakan dan menikmati produk Anda tetapi bagian yang mengatakan, "Jadi saya kira maksud saya adalah, tolong pertimbangkan MonoGame jika Anda berencana untuk menulis game lintas platform menggunakan XNA." merangkum maksud jawaban Anda. Sejumlah kecil informasi yang berguna tidak menyembunyikan fakta bahwa itu adalah nada.
ClassicThunder
1
@Dominique Lihat FAQ tentang promosi di situs. Saya yakin Anda dengan jujur ​​mencoba menjawab pertanyaan itu, tetapi sedikit terjebak dalam mempromosikan proyek Anda karena memberikan jawaban atas pertanyaan itu. Karena proyek Anda adalah open-source, Anda mungkin memenuhi syarat untuk Iklan Promosi Komunitas , dan layak untuk dilihat. Terima kasih atas jawabannya dan selamat datang di GDSE.
MichaelHouse
1
Sudah lama sejak saya menanggapi utas ini dan banyak yang telah terjadi. Saya hanya ingin menunjukkan bahwa sekarang ada setidaknya 2 game di Windows 8 preview Store, yang menggunakan MonoGame. ARMED pertama! telah tampil di situs dan situs Microsoft baru-baru ini. Legenda Rune adalah hal lain. Carilah lebih banyak game bertenaga MonoGame yang datang ke Windows 8. Hanya 2 minggu yang lalu, saya dan sesama pengembang MonoGame, diminta untuk mengunjungi Microsoft Reading, Inggris dan berbicara kepada mereka tentang MonoGame. Kami mempersembahkan kepada 8 penginjil. Juga Bob Familiar, seorang penginjil Microsoft di AS, baru-baru ini menulis artikel 3 bagian abou
Dominique
16

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:

dbomb101
sumber
8
Saya benar-benar berharap itu yang terakhir, karena jika mereka mencela XNA setelah berapa banyak mereka telah mendorongnya selama bertahun-tahun, well sial.
jhocking
@jhocking setuju bahwa itu kotoran. Tetapi sebagai pengembang, kita harus selalu multi-bahasa. XNA adalah platform favorit saya juga, tapi sekarang, saya kira itu kembali ke Flash atau apalah. Mendesah.
ashes999
2
lol juga tidak "terlalu" karena saya belum pernah diprogram dalam XNA. Saya lebih berpikir bahwa ini dapat mengacaukan semua teman saya yang terus menginjili XNA. Itu mungkin tidak mengacaukan saya secara pribadi, tetapi saya juga tidak suka melihat orang lain dikacaukan.
jhocking
Hal-hal yang terjadi pada DX itu sendiri akan menunjukkan bahwa tidak akan ada versi lain dari XNA. Tapi, teknologi berubah.
Blecki
11
  1. Apa masa depan XNA di Windows 8?

    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).

  2. Bagaimana game yang dikelola [selain menggunakan XNA API] akan dikembangkan di Windows 8 (Metro)?

    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).

xoofx
sumber
5

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

WinRT adalah .NET berikutnya, dan C ++ / CX adalah C # berikutnya.

Mereka bilang:

Hai itu sama mudahnya untuk menulis dalam C ++ seperti dalam C #! Mengapa Anda perlu XNA jika Anda dapat menulis dalam C ++ dan DirectX?

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.

Petr Abdulin
sumber
2

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.

Jules
sumber
7
Halo Jules. Selamat datang di GDSE! Kami tidak benar-benar menyukai forum di sini, jadi jawaban seperti ini yang hanya mengobrol tidak disarankan. Jika Anda memiliki informasi faktual untuk ditambahkan atau sumber untuk jawaban Anda, itu akan menjadi hebat!
MichaelHouse