Karena game didasarkan pada banyak subsistem yang berbeda, hal-hal seperti grafik (DirectX, OpenGL, ...), suara (OpenAL, Ogg Vorbis, ...) atau fisika (tabrakan, ...), perpustakaan apa yang Anda ketahui yang berguna untuk pengembangan game dalam C # dan manfaat apa yang mereka tawarkan?
58
Jelas ada XNA dari microsoft itu sendiri: http://creators.xna.com/en-US/ Game yang dibuat dengan XNA berfungsi di Windows dan (via Creators club) di Xbox360. Saya pikir ini sempurna untuk membuat kaki seseorang basah dalam pengembangan game yang cepat. Saya belum membasahi XNA dengan benar, jadi saya belum bisa menilai. Tapi, melihat dari sela-sela sepertinya hal terbaik sejak diiris roti. Tentu, Anda tidak dapat melakukan semuanya dengan itu. Tetapi Anda dapat membuat prototipe cepat dan game yang berfungsi dengan kualitas indie dan lainnya.
Pustaka lain adalah SlimDX - http://slimdx.org/ yang mungkin dikatakan lebih dekat dengan metal / kenyataan jika Anda tidak ingin bekerja dengan XNA. Jadi, bagus untuk melakukan prototyping cepat - terutama jika pengembangan gim utama Anda adalah C atau C ++. Juga bagus untuk melakukan alat.
sumber
Ada juga port C Library SDL ke .NET, SDL.NET . Saya pribadi akan menggunakan XNA di C # karena itu hanya perpustakaan yang disatukan dengan baik, sangat dapat disesuaikan dan juga ramah pemula.
sumber
Penafian: Rekomendasi berikut ini mungkin atau mungkin tidak bias karena keterlibatan pribadi saya dalam pengembangan mesin ini.
Duality adalah mesin game 2D yang dapat dikembangkan yang dilengkapi dengan sistem editor WYSIWYG. Ikhtisar cepat:
Jika Anda ingin mencobanya, Anda bisa langsung mengunduh rilis biner terbaru atau kompilasi sendiri menggunakan kode sumber dari GitHub . Untuk mendapatkan informasi lebih lanjut, kunjungan ke situs web info dan forum komunitas mungkin terbayar. Ikuti saja tautan dari situs web info yang saya sertakan di atas.
sumber
BulletX adalah port 100% C # dari Bullet Physics, yang dapat digunakan dengan XNA.
sumber
Di sisi alat perpustakaan bermanfaat yang luar biasa adalah " Managed Extensibility Framework ", yang sekarang sebenarnya bagian dari .Net 4.0. Hal ini memungkinkan Anda untuk membuat plug-in atau penemuan otomatis instance kelas dengan mudah, yang sangat berguna untuk alat Anda.
sumber
Yang terbesar (dan paling terbukti) hingga hari ini adalah kerangka kerja XNA. Anda bahkan dapat memanfaatkan XNA untuk membangun set alat Anda. Keuntungannya adalah Anda memiliki kerangka kerja yang mencakup perpustakaan yang Anda butuhkan (fisika, suara, grafik) yang dibungkus dalam satu paket dan nilai tambah besarnya adalah jika Anda melakukan sesuatu dengan sangat baik, Anda dapat mencoba dan memompanya ke XBLA.
sumber
XNA adalah perpustakaan yang cukup besar untuk PC / Xbox360, menangani grafik, suara, input, dll.
sumber
The Tao Kerangka (digunakan dalam buku ini bahwa saya telah menemukan cukup berguna: C # Game Programming Untuk Penciptaan Permainan Serius ), yang membungkus OpenGL dan banyak fitur pemrograman game lain yang berguna (dapat diakses melalui C #) adalah layak lihat. Namun, telah digantikan oleh Open Toolkit Library (OpenTK), yang disebutkan dalam jawaban lain. Saya merasa aneh bahwa buku ini menggunakan Kerangka Tao bukan OpenTK, mengingat Tao telah tidak aktif selama sekitar 2 tahun (dan buku ini baru). Namun, kerangka kerja yang bermanfaat yang patut untuk dilihat.
sumber
Tidak persis seperti yang Anda tanyakan tetapi Unity adalah mesin game yang mendukung scripting di c #
sumber
AngelXNA (http://www.jeffongames.com/2009/05/angelxna-v10/) adalah pustaka / mesin berorientasi prototipe yang bagus yang dibangun di atas XNA, jika Anda mencari sesuatu yang lebih tinggi.
sumber
Saya menemukan SFML.Net menjadi pilihan yang bagus, dan itulah yang saya gunakan secara pribadi. Berhati-hatilah, jangan menggunakan binari yang disediakan di situs, tetapi dapatkan yang terbaru dari SVN. Versi situs sudah sangat usang.
sumber
Lihatlah Mesin Ploobs - sekarang ini mendukung XNA 4, open source dan memiliki banyak fitur keren:
sumber