게임 산업에 취업하려면 C ++이 필요한가요?


17

게임 산업에 취업하려면 C ++이 필요한가요? 저는 C #에 매우 익숙하며 XNA 4.0에서 2D 게임을 만드는 기본 지식이 있습니다. 나는 지금 13 살이고 게임 제작을 좋아하며 언젠가 게임 프로그래밍 직업을 갖기를 희망합니다. 많은 사람들이 C ++이 '산업 표준'이며이를 모르면 커리어를 해칠 것이라고 말합니다. 나는 또한 창문보다 더 많은 플랫폼을 목표로 노력하고 있으며 모노 게임을 알고 있습니다.그러나 어떤 이유로 비주얼 스튜디오 템플릿에 많은 문제가 있으며 모노 게임으로 많은 버그를 발견합니다. 기술적으로는 아직 직업을 구할 수 없기 때문에 22 세 이상이 될 때까지 프로그래밍 작업을 할 수 없기 때문입니다 (자체 고용하지 않는 한). 그리고 9 년 이상의 기간 동안 게임 산업은 많은 변화를 가져올 것입니다. 여기 몇 가지 질문이 있습니다

  • C ++을 배우는 것이 프로그래밍 작업을 할 기회를 해치지 않습니까?
  • 직업을 구할 수있을 때까지 C ++은 여전히 ​​'산업 표준'프로그래밍 언어가 될 것입니다
  • 내가 인디 개발자라면 C ++을 배우는지 여부는 정말로 중요하며 내가 아는 것을 고수합니까?
  • 나는 심지어 직업을 구하기도 몇 년 전부터 지금보고있는 것을 배우기 시작해야합니까?

나는 객체 지향 프로그래밍에 익숙하지만 C ++에 많은 시간을 할애 할 수 있으며 매우 좌절하고 혼란스러워서 배우는 것을 끝내고 이번에는 많은 XNA를 잊어 버렸습니다. 나는 모든 것을 배워야합니다. 간단히 말해서 : 프로그래밍 작업을 원한다면 C ++을 배워야합니까?

최신 정보

답변과 제안에 감사드립니다. 최근에 SFML과 C ++을 집어 들었고 꽤 잘 가고 있습니다. 나는 C ++의 걸림돌을 겪고 있으며 새로운 것들을 배우는 것에 대해 걱정하지 않기 위해 눈을 뜨기 시작했습니다. 왜냐하면 모든 C # 지식을 C ++을 더 쉽게 배울 수 있도록 옮길 수 있었기 때문입니다. 다시 한번 감사합니다.


4
코딩하는 작업보다 실제로 코딩되지 않은 작업이 게임 산업에 더 많다는 점에 유의해야합니다. 아티스트, 프로젝트 관리자, 블랙 박스 테스터, 디자이너, 판매 등 C ++에만있는 것보다 다른 언어로 된 일자리가 훨씬 더 많습니다. 통계적으로 말하자면, 업계에서 일자리를 얻기 위해 C ++을 배울 필요는 없습니다.
MichaelHouse

1
그것은 확실히 당신의 기회를 해치지 않을 것입니다. 내가 일하는 회사는 현재 게임 개발에 C #과 Unity를 엄격하게 사용하며 C ++이 필요하지 않습니다. 그러나 C ++은 다른 곳에 적용될 수있는 유용한 개념을 많이 가르치기 때문에 여전히 플러스로 간주됩니다. 인디 프로젝트에서 사용하는 언어에 집중하는 것이 좋지만 가능하면 C ++을 배우는 데 약간의 시간이 걸립니다.
Benjamin Danger Johnson

2
전문 개발자라면 항상 도구를 선택하여 선택할 수는 없습니다. 예를 들어, 나는 열정으로 Java와 MATLAB을 싫어합니다. 그러나 가끔은 숨을 참 아야하고 그것을 극복해야합니다. 따라서, 당신의 징징을 그만두고 C ++를 배우십시오. 당신이 그것에있는 동안 더 많은 언어를 배우십시오.
drxzcl

가능한 동안 C ++을 배우십시오.
jcora

이 게시물 이이 질문에 중요한 독서 라고 생각 합니다.
Andrew Russell

답변:


23

세 번째 질문은 내 지식 영역 (인디 개발자) 내에 있으므로 세 번째 질문에 집중하고 싶습니다.

수년 동안 한 줄의 C ++ 코드를 작성하지 않았습니다. 그리고 사실, 나는 많은 세부 사항을 잊어 버렸습니다 (C ++에는 많은 것들이 있습니다). C #에서 대부분의 작업을 수행합니다. 그리고 당신은 절대적으로하지 않습니다 C ++을 배울 수 있습니다.

