목록2D 게임 엔진 시리즈 (3)
Eric Han's Game Programming Blog
벡터는 매우 간단한 구조이며, 게임 개발에서 뺄수가 없는 형태의 자료형이다. 사실 현대적인 CPU들이 대부분 벡터 연산을 제공한다는 점에서 더더욱 넘어가는게 의미가 없을정도로 필수적인 자료형이라 볼수 있다. 먼저 C++로 작성된 기본적인 벡터 자료형이다. class Vector2 { public: Real x = 0, y = 0; public: Vector2() = default; ~Vector2() = default; Vector2(const Vector2& rhs) : x(rhs.x), y(rhs.y) { } Vector2(Real x, Real y) : x(x), y(y) { } explicit Vector2(Real a[2]) : x(a[0]), y(a[1]) { } }; 2D 벡터이기 때문에 부..
게임 개발에서 가장 기본적인 개념은 역시 공간에 대한 개념이다. 물론 중학교와 고등학교를 거쳐오면서 수학시간에 많은 내용을 배우기 때문에 대부분의 내용은 고등학교 기하와 벡터 수준이면 충분히 이해하고 넘어갈수 있을것이다. 혹시나 궁금하다면 2D 수학 시리즈에 올려둔 내용이 있다. 먼저 좌표의 개념은 17세기 초 데카르트가 고안했다고 알려져 있다. 이제 곧 있으면 400주년 정도 된다고 하니 정말 4세기 만에 익숙해진 개념인 것이다. 벡터의 개념은 17세기 말 아이작 뉴턴이 프린키피아를 쓰면서 처음 도입되었다고 한다. 마찬가지로 거의 350년 이상 된 개념인 것이다. 그런 만큼 우리는 일상적으로 좌표나 벡터를 사용한다. 아마 요즈음의 초등학생들은 이런 좌표계가 더더욱 익숙할 것이다. 마인크래프트의 등장 이..
최근 몇년간 3D 시뮬레이션 개발 위주로 코딩 하다보니 한동안 관심이 식었던 2D에 다시 관심이 생겼다. 그래서 몇몇 토픽에 맞춰서 시리즈를 한번 써 볼까 한다. 아직 확정된건 없기 때문에 어느정도 분량이 될지는 모르겠지만 그래도 시작이 반이기 때문에 글을 쓰려고 한다. 먼저 이번 게시글에선 기본적인 용어 설명과 개념들을 간략하게 소개하려 한다. 보다 정확한 개념들은 학부에서 배우는 일반물리학(역학파트), 동역학, 정역학, 일반역학(또는 해석역학), 선형대수학, 미적분학, 벡터미적분학(다변수미적분학), 미분방정식, 미분기하학 등등의 과목들을 수강하며 얻을수 있는 지식들이다. 필자는 컴퓨터 과학을 전공했지만 이런것들에 관심이 생겨서 이것저것 듣다보니 이렇게 되었다. 물론 이 내용들을 게임 산업에서 사용할만..