![]() ![]() ![]() |
제목 | 책 발췌:게임 엔진 아키텍처 | ||||||
---|---|---|---|---|---|---|---|
분류 | 게임 | 등록일 | 10.03.02 | ||||
출처 | 한국콘텐츠진흥원 | 조회수 | 0
|
||||
※ 본 아티클은 CMP MEDIA LLC 와의 라이선스 계약에 의해 국문으로 제공됩니다.
책 발췌: 게임 엔진 아키텍처 제이슨 그레고리(Jason Gregory) http://www.gamasutra.com/view/feature/4199/book_excerpt_game_engine_.php
실시간으로 게임 물체 업데이트 단순한 것과 복잡한 것을 막론하고 모든 게임 엔진은 시간에 따라 모든 게임 내 물체의 내부 상황을 업데이트할 방법이 있어야 한다. 게임 내 물체의 상태는 그 물체의 특성값으로 정의할 수 있다. 일부에서는 특성이라고 부르지 않고 속성이라고 부르기도 하며, C++ 언어에서는 데이터 멤버(데이터 구성인자)라고도 부른다. 예를 들어 <퐁>의 공 상태는 스크린 상의 x 및 y 좌표. 그리고 속도(속력 및 진행방향)를 통해 나타낼 수 있다. 게임은 동적 시간 기반 시뮬레이션이므로 게임 내 물체의 상태는 특정한 시간적 순간의 게임 설정을 나타내는 것이다. 다른 말로 하면 게임 내 물체의 시간개념은 연속적이라기보다는 불연속적이다. 그러나 앞으로도 살펴보겠지만 흔히 빠질 수 있는 위험을 막기 위해 물체의 상태는 연속적으로 변한다고 가정하고, 이것이 엔진에 의해 불연속적으로 샘플링된다고 보는 것이 유용할 것이다. 다음 논의에서 우리는 임의의 시점 t의 물체 i의 상태를 나타내기 위해 Si(t)라는 기호를 사용할 것이다. 이 기사에서의 벡터 기호 사용은 수학적으로 엄밀히 정확하지는 않다. 그러나 이 벡터 기호의 사용으로 인해 게임 내 물체의 상태는 다양한 데이터 유형의 모든 정보를 포함한 이질적인 n-차원 벡터의 움직임과 비슷하다는 것을 알 수 있을 것이다. 여기서 쓰이는 상태라는 말은 유한 상태 기계에서 사용되는 상태라는 말과는 다르다. 게임 내 물체를 하나 또는 여러 개의 유한 상태 기계의 관점으로 구현할 수도 있다. 그러나 그 경우 각 유한 상태 기계의 현재 상황을 명확하게 규정하는 것은 그저 게임 물체의 전반적인 상황 벡터 S(t)의 일부를 나타낼 뿐이다...(중략)
* 자세한 내용은 첨부(PDF)화일을 참고하시기 바랍니다.
|
|||||||
첨부파일 |