Dlaczego studia gier potrzebują programistów graficznych, jeśli korzystają z silników gier?

55

W sekcji kredytów w grach, w które gram, są nazwiska programistów graficznych . Jeśli użyli silnika gry, dlaczego potrzebują programisty graficznego ? Czy silnik gry nie spełnia swojej roli?

Shuvo Sarker
źródło
15
Jeśli chcesz, aby twoja gra była dokładnie taka sama, jak wszyscy, wystarczy użyć silnika. Jeśli chcesz, aby było inaczej, użyj silnika jako punktu początkowego, a następnie zmodyfikuj go. Używam silnika gry (silnik Jmonkey), ale napisałem również shadery, aby zastąpić niektóre z jego domyślnych ustawień dla rzeczy, na których szczególnie mi zależało)
Richard Tingle
29
To tak, jakby zapytać, dlaczego potrzebujesz inżyniera budownictwa, jeśli pracownicy budowlani zamierzają zbudować most. Most to coś więcej niż tylko uderzanie w beton i metal. Istnieje wiele szczegółowych analiz fizyki i materiałów, których pracownicy budowlani nie poznają. W przypadku mostu o jakiejkolwiek poważnej złożoności i / lub obciążeniu, próba zbudowania bez tej wiedzy raczej nie pójdzie dobrze. W ten sam sposób wiedza twórcy oprogramowania o tym, jak obliczenia i praca silnika będą nieocenione w tworzeniu gry. (W skrajnych przypadkach będziesz potrzebować wiedzy na temat sprzętu na niskim poziomie.)
jpmc26
2
@RichardTingle Technicznie napisanie modułu cieniującego nie modyfikuje silnika, ale zapewnia nową zawartość silnika.
Pharap
11
Powiązane: Dlaczego firmy potrzebują matematyków i inżynierów, jeśli mają kalkulatory i komputery?
xDaizu
1
pisanie modułu cieniującego raczej nie jest inżynierem grafikiem. @ShuvoSarker - „Albo każdy silnik gry ma na to swój własny sposób”, jasne, „inżynieria niskiego poziomu” dla gier może obejmować dowolną liczbę umiejętności. (tytuł „programiści graficzni” nic nie znaczy. może to być po prostu * ktoś, kto zajmuje się „rzeczami związanymi z grafiką” w Unity ”lub może to oznaczać w istocie, gdy myślisz o„ trudnych rzeczach ”poza silnikiem”).
Fattie,

Odpowiedzi:

95

Nawet z silnikiem wyświetlanie czegoś na ekranie tak, jak chcesz, nie zawsze jest banalne. Będzie wiele przypadków, w których do prawidłowego wyświetlania grafiki wymagany jest ktoś ze znajomością programowania. Osoby te można nazwać programistami grafiki w napisach (programista grafiki nie jest certyfikowanym ani chronionym tytułem, a różnica między różnymi tytułami może się bardzo różnić w zależności od firmy).

Podajmy konkretny przykład. Potrzebujemy animowanego obracającego się koła:

wprowadź opis zdjęcia tutaj

Niektóre z naszych opcji to:

1 Umieść okrąg na tablicy, napisz skrypt, aby obrócić billboard.

2 Użyj animowanego gif jako źródła.

3 Zrób wszystko w shaderze, który pozwala na 2 różne opcje:

  • Obróć billboard w module cieniującym wierzchołki
  • Narysuj obrócony okrąg w module cieniującym fragmenty.

W 1. ktoś musi napisać ten skrypt, który jest rodzajem zadania programistycznego związanego z grafiką. Do 2. nie potrzebujemy programisty, chyba że silnik - jak większość - nie obsługuje importu animowanych gifów, w którym to przypadku ktoś musi zaprogramować tę część. W 3. ktoś musi zaprogramować moduł cieniujący, którym może być artysta lub programista.

EDYCJA w celu uwzględnienia głosów negatywnych:

Wydaje się, że głosy negatywne wynikają z tego, że efekt jest zbyt prosty i dlatego nie zostałby zaimplementowany przez „prawdziwego” programistę graficznego. Naprawdę nie wiem, kto jeszcze byłby zaimplementowany, gdyby w zespole był dedykowany programista grafiki, i czasami implementuję takie efekty rotacji w shaderach - chociaż zwykle rotacja jest tylko częścią większej całości, jak w ten przykład .

Piotr
źródło
Komentarze nie są przeznaczone do rozszerzonej dyskusji; ta rozmowa została przeniesiona do czatu .
Josh
66

Silniki gier są jak kuchnie, a programiści (tj. Programiści) są jak kucharze.

Silniki gier oferują możliwości, a programiści wykorzystują te możliwości do potrzeb gry.

Firmy produkujące gry potrzebują zatem programistów graficznych, aby dostosować możliwości graficzne silnika do potrzeb gry.

Gdyby silnik gry zarządzał wszystkim bez modyfikowania, wszystkie gry produkowane przez ten silnik wyglądałyby, jakby wychodziły z tej samej formy: artyści mogą produkować różne modele 3D i grafiki 2D dostosowane do wizji projektantów, ale dostosowanie w grze tych grafik będzie ograniczone do tego, co silnik oferuje od razu po wyjęciu z pudełka.


Pamiętaj, że chociaż pozwalają one zmienić używaną grafikę , niektóre silniki gier nie oferują możliwości dostosowania innych aspektów graficznych do potrzeb gry. Myślę RPG Maker było tak: to niech pan zmieni sztukę , ale były ograniczone pod względem tego, jak można dostosować swoją grę, aby nadać mu bardzo charakterystyczny akcent. Mogło się to zmienić w ostatnich latach, ponieważ przez jakiś czas nie dotykałem tego oprogramowania.

Vaillancourt
źródło
Komentarze nie są przeznaczone do rozszerzonej dyskusji; ta rozmowa została przeniesiona do czatu .
Josh
20

Specyficzne znaczenie większości tytułów w branży gier jest bardzo zróżnicowane w poszczególnych studiach, więc miej to na uwadze. To, co stanowi „programowanie grafiki” w jednym studiu, może naprawdę oznaczać po prostu modyfikację cieniowania lub materiału, podczas gdy w innym studiu może to oznaczać wykonanie względnie niskiego poziomu optymalizacji w pobliżu bazowego API grafiki i tak dalej.

To powiedziawszy, w większych studiach stosunkowo rzadko bierze się oprogramowanie pośrednie silnika i używa się go bez wprowadzania jakichkolwiek modyfikacji. Przez większość czasu trzeba będzie ulepszyć określone aspekty silnika, ponieważ nie do końca spełnia on wymagania, lub ponieważ w tej wersji występuje błąd, a firma nie może jeszcze zaktualizować do nowszej wersji, która może naprawić błąd, itp. Cetera.

Grafika jest jednym z takich obszarów, w którym ludzie często robią drobną poprawkę. Może nie obejmować przepisywania użycia Direct3D lub podobnego w silniku, ale nadal może wymagać pracy polegającej na dostosowywaniu lub optymalizacji shaderów, ulepszaniu zarządzania zasobami graficznymi w celu lepszego uwzględnienia profili użytkowania konkretnej gry, dodawaniu nowych funkcji lub opcji renderowania, usprawnianiu potok zasobów graficznych, aby lepiej pasował do przepływu pracy w studio, i tak dalej.

Ponadto istnieje wiele przypadków, w których studio będzie chciało przeprowadzić integrację dodatkowego oprogramowania pośredniego związanego z grafiką. Istnieją pakiety oprogramowania pośredniego, takie jak Granite, Enlighten i TrueSky, które oferują różne funkcje związane z grafiką (strumieniowanie tekstur, globalne oświetlenie, symulacja i renderowanie nieba itp.). Wszystkie te pakiety oprogramowania pośredniego integrują się z Unreal, ale ich integracja wymaga pracy. Niektóre z nich mogą kolidować ze sobą lub wymagać drobnych poprawek, aby dobrze współpracować, ponieważ wszystkie zostały opracowane przez różne firmy. Programiści grafiki prawdopodobnie będą również zaangażowani w tego rodzaju prace.

Josh
źródło
7

Możesz wysyłać gry bez programisty graficznego całkiem łatwo teraz z dnia na dzień dzięki wszystkim silnikom. Na ogół potrzebujesz programisty graficznego

  1. optymalizacja

    Programista grafiki znałby i / lub nauczył się, jak działa dany silnik, i byłby w stanie kierować artystami lub modyfikować materiały, łączyć modele lub stosować inne techniki itp. W celu uzyskania lepszej wydajności z silnika.

  2. zrozumienie i instrukcje

    Artysta chce osiągnąć określony efekt. Programista grafiki, który rozumie, jak działa silnik, może wyjaśnić, jak osiągnąć ten efekt.

  3. dostosowania i efekty

    Niektóre efekty mogą wymagać programowania. Duża część renderowania Bound jest niestandardowa.

Nie różni się to od filmów. Przy setkach programistów, dużym budżecie i złym pisaniu możesz dostać Star Wars: The Phantom Menace. Bez programistów i dobrego pisania możesz dostać Primer. Programiści (lub inne osoby techniczne) mogą pozwolić na nowe rzeczy. Programiści przenieśli błoto CG do Shreka, włosy CG do Monsters Inc, Bullet Time to The Matrix itp. Ale w filmach nie chodzi o efekty i jest w pełni możliwe tworzenie niesamowitych filmów bez efektów lub nowej niestandardowej technologii.

