Dalam banyak hal, XNA dapat dianggap sebagai analog .NET dengan sistem pengembangan game Microsoft yang lebih terkenal, DirectX, namun ditujukan untuk pengembang yang terutama tertarik untuk menulis game ringan. XNA adalah platform dasar untuk Xbox Live Indie Games.
Microsoft XNA Framework didasarkan pada implementasi asli .NET Compact Framework 2.0 untuk pengembangan Xbox 360 dan .NET Framework 2.0 pada Windows. Ini mencakup serangkaian perpustakaan kelas yang luas, khusus untuk pengembangan game, untuk mempromosikan penggunaan kembali kode secara maksimal di seluruh platform target. Kerangka kerja ini berjalan pada versi Common Language Runtime yang dioptimalkan untuk game guna menyediakan lingkungan eksekusi terkelola. Waktu proses tersedia untuk Windows XP, Windows Vista, Windows 7, Windows Phone dan Xbox 360. Karena game XNA ditulis untuk runtime, game tersebut dapat dijalankan pada platform apa pun yang mendukung Kerangka XNA dengan sedikit atau tanpa modifikasi. Game yang berjalan pada kerangka kerja secara teknis dapat ditulis dalam bahasa apa pun yang mendukung .NET, tetapi hanya C# di XNA Game Studio Express IDE dan semua versi Visual Studio 2008 dan 2010 (mulai XNA 4.0)[4][Verifikasi gagal] secara resmi didukung.[5] Dukungan untuk [ [Visual Basic .NET]] ditambahkan pada tahun 2011.[6]
Kerangka XNA merangkum detail teknologi tingkat rendah yang terlibat dalam pengkodean game, memastikan bahwa kerangka itu sendiri menangani perbedaan antara platform ketika game dipindahkan dari satu platform yang kompatibel ke platform lainnya, dan dengan demikian memungkinkan pengembang game untuk lebih fokus pada konten. dan pengalaman bermain game. Kerangka XNA terintegrasi dengan sejumlah alat, seperti Alat Pembuatan Audio Lintas Platform (XACT), untuk membantu pembuatan konten.
Kerangka XNA menyediakan dukungan untuk pembuatan game 2D dan 3D serta memungkinkan penggunaan pengontrol dan getaran Xbox 360. Game kerangka XNA yang menargetkan platform Xbox 360 hanya dapat didistribusikan oleh anggota Klub/Hub Aplikasi Microsoft XNA Creator, yang mengenakan biaya berlangganan $99/tahun.[5] Aplikasi desktop dapat didistribusikan secara gratis dikenakan biaya berdasarkan lisensi Microsoft saat ini.
Pembangunan XNA
XNA Build adalah seperangkat alat manajemen jalur aset game, yang membantu dengan mendefinisikan, memelihara, melakukan debug, dan mengoptimalkan jalur aset game dari upaya pengembangan game individual. Pipa aset game menjelaskan proses di mana konten game, seperti tekstur dan model 3D, dimodifikasi ke bentuk yang sesuai untuk digunakan oleh mesin game. XNA Build membantu mengidentifikasi dependensi pipeline, dan juga menyediakan akses API untuk memungkinkan pemrosesan lebih lanjut dari data dependensi. Data ketergantungan dapat dianalisis untuk membantu mengurangi ukuran game dengan menemukan konten yang sebenarnya tidak digunakan. Misalnya, analisis XNA Build mengungkapkan bahwa 40% tekstur yang dikirimkan bersama MechCommander 2 tidak digunakan dan bisa saja dihilangkan.[7]
XNA Game Studio adalah lingkungan pemrograman untuk pengembangan game.[8] Lima revisi telah dirilis sejauh ini, namun pada tahun 2015, tidak ada versi baru yang akan dikembangkan .[9]
XNA Game Studio Express adalah versi pertama yang dirilis pada 30 Agustus 2006, dan ditujukan untuk pelajar, penghobi, dan pengembang game independen.[10][11] Tersedia untuk diunduh gratis. Express menyediakan "starter kit" dasar untuk pengembangan cepat genre game tertentu, seperti game platform, strategi real-time, dan first-person shooter. Pengembang dapat membuat game Windows secara gratis dengan XNA Framework, namun untuk menjalankan game mereka di Xbox 360 mereka harus membayar biaya tahunan sebesar US$99 (atau biaya empat bulan sebesar US$49) untuk masuk ke Klub Pembuat Microsoft XNA. Dengan pembaruan, pengembang XNA dapat mengkompilasi biner Xbox 360 dan membagikannyadengan anggota Klub Pembuat Microsoft XNA lainnya.
XNA Game Studio 2.0 dirilis pada 13 Desember 2007.[12] XNA Game Studio 2.0 memiliki kemampuan untuk digunakan dengan semua versi Visual Studio 2005 (termasuk Visual C# 2005 Express Edition gratis) ,[13] API jaringan menggunakan Xbox Live di Windows dan Xbox 360 serta penanganan perangkat yang lebih baik.[14]
XNA Game Studio 3.0 (untuk Visual Studio 2008 atau Visual C# 2008 Express Edition gratis) memungkinkan produksi game yang menargetkan platform Zune dan menambahkan dukungan komunitas Xbox Live. Ini dirilis pada tanggal 30 Oktober 2008, dan mendukung C# 3.0, LINQ dan sebagian besar versi Visual Studio 2008.
XNA Game Studio 4.0 dirilis pada 16 September 2010.[15] Ini menambahkan dukungan untuk platform Windows Phone (termasuk akselerasi perangkat keras 3D), perangkat keras kerangka profil, efek yang dapat dikonfigurasi, objek keadaan bawaan, skalar dan orientasi perangkat grafis, input lintas platform dan multi-sentuh, input mikrofon dan pemutaran audio buffer, dan integrasi Visual Studio 2010.[16]
XNA "Game Studio 4.0 Refresh" dirilis pada 6 Oktober 2011, dan menambahkan dukungan untuk Windows Phone 7.5 (Mango), dan Visual Basic.[17]
Pipa Konten Kerangka XNA
XNA Framework Content Pipeline adalah seperangkat alat yang memungkinkan Visual Studio dan XNA Studio bertindak "sebagai titik desain utama dalam mengatur dan menggunakan konten 3D".[8]
Ekstensi XDK
Sebelumnya dikenal sebagai XNA Game Studio Professional, XDK Extensions adalah add-on untuk XNA Game Studio dan memerlukan Microsoft Xbox 360 Development Kit.[18] Keduanya hanya tersedia untuk pengembang Xbox berlisensi. Ekstensi tersebut mencakup API terkelola tambahan untuk pencapaian, papan peringkat, dan fitur lain yang disediakan untuk judul game berlisensi. Judul yang dikembangkan menggunakan Ekstensi XDK antara lain adalah pemenang kompetisi Dream.Build.Play Microsoft. Yang paling banyak dipublikasikan adalah The Dishwasher: Dead Samurai.
Perjanjian lisensi
Microsoft XNA Framework 2.0 EULA secara khusus melarang distribusi game jaringan komersial yang terhubung ke Xbox Live dan/atau Game untuk Windows Live jika tidak ada perjanjian khusus yang ditandatangani oleh pengembang dan Microsoft.< ref>Persyaratan Lisensi Perangkat Lunak XNA Game Studio 2.0[pranala nonaktif]</ref> Ini berarti XNA Game Studio dapat masih dapat digunakan untuk mengembangkan permainan komersial dan program lain untuk platform Windows, meskipun kode dukungan jaringan Microsoft untukXbox/Windows Live tidak dapat digunakan. Kode jaringan yang dikembangkan sendiri masih dapat digunakan di dalam proyek XNA pengembang.Templat:Kutipan diperlukan
Game yang dibuat menggunakan XNA Game Studio dapat didistribusikan melalui pasar Windows Phone, dan sebelumnya melalui Xbox Live Indie Games.[19] Perangkat lunak ini juga dapat digunakan untuk membuat game komersial yang menargetkan Windows.[butuh rujukan]
Dream Build Play adalah kontes Microsoft tahunan dan global senilai $75.000 yang mempromosikan Microsoft XNA dan akhirnya Xbox Live Indie Games, meskipun sudah ada sebelumnya. Kontes ini pertama kali diumumkan pada tahun 2006 dan dibuka pertama kali pada bulan Januari 2007.[20] Banyak pemenang adalah pengembang terkemuka di komunitas Game Indie.
Game Xbox 360 yang ditulis di XNA Game Studio dapat dikirimkan ke App Hub,[21] yang keanggotaan premiumnya dibutuhkan (sekitar US$99/tahun). Semua game yang dikirimkan ke App Hub harus ditinjau sejawat oleh pembuat lain. Jika game lolos peninjauan maka game tersebut akan terdaftar di Xbox Live Marketplace. Kreator dapat menetapkan harga sebesar 80, 240, atau 400 poin untuk game mereka. Pencipta dibayar 70% dari total pendapatan dari penjualan game mereka sebagai pendapatan dasar. Microsoft awalnya berencana mengambil persentase tambahan pendapatan jika mereka menyediakan pemasaran tambahan untuk sebuah game, namun kebijakan ini dibatalkan pada bulan Maret 2009, sehingga tarif tetap tetap berlaku terlepas dari promosinya.[22]
Microsoft juga mendistribusikan langganan App Hub premium gratis selama satu tahun untuk lembaga pendidikan melalui program DreamSpark dan MSDNAA mereka. Akun ini memungkinkan siswa mengembangkan game untuk Xbox 360, namun pengembang masih memerlukan akun Xbox Live premium untuk mengirimkan game mereka ke pasar.
Implementasi alternatif
Sebuah proyek bernama Mono.XNA dibentuk untuk mem-porting XNA ke kerangka Mono sumber terbuka dan lintas platform.[23]
FNA[26] adalah implementasi ulang open source berfitur lengkap dari XNA yang di-fork dari MonoGame. Tujuan FNA adalah untuk melestarikan perpustakaan game XNA dengan mengimplementasikan kembali XNA itu sendiri.
Sebuah proyek sumber terbuka bernama Grommet berisi port terbatas untuk perangkat tertanam menggunakan .NET Micro Framework.[27]
Tersedia proyek bernama ANX yang mengimplementasikan versi XNA-nya sendiri menggunakan tumpukan SharpDX; dukungan untuk Linux, macOS dan PlayStation Vita juga sedang dalam proses.[28][29] Dengan menggunakan ANX, developer dapat menulis game menggunakan kode yang sangat mirip dengan XNA, namun tetap dianggap sebagai [ Aplikasi [Metro (bahasa desain)|Metro]] di Windows 8.
^Crossley, Rob (31 Januari 2013). [http:/ /www.computerandvideogames.com/389018/microsoft-email-confirms-plan-to-cease-xna-support/ "Microsoft email mengonfirmasi rencana untuk menghentikan dukungan XNA"] Periksa nilai |url= (bantuan). Komputer dan Video Game. Penerbitan Masa Depan.
^"App Hub - unduhan". Diarsipkan dari versi asli tanggal 2015-02- 04.Parameter |url-status= yang tidak diketahui akan diabaikan (bantuan); Periksa nilai tanggal di: |archive-date= (bantuan)
^"XNA Game Studio Express". MSDN.Parameter |bahasa= yang tidak diketahui akan diabaikan (bantuan); Parameter |tanggal akses= yang tidak diketahui akan diabaikan (bantuan); Parameter |archive -url= yang tidak diketahui akan diabaikan (bantuan)
^"31 Game Homebrew yang Layak Dimainkan". Diarsipkan dari versi asli tanggal Parameter |archive-url= membutuhkan |archive-date= (bantuan).Parameter |tanggal= yang tidak diketahui akan diabaikan (bantuan); Parameter |tanggal arsip= yang tidak diketahui akan diabaikan (bantuan); Parameter |kerja= yang tidak diketahui akan diabaikan (bantuan); Parameter |url-status= yang tidak diketahui akan diabaikan (bantuan); Parameter |pertama= yang tidak diketahui akan diabaikan (bantuan); Parameter |tanggal akses= yang tidak diketahui akan diabaikan (bantuan); Parameter |terakhir= yang tidak diketahui akan diabaikan (bantuan)
^"AXN.Framework". [ [CodePlex]]. Diarsipkan dari [http:/ /anxframework.codeplex.com/ versi asli] Periksa nilai |url= (bantuan) tanggal 28-11-2011.Periksa nilai tanggal di: |archive-date= (bantuan)
^"SharpDX". SharpDX. Diarsipkan dari versi asli tanggal 16-01-2023.Parameter |tanggal-akses= yang tidak diketahui akan diabaikan (bantuan); Parameter |url-status= yang tidak diketahui akan diabaikan (bantuan); Periksa nilai tanggal di: |archive-date= (bantuan)