“Oynanış Programcısı” nedir?


Yanıtlar:


44

Şirketler bir oyun programcısını işe alma hakkında konuştuklarında, konuştukları şey doğrudan oyun deneyimine doğrudan dokunacak koddan sorumlu olacak bir programcıdır. Diğer bir deyişle, programcı motor veya daha büyük oyun sistemlerinden ziyade oyunları oluşturmaktan sorumlu olacaktır. Ancak bunun ötesinde, her şey çok farklı:

Bazı şirketler oyun programcılarının kullanıcı arayüzünü uygulamalarını beklemektedir . Bazıları yapmaz. Bazı şirketler AI kodunu uygulamalarını bekler, bazıları kullanmaz. Bazıları ses kodlarını uygulamalarını bekler, bazıları kullanmaz. Dürüst olmak gerekirse, oyun programlayıcısındaki "oyun", "yapacak bir uzmanı işe almadığımız her şey" için bir endüstri şeklidir. Bu yüzden bu programcıların çok yönlü olmaları ve yeni disiplinleri hızla öğrenebilmeleri gerekir.

Neredeyse on beş yılını, beş farklı şirkette ticari sektörde bir oyun programcısı olarak geçirdim.

Tecrübelerime göre, bazı firmalarda bir oyun programcısı küçük ya da giriş seviyesi bir pozisyon olarak kabul edildi; Sonuçta, sadece bireysel bir oyun üzerinde çalışan programcıların, aynı anda birçok farklı oyunu desteklemesi gereken sistemler üzerinde çalışanlar gibi, motor programcılarının ihtiyaç duyduğu gibi karmaşık olmaları gerekmez. Bu tür bir şirkette, eğer bir oyun programcısı gerçekten işe yararsa, bir gün motor ekibine terfi edebilir, eğer değerini kanıtlarsa. Veya belirli bir alan için bir yetenek gösterirse uzman olabilir.

Diğer şirketlerde, bir oyun programcısı orta seviye bir pozisyon olarak kabul edilir; Bireysel oyun üzerinde çalışan programcıların bazı faydalı deneyimlere sahip olmaları ve güvenilir olmaları gerekir. Deneyimsiz programcılara dişlerini kesmeleri için istenmeyen işler verilebilir (veri boru hatları, araçlar vb.) Ve sonunda bir "oyun programcısı" işine geçmelerine izin verilir. Bu tür bir sistemde, oldukça iyi yapmaya devam eden bir oyun programcısı bir proje liderliği rolüne veya başka bir şekilde motor ekibine geçebilir.

Halen diğer şirketlerde, bir oyun programcısı üst düzey bir pozisyon olarak kabul edilir ve aynı zamanda yarı tasarım bir pozisyon olarak kabul edilir; Bu programcıların mükemmel, kanıtlanmış programcılar olmaları, ancak oyuncunun oyunla olan deneyimini en güçlü şekilde etkileyen koda doğrudan dokunmaları nedeniyle güçlü tasarım hassasiyetleri ve niteliklerine sahip olmaları beklenir. Bu tür bir sistemde, gerçekten iyi bir oyun programcısı sonsuza dek bir oyun programcısı olarak kalacaktır - bu onun doldurabileceği en değerli pozisyon olarak kabul edilir.

Genel bir kural olarak, şirketin oyunları ne kadar iyiyse, oyun programcısı olduğunu düşündükleri bir pozisyon ne kadar kıdemli olursa (ve bu nedenle böyle bir işe girmenin o kadar zor olması).


18

Her zaman örnekle açıklamaya yardımcı olduğunu düşünüyorum.

  • Bir oyun programcısına aşağıdaki görevler boyunca görev verilecektir: Yakın dövüş sistemi uygulamak, sağlık yenileme teknisyenini uygulamak veya oyuncu atlama kontrollerini uygulamak.

  • Bir motor programcısına (özel olarak oyun programcısı olmayan biri olarak adlandırırsınız) aşağıdakiler boyunca görev verilecektir: ertelenmiş ışıklandırma, animasyon sistemi veya ağ katmanı uygulamak.

Anahtar ayrım, 'müşterinin' kim olduğu. Oyun programcıları için tasarım ekibi - görevleri, tasarımı gerçeğe dönüştürmek. Motor programcıları için, genellikle başka programcılar . Motor programcıları, oyun programcılarının ve içerik yaratıcılarının tasarımı gerçekleştirmek için kullanabilecekleri teknoloji ve sistemleri yaparlar.

Motor programcıları büyük ölçüde oyun-agnostik olan bir kod yazar - aynı teknoloji çoğu zaman birden fazla oyunda kullanılabilir. Oyun programcıları, yapılan oyuna özgü kod yazma eğilimindedir. Ve her zaman çakışıyor - bazen oyunu uygulamak için yeni bir motor koduna ihtiyacınız var.

Oyun kodlaması motor kodlamasından daha zor veya daha kolay değil. Bununla birlikte, kesinlikle biraz farklı bir beceri setidir; Sık sık daha yaratıcı olmak ve muktedir gerekir bodge çözümler. Amacınız mükemmel yeniden kullanılabilir sistemi (motor programcıları için ideal) oluşturmak değil, en iyi oyun uygulamasını oluşturmaktır. Bu nedenle, motor programlamasında bir varlık olabilir (ayrıntılara ve iyi tasarlanmış yapılara dikkat) oyun programlamasında bir engel olabilir (uyarlanabilirlik ve yineleme süresinin daha önemli olduğu yerlerde). İyi bir oyun programcısı ne zaman doğru yapılacağını bilir (tasarım sağlam olduğunda ve kodun birçok yerde kullanılacağı zaman) ve ne zaman hızlı bir şekilde yapılacağı (tasarım hala çalışıyorken ve kodunuzun iyi bir şansı vardır) test edildikten sonra atılmaları).

Hepsinden önemlisi, oyun programcılarının tasarım ekibiyle motor programcılarının yapmadığı düzeyde işbirliği yapabilmeleri gerekir. Açık iletişim becerilerinin yanı sıra, bu, motor programcılarınınkinden çok daha fazla diğer oyun tasarımlarına aşina olmanız gerektiği anlamına gelir, böylece bir tasarımcı "Zelda gibi çalışmasını sağla" derken ne hakkında konuştuğunu bilirsiniz.

Bir motor programcısı olmayı öğrenmek için bir teknolojiyi inceler ve nasıl çalıştığını öğrenir ve belki de kendi versiyonunuzu uygularsınız; Oyun sadece teknolojiyi gösterecek bir arena olacaktı.

Oynanış programcısı olmayı öğrenmek için başkasının motorunu kullanır ve mümkün olduğunca farklı şekillerde kullanırsınız. Başka bir deyişle, eğer bir oyun programcısı olmak istiyorsanız , teknoloji değil , oyunlar yapın .


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.