Oyunlar grafikler (DirectX, OpenGL, ...), ses (OpenAL, Ogg Vorbis, ...) veya fizik (çarpışmalar, ...) gibi birçok alt sisteme dayandığından, hangi kütüphanelerin yararlı olduğunu biliyorsunuz C # oyun geliştirme ve ne gibi avantajlar sunuyorlar?
Oyunlar grafikler (DirectX, OpenGL, ...), ses (OpenAL, Ogg Vorbis, ...) veya fizik (çarpışmalar, ...) gibi birçok alt sisteme dayandığından, hangi kütüphanelerin yararlı olduğunu biliyorsunuz C # oyun geliştirme ve ne gibi avantajlar sunuyorlar?
Yanıtlar:
Grafikler / Ses
Motorlar
Fizik
Açıkçası microsoft'un kendisinden XNA var: http://creators.xna.com/en-US/ Windows'ta XNA ile yapılan oyunlar ve Xbox360'ta (Creators club aracılığıyla) yapılan oyunlar. Bunun hızlı oyun gelişiminde ayaklarının ıslanması için mükemmel olduğunu düşünüyorum. Ayaklarımı XNA'da henüz doğru şekilde ıslatmadım, bu yüzden henüz yargılayamam. Ancak, aralarından bakıldığında dilimlenmiş ekmek beri en iyi şey gibi görünüyor. Tabii, onunla her şeyi yapamazsın. Ancak hızlı prototipler ve indie kalitesinde ve ötesinde çalışma oyunları yapabilirsiniz.
Diğer kütüphane SlimDX'dir - http://slimdx.org/ , XNA ile çalışmak istemiyorsanız bazılarının metale / realiteye daha yakın olduğunu söyleyebilir. Bu nedenle, hızlı prototipleme yapmak için harika - özellikle birincil oyun gelişiminiz C veya C ++ ise. Ayrıca, araçlar yapmak için harika.
Ayrıca C Library SDL'den .NET'e, SDL.NET'den bir port var . Kişisel olarak XNA'yı C # ile kullanırdım, çünkü sadece iyi bir şekilde bir araya getirilmiş bir kütüphane, çok özelleştirilebilir ve aynı zamanda başlangıç dostu.
Feragatname: Bu öneri, bu motorun geliştirilmesindeki kişisel katılımım nedeniyle önyargılı olabilir veya olmayabilir.
Duality , WYSIWYG editör sistemi ile gelen genişletilebilir bir 2D oyun motorudur. Hızlı genel bakış:
Gitmek istemeniz durumunda, en son ikili sürümü doğrudan indirebilir veya GitHub'ın kaynak kodunu kullanarak kendiniz derleyebilirsiniz . Daha fazla bilgi edinmek için, bilgi web sitesini ve topluluk forumlarını ziyaret etmek işe yarayabilir. Sadece yukarıda eklediğim bilgi web sitesindeki bağlantıları takip edin.
BulletX , XNA ile kullanılabilen% 100 C # Bullet Physics bağlantı noktasıdır.
Araçlar tarafında inanılmaz kullanışlı bir kütüphane , şimdi aslında .Net 4.0'ın bir parçası olan " Yönetilebilir Genişletilebilirlik Çerçevesi " dir. Bu, araçlarınız için çok yararlı olan, kolayca ve kolayca sınıfların örneklerini otomatik olarak keşfetmenizi sağlar.
Günümüzün en büyüğü (ve en kanıtlanmışı), XNA çerçevesidir. Araç setlerinizi oluşturmak için XNA'dan bile yararlanabilirsiniz. Bunun yararı, bir pakete sarılmış ihtiyacınız olan kütüphaneleri (fizik, ses, grafik) içeren bir çerçeveye sahip olmanız ve devasa artı, gerçekten iyi bir şey yaparsanız, XBLA'ya deneyip pompalayabilmenizdir.
XNA , grafiklerinizi, sesinizi, girişinizi vb. İşleyen PC / Xbox360 için oldukça büyük bir kütüphanedir.
Tao Çerçeve (ben çok yararlı buldum bu kitapta kullandı: Ciddi Oyun Oluşturma İçin C # Oyun Programlama ), OpenGL ve (C # erişilebilir) diğer birçok yararlı oyun programlama özellikleri sarar bir göz atmaya değer. Ancak, başka bir cevabında belirtilen Open Toolkit Library (OpenTK) tarafından üstlenilmiştir. Tao'nun yaklaşık 2 yıldır etkisiz kaldığını (ve kitabın yepyeni olduğunu) düşünerek, kitabın OpenTK yerine Tao Çerçevesini kullandığını garip buluyorum. Yine de, kontrol etmeye değer yararlı bir çerçeve.
AngelXNA (http://www.jeffongames.com/2009/05/angelxna-v10/), daha yüksek seviyeli bir şey arıyorsanız, XNA üzerine inşa edilmiş güzel bir prototip odaklı kütüphane / motordur.
SFML.Net'i harika bir seçenek olarak buluyorum ve şahsen kullandığım şey. Ancak, sitede verilen ikili dosyaları kullanmayın, bunun yerine SVN'den en son haberleri alın. Site sürümü çok eski.
Ploobs Motoruna bir göz atın - şu anda açık kaynağı olan XNA 4'ü destekliyor ve birçok harika özelliğe sahip: