게임 엔진을 사용하는 게임 스튜디오에 그래픽 프로그래머가 필요한 이유는 무엇입니까?


55

내가하는 게임의 크레딧 섹션에는 그래픽 프로그래머의 이름이 있습니다 . 그들이 게임 엔진을 사용한다면 왜 그래픽 프로그래머 가 필요 합니까? 게임 엔진이 업무를 수행하고 있지 않습니까?


15
게임을 다른 사람과 정확히 동일하게하려면 엔진 만 사용하십시오. 엔진을 다른 방식으로 사용하려면 엔진을 시작점으로 사용하고 수정하십시오. 저는 게임 엔진 (jmonkey 엔진)을 사용하지만 특히 관심이있는 것들에 대한 기본 동작을 무시하기 위해 셰이더를 작성했습니다)
Richard Tingle

29
이것은 건설 노동자들이 다리를 만들려고한다면 토목 기사가 필요한 이유를 묻는 것과 같습니다. 교량은 콘크리트와 금속을 뭉치 게하는 것 이상입니다. 건설 노동자가 알지 못하는 자세한 물리 및 재료 분석이 많이 있습니다. 심각한 복잡성 및 / 또는로드가있는 브리지의 경우 해당 지식없이 구축하려고 시도하는 것이 좋지 않을 수 있습니다. 같은 방식으로, 게임을 구성 할 때 컴퓨팅과 엔진의 작동 방식에 대한 소프트웨어 개발자의 지식이 매우 중요합니다. (극단적 인 경우에는 저수준의 하드웨어 지식이 필요합니다.)
jpmc26 2016

2
@RichardTingle 기술적으로 쉐이더를 작성하는 것은 실제로 엔진을 수정하는 것이 아니라 엔진에 새로운 콘텐츠를 제공합니다.
Pharap

11
관련 : 계산기와 컴퓨터가있는 회사에 수학자와 엔지니어가 필요한 이유는 무엇입니까?
xDaizu

1
셰이더 작성은 그래픽 엔지니어가 아닙니다. @ShuvoSarker- "또는 모든 게임 엔진에는 고유 한 방식이 있습니다."게임의 "저수준 엔지니어링"은 여러 기술을 포함 할 수 있습니다. ( "그래픽 프로그래머"라는 제목은 아무 것도 의미하지 않습니다. * 유니티에서 '그래픽 관련 물건'을하는 사람 일 수도 있고 또는 "엔진을 넘어서 저수준의 까다로운 물건"이라고 생각할 때) 의미 할 수도 있습니다.
Fattie

답변:


95

엔진이 있어도 원하는 방식으로 화면에 무언가를 표시하는 것이 항상 쉬운 것은 아닙니다. 그래픽을 올바르게 표시하려면 프로그래밍 지식이있는 사람이 필요한 경우가 많이 있습니다. 이 사람들은 학점에서 그래픽 프로그래머라고 할 수 있습니다 (그래픽 프로그래머는 인증되거나 보호되지 않은 타이틀이 아니며 다른 타이틀 간의 차이는 회사마다 크게 다를 수 있습니다).

구체적인 예를 들어 봅시다. 다음과 같이 애니메이션 회전 원이 필요합니다.

여기에 이미지 설명을 입력하십시오

우리의 옵션 중 일부는 다음과 같습니다

1 광고판에 원을 놓고 광고판을 회전시키는 스크립트를 작성하십시오.

2 애니메이션 GIF를 소스로 사용하십시오.

3 쉐이더에서 모든 작업을 수행하면 두 가지 옵션이 있습니다.

  • 버텍스 쉐이더에서 빌보드 회전
  • 프래그먼트 셰이더에서 회전 된 원을 그립니다.

1. 누군가는 그 스크립트를 작성해야합니다.이 스크립트는 그래픽과 관련된 일종의 프로그래밍 작업입니다. 2의 경우 대부분의 엔진이 애니메이션 GIF 가져 오기를 지원하지 않는 한 프로그래머가 필요하지 않습니다.이 경우 누군가 해당 부분을 프로그래밍해야합니다. 3. 누군가는 아티스트 나 프로그래머가 될 수있는 셰이더를 프로그래밍해야합니다.

downvotes를 해결하기 위해 편집 :

다운 보트는 효과가 너무 단순하여 "실제"그래픽 프로그래머가 구현하지 않기 때문입니다. 팀에 전용 그래픽 프로그래머가 있는지 여부에 따라 다른 사람이 실제로 구현 될지 모르겠습니다. 때때로 셰이더에서 이러한 회전 효과를 구현합니다. 일반적으로 회전은 더 큰 전체의 일부이지만 이 예 .


의견은 긴 토론을위한 것이 아닙니다. 이 대화는 채팅 으로 이동 되었습니다 .
Josh

66

게임 엔진은 부엌과 같으며 개발자 (예 : 프로그래머)는 요리사와 같습니다.

게임 엔진은 가능성을 제공하는 반면 프로그래머는 이러한 가능성을 게임의 요구에 악용합니다.

따라서 게임 회사는 엔진의 그래픽 가능성을 게임의 요구에 맞추기 위해 그래픽 프로그래머가 필요합니다.

게임 엔진이 조정없이 모든 것을 관리해야한다면, 해당 엔진으로 제작 된 모든 게임은 동일한 금형에서 나오는 것처럼 보일 것입니다. 이러한 그래픽에 대한 게임 내 커스터마이징은 엔진이 즉시 제공하는 것으로 제한됩니다.


사용 된 기술을 변경할 수는 있지만 일부 게임 엔진은 다른 그래픽 측면을 게임 요구에 맞게 조정할 수있는 기능을 제공하지 않습니다. RPG Maker는 그런 식으로 생각합니다. 예술 을 바꿀 수는 있지만 게임을 조정하여 매우 독특한 느낌을 줄 수있는 방법에 한계가있었습니다. 지난 몇 년 동안 해당 소프트웨어를 건드리지 않았으므로 지난 몇 년 동안 변경되었을 수 있습니다.


의견은 긴 토론을위한 것이 아닙니다. 이 대화는 채팅 으로 이동 되었습니다 .
Josh

20

게임 업계에서 대부분의 타이틀의 구체적인 의미는 스튜디오마다 다르므로 명심하십시오. 한 스튜디오에서 "그래픽 프로그래밍"을 구성하는 것은 실제로 셰이더 또는 머티리얼 조정을 의미 할 수 있습니다. 다른 스튜디오에서는 기본 그래픽 API 등에서 비교적 낮은 수준의 최적화 작업을 수행하는 것을 의미 할 수 있습니다.

즉, 더 큰 스튜디오에서는 엔진 미들웨어를 가져 와서 수정하지 않고 사용하는 것이 비교적 드 rare니다. 대부분의 경우 엔진의 특정 측면은 요구 사항을 충족하지 못하거나 해당 버전에 버그가 있고 회사가 아직 버그를 수정할 수있는 최신 버전으로 업그레이드 할 수 없기 때문에 조정해야합니다. cetera.

그래픽은 사람들이 상당히 미세 조정하는 경향이있는 영역 중 하나입니다. 엔진 내에서 Direct3D 또는 이와 유사한 사용을 다시 쓰지 않아도 되지만 쉐이더 사용자 정의 또는 최적화 작업, 특정 게임의 사용 프로필을 더 잘 설명하기 위해 그래픽 리소스 관리 개선, 새로운 렌더링 기능 또는 옵션 추가, 스튜디오의 워크 플로우 등에 더 적합한 그래픽 자산 파이프 라인

또한 스튜디오에서 추가 그래픽 관련 미들웨어를 통합하려는 경우가 많습니다. Granite, Enlighten 및 TrueSky와 같은 다양한 그래픽 관련 기능 (텍스처 스트리밍, 글로벌 일루미네이션, 스카이 시뮬레이션 및 렌더링 등)을 제공하는 미들웨어 패키지가 있습니다. 이 미들웨어 패키지는 모두 Unreal과 통합되지만 통합하려면 작업이 필요합니다. 그들 중 일부는 서로 상충되거나 잘 작동하기 위해 약간의 조정이 필요할 수 있습니다. 모두 서로 다른 회사에서 개발했기 때문입니다. 그래픽 프로그래머도 이런 종류의 작업에 관여 할 것입니다.


7

모든 엔진으로 인해 오늘날 그래픽 프로그래머없이 게임을 꽤 쉽게 할 수 있습니다. 일반적으로 그래픽 프로그래머가 필요한 것은 다음과 같습니다.

  1. 최적화

    그래픽 프로그래머는 특정 엔진의 작동 방식을 알고 배우거나 배우고 아티스트를 지시하거나 자료를 수정하거나 모델을 병합하거나 다른 기술 등을 사용하여 엔진의 성능을 향상시킬 수 있습니다.

  2. 이해와지도

    예술가는 특정한 효과를 원합니다. 엔진 작동 방식을 이해하는 그래픽 프로그래머는 그 효과를 얻는 방법을 설명 할 수 있습니다.

  3. 사용자 정의 및 효과

    특정 효과에는 프로그래밍이 필요할 수 있습니다. 바운드 렌더링의 대부분 은 사용자 정의입니다.

이것은 영화와 다르지 않습니다. 100 명의 프로그래머와 많은 예산, 나쁜 글을 쓰면 스타 워즈 : 팬텀 위협이 될 수 있습니다. 프로그래머와 글을 쓰지 않으면 Primer를 얻을 수 있습니다. 프로그래머 (또는 다른 기술 담당자)는 새로운 것을 허용 할 수 있습니다. 프로그래머들은 CG 머드를 슈렉에게, CG 헤어를 몬스터 즈 Inc로, 글 머리 기호 시간을 매트릭스로 가져 왔습니다.

