태그 보관물: software-engineering

software-engineering

“도구 개발”이란 무엇입니까? ​​보았고 내가 광고를 본 많은 직업은

나는 게임 산업에서 다른 직업을 살펴 ​​보았고 내가 광고를 본 많은 직업은 “도구 개발자”직책입니다. 나는 이것이 실제로 무엇인지 모른다.

누군가 나에게 이것이 무엇인지 설명해 줄 수 있습니까? 그리고 누군가 내가 그것을 더 잘 이해할 수 있도록 도와주는 자료에 대한 링크가 있다면 대단히 감사하겠습니다.



답변

도구 프로그래밍 위치는 일반적으로 나머지 개발 팀의 힘 배가에 관한 것입니다. 작업의 정확한 특성은 물론 해당 회사의 개별 요구에 따라 스튜디오마다 크게 다릅니다.

그러나 주로 스튜디오 내에서 다른 개발자가 사용하게 될 소프트웨어를 만드는 작업을 수행해야하며 해당 소프트웨어의 역할은 다음과 같습니다.

  • 게임에 대한 저작물이나 콘텐츠 (레벨, 모델, 아이템, 주문 등)를 직접 작성
  • 스튜디오 게임 또는 빌드 파이프 라인과 다른 콘텐츠 제작 도구 (예 : Maya의 수출 업체) 사이의 다리 역할을합니다.
  • 소매 게임과 함께 배포하기 위해 소스 게임 자산을 최종 컴파일 된 형태로 변환하는 자동화 된 빌드 프로세스의 일부
  • 특정 게임 빌드와 동기화 또는 지점 간 전환과 같은 일상적인 상용구 작업을 개발자에게 지원

또한 일부 스튜디오에서는 이것이 거의 초보적인 위치로 간주된다는 점에 주목하는 것이 중요합니다. 왜냐하면 대부분 사려 깊은 그런 작업 (디자이너를 위해 UI에서 버튼을 움직이는 것)이 포함되기 때문입니다. 다른 한편으로는 라이브 배송 MMO를위한 미션 크리티컬 빌드 및 배포 파이프 라인의 관리 및 공급과 관련이 있기 때문에 정반대입니다.

책임과 기대의 범위는 크지 만 (실제로 이것은 거의 모든 산업 분야에서 사실이지만) 전반적인 목표는 동일합니다. 조직의 병목 현상을 주시 한 다음 구매, 구축 또는 병목 현상을 최적화 할 때까지 재교육하십시오.


답변

한마디로 : 다른 사람이 사용하는 프로그램 (예 : 도구)을 개발하십시오.

인기 있고 쉬운 예는 게임용 레벨 에디터입니다.

그러나 이것은 일부 버전 추적 프로그램, 버그 추적기, 포럼, 일부 내용이 실수가 없는지 확인하는 검사기 등과 같이 훨씬 더 뒤에있을 수 있습니다.


답변

툴 프로그래머는 전문화 된 역할로서 프로덕션에 필수적인 역할을합니다. 본질적으로 게임을 만들고 프로세스를 최적화하는 방법을 찾는 데 사용되는 파이프 라인을 보는 사람입니다.

여러 트리플 A 게임의 툴 프로그래머로서 나는 다음과 같이했다.

  • 디자이너가 사용할 수 있도록 레벨, 그래프 및 사운드와 같은 새로운 편집기를 만듭니다.
  • Unreal 3 및 4와 같은 기존 편집기에 기능을 확장하거나 버그를 수정하거나 기능을 추가하십시오.
  • Maya 및 Photoshop과 같은 DCC (Digital Content Creation) 패키지 용 스크립트 및 플러그인 작성 (예 : 애니메이션 가져 오기 / 내보내기, 컨텐츠 관리 등)
  • 도구에 소스 제어 (Perforce) 통합
  • 파이프 라인에 맞게 오픈 소스 도구 수정
  • 컨텐츠 검증.
  • 콘솔의 최종 게임을 마스터하십시오.
  • 시스템 및 지속적인 통합을 구축하십시오.
  • 현지화 가져 오기 및 내보내기 도구
  • 때때로 새로운 엔진 기능과 지원 도구를 작성하십시오.
  • 성능 데이터와 같이 수십억 개의 레코드가있는 관리되는 데이터베이스
  • 백엔드 서버 (AWS) 용 클라우드 컴퓨팅 / 애플리케이션
  • … 등

독립 스튜디오와 같은 일부 스튜디오에서는 모든 프로그래머가 게임 제작에 도움이되는 도구를 작성할 수 있습니다.

아래에는 IGDA Tools SIG 및 Toolsmiths 블로그 (International Game Developers-Tools Special Interest Group)에 대한 링크가 몇 개 있습니다.


답변

시나리오 1 :
플래시 및 AS3

때로는 게임 제작 파이프 라인에서 더 많은 도움을 줄 특정 기능을 만들어야 할 때가 있습니다. ‘도구’는 개발 프로세스를 가속화하는 데 도움이 될 수있는 것을 의미합니다.

예를 들어 Flash는 기본적으로 완벽한 픽셀 충돌 감지 기능을 제공하지 않습니다. 따라서 직접 작성하거나 일부 사람이 이전에 수행했는지 인터넷 검색을 시도하여 오픈 소스 코드로 넣을 수 있습니다. 올바르게 정렬 된 폴더에 소스 코드 모음이 있으면 폴더가 장기적으로 도움이됩니다. 자신의 도서관과 같은 것.

시나리오 2 유니티

마찬가지로 unityscript (unity version of javascript) 또는 c #을 사용하여 구성 요소, B 스플라인, 베 지어 곡선과 같은 작은 작은 도구를 작성할 수 있습니다. 기본적으로 통일되지 않는 것들. 인터넷에서 직접 작성하거나 인터넷에서 가져 오십시오. 무료 / 유료 버전으로 제공됩니다.


답변