그러나 C ++을 배우면서 얻은 기술, 특히 저수준 요소, 특히 메모리와 포인터의 작동 방식은 귀중한 것으로 입증되었습니다.

또한 다른 사람들의 C ++ 코드 를 읽어야하는 경우가 여러 차례있었습니다 . C # 또는 Java로 프로그래밍하는 방법을 알고 있다면 아마도 무슨 일이 일어나고 있는지 추측 할 수 있지만 아는 것이 훨씬 좋습니다.


당신 에게 나의 추천은 , 특히 C ++을 배우는 것입니다. 당신의 나이에 당신은 단지 배우는 데 많은 시간을 할애해야합니다. 그렇게 하면 게임을 개발하거나 직업을 구상하려고 할 때 C ++ 집어 들지 않아도됩니다 .

어떤 이유로 (또는 XNA 또는 다른 어떤 이유로) C ++ 사용을 중단하더라도 세부 정보를 잊어 버릴 염려가 없습니다. 개념이 더 중요합니다. 필요한 경우 세부 정보를 쉽게 다시 선택할 수 있습니다.


다른 질문에서 알 수 있듯이 10 년 동안 업계가 어떻게 보일지 알 수 없습니다. 비록 C ++이 여전히 공통적으로 사용될 것이라고 생각합니다. C ++을 아는 것은 C ++이 아닌 상점 에서조차도 실용성을 크게 향상시킬 것입니다.


7

게임 프로그래머가 되려면 C ++ 학습을 피할 수 없습니다. 프로듀서 또는 아티스트와 같은 게임 산업에서 다른 직업을 원한다면 C ++이 필요하지 않습니다.

C ++은 어렵다. 대학까지 많은 사람들이 그것을 배우지 않습니다. 당신은 많은 시간이 있습니다. 다른 프로그래밍 언어와 함께 기본 프로그래밍 개념을 익히십시오. 작게 시작하여 한 번에 한 단계 씩 진행하십시오.


2
나는 다른 방법으로 논쟁 할 것입니다. C ++는 오늘날 하드웨어와 밀접한 관계가있는 언어이며 컴퓨터 아키텍처에 대해 C #과 같은 고급 언어로는 배우지 않을 컴퓨터 아키텍처, 주로 메모리 할당 및 주소 지정에 대해 몇 가지를 배워야합니다. C #을 처음 배웠고 익숙해 졌다면 아마도 C ++로 건너 뛰어야 할 추가 농구에 의해 소외되었을 것입니다.
Hackworth

6

아직 배울 시간이 많기 때문에 사용하는 언어에 대해 너무 걱정해서는 안된다고 생각하지만 도움이 될만한 몇 가지 사항을 말씀 드리겠습니다.

  1. C ++은 언어이고 XNA는 프레임 워크입니다. XNA는 더 이상 Microsoft에 의해 업데이트되지 않을 것이기 때문에 지금은 심각한 용량으로 9 년 동안 사용되었다고 상상하기가 매우 어렵습니다. 다른 한편으로 C ++은 영원히 주변에 있었고, 활발한 표준위원회가 그것을 개선하기 위해 노력하고 개발자에게 하드웨어에 대한 많은 통제력을 제공 하여이 통제력을 불필요하게 만들고 다른 언어가 그것을 대체 할 수 있도록 하드웨어 성능을 크게 도약시킵니다. 고성능 게임을위한 사실상의 표준으로

  2. 개념을 배우는 것은 언어를 구현하는 것이 아니라 중요한 부분입니다. 이미 기본 원리를 이해하고 있다면 새로운 언어를 아주 빨리 배울 수 있습니다.

  3. C ++은 C #보다 훨씬 더 깊은 수준에서 포인터와 메모리 문제에 대해 배울 것을 요구하므로 산업에서의 사용에 관계없이 어느 시점에서 배우는 것이 좋습니다.

  4. 잊어 버리는 것에 대한 걱정은 근거가 없을 것입니다. 당신이 물건을 잊어 버릴 것이지만, 세부 사항은 실제로 중요한 부분이 아닙니다. 언어를 전환하여 게임을 디자인하는 방법을 잊지 마십시오.

C ++을 배우지 않는 이유가있는 것 같습니다. 실제로 새로운 것을 배우지 않으려는 욕구를 합리화하려고합니다.

C ++을 배우고 나중에 사용하지 않는 것으로 판명되면, 몇 년이 지났으며, C ++을 배운 것이 도움이 될 것입니다. 모든 XNA를 잊어 버렸고 C ++을 배우지 못하면 가능성을 걱정하는 것보다 이것을 알아 내고 앞으로 나아가는 것이 좋습니다. 두 경우 모두 가능성이 높다고 생각하지 않습니다.


4