게임의 경우에도 마찬가지입니다. 그래픽 프로그래머는 Pixel Junk Shooter의 유체 또는 Bound의 모든 동적 지오메트리를 허용 할 수 있지만 표준 엔진 기술로 그래픽 프로그래머없이 많은 게임을 만들 수 있습니다.


작품을 사소한 것으로 만들었습니까?
Shuvo Sarker

2
30 년이 넘는 시간 동안 게임을 해본 결과 게임 개발에 많은 부족한 일이 있음을 알 수 있습니다. 그러나 그래픽 프로그래머의 작업이 부족하다고는 말할 수 없습니다. 사실 당신이 실제로 필요하다면 그것은 아마도 부족하지 않을 것입니다.
gman

1
@immibis 당신이 말하는 게임 밸런싱은 사소한 것 같습니다. 동의하지 않을 것입니다. 그렇지 않으면 게임을 망칠 수 있습니다. 사소한 의미는 거의 중요하지 않습니다.
Grumpy는

2
@GrumpyCrouton 사소한 작업은 그 중요성과 관련이 없습니다. 사소한 작업은 작업이라고도하기가 너무 간단하다는 것을 의미합니다. 또한, 균형 설계는 어렵고, 그 중 일부는 실제로 사소한 구현입니다.
Brian H.

1
@GrumpyCrouton 키는 당신이 언급 한 것처럼 가치가 거의 없습니다. 우리는 작업이 달성 한 것에 대해 이야기하지 않고, 가치가 거의 없거나 전혀없는 작업 자체에 대해 이야기하고 있습니다. 문자 그대로 상수 값을 변경하면 끝납니다.
Brian H.

4

많은 경우, 게임 엔진은 게임 프로젝트의 요구 사항 및 사양을 100 % 충족시키지 못합니다. 게임 기술의 경계를 항상 뛰어 넘는 트리플 A 타이틀의 경우 특히 그렇습니다. 게임 엔진의 일부 그래픽 부분이 아티스트와 디자이너가 기본적으로 달성하고자하는 것과 일치하지 않으면 그래픽 프로그래머 / 전문가를 고용하여 자신의 기대가 실현 가능한지 알아낼 수 있습니다. 그렇다면 그것을 달성하는 방법. 셰이더 / 아트 자산을 조정하거나 렌더링의 일부를 재 작업하거나 미들웨어를 사용하는 것이 포함될 수 있습니다. 또는 그것들의 조합.


3

대부분의 표준 기술은 FXAA, 조명, 셀 셰이딩, 노멀 매핑 등과 같은 적절한 상용 엔진에서 구현되지만 전부는 아닙니다.

게임 디자이너가 특정 효과가 발생해야한다고 지정한 경우 이미 존재하는 것에서 효과를 만들거나 새 셰이더를 코딩하거나 그래픽 엔진을 수정하여이를 허용합니다. 두 시나리오 모두 그래픽 프로그래머가 필요합니다.


-8

엔진을 정의한 다음 그래픽 엔진을 정의하십시오. 기존 엔진을 사용하여 게임을 만드는 경우 코드를 처음부터 새로 작성하는 것과 다릅니다. 코드를 통해 그래픽이나 엔진을 정의 할 수 있다면 코드가 강한 경우 호출하는 것이 중요하지 않습니다. 상기 엔진에서 게임, 그 한계 및 / 또는 장점을 만드는 것은 순전히 프로그래머의 능력에 기초합니다. Unity 나 Unreal 또는 다른 프로 엔진과 같은 것을 사용한다고해서 자신의 능력을 정의 할 수는 없습니다. 게임 엔진은 순수 C ++이 아니라는 추상 코딩입니다. 예를 들어 프로그래머를 고용하지 않고도 프로그래머를 고용 할 수 있지만 엔진의 비전이나 한계로 제한됩니다. 따라서 처음부터 코딩 한 다음 이미 존재하는 것을 사용하는 것이 좋습니다. 문제는 Stackexchange와 같은 온라인 답변을 찾지 못했습니다. 많은 사람들이 2D 프로젝트를 끝내지 않고 게임을 코딩하는 데 신경을 쓰지 않았을 것입니다. 나는 조금만 미루는 중입니다. 즉, 많은 자기 봉사 답변이 그것을 설명하지는 않습니다. 가장 좋은 방법은 공부하고 연습하는 것입니다!


이것은 질문을 완전히 무시하기 때문에 사람들은 게임 메이커와 같은 엔진 프로젝트에 그래픽 프로그래머가 필요합니다.
그레이트 오리
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.