Oyun stüdyosu, oyun motorları kullanıyorsa neden grafik programcılarına ihtiyaç duyar?


55

Oynadığım oyunların kredi bölümünde grafik programcılarının isimleri var . Bir oyun motoru kullanıyorlarsa neden bir grafik programcısına ihtiyaç duyuyorlar ? Oyun motoru işlerini yapmıyor mu?


15
Oyununun diğer herkesle tamamen aynı olmasını istiyorsan, sadece bir motor kullan. Herhangi bir şekilde farklı olmasını istiyorsanız, motoru bir başlangıç ​​noktası olarak kullanın, sonra değiştirin. Bir oyun motoru (jmonkey motoru) kullanıyorum ancak aynı zamanda özellikle önem verdiğim şeyler için bazı varsayılan davranışlarını geçersiz kılmak için gölgelendiriciler yazdım)
Richard Tingle

29
Bu, inşaat işçileri köprüyü yapacaksa neden bir inşaat mühendisine ihtiyaç duyduğunuzu sormak gibi. Köprü beton ve metali birbirine bağlamaktan daha fazlasıdır. İnşaat işçilerinin bilmeyeceği birçok ayrıntılı fizik ve malzeme analizi var. Herhangi bir ciddi karmaşıklık ve / veya yük köprüsü için, bu bilgi olmadan inşa etmeye çalışmak iyi sonuç vermeyecektir. Aynı şekilde, bir yazılım geliştiricisinin, bir bilgisayar yapımında ve motor çalışmasının nasıl bir oyun yapımında çok faydalı olacağına dair bilgisi. (Aşırı durumlarda, düşük seviye donanım bilgisi isteyeceksiniz.)
jpmc26

2
@RichardTingle Teknik olarak bir gölgelendirici yazmak, motoru gerçekten değiştirmiyor, motor için yeni içerik sağlıyor.
Pharap

11
İlgili: Hesap makineleri ve bilgisayarları varsa şirketler neden matematikçilere ve mühendislere ihtiyaç duyuyorlar?
xDaizu

1
Oldukça, bir gölgelendirici yazmak zor bir grafik mühendisi olmaktır. @ShuvoSarker - "Ya da her oyun motorunun kendine özgü bir yolu vardır" oyunların "düşük seviye mühendisliği" herhangi bir sayıda beceriyi kapsayabilir. (“grafik programcıları” başlığı hiçbir şey ifade etmiyor, basitçe * 'Birlik'te' grafikle ilgili şeyler 'yapan bir kişi olabilir veya esasen “motorun ötesinde düşük seviyeli zor şeyler” düşündüğünüz anlamına gelebilir ”).
Fattie

Yanıtlar:


95

Bir motorla bile, ekranda istediğiniz gibi görünmesini istediğiniz bir şey elde etmek her zaman önemsiz değildir. Grafik bilgisinin doğru gösterilmesi için programlama bilgisine sahip birinin gerekli olduğu birçok örnek olacaktır. Bu kişilere kredilerde grafik programcısı denilebilir (grafik programcısı sertifikalı veya korumalı bir başlık değildir ve farklı başlıklar arasındaki fark şirkete göre çok değişebilir).

Somut bir örnek verelim. Animasyonlu dönen bir daireye aşağıdaki gibi ihtiyacımız var:

görüntü tanımını buraya girin

Seçeneklerimizden bazıları:

1 Daireyi bir ilan panosuna yerleştirin, reklam panosunu döndürmek için bir senaryo yazın.

2 Kaynak olarak animasyonlu bir gif kullanın.

3 Her şeyi 2 farklı seçeneğe izin veren gölgelendiricide yapın:

  • Reklam panosunu köşe gölgelendiricisinde döndürün
  • Parça gölgelendiriciye döndürülmüş bir daire çizin.

1. bölümde birinin grafikle ilgili bir çeşit programlama görevi olan bu senaryoyu yazması gerekir. 2. için, bir motorcuya ihtiyacımız yok, motor - çoğu gibi - animasyonlu gif ithalatını desteklemiyorsa, bu durumda birisinin o kısmı programlaması gerekir. 3. bölümde, bir sanatçı veya programcı olabilecek gölgelendiriciyi programlamak zorundasınız.

Düşüşleri adreslemek için EDIT:

Olumsuzluklar, etkinin çok basit olması ve dolayısıyla "gerçek" bir grafik programcısı tarafından uygulanmaması nedeniyle gözüküyor. Ekipte özel bir grafik programcısı varsa, bunun başka kim tarafından uygulanacağını gerçekten bilmiyorum ve bazen gölgelendiricilere bu tür döndürme efektleri uyguluyorum - genellikle döndürme genellikle daha büyük bir bütünün bir parçası olmasına rağmen bu örnek .


Yorumlar genişletilmiş tartışmalar için değildir; bu konuşma sohbete taşındı .
Josh

66

Oyun motorları mutfak gibidir ve geliştiriciler (yani programcılar) aşçılar gibidir.

