Apakah ada kerangka kerja yang memungkinkan saya untuk menulis game di C # di Linux? [Tutup]

10

Saya mencari sesuatu seperti alternatif untuk XNA - Saya tidak peduli apakah itu mesin 2D atau 3D. Itu bukan karena saya tidak menyukai Windows atau saya anti-Microsoft; itu karena saya suka menjalankan Linux, kode dalam Linux sepenuhnya (untuk C # saya menggunakan Mono, jelas), dan sama sekali tidak memiliki perangkat keras untuk benar-benar mendukung pemrograman dalam XNA, hanya karena kartu video saya berusia 6 tahun. Saya juga tidak memiliki CD Windows 7 / Vista untuk DirectX 10.

Jadi, untuk pengembangan game saya agak terjebak di zaman batu. Namun, saya sangat suka C # dan akan benci harus menjatuhkannya karena bahasa ini.

Apakah ada sesuatu yang saya bisa lakukan?

blissfreak
sumber
13
Aku benci ketika jawaban diambil begitu cepat. Itu tidak menyisakan waktu untuk jawaban yang lebih dalam atau lebih rinci untuk diposting.
AttackingHobo
6
@AttackingHobo Jika Anda memiliki jawaban yang lebih dalam untuk diajukan, silakan saja.
Jonathan Connell
1
@ Jonathan Masalahnya adalah jawaban pertama tidak secara teratur yang terbaik. Bahkan seringkali hal itu bisa menjadi yang paling sedikit diteliti atau paling tidak dipikirkan. Ada alasan mengapa kita memiliki lencana perak untuk menjawab pertama dan menjadi benar - itu adalah prestasi, atau hadiah untuk menjawab pertanyaan mati.
doppelgreener
@ Jonathan Connell Saya telah meneliti sesuatu yang serupa selama lebih dari seminggu. Saya telah menemukan beberapa kandidat yang berbeda, tetapi saya ingin benar-benar menggunakannya, dan melihat mana yang sebenarnya layak. Mengetikkan pertanyaan di google dan secara membabi buta memposting beberapa tautan sebagai jawaban tidak terlalu membantu.
AttackingHobo
Hei @AttackingHobo, akan baik bagi Anda untuk mengirim kandidat Anda, karena saya sudah mencari sesuatu yang mirip karena minat pasif selama 5 tahun. Dari semua waktu itu saya hanya bisa mengingat pembungkus Irrlicht dan mengatur pembungkus Ogre bekerja dengan benar, dan saya tidak suka mereka: Irrlicht buggy tetapi mungkin diperbaiki, dan untuk dikelola Ogre akan lebih baik untuk memilih NeoAxis. Mungkin Anda beruntung menemukan sesuatu yang baik yang saya lewatkan, saya hanya satu laki-laki, jadi akan lebih baik untuk membagikannya :)
EnoughTea

Jawaban:

9

Saya khawatir tidak ada yang namanya alternatif lengkap untuk XNA di dunia kerangka kerja lintas platform berbasis C #. Monoxna sudah lama mati, dan sangat sedikit alat lintas platform lainnya menggunakan C # sebagai bahasa pilihan mereka.

Namun, port XNA yang akan segera ada di iOS dan Android ini terlihat sangat menjanjikan: ExEn . Tidak tahu tentang persyaratan.

Karena Anda telah menggunakan kata "mesin", Anda mungkin menginginkan sesuatu yang lebih kompleks. Saya hanya ingat satu mesin C # penuh murah yang dapat berjalan di Linux dan memiliki persyaratan perangkat keras yang cukup memaafkan: NeoAxis .

Namun, jika target utama Anda adalah game 2D, maka Anda dapat melihat pustaka game lintas platform kecil ini: AgateLib . Dua tahun lalu itu bagus untuk digunakan namun agak buggy, mungkin sekarang semuanya lebih baik.

Bagaimanapun, jika ada yang gagal, Anda selalu dapat menggunakan OpenGL dengan SDL melalui OpenTK atau SDL.Net .

