2023/12 33
-
Object와 Player간의 상호작용을 사용해보자. Animation은, 각 객체간 다른 Animation이 적용되어야 하고. Collision작업은 각 객체가 다른 Collision을 적용해야한다. 그러나, Render작업은 Buffer에 한번에 데이터를 전달하고 작업해야한다. MonsterManager를 생성하고, 해당 전역객체를 사용해서 몬스터를 생성하고 움직이게 관리해보자. 각 객체는 쉽게 말하자면 하이브마인드 와 비슷하게. 중앙관리체계로 동작해야 한다. 이러한 방식은 FSM이론과 행동 객체화 방식을 따르는것 이 편하고 좋다. MonsterManager #pragma once // MonsterManager 클래스는 Singleton 패턴을 따르며 게임 내 몬스터를 관리하는 역할을 수행합니다. ..
-
FSM을 응용하여 FSM의 데이터를 전부 각 함수로 구분지어 사용하는 방법이다. FSM의 이론을 일정부분 사용하면서, 캐릭터, NPC 몬스터 등의 동작을 별도의 객체로 분리하여. 별도의 Class로 구분지어 구현하고, 상속처리하여. 다양하게 처리할 수 있는것을 목적으로 한다. 이러한 행동 객체화를 통해 FSM과 다른 장점이 생기기도 하는데, FSM와 비교한 장점 구현이 쉬워진 복잡한 행동 FSM은 내부코드의 재사용성이 생각보다 불투명하지만, 함수별로 구분지어 사용하게 되면. 해당함수를 다시 정의하고 여러 캐릭터가 동일한 이동, 공격, 점프등을 사용할 수 있다. 객체지향 다형성 활용 기본적으로 상속과 인터페이스를 응용함으로. 동일한 인터페이스를 사용하는 한, 다양한 행동을 쉽고 간단하게 교체할 수 있다. ..
-
여러 상태(State)와 각 상태간의 전이(Transition)으로 이루어진 모델방법 이다. FSM은 객체의 행동을 여러 상태로 나누어 표현하고, 상태 간 전이에 따라 객체의 동작이 변경된다. 이러한 구분방식은 게임개발시 캐릭터의 행동, NPC의 행동, 게임 상태등을 관리하는데 좋다. FSM은 3가지 구성요소로 정의된다. 상태(State) 객체가 취할 수 있는 다양한 동작 또는 상태를 나타낸다. 예를들어. 이동, 공격, 대기 등을 말할 수 있다. 이벤트(Event) 각 상태간 전이를 일으키는 외부, 또는 내부에서 발생하는 사건 또는 조건을 말한다. 예를들어, " 이동한 후 도착 " 이벤트가 발생하면, 이동 -> 도착 으로 상태가 전이된다. 전이(Transition) 상태간의 전이를 나타내며, 특정 이벤트..