Saya akan menghentikan proyek game saya di XNA karena dari apa yang saya dapat kumpulkan, perkembangannya akan segera berakhir (dan sudah ada di belakang teknologi saat ini). Karena itu, saya perlu mengadopsi kerangka kerja atau API baru.
Saya baru saja menghabiskan 2 hari melihat C ++ dan memutuskan itu benar-benar bukan untuk saya - namun saya menemukan akses mentah ke DirectX yang menarik. SharpDX terdengar seperti tempat yang baik untuk memulai, tetapi tidak memiliki dokumentasi dan tidak ada komentar kode. Saya merasa belum siap untuk digunakan.
Saya tertarik pada pendapat orang-orang yang telah menggunakan salah satu atau kedua kerangka kerja ini, untuk membantu saya memutuskan mana yang harus saya pelajari? Terima kasih atas sarannya.
Jawaban:
Saya penulis SharpDX, jadi saran saya akan menjadi bias, tapi saya setidaknya ingin menanggapi beberapa masalah Anda.
Tentang dokumentasi SharpDX, kondisi saat ini sangat terbatas, karena saya telah bekerja sejauh ini untuk membawa seluruh API DirectX dapat diakses dari .NET dan OS Win8 baru. Saat saya ditutup untuk menyelesaikan di sisi ini, saya sedang bekerja untuk menyediakan situs web lengkap dan beberapa artikel untuk menjelaskan konsep-konsep kunci SharpDX, dan bagaimana Anda bisa mendapatkan yang terbaik dari itu. Juga, perlu diingat bahwa proyek ini terutama untuk membawa DirectX ke .NET, jadi ini masih merupakan API tingkat rendah. Jadi itu mengharuskan Anda untuk menggali sedikit ke dalam perilaku C ++ API untuk memahami cara kerjanya. Untungnya, hampir setiap metode tunggal di SharpDX melakukan pemetaan ke metode tunggal di DirectX API, jadi Sangat mudah untuk memeriksa cara menggunakan metode dengan memeriksa DirectX API. Sistem dokumentasi yang akan tersedia dengan SharpDX 2.
Apakah SharpDX siap digunakan untuk mengembangkan game? Singkatnya, Ya.
Pertama-tama, saya telah disewa oleh perusahaan Jepang untuk berpartisipasi dalam pengembangan mesin 3D baru di C #, dan kami menggunakan SharpDX untuk rendering backend pada Windows.
Kedua, saya telah menerima banyak surat pribadi dari pengembang dari perusahaan yang menggunakan SharpDX untuk mengembangkan aplikasi multimedia (mulai dari game, editor level, penerbitan foto online ... dll.). Beberapa pelanggan ini cukup besar (Sayangnya, saya tidak bisa mengutip mereka).
Terakhir, beberapa proyek open source publik menggunakan (atau akan menggunakan) SharpDX untuk rendering backend utama mereka. Sebagai contoh, Delta Engine sudah menggunakan SharpDX untuk rendering Direct3D11 (yang akan tersedia juga untuk Win8). Proyek ANX upcomming (pengganti XNA open-source) juga menggunakan SharpDX untuk rendering, gamepad, dan manajemen audio.
Tapi SharpDX hanyalah langkah di jalan untuk membangun mesin gim, dan kemudian gim. Karena API tingkat rendah, Anda tidak dapat mengharapkan untuk memiliki fitur tingkat tinggi yang sama dengan yang Anda gunakan dengan kerangka kerja seperti XNA. Tetapi dengan kerangka kerja minimal, Anda bisa melakukan banyak hal.
Juga, Anda dapat mempertimbangkan untuk menggunakan produk mapan seperti Unity untuk mengembangkan game portabel di C #.
sumber