일반적인 조언 : 배워야 할 것과 배워야 할 것에 집중하지 마십시오. 그냥 무언가를 만드십시오.

귀하의 특정 질문에 대답하기 위해 Microsoft는 더 이상 XNA를 업데이트하지 않으므로 더 이상 존재하지 않을 가능성이 있습니다. C ++은 잘 확립 된 산업 표준이며 곧 떠날 것입니다. AAA 게임에서 일하고 싶다면 그렇습니다. C ++ 경험이 필요합니다.


좋은 충고, +1 솔직히 새로운 언어를 배우는 것도 매우 중요 하다고 생각합니다 .
jcora

Yannbane :하지만 부차적이지 않습니까? OP는 물건을 만들면서 프로세스에서 배우고 배우는 데 필요한 것을 발견합니다. 한 언어를 잘 알고 나면 다른 언어를 배우는 것은 일반적으로 매우 쉽습니다.
Zach Latta

Err, 아니요, 그렇지 않습니다. 약간의 과정이나 과정이 필요하지만 프로젝트를하는 것보다 언어를 배우는 것이 더 중요합니다. 그리고 C #을 알고 있다고해서 C ++을 알고있는 것은 아닙니다. 그리고 쉬운 경우 6 개 이상의 언어를 아는 사람들을 정기적으로 보게됩니다.
jcora

1

질문에 이미 답변되었으므로 여기 저기 몇 개의 구멍을 채우십시오.

나는 객체 지향 프로그래밍에 익숙하지만 C ++에 많은 시간을 할애 할 수 있으며 매우 좌절하고 혼란스러워서 배우는 것을 끝내고 이번에는 많은 XNA를 잊어 버렸습니다. 나는 모든 것을 배워야합니다. 간단히 말해서 : 프로그래밍 작업을 원한다면 C ++을 배워야합니까?

C ++이 끔찍한 괴물 언어라는 아이디어를 어디서 얻었습니까? 아니에요! 실제로 매우 재미있다.

사실, 당신 수 있습니다 가까운 실제로 두 가지 장점을 가지고 하드웨어에 얻을 : 당신은 더 많은 방법을 컴퓨터에 실제로 기능에 대해 많이 배우고, 두 번째는, 말하자면, C #을보다 손에 더 많은 힘이있다.

그러나 C ++은 훌륭한 추상화 방법과 매우 유용한 라이브러리를 제공하므로 실제로 그래픽 카드와 직접 통신하는 것과는 다릅니다 (확실히 가능합니다)-그냥 추상화됩니다.

모든 언어 에 대해 아는 것이 매우 유용하고, 채용 가능성을 높일 수있는 좋은 기회가 있으며, 확실히 더 나은 프로그래머가 될 것입니다.

시간이 있으면 JavaScript 및 / 또는 Python을 확인하십시오. 다른 사람들은 아마도 Lisp도 제안 할 것이지만, 나는 그것에 관해 지식이 많지 않으므로 아무 말도하지 않습니다. 그러나 어쨌든 확인하는 것이 유용 할 수 있습니다. 개념에 대한 제한적인 이해조차도 깔끔하다고 생각합니다. Haskell도 있지만 bleh가 있습니다.

그리고 9 년 이상의 기간 동안 게임 산업은 많은 변화를 가져올 것입니다.

진실. 그러나 9 년 이상 동안 우리는 여전히 어셈블리, C ++ 및 C를 사용하게 될 것입니다. 게임 개발자가 갑자기 충분한 리소스가 있다고 판단하고 머신의 한계를 넘어서는 것을 멈추게 될 것입니다. 물론 이것은 추측 일 뿐이지 만, 모든 언어가 나보다 훨씬 오래 되었기 때문에 내가 옳다고 생각합니다.

또한 C ++을 배우면 잠재적 인 새로운 중급 언어로 쉽게 전환 할 수 있습니다.

기술적으로는 아직 직업을 구할 수 없기 때문에 22 세 이상이 될 때까지 프로그래밍 작업을 할 수 없기 때문입니다 (자체 고용하지 않는 한).

나는 네가 틀렸다고 확신한다. 실제로 몇 년 안에 일자리를 얻을 수있을 것입니다. 내 나라의 법에 의해 2를 의미하는 것은 거의 없다고 생각합니다. 그러나 정규직이 아닙니다.

학교가 없을 때에도 일할 수있는 옵션이 있으며, 만약 당신이 좋고, 아마도 있다면, 당신을 고용하려는 개발자 회사가있을 것입니다. gamedev 회사? 아마 아닙니다. 그러나 실제로 당신이 스타터로서 일하고 싶을 이유는 없습니다. AFAIK 당신은 정규 회사에서 더 나은 임금을 받고 자유 시간에 게임을 할 수 있습니다.

