답변:
그것은 당신이 수학에 얼마나 강력한에 따라, 그리고 3D 게임 프로그래밍 개념을 .
2D는 x, y 위치와 속도의 개념 (그리고 기본적으로 벡터를 더하고 빼기)과 2D 상자 충돌 만 사용하여 얻을 수 있습니다.
3D에서는 투영 행렬, 행렬보기, 좌절 등 훨씬 더 많은 수학에 대해 걱정해야합니다.
또한 사용중인 드로잉 API에서 훨씬 더 풍부한 함수 집합과 상호 작용해야합니다 (3D를 수행한다는 사실 때문에 3D를 다루는 훨씬 더 많은 함수를 배워야합니다) ).
Microsoft XNA는 2D로 시작하는 데 탁월한 지원을 제공하며 SpriteBatch를 사용하여 쉽게 렌더링 할 수 있습니다. 3D를 시작하자마자 자동으로 VertexBuffer 또는 Model 을 배워야 합니다. 그런 다음 ModelBones와 함께 제공되는 모든 것이 제공됩니다.
파악해야 할 개념이 적기 때문에 2D를 시작하는 것이 가장 좋습니다 (2D 스프라이트? 케이크 워크!). 벨트 아래에서 경험을 쌓은 후 3D 작업을 잘 수행해야합니다.
2D와 3D 게임 개발의 유일한 근본적인 차이점은 3 번째 축 사용 여부입니다. Unity와 같은 엔진을 사용하는 경우 모델 대신 직교 카메라 투영 및 스프라이트를 사용하여 2D 게임을 3D 게임처럼 쉽게 만들 수 있습니다.
즉, 3D 무거운 물건을 많이 드는 엔진을 사용하지 않으면 훨씬 더 어려워집니다. 이 질문에 대한 답을보십시오 : 게임에 대해 2D와 3D를 결정할 때 고려해야 할 사항은 무엇입니까?
당신이해야 할 일은 당신이 만들고 싶은 게임을 결정하는 것이고, 예술과 디자인은 그것이 2D 또는 3D인지를 알려줄 것입니다.
Tetrad는 예술과 디자인에 대해 생각해야하고 그것이 2D 나 3D가되어야한다면 이끌어 줄 것이라고 Tetrad에 동의합니다. 또한 2D 게임을 먼저 만드는 것이 좋을 것이므로 3D 게임과 함께 제공되는 어려운 일에 대해 생각할 필요가 없습니다. 또한 두뇌가 2D 게임으로 적은 정보를 처리 할 수 있다는 사실을 깨달아야합니다.
지난 3 년 동안 성공한 인디 게임의 대부분을 보면 많은 게임이 2D였습니다.
http://www.braid-game.com/
http://limbogame.org/
http://supermeatboy.com/
http://www.andyetitmoves.net/
따라서 회사는 2D 게임 만 성공적으로 만들 수 있습니다. 게임의 성공은 게임 메커니즘, 스토리, 미학 및 기술에서 비롯됩니다. 그렇지 않으면 사면체라고합니다. 나는 주제를 벗어 났기 때문에 나는 탈선했다.
2D 아트 자산을 실습하는 것이 더 간단 할 것입니다. 따라서 2D 게임 개발을 배우는 것이 3D 게임 개발을 배우기위한 전제 조건이라고 생각하지는 않지만 (그래픽 코드 상단의 게임 코드와 거의 동일) 두 번째 게임을 시작하지 않는 한 여전히 초보자가 좋습니다 3D 그래픽을위한 탄탄한 리소스를 갖습니다 (예 : 3D 아티스트 인 친구와 함께 배우게됩니다).
코드 측면에서 어려움은 배우려는 내용과 사용할 엔진에 따라 다릅니다 (특히 자신의 엔진을 작성하는 경우). 저수준 3D 그래픽 코드는 저수준 2D 그래픽 코드보다 훨씬 복잡하지만 Unity와 같은 엔진을 사용하는 경우 저수준 그래픽 코드를 작성하지 않습니다. 해당 엔진에 내장 된 3D 게임 코드는 2D 게임 코드보다 복잡하지 않습니다. 실제로, 당신이 말하는 특정 엔진에 따라 다시 덜 복잡 할 수 있습니다.