Oyun motorları olasılıklar sunarken, programcılar bu olanakları oyunun ihtiyaçlarına göre değerlendirir.

Bu nedenle oyun şirketleri, motorun grafik olanaklarını oyunun ihtiyaçlarına göre ayarlamak için grafik programcılarına ihtiyaç duyuyorlar.

Eğer oyun motoru her şeyi yönetirse, çimdiklemeden, o motor tarafından üretilen tüm oyunlar aynı kalıptan çıkmış gibi görünürler: sanatçılar tasarımcının vizyonuna göre uyarlanmış farklı 3B modeller ve 2D sanatlar üretebilirler. Bu grafiklerle oyun içi kişiselleştirme, motorun kutudan çıkardıklarıyla sınırlı olacak.


Kullanılan sanatı değiştirmenize izin verirken, bazı oyun motorlarının diğer grafik özelliklerini oyunun ihtiyaçlarına göre uyarlama imkanı sunmadığını unutmayın. Bence RPG Maker şöyle bir şeydi: sanatı değiştirmene izin verdi, ancak oyununu çok belirgin bir dokunuş vermek için nasıl ayarlayabileceğin konusunda sınırlıydın. Bu, bir süredir bu yazılıma dokunmadığım için geçmiş yıllarda değişmiş olabilir.


Yorumlar genişletilmiş tartışmalar için değildir; bu konuşma sohbete taşındı .
Josh

20

Oyun endüstrisindeki çoğu oyunun kendine özgü anlamı, stüdyodan stüdyoya geniş ölçüde değişiklik gösterir, bu yüzden bunu aklınızda bulundurun. Bir stüdyoda “grafik programlamayı” oluşturan şey, gerçekten sadece gölgelendirici veya malzeme ayarlaması yapmak anlamına gelebilir; başka bir stüdyoda, altta yatan grafik API, vb. Yakınındaki nispeten düşük seviye optimizasyon çalışması yapmak anlamına gelebilir.

Bununla birlikte, daha büyük stüdyolarda, bazı ara katman yazılımlarını alıp, herhangi bir değişiklik yapmadan kullanmak, nispeten nadirdir. Çoğu zaman, motorun belirli yönleri, gereklilikleri tam olarak karşılamadığından ya da bu sürümde bir hata olduğundan ve şirket henüz hatayı giderebilecek daha yeni bir sürüme yükseltme yapamadığı için ince ayar yapılması gerekir. saire.

Grafikler, insanların adil bir parça titreme yapma eğiliminde olduğu alanlardan biridir. Direct3D'nin veya motorun benzerinin kullanımının yeniden yazılmasını içermeyebilir , ancak yine de gölgeleri özelleştirmeyi veya optimize etmeyi, belirli oyunun kullanım profillerini daha iyi hesaba katmak için grafik kaynak yönetimini iyileştirmeyi, yeni render özellikleri veya seçenekleri eklemeyi, stüdyonun iş akışına daha uygun olması için grafik varlık boru hattı.

Ayrıca, bir stüdyonun grafikle ilgili ilave ara katman yazılımlarının entegrasyonlarını almak isteyeceği birçok durum vardır. Grafikle ilgili çeşitli özellikler sunan Granit, Enlighten ve TrueSky gibi ara katman paketleri var (doku akışı, global aydınlatma, gökyüzü simülasyonu ve render, vb.). Bu katman yazılım paketlerinin tümü Unreal ile bütünleşir, ancak bunları bütünleştirmek için çalışma gerekir. Bazıları birbirleriyle çatışabilir veya birlikte çalışmak için ince ayarlamalar yapmaları gerekebilir, çünkü hepsi farklı şirketler tarafından geliştirilmiştir. Grafik programcıları muhtemelen bu tür çalışmalarda yer alacak.


7

Tüm motorlar sayesinde günümüzde grafik programlayıcı olmadan oyunları kolaylıkla gönderebilirsiniz. Genellikle bir grafik programcısına ihtiyacınız olan şey;

  1. optimizasyon

    Bir grafik programcısı belirli bir motorun nasıl çalıştığını bilir ve / veya öğrenir ve sanatçıları yönlendirebilir, malzemeleri değiştirebilir veya modelleri birleştirebilir veya motordan daha iyi performans elde etmek için başka teknikleri kullanabilir.

  2. anlama ve öğretim

    Bir sanatçı belirli bir etki elde etmek istiyor. Motorun nasıl çalıştığını anlayan grafik programcısı bu etkinin nasıl elde edileceğini açıklayabilir.

  3. özelleştirmeler ve efektler

    Bazı etkiler programlama gerektirebilir. Sınırın oluşturulmasının çoğu özeldir .