To samo dotyczy mniej więcej gier. Programiści graficzni mogą zezwalać na płyny w grze Pixel Junk Shooter lub na całą dynamiczną geometrię Bound, ale można tworzyć wiele gier przy użyciu standardowej technologii silnika i bez programistów graficznych.

gman
źródło
Czy to czyni ich prace trywialnymi?
Shuvo Sarker,
2
Tworząc gry od ponad 30 lat, widzę, że jest wiele błahych prac nad tworzeniem gier. Ale nie powiedziałbym, że praca programistów graficznych jest banalna. W rzeczywistości, jeśli tak naprawdę potrzebujesz, prawdopodobnie nie jest to trywialne.
gman
1
@immibis To brzmi jak mówienie, że równoważenie gier jest trywialne, z czym się nie zgadzam, jak należałoby zrobić, w przeciwnym razie może to zrujnować grę. Trywialne oznacza, że ​​ma niewielkie znaczenie.
Grumpy mówi Przywróć Monikę
2
@GrumpyCrouton trywialne zadanie nie ma nic wspólnego z jego znaczeniem. trywialne zadanie oznacza, że ​​niemal nazwanie go zadaniem jest prawie zbyt proste. Ponadto projektowanie balansu jest trudne, a wdrożenie niektórych z nich jest w rzeczywistości banalne.
Brian H.
1
@GrumpyCrouton klucz ma niewielką wartość, jak wspomniałeś, nie mówimy o tym, co osiąga zadanie, mówimy o samym zadaniu, które ma niewielką lub żadną wartość. dosłownie zmieniasz wartość stałej i gotowe.
Brian H.,
4

Wiele razy silniki gier nie spełniałyby 100% wymagań i specyfikacji projektu gry. Jest to szczególnie prawdziwe w przypadku potrójnych tytułów, które zawsze przekraczają granice technologii gier. Jeśli część graficzna silnika gry nie jest zgodna z tym, co artyści i projektanci chcą osiągnąć po wyjęciu z pudełka, mogą zatrudnić programistę / specjalistę ds. Grafiki, który może pomóc im ustalić, czy ich oczekiwania są wykonalne, i jeśli tak, to jak to osiągnąć. Może to obejmować ulepszenie zasobów modułu cieniującego / graficznego lub przerobienie części renderowania, a nawet użycie oprogramowania pośredniego. Lub ich kombinacja.

EZzyPEZzy
źródło
3

Większość standardowych technik zostanie zaimplementowana w każdym przyzwoitym silniku komercyjnym, takim jak FXAA, oświetlenie, cieniowanie, normalne mapowanie itp., Ale nie wszystkie.

W przypadku, gdy projektant gry określił, że musi wystąpić konkretny efekt, albo zbudujesz go z tego, co już istnieje, albo kodujesz nowy moduł cieniujący, albo modyfikujesz silnik graficzny, aby na to pozwolić. W obu przypadkach wymagany jest programator grafiki.

Ian Young
źródło
-8

Zdefiniuj silnik, a następnie silnik grafiki. Jeśli używasz istniejącego silnika do tworzenia gry, to nie jest to samo, co pisanie gry od podstaw w kodzie. Jeśli za pomocą kodu można zdefiniować, co to jest grafika lub silnik, nie ma znaczenia, jak go nazwiesz, jeśli kod jest silny. Tworzenie gier we wspomnianym silniku, jego limitach i / lub mocnych stronach opiera się wyłącznie na umiejętnościach programisty. Używanie czegoś takiego jak Unity, a nawet Unreal lub jakikolwiek inny silnik pro nie definiuje twoich umiejętności, silniki gier to tylko abstrakcje kodujące, mówiąc, że czysty C ++ nie. Możesz na przykład zatrudnić programistów do piekła, nawet artystów, ale byłbyś ograniczony wizją lub ograniczeniami silnika. Lepiej więc napisać kod od zera niż użyć czegoś, co już istnieje. Problem w tym, że wygrałeś znaleźć odpowiedzi online, takie jak Stackexchange. Wątpię, aby wiele osób zadało sobie trud, aby napisać grę, a co dopiero ukończyć projekt 2D. Po prostu trochę zwlekam, co oznacza, że ​​niewiele samolubnych odpowiedzi to wyjaśnia. Najlepszym sposobem jest studiowanie i ćwiczenie!

Meeps
źródło
To całkowicie ignoruje pytanie, dlatego ludzie potrzebują programistów graficznych do projektów w silnikach takich jak Game Maker.
The Great Duck