Linux'ta C # ile oyun yazmama izin veren çerçeveler var mı? [kapalı]


10

XNA'ya alternatif gibi bir şey arıyorum - 2D veya 3D motor olup olmadığı umurumda değil. Ben Windows'u sevmiyorum veya anti-Microsoft olduğum için değil; çünkü Linux'u çalıştırmayı seviyorum, Linux'ta kodu tamamen kodluyorum (C # için Mono kullanıyorum, tabii ki) ve hiçbir şekilde XNA'da programlamayı destekleyecek hiçbir donanıma sahip değilim, çünkü ekran kartım 6 yaşında. DirectX 10 için Windows 7 / Vista CD'im de yok.

Bu nedenle, oyun geliştirme için taş çağında sıkışıp kaldım. Yine de, C # 'ı çok seviyorum ve bundan dolayı bir dil olarak bırakmaktan nefret ediyorum.

Yapabileceğim bir şey var mı?


13
Bir cevap çok hızlı seçildiğinde nefret ediyorum. Daha derin veya daha ayrıntılı cevapların gönderilmesi için zaman bırakmaz.
AttackingHobo

6
@AttackingHobo Eğer önermek için daha derin bir cevabınız varsa, elbette devam edin.
Jonathan Connell

1
@Jonathan Sorun ilk cevap düzenli olarak en iyi cevap değildir. Aslında, genellikle en az araştırılmış veya en az düşünülmüş olabilir. Önce cevaplamak ve doğru olmak için gümüş bir rozetimizin bir nedeni var - bu bir başarı veya ölü bir soruyu cevaplamak için bir ödül.
doppelgreener

@Jonathan Connell Ben zaten bir haftadır benzer bir şey araştırıyorum. Birkaç farklı aday buldum, ama onları gerçekten kullanmak ve hangilerinin gerçekten geçerli olduğunu görmek istiyorum. Sadece soruyu google'a yazmak ve bazı bağlantıları körü körüne bir cevap olarak göndermek çok yararlı değildir.
AttackingHobo

Hey @AttackingHobo, yaklaşık 5 yıldır pasif ilgi alanından benzer bir şey aradığım için adaylarınızı göndermeniz iyi olur. O zamandan beri sadece Irrlicht sarıcısını ve yönetilen Ogre sarıcısını düzgün çalıştığını hatırlıyorum ve onları sevmiyorum: Irrlicht buggy ama muhtemelen sabitlenebilirdi ve yönetilen Ogre için NeoAxis'i seçmek daha iyi olurdu. Belki de kaçırdığım iyi bir şey bulduğum için şanslıydın, sonuçta sadece bir adamım, bu yüzden paylaşmak harika olur :)
EnoughTea

Yanıtlar:


9

Korkarım C # tabanlı çapraz platform çerçeveleri dünyasında XNA'ya tam bir alternatif diye bir şey yoktur. Monoxna çoktan öldü ve diğer çok az çapraz platform aracı kendi dilleri olarak C # kullanıyor.

Ancak, iOS ve Android'de XNA'nın yakında çıkacak olan bu limanı çok umut verici görünüyor: ExEn . Gereksinimler hakkında bilmiyorum.

"Motor" kelimesini kullandığınız için daha karmaşık bir şey isteyebilirsiniz. Linux üzerinde çalışabilen ve oldukça bağışlayıcı donanım gereksinimlerine sahip tek bir ucuz tam teşekküllü C # motorunu hatırlayabilirim: NeoAxis .

Ancak, birincil hedefiniz 2D oyunlarsa , bu küçük platformlar arası oyun kütüphanesine göz atabilirsiniz : AgateLib . İki yıl önce kullanmak biraz güzeldi, belki şimdi işler daha iyi.

Her neyse, başka bir şey başarısız olursa, OpenTL aracılığıyla OpenGL'yi SDL ile her zaman kullanabilirsiniz veya SDL.Net kullanabilirsiniz .


3
Sadece bir not - ExEn kendi Andrew Russel tarafından korunur !
BlueRaja - Danny Pflughoeft

1
-1. ExEn kullanışlı ve ilginç görünse de, XNA'ya linux uyumlu bir alternatif değildir. "2D veya 3D motor" grafik motoruna atıfta bulunuyor gibi görünüyor.
AttackingHobo

MonoGame birkaç yıldır geliştiriliyordu ve son zamanlarda ilerleme iyi görünüyor, ancak bu bahardaki deneyimimi hatırlayarak, ExEn'a daha fazla inanıyorum. Biraz iyi bir mimariye sahip olacaksa, MonoMac'ı OpenTk ile değiştirmek çok mümkün olacaktır.
EnoughTea

2D için, GTK # bile dikkate alınması gereken bir seçenek olabilir.
George Edison

20

Bir limanı kullanabileceğinizde neden alternatif arayınız?

"MonoGame, XNA 4.0 Framework'ün ücretsiz bir OpenGL uygulamasıdır. Mükemmel Mono derleyicileri yelpazesi üzerine kurulmuştur ve MonoTouch (iOS), Mono for Android (Android), MonoMac (Mac OS X), Mono for Windows ve şimdi Linux!

Amacımız, Windows ve Windows Phone 7'deki XNA geliştiricilerinin oyunlarını iOS / Android / Mac OS X / Windows / Linux'a taşımasına izin vermek ve bunun tersine, en az güçlükle. "

http://monogame.codeplex.com

https://github.com/mono/MonoGame


2

Yazılım oluşturma için iyi 2 kütüphane:

  1. SDL (C / C ++) veya SDL.NET, OLD donanımı için üretildiklerinden ve donanımınızı daha sonra yükseltmek istiyorsanız isteğe bağlı olarak OpenGL'yi kullanabilir. SDL'nin masaüstü sistemler için tamamen çapraz platformudur.
  2. Allegro, özel grafik donanımına ihtiyaç duymadan pikselleri tek tek itmek için iyi bir başka eski okul kütüphanesidir.

Allegro'yu iten bir pikselden daha güçlü bir şekilde parmaklandırıyorum, ancak SDL ile aynı düzeyde aktivite gördüğünü düşünmüyorum ve SDL yazarı tarafından güncel tutulurken, bu Allegro için çok daha az durum olduğunu düşünüyorum.


-1: Allegro sürüm 5 bu yıl çıktı ve düzenli güncellemeleri var. Yani ... neden bahsettiğin hakkında hiçbir fikrim yok. Ayrıca, neden SFML'den bahsedilmiyor?
Nicol Bolas

Bu arada Allegro 4 ile deneyimim oldu. "Ayrıca neden SFML'den bahsedilmiyor?" - İlgim / deneyimim olmayanlar da dahil olmak üzere her kütüphaneden bahsetmek zorunda mıyım? Den veya Vigil neden SFML'den bahsetmedi? Belki istemedikleri için? -1'inizi daha fazla haklı çıkarmaya çalışmak zorunda değilsiniz.
Mühendis

1

ANX'a göz atmak isteyebilirsiniz:

ANX.Framework, kaynak Microsoft'un XNA framework 4.0 ile uyumlu bir çerçevedir. Kaynak uyumluluğu, Microsoft.XNA.Framework yerine ANX.Framework yerine tüm ad alanlarını değiştirerek bir XNA oyun projesini ANX oyun projesi olarak "çevirebileceğiniz" anlamına gelir. ANX'in avantajı, RenderSystem, InputSystem ve AudioSystem'ı değiştirebilmenizdir. Bu sistemleri değiştirerek, XNA'nın kullandığı DirectX9'u kullanarak oyununuzu çalıştırmak için artık sınırlı değilsiniz. ANX, varsayılan olarak DirectX10 RenderSystem ile birlikte gelir. Bir DirectX 11, DirectX 11.1 ve bir OpenGL 3 RenderSystem şu anda geliştirilmektedir. Bu, oyunlarınızı Linux ve OpenGL vb. Tarafından desteklenen diğer platformlarda yalnızca ad alanlarını değiştirerek çalıştırmanızı mümkün kılacaktır.

~ Codeplex sitesi: http://anxframework.codeplex.com/

Hala ağır bir gelişme aşamasındadır, ancak temel XNA özelliklerinin çoğu uygulanmaktadır.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.