Cukup
sumber
3
Sekedar catatan - ExEn dikelola oleh Andrew Russel kita sendiri !
BlueRaja - Danny Pflughoeft
1
-1. Meskipun ExEn tampaknya bermanfaat dan menarik, itu bukan alternatif yang kompatibel linux untuk XNA. "Mesin 2D atau 3D" tampaknya mengacu pada mesin grafis.
AttackingHobo
MonoGame dalam pengembangan selama beberapa tahun dan kemajuan terlihat bagus akhir-akhir ini, tetapi mengingat pengalaman saya dengan itu pada musim semi ini, saya lebih percaya pada ExEn. Jika akan memiliki arsitektur yang bagus, akan sangat mungkin untuk mengganti MonoMac dengan OpenTk.
EnoughTea
Untuk 2D, bahkan GTK # mungkin bisa menjadi pilihan untuk dipertimbangkan.
George Edison
20

Mengapa mencari alternatif saat Anda bisa menggunakan porta?

"MonoGame adalah implementasi OpenGL gratis dari XNA 4.0 Framework. Ini dibangun di atas jajaran kompiler Mono yang sangat baik dan kompatibel dengan MonoTouch (iOS), Mono untuk Android (Android), MonoMac (Mac OS X), Mono untuk Windows dan sekarang Linux!

Tujuan kami adalah untuk memungkinkan pengembang XNA di Windows & Windows Phone 7 untuk mem-port game mereka ke iOS / Android / Mac OS X / Windows / Linux dan sebaliknya, dengan kerumitan minimal. "

http://monogame.codeplex.com

https://github.com/mono/MonoGame

Sarang
sumber
2

2 perpustakaan bagus untuk perenderan perangkat lunak:

  1. SDL (C / C ++) atau SDL.NET, karena mereka dibangun untuk perangkat keras TUA dan secara opsional dapat menggunakan OpenGL, jika Anda ingin memutakhirkan perangkat keras Anda nanti. SDL benar-benar lintas platform untuk sistem desktop.
  2. Allegro adalah perpustakaan kuno yang bagus untuk mendorong piksel satu per satu tanpa perlu perangkat keras grafis khusus.

Saya merasa Allegro lebih kuat dari piksel yang mendorong sudut pandang, tapi saya tidak berpikir itu melihat tingkat aktivitas yang sama seperti SDL, dan sementara SDL terus diperbarui oleh penulisnya, saya pikir ini jauh kurang dengan Allegro.

Insinyur
sumber
-1: Allegro versi 5 keluar tahun ini, dan memiliki pembaruan rutin. Jadi ... Saya tidak tahu apa yang Anda bicarakan. Juga, mengapa tidak menyebutkan SFML?
Nicol Bolas
Omong-omong, pengalaman saya bersama Allegro 4. "Juga, mengapa tidak menyebutkan SFML?" - Apakah saya berkewajiban untuk menyebutkan setiap perpustakaan di luar sana, termasuk yang saya tidak tertarik / pengalaman? Mengapa Den atau Vigil tidak menyebutkan SFML juga? Mungkin karena mereka tidak mau? Anda tidak perlu mencoba menjustifikasi -1 Anda lebih lanjut.
Insinyur
1

Anda mungkin ingin memeriksa ANX:

ANX.Framework adalah framework yang sumbernya kompatibel dengan Microsoft XNA framework 4.0. Sumber kompatibilitas berarti, bahwa Anda dapat "menerjemahkan" proyek game XNA menjadi proyek game ANX dengan hanya mengganti semua ruang nama dari Microsoft.XNA.Framework ke ANX.Framework. Keuntungan dari ANX adalah Anda dapat menukar RenderSystem, InputSystem dan AudioSystem. Dengan menukar sistem ini, Anda tidak lagi terbatas untuk menjalankan game menggunakan DirectX9 yang digunakan XNA. ANX hadir dengan DirectX10 RenderSystem sebagai default. DirectX 11, DirectX 11.1 dan OpenGL 3 RenderSystem saat ini dalam pengembangan. Ini akan memungkinkan untuk menjalankan gim Anda di Linux dan plattform lainnya yang didukung oleh OpenGL dll. Hanya dengan menukar ruang nama.

~ Situs codeplex: http://anxframework.codeplex.com/

Ini masih dalam pengembangan, tetapi sebagian besar fitur XNA dasar diimplementasikan.

floAr
sumber