-
2014. 10. 23적용 예제 앞의 대포 예제를 기반으로 해시 그리드 광범위 충돌 검사를 구현해 보자. 이번에는 이 절에서 지금까지 다룬 내용을 모두 포함하도록 예제를 전체적으로 재작성할 것이다. 아울러 대포와 포탄뿐 아니라 맞출 목표물도 추가할 것이다. 여기서는 예제를 간단히 하기 위해 0.5×0.5 […]
-
2014. 10. 22광범위 충돌 감지와 미세 충돌 감지 아직까지 객체와 경계 도형 사이의 충돌 검사를 어떻게 하는지 배우지 않았다. 이런 충돌 감지 범위로는 두 가지가 있다. – 광범위 충돌 감지: 이때는 어떤 객체들이 잠재적으로 충돌할지 판단한다. 예를 들어 서로 충돌할 수 […]
-
2014. 10. 21세계에서 움직이는 객체들이 있다면 이들 객체가 서로 상호작용하는 게 좋다. 이런 상호작용 모델 중 하나가 바로 단순 충돌 감지다. 두 객체가 어떤 식으로든 중첩되면 두 객체는 충돌한 것이다. Mr. Nom 게임에서 Mr. Nom이 자신을 물었는지 잉크 얼룩을 먹었는지 판단할 때도 […]
-
2014. 10. 20이 절에서는 아주 간단하고 제한적인 물리 이론을 적용해볼 것이다. 사실 게임에서는 모든 걸 가짜로 구현한다. 게임에서는 가능하다면 무거운 연산을 제거하는 속임수를 사용한다. 게임에서 객체의 행동은 물리적으로 100퍼센트 정확하지는 않다. 다만 실제처럼 믿을 수 있는 수준을 유지할 뿐이다. 또 때로는 물리적으로 […]
-
2014. 10. 17여기서는 2D 벡터를 쉽게 사용할 수 있는 클래스를 생성하려고 한다. 이 클래스는 Vector2라고 부르겠다. 이 클래스에는 벡터의 x, y 요소를 포함하기 위한 두 개의 멤버가 있어야 한다. 추가로 다음과 같은 기능을 하는 메서드도 제공해야 한다. – 벡터의 덧셈과 뺄셈 – […]
-
2014. 10. 16앞 장에서는 벡터를 위치와 혼동해서는 안 된다고 언급한 바 있다. 이 말은 꼭 맞는 말은 아니다. 어떤 공간에서는 벡터를 통해 위치를 표현할 수 있기 때문이다. 실제로 벡터는 다양하게 해석할 수 있다. – 위치: 위치는 이전 장들에서 좌표계의 원점을 기준으로 엔티티의 […]
-
2014. 09. 22게임의 시야와 함께 플레이어가 알아야 하는 다른 정보와 수행해야 하는 동작을 고려할 필요가 있다. 이러한 사항에는 게임 내의 지점이나 진행 상황, 다른 유닛의 상태, 다른 플레이어와의 의사소통, 항상 제공되는 선택 사항 또는 동작을 수행할 수 있는 특별한 기회가 있다. 이 […]