태그 보관물: 3d

3d

게임 개발에서 C ++이 “여전히”선호됩니까? [닫은]

저는 2D 게임 프로그래머입니다 .C, Java, C #에 능숙한 프로그래밍 언어가 있습니다. 또한 Actionscript 2.0,3.0 및 일부 Javascript를 알고 있습니다. 3D 게임 프로그래밍에 관심이 있습니다. 지금까지 연구에서 다른 게임 개발 포럼과 기사를 검색하고 읽음으로써 축적했습니다. 대부분의 프로그래머는 C ++을 선호하는 경향이 있으며 온라인 게임 프로그래밍 교육 과정에서도 C ++ 및 Visual C ++를 시작 과정으로 가르치는 것을 선호합니다. 3d 게임 프로그래밍에서 C ++, C # 및 Java의 “강점”차이를 알고 싶어서이 질문을하는 이유는 다음과 같습니다.

또한 이미 2D 게임 프로그래머를위한 좋은 3D 게임 프로그래밍 기사에 대한 링크를 포함하십시오 .

추신 : IMHO, 나는 또한 C ++이 암호화 된 것으로 생각합니다.



답변

예, C ++는 가장 자주 사용되는 언어입니다 (일부 사람들은 여전히 ​​C를 사용하지만).

여기에는 여러 가지 이유가 있습니다. 단순한 운동량은 하나입니다. 그것은 단순히 수년간 사용되어 온 언어이며, 많은 기술이 이미 존재하고 사람들이 그것에 익숙하기 때문에 밤새 변화가 일어나지 않을 것입니다.

그러면 통제 문제가 있습니다. 게임 개발자는 제어 괴물이며 코드에서 진행중인 모든 것을 알고 싶습니다. C ++은 제어, C # 및 Java (당신이 언급 한 두 가지 대안을 선택하기 위해)가 제어권을 갖도록합니다. 여러 가지면에서 좋은 일이지만 게임 코더는 그것을 좋아하지 않습니다 🙂

마지막으로 다양한 플랫폼 용 SDK가 매우 C ++ 중심이라는 간단한 실제 문제가 있습니다. 다른 언어를 사용하는 것은 필연적으로 래퍼 작성, VM으로 크로스 컴파일 및 (일부 콘솔 개발의 경우) 플랫폼 보유자가 허용하지 않을 수 있습니다 (실제로 JIT 컴파일을하는 사람들을 좋아하지 않습니다).


답변

게임 개발 주제에 관한 거의 모든 출판물에서 볼 수 있듯이 C ++은 여전히 ​​선호됩니다. 나는 개인적으로 현재 C 언어를 사용하여 템플릿 기능을 악용하고, RAII를 광범위하게 사용하고 동적 메모리 할당 및 내가 본 것에서 게임 코드에서하지 말아야 할 다른 것들을 사용하는 간단한 이유 때문에 게임 개발에 뛰어 들기 위해 C를 사용하고 있습니다. 지금까지.

C를 고수하면 최소한으로 강요하고 내가하고있는 일에 대해 생각하게됩니다. STL이 무료로 제공하는 것을 다시 구현해야 할 때 때때로 어려울 수 있지만 거꾸로 나는 깨끗한 코드를 작성하고 그 일을 디버깅하는 데 더 좋은 시간이 있다고 생각합니다.


답변

저는 개인적으로 C ++의 팬이 아니며 Java를 선호합니다. 그러나 업계의 대부분의 사람들은이 언어를 사용하며 랩퍼 및 가상 머신없이 다른 플랫폼으로 변환하는 것이 가장 쉬운 언어입니다.

그러나 때로는 다른 언어가 게임 개발에 아주 좋습니다. 나는 LWJGL과 함께 Java를 사용하며 놀랍습니다. 따라서 C ++을 배우지 않고 3D 프로그래밍과 OpenGL로 시작하려면 LWJGL을 사용해보십시오 을 Java로 Java는 매우 가볍고 실제로 JNI를 통해 실행되는 C ++ 코드라고 생각합니다.

장기적으로는 C ++로 전환하고 싶을 수도 있지만 C # 또는 Java로 시작하여 연습 할 수 있습니다. 대부분의 게임 코드는 해당 언어에 대한 경험에서 비롯되었으므로 익숙한 언어로 OpenGL을 시도하고 연습해야합니다. 또한 그래픽을 연습하는 동안 OpenGL을 사용하여 GLSL을 시도해야합니다. 매우 C와 같은 구문이 있습니다.


답변