Bu filmlerden farklı değil. 100'lü programcı, büyük bir bütçe ve kötü yazıyla Star Wars: The Phantom Menace'ı yakalayabilirsiniz. Programcılar ve iyi yazılar olmadan Astar alabilirsiniz. Programcılar (veya diğer teknik insanlar) yeni şeylere izin verebilir. Programcılar Shrek'e CG çamur, Monsters Inc'e CG saç, Matrix'e Bullet Zamanı vb. Getirdi.

Aynısı şimdi oyunlar için aşağı yukarı doğrudur. Grafik programlayıcıları, Pixel Junk Shooter'daki akışkanlara veya Bound'un tüm dinamik geometrisine izin verebilir, ancak standart motor teknolojisiyle ve grafik programcıları olmadan birçok oyun yapılabilir.


İşlerini önemsiz kılıyor mu?
Shuvo Sarker

2
30 yılı aşkın bir süredir oyun yapmış olanları, oyun geliştirmede çok sayıda zorlu iş olduğunu görebiliyorum. Ancak, grafik programcılarının çalıştığı işlerin zor olduğunu söyleyemem. Aslında, gerçekten bir tanesine ihtiyacınız varsa, muhtemelen trival değil.
gman

1
@ immibis Söyleyeceğiniz oyun dengeleme gibi bir şey gibi, önemsizdir, katılmıyorum ki, yapılması gerektiği gibi, aksi takdirde oyunu mahvedebilir. Önemsizliği, çok az önemi olduğu anlamına gelir.
Huysuz diyor

2
@GrumpyCrouton önemsiz bir görevin önemi ile ilgisi yok. önemsiz bir görev, bir görev bile denemek neredeyse çok basit. Ayrıca, denge tasarımı zordur, bazılarını uygulamak önemsizdir.
Brian H.

1
@GrumpyCrouton, sizin de belirttiğiniz gibi anahtarın değeri az, görevin başardığı şeyden bahsetmiyoruz, görevin kendisinden bahsediyoruz; kelimenin tam anlamıyla bir sabitin değerini değiştirirsiniz ve bitirdiniz.
Brian H.

4

Çoğu zaman oyun motorları bir oyun projesinin şartlarının ve şartnamelerinin% 100'ünü yerine getirmez. Bu özellikle oyun teknolojisinin sınırlarını her zaman zorlayan üçlü A başlıkları için geçerlidir. Oyun motorunun grafik bölümlerinden bazıları, sanatçıların ve tasarımcıların kullanıma hazır hale getirmek istedikleriyle uyuşmuyorsa, beklentilerinin uygulanabilir olup olmadığını anlamalarına yardımcı olabilecek bir grafik programcısı / uzmanı işe alabilirler ve öyleyse, nasıl başarılacağı. Gölgelendirici / sanat varlıklarını ince ayarlamayı veya görüntü oluşturma bölümlerini elden geçirmeyi veya bir ara katman yazılımı kullanmayı içerebilir. Veya bunların bir kombinasyonu.


3

FXAA, ışıklandırma, gölgelendirme, normal haritalama vb. Gibi her türlü ticari ticari motorda standart tekniklerin çoğu uygulanacaktır.

Bir oyun tasarımcısının belirli bir etkinin gerçekleşmesi gerektiğini belirttiği durumda, onu zaten orada olan şeyden geliştirirsiniz veya yeni bir gölgelendirici kodlarsınız veya grafik motorunu buna izin verecek şekilde değiştirirsiniz. Her iki senaryoda da bir grafik programcısı gerekir.


-8

Motoru tanımlayın, ardından grafik motorunu tanımlayın. Bir oyun yapmak için mevcut bir motoru kullanıyorsanız, bu kodu sıfırdan bir oyuna yazmakla aynı şey değildir. Kodla biri grafik veya motorun ne olduğunu tanımlayabilirse, kodunuz güçlü ise ne dediğiniz önemli değil. Bahsedilen motorda oyunların yaratılması, sınırları ve / veya güçlü noktaları tamamen programcının yeteneğine dayanır. Unity, hatta Unreal veya başka herhangi bir profesyonel motor gibi bir şey kullanmak, yeteneğinizi tanımlamıyor, oyun motorları sadece saf C ++ kodları yazmıyor. Örneğin, programcıları bile cehennem sanatçıları işe alabilirsiniz, ancak motorun vizyonu veya sınırları ile sınırlı kalacaksınız. Bu yüzden sıfırdan kodlamak daha sonra zaten var olan bir şeyi kullanmak daha iyidir. Sorun sen kazandın Stackexchange gibi çevrimiçi cevaplar bulabilirim Pek çok insanın bir 2d projesini bile bitmeden bir oyunu kodlamak için zahmete soktuğunu sanmıyorum. Ben sadece biraz erteliyorum, yani pek çok kendi kendine hizmet etme yanıtı onu heceleyemiyor. En iyi yol çalışma ve pratik yapmak!


Bu tamamen soruyu görmezden geliyor, bu yüzden insanların oyun yapımcısı gibi motorlardaki projeler için grafik programcılarına ihtiyaçları var.
Büyük Ördek
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.