게다가, 당신의 이름을 보면, 마치 C ++ 프로그래밍의 기쁨에 이미 익숙해 져있는 것처럼 보입니다!


1

나는 아직 사업을하고 있지 않지만 (17 살) 새로운 언어와 기술을 발견하는 것이 꼭 필요하다고 생각합니다. 지금 시간이 있지만 C ++, OpenGL 및 Java를 배우십시오. 이것을 마스터하는 데는 약간의 시간이 걸립니다 (5 년이 걸렸으므로 지금은 같은 나이에 시작했습니다).

시도해 볼만한 좋은 점은 Java 및 OpenGL에서 Minecraft 복제본을 만드는 것입니다. 이를 통해 많은 gamedev 기술에 대한 통찰력을 얻을 수 있으며 많은 최적화 기술을 배울 수 있습니다. 16 세에 내가 한 일입니다. CraftMania 에서 결과를 볼 수 있습니다 . Java로 시작하는 것이 좋습니다 이유는 프로그래밍하기 쉽기 때문입니다. 가비지 수집기 및 깔끔한 예외 처리가 있습니다. 이를 통해 경험이없는 개발자에게 C ++이 수반하는 모든 어려움을 겪지 않고도 OpenGL을 매우 효율적으로 배울 수 있습니다.

OpenGL과 함께 Java를 마스터하고 싶다고 느끼면 C ++을 살펴보고 쉬운 작업을 시도하십시오 (아직 게임 없음). C ++ 컴파일 방법과 런타임에서 작동하는 방식을 이해하고 C ++에서 메모리가 구성되는 방식을 알고 나면 쉬운 게임을 만들기 위해 SDL 을 살펴 봅니다 .

OpenGL에 집중해야하는 이유는 무엇입니까? OpenGL은 XBox360을 제외한 모든 플랫폼에서 실행되기 때문입니다. Windows, Linux, OS X, Android, iOS, BlackBerry, Wii, DS, PS3, PSP 등입니다. Xna 및 DirectX 만 마스터하면 Windows 및 XBox360에 바인딩됩니다. 게임 산업에서 프로그래밍 작업을 원한다면 이것이 OpenGL과 C ++을 배우는 좋은 이유라고 생각합니다.


0

내 대답은 게임 업계에서하고 싶은 일에 달려 있다는 것입니다. 현재 AAA 콘솔 게임을 만들고 싶다면 C ++이 필수입니다. 다른 언어로는 콘솔에있는 제한된 리소스를 활용할 수 없습니다.

오랫동안 C ++은 게임 산업의 링구아 프랑카 였지만 iPhone과 Unity의 출현으로 C # 및 Objective-C와 같은 언어를 사용하여 괜찮은 게임을 만들 수 있습니다. HTML 5조차도 지금 게임을 할 수 있습니다. 간단한 사실은 많은 옵션이 있다는 것입니다.

나이에 당신은 여전히 ​​산업이 어떻게 발전하는지 배우고 볼 많은 시간이 있습니다. 당신에게 나의 충고는 이것입니다 : 언어에 집중하지 마십시오. 게임을 만드는 방법을 배우거나 외부에있는 게임을 개조하는 방법에 중점을 둡니다. 한 가지 아이디어는 Minecraft를 얻고 Java를 사용하여 모드를 만드는 방법을 찾는 것입니다. 실제로 모드를 해제하지 않더라도 게임의 동작 방식을 변경할 수 있다는 것을 보는 것보다 낫습니다.

당신의 나이에 나는 Basic을 사용하여 게임을하고있었습니다 (Comodore 64에서). RPG Maker 이상은 Java를 사용하여 게임을 수정합니다. 18 세가 될 때까지 C ++을 만지지 않았으므로 여전히 성장할 시간이 충분합니다.

실제 질문에 대답하려면 :

  • C ++을 배우는 것이 프로그래밍 작업을 할 기회를 해치지 않습니까?

이 단계에서는 말할 방법이 없습니다. '실제'직업을 찾기 시작하기까지 최대 10 년이 걸릴 수 있으며 기술은 매우 빠르게 발전하고 있습니다.

  • 직업을 구할 수있을 때까지 C ++은 여전히 ​​'산업 표준'프로그래밍 언어가 될 것입니다

위의 답변을 참조하십시오.

  • 내가 인디 개발자라면 C ++을 배우는지 여부는 정말로 중요하며 내가 아는 것을 고수합니까?

중요한 것은 얼마나 많은 게임을 끝내고 출시했는지입니다.

  • 나는 심지어 직업을 구하기도 몇 년 전부터 지금보고있는 것을 배우기 시작해야합니까?

학습을 시작하기에 너무 빠르지도 않고 너무 늦지도 않습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.