게임 개발에 가장 많이 사용되는 데이터 구조를 묻는 것이 타당 할 수 있지만 특정 문제에 어떤 데이터 구조가 사용되는지 묻는 것이 더 효과적입니다. 해시 테이블은 게임에서 매우 일반적이라는 것을 쉽게 알 수 있지만 자신의 코드에서 해시 테이블을 언제 어디에서 사용하고 사용하지 않아야하는지에 대해서는 유용한 정보가 없습니다. :)
수학의 관점에서 선형 대수 (벡터, 행렬, 선형 시스템 해석 등)를 매우 강하게 파악하고, 삼각법을 매우 강하게 이해하고, 최소한 미적분학 (단순 미분 및 적분)을 이해해야합니다. . 입문 대학 수준의 선형 대수 과정은 일반적인 3D 그래픽 원리로 작업을 시작하기 위해 알아야 할 모든 것에 대해 가르치지 않으면 올바른 길로 안내해야합니다. 또한 도움이 될만한 책을 아래에 연결합니다.
물리학을 위해, 당신은 타고 있습니다. 물리학은 충돌 감지와 충돌 응답의 두 가지 범주로 나눌 수 있습니다. 수학은 그래픽을 수행하는 데 필요한 것 (특히 폐색에 필요한 나무와 맵을 만드는 데 필요한 것)과 다소 동일하므로 충돌 감지의 배후에있는 수학을 반드시 알아야합니다. 많은 게임 로직도 있습니다.
충돌 반응은 "단순"에서 어리석은 수준까지 다양 할 수 있으며, 단순한 것조차도 처음에는 직관적이지 않을 수 있습니다. 기존 수학 및 알고리즘에 익숙하지 않을 때까지는 해당 자료를 Bullet, Havok, PhysX 등과 같은 기존 라이브러리 (또는 2D 게임 플레이를 수행중인 경우 Box2D)에 두는 것이 좋습니다. 물리 엔진의 작동 방식을 배우고 자합니다. 그런 다음 첫 번째 시도로 매우 간단한 2D 물리 엔진을 구축하는 것이 좋습니다. 3D 물리 엔진은 엄청나게 복잡한 짐승이며, 게임 프로그래밍에서 가장 복잡하고 어려운 부분입니다. 물리적 엔진은 게임에서 가장 일반적으로 사용되는 타사 기술입니다. 당신은 단지 많은 게임을 보지 못합니다. 집에서 만든 그래픽 엔진과 코어 엔진 코드를 스크래치하는 게임 수에도 불구하고, 전문 세계에서 Havok 또는 PhysX를 사용하지 않습니다. 게임 엔진을 빌드하는 것 외에는 아무것도하지 않는 회사조차도 일반적으로 물리 엔진 라이센스를 부여합니다. 예를 들어 Unreal은 자체 물리 엔진을 포함하지 않고 PhysX 만 사용합니다.
시작하려면 다음 책을 추천합니다. 첫 번째는 3D 게임 프로그래머로서 알아야 할 기본 수학에 대한 입문 레벨 책입니다.
http://www.amazon.com/Mathematics-Programming-Computer-Graphics-Third/dp/1435458869
두 번째는 충돌 감지 알고리즘 (충돌 응답이 아님)으로 감지 된 책으로, 그래픽 코딩과 물리 코딩 모두에 도움이됩니다.
http://www.amazon.com/Real-Time-Collision-Detection-Interactive-Technology/dp/1558607323