Oyun geliştirmeye başlama: XNA iyi bir seçim mi? [kapalı]


16

Uzun süre okuyucu; ilk kez asker:

Bir süredir oyun endüstrisinin bir parçası olmak istedim, ancak özgeçmişim tüm arka uç işlerinin% 100'ü.

Pratik bir oyun geliştirme deneyimi olmayan güçlü bir C ++ / C # geliştiricisiyim. Arka uç deneyimim beni arka uç çalışması için iyi bir aday yapıyor (bu günlerde birçok oyunun onlara hizmet temelli yönleri olduğundan), ancak bu hiper rekabetçi bir alan ve öne çıkmanın yollarını arıyorum.

Kimse bana doğru yürümeyip bana oyun endüstrisinde bir iş vermeyeceğinden, kendi oyunlarımı yazarken şapkamı denemeye karar verdim.

C ve C ++ 'ın neden oyun geliştirmede defacto dilleri olduğunu anlıyorum, ancak XNA'nın arkasındaki felsefeyi gerçekten çok seviyorum. Daha önce de belirttiğim gibi, hem C # hem de C ++ 'da ustaım, ancak doğru hatırlıyorsam, XNA sadece CLR uyumlu dilleri (belki sadece C #) çalışır.

C ++ yerine XNA ve C # kullanarak oyun geliştirmeye odaklanmak, oyun endüstrisinde iş bulma şansımı incitecek mi? VB, gerçek bir programlama dili olmama konusunda haksız bir üne sahiptir ve VB programcıları bu damgalamaya yakalanmıştır. Çoğunlukla C ++ geliştiricilerinden oluşan bir toplulukta C # kullanıldığında durum bu mu?

Veya oyun yazmanın, dil ve teknolojilerin ötesine geçerek öğrenilebilecek oyun geliştirmenin temelleri mi?

Yanıtlar:


15

Ben senin şansına zarar vereceğini sanmıyorum. C #, özellikle XNA ve SlimDX ile daha popüler hale geliyor. Hem C # hem de C ++ kullandım ve XNA'yı önemli ölçüde tercih ettiğimi söylemeliyim. Çalışmak daha temizdi, ama hiçbir şey yapmıyormuşsunuz gibi hissettirmiyordu.

Kariyer kısmı için, XNA'ya alışkın olduğunuzu belirtmek istersiniz, ancak şansınıza zarar vereceğini düşünmüyorum. Aslında, kullanımı daha kolay olduğu için portföy parçalarınız daha iyi olabilir.

Ve kavramlar aynı kalır, sadece sözdizimi farklı olur. Düşük seviyeli bir grafik işi için gitmediğiniz sürece, yapmanız gerekenlerin düzeni aynı olacaktır (gölgelendirici yükleme kodu veya mesh önbellekleri yazmamak, sadece yüklemek).


+1: Güzel cevap. XNA kullandığınızdan beri portföy parçalarınızın daha iyi olması beklendiğini düşünüyor musunuz ? Örneğin, donanım sınıflarımdan birinde tasarım projemizi HC12 montajında ​​yazma veya C'yi kullanma seçeneği verildi, ancak C ile, C'de montaj üzerinde programlama kolaylığı nedeniyle projemizin çok daha ilginç olması gerekiyordu.
Alan

Gerçekten olacağını sanmıyorum. Bu bir çözüm aracıdır ve son ürünün 'daha iyi' olacağını söylememin sebebi, tasarımın oluşturulmasında daha az zaman ve gerçek oyun üzerinde daha fazla zaman kalmasıdır.
Komünist Ördek

Özellikle bir grafik işi aramıyorsanız, çoğu insan bir portföy parçasında tonlarca grafik cilası aramayacaktır. Güzelden daha çekici bir şey yapın. Bu açıdan XNA vs. C eğlenceli olduğu sürece gerçekten önemli değil.
coderanger

Güzel görünmesini istiyorsanız, XNA'nın üstünde Sunburn gibi bir oluşturma motoru kullanmak çok yardımcı olabilir!
Chris Ridenour

10

Deneyimlerime göre, XNA'da kullanılan aynı kavramlar farklı kütüphaneler ve diller arasında ileri geri aktarılıyor. Farklı oyun teknolojileri arasında etkili bir şekilde ileri geri gidebildim ve XNA ile başladım.

C # ve XNA ile çalışmak, hedefleri karıştırmanın aksine ("X'i nasıl öğrenirim ve aynı zamanda bir oyun yapabilirim?") Yerine belirli bir öğrenme hedefine ("Oyunu işaretleyen şey nedir?") Odaklanmama yardımcı oldu. Hedefleri birleştirdiğimde, oldukça uçucu sonuçlarla sonuçlandığımı fark ettim. Rahatlık alanımdan başlamak ve XNA'ya yaslanmak, işlerin devam etmesine yardımcı oldu.


Cevabınızı gerçekten seviyorum. Tüm programlama dillerinin benzer yapılara (nesneler, kontrol yapıları vb.) Sahip olmasıyla birlikte, rahat olduğunuz şeylerle ne yapmak istediğinizle ilgili kavramları öğrenmelisiniz. Bu noktada dilden dile geçişin temel farkları sözdizimi, temel bileşenler ve api olmalıdır.
John

3

Eğlenceli bir oyun yapabiliyorsanız ve aslında yetenekli bir mühendisseniz, endişelenecek bir şeyiniz yok. Oyununuzu nasıl yaptığınız için kimse sizi ölmeyecek.

Oyunlar, diğer birçok yazılım ürününde olduğu gibi korunmaz. Özel efekt endüstrisinden daha az atma kodu yapılır, ancak yine de çıkarılması için birçok hack ile kurtulabiliriz.

Sadece işi bitir. Son gün oyun geliştirmenin konusu bu.


3

Bana söylendi:

  1. İçerik, bazı istisnalar dışında kullanılan araçlardan önemli ölçüde daha önemlidir.

  2. En büyük oyunların temeli C ++ olmasına rağmen, araçların C ++ ile geliştirilmesidir. Araçları kodlamıyorsanız, yine de C ++ 'da programlama yapmayabilirsiniz.

Düzenleme: Ayrıca, bir şey (C #, vb.) Tamamlanmış bir demo proje olması daha zor bir dilde (C ++, vb) eksik bir şey olması daha iyidir.

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.