Oyun tasarımı için C ++ bilmeyerek kendime zarar veriyor muyum? [kapalı]


14

Şu anda, her iki Java da bir C # güçlü hissediyorum. (Birinden diğerine çok fazla sıçrama yok).

Bir oyun tasarımcısı / programcısının kariyerimin başlarında ulaşılabilir bir hedef olmasını beklemese de, bu daha sonra kariyerimde ulaşacağım bir hedef.

Bunu akılda tutarak, C ++ ve onunla ilişkili oyun tasarım araçlarını görmezden gelmenin sonunda bana zarar vereceğini veya hedefime ulaşma yeteneğimde beni yavaşlatacağını hissediyorum.

Durum böyle mi? Yoksa XNA ve WPF kullanarak beni böyle bir kariyere yükselten kişisel projeler için C # becerilerimi geliştirmeye devam edebilir miyim?


1
Oyun şirketlerindeki pozisyonlara bakın ve ne gördüğünüzü söyleyin. Muhtemelen en çok actionscript / php devs arayan web / facebook oyun kalabalığına, c ++ / lua'yı arayan masaüstü kalabalığına ve objektif-c kullanan i-gadget kalabalığına sahip olduğunu göreceksiniz. Kendinize zarar verip vermediğinize gerçekten ne yapmak istediğinize bağlıdır. (Bu C # ve python odaklanan ve c ++ görmezden gelen birinden geliyor)
Ken

Yanıtlar:


21

IMO, evet, muhtemelen kendine zarar veriyorsun. Her şeyden önce, doğru ya da yanlış yoktur olduğu programlama dilleri arasında algılanan hiyerarşi - C ++ genellikle Java veya C # daha yüksek yerde duran bu (örneğin sizinki gibi sorular oldukça yaygındır - Ters neredeyse duyulmamış). C # veya Java kullanan bir yere uygularsanız ve C ++ biliyorsanız, programlama yeteneğinizi sorgulamaları olası değildir. C ++ kullanan bir yere başvurursanız ve C # ve Java'yı biliyorsanız, oldukça adil bir şans var, programlama yeteneğinizi en azından bir dereceye kadar sorgulayacaklar. Bu, algının üstesinden gelinemeyeceği anlamına gelmez, ancak yine de kendinizi bir dezavantaja sokuyorsunuz.

İkincisi, en azından bildiğim bağımsız oyun geliştiricileri arasında (kuşkusuz, çok fazla değil), C # 'ın Microsoft'tan olduğu için bazı temel hoşnutsuzlukları var. Sun çok daha olumlu bir şekilde görüntülendi, ancak Oracle satın alımından bu yana artık böyle görünmüyor. Birçoğu "Oracle" ve "cool games" i insanoğlunun mümkün olduğu kadar tam karşıtlığına yaklaştırıyor.

Son olarak, pratik bir bakış açısından, oyunlar C ++ 'nın en yoğun kullanıldığı yerlerden biridir. C ++ 'ı en azından makul bir derecede bilmiyorsanız, seçeneklerinizi önemli ölçüde kısıtlar.


5

Tamamen net değil ama hedefleriniz neler? Oyun tasarımcısı olmak mı? Bu pozisyonun ne olduğunu düşünüyorsunuz?

Temel durumda, gerçek kodu yazmadığınız sürece, C ++ bilmemek size zarar vermez. Tabii ki, kendisini programlama (nesne yönelimli tasarım ve, Koşullamalar açısından vs düşünmek mümkün) temel bir anlayış olan bir yardım Sen gidiyorsun. C ++ veya Java ile karşılaştırıldığında C ++ 'ın yaptığı şey, kodla açıklanması kolay tasarım oyun kurallarına yardımcı olma konusunda önemli olmayacaktır.


3

Bu gerçekten hedeflerinizin ne olduğuna bağlıdır. Mümkün olduğunca çabuk tasarıma geçmek ve orada bir yönetmen olmak için yolunuza devam etmek istiyorsanız, Java ve C # iyi bildiğiniz teknik arka plan fazlasıyla yeterli olacaktır.

Amacınız kıdemli / potansiyel bir programlama pozisyonuna kadar ilerlemek ve oradan bir yönetici pozisyonuna geçmekse, bir çeşit yönetilmeyen dili öğrenmeniz daha iyi olur. Mutlaka C ++ - C, Objektif C veya D gibi daha saçak bir şey iyi olmaz. Ancak C # 'da daha yüksek soyutlama seviyelerinde bile çalışarak, işaretçileri ve bellek yönetimini anlamadan, montaj ve bellek dökümlerini okuyabilmeksizin, düşük seviyeli optimizasyonları anlayamadan ve hatta gerçekten uygulayamadan harika bir programcı olmak zordur.

Şunu da eklemeliyim - şu anda sektörde değilseniz, 20 yıllık planlama yapmak saçmadır. Belki ondan nefret ettiğini öğreneceksin; belki de tüm geliştirme dışı saçmalıklardan dolayı yönetmen olmak istemediğinizi öğreneceksiniz ve sadece bir yönetmen altında çalışan, ancak belirli bir alanda çok fazla özgürlüğe sahip kıdemli bir tasarımcı veya programcı olarak kalmayı tercih edersiniz. beğendiğiniz alan adı.


2

Muhtemelen bildiğiniz dilleri kullanmakta iyi olacaksınız; XNA ile C # şu anda popüler çünkü XBOX360, Zune ve PC'ye geliştirebilirsiniz. Minecraft'ın bağımsız başarısı nedeniyle Java'nın popülaritesi geri geliyor.

Seninle benzer bir pozisyondaydım ve C ++ ile konuşmak için "baştan başlamaya" karar verdim ve 2 hafta önce "C ++ 'a Oyun Programlaması ile Başladım" satın aldım. Bu bir oyun programlama kitabı DEĞİLDİR, ancak oyunları başka bir API veya Kütüphane ile programlarken C ++ 'da bilmeniz gereken her şeyi kapsayan ve sıkıcı projeleri daha oyunla ilgili olanlarla değiştiren bir C ++ başlangıç ​​kitabı değildir. Harika bir okumaydı.

Şimdi DirectX'e geçiyorum ve Carl Granberg tarafından "DirectX'te RTS Oyunu Programlama" başlıklı bir kitap satın aldım. Harika değerlendirmeleri var. OpenGL üzerinden DirectX ile kötü bir karar verdiğimden hala emin değilim, ama göreceğiz.


2

Daha fazla dil öğrenmek sadece sizin yararınıza olacaktır. Hemen hemen tüm profesyonel motorlar tasarımcı kullanım kolaylığı için kodlama ve / veya kapsamlı araçlar kullansa veya kullansa bile, özellikle üzerinde çalıştığınız bir projeye sahip olmanıza büyük ölçüde yardımcı olması açısından haklısınız. Görüşmeci projelerinize dikkat etmese bile (zaten olası değildir) bir kişisel proje üzerinde çalışmak çok büyük bir öğrenme deneyimi olacaktır.

Tasarımcılar ve sanatçılar için, programlama testleri yapamayacağınız veya doğrudan teknoloji röportajları yapamayacağınız için portföy tartışmasız daha da önemlidir. Yani, C ++ hakkında bilmeniz gereken her şeyi öğrenmeli ve öğrenmelisiniz.

Bunun yerine, kendiniz geliştirdiniz mi, yoksa Flash kullanarak mı yaptınız, iyi tasarım potansiyeline sahip (Limbo veya Portal gibi küçük, net oyun kavramları düşünün) birkaç oyun gösterebilmelisiniz. Kodlamayı birincil silahınız olarak değil, bir araç olarak kullanın. Oyun videoları, ekran görüntüleri ve mevcut indirmelerle sitenizde kolayca erişilebilir olduklarından emin olun.

Her şeyden önce, ne kadar küçük veya ne tür bir projeniz olursa olsun yaptığınız her şeyi parlatın. Programlama sağlamlık ve kullanılabilirlikle ilgiliyse, tasarım eğlence ile ilgilidir (insanlar genellikle bunu unutur) ve ayrıntıları gerçekten çivilebileceğinizi gösterir.


0

C ++, Java içeren en yaygın kullanılan dillerin yaratıcısı ve yaratıcısıdır. C ++ öğrenerek (oyun geliştiricisi olsun veya olmasın), neredeyse her dili hızlı ve kolay bir şekilde öğrenebilirsiniz. Bu dilin büyüsü bu. C ++, Java ile karşılaştırıldığında kod üzerinde daha fazla denetim sağlar. Eğer gerçekten kodunuzun gerçek bir ustası olmak istiyorsanız, o zaman C ++ öğrenme çok daha iyi bir konumda olurdu

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.