이 포스팅은 발표한 것을 기반으로 해서 다시 포스팅한 것 입니다.
유한상태기계란?

이런 형태를 가진 오토마타로 일정 조건을 만족하면 전이가 일어나서 상태가 바뀌는 것으로,
상태 흐름도 같은 개념이다.

유한상태기계는 크게 세가지 상태, 전이조건, 전이가 필요하다.

이와 같이 조건에 따라서 표로 나타낼 수도 있다.

실제로 1111의 조건을 찾아내는 유한상태기계를 나타낸 것
게임에서의 유한상태기계
유한상태기계는 주로 인공지능 분야에서 사용된다.

실제로 최근 구현한 게임의 인공지능을 유한 상태기계로 표현한 것이다.
그렇다면 게임기획자의 친구 마리오를 예제로 들어서 설명하자면
유한상태기계란?
이런 형태를 가진 오토마타로 일정 조건을 만족하면 전이가 일어나서 상태가 바뀌는 것으로,
상태 흐름도 같은 개념이다.
유한상태기계는 크게 세가지 상태, 전이조건, 전이가 필요하다.
이와 같이 조건에 따라서 표로 나타낼 수도 있다.
실제로 1111의 조건을 찾아내는 유한상태기계를 나타낸 것
게임에서의 유한상태기계
유한상태기계는 주로 인공지능 분야에서 사용된다.
실제로 최근 구현한 게임의 인공지능을 유한 상태기계로 표현한 것이다.
그렇다면 게임기획자의 친구 마리오를 예제로 들어서 설명하자면
대략 이러한 구조로 유한상태기계를 만들수 있다.
하지만 디자인에 따라서 좀 더 상태를 적게

이러한 상태로도 제작이 가능하다. 굳이 점프와 점프이동을 다른 상태로 나눌 필요성을 생각하면 적다.

또한 여러개의 상태를 묶어서 표현하는 것도 가능하다. 위는 몬스터에게 캐릭터가 위 또는 옆면을 충돌 시에 죽는 상태가 되는 것을 표현한 것이다.
유한상태기계를 이용한 게임개발의 장점
일단 매우 빠르게 많은 조건을 알 수 있다는 것이다. 그림으로 표현을 하기 때문에 한번에 많은 조건과 상태를 한 눈에 파악할 수 있다는 장점이 있다.
또한 게임 기획 시 필요한 조건을 한눈에 알 수 있다. 게임이 커질 수록 각 시스템간에 연관성을 놓치는 경우가 생기는데 유한상태기계의 경우 그림으로 한눈에 파악할 수 있어서 필요한 연관성을 바로 파악할 수 있다.
그리고 프로그래머에게 들은 이야기로는 굳이 기획자가 유한상태기계를 주지 않더라도 유한상태기계를 만든다고 한다(이는 사람마다 다를수도 있다) 그렇게 때문에 프로그래머의 작업효율을 더 빠르게 만들어 줄 수 있다고 생각한다.
그리고 Q&A시간에 나온 것으로는 흐름도와 유한상태기계와의 차이 부분인데, 가장 큰 것은 객체지향이냐 절차지향이냐의 차이인 것 같다. 게임이 진행되는 흐름이 중요한 반면, 유한 상태기계는 각객체의 상태가 중점이 된다는 것이, 현대의 게임개발은 객체지향인 만큼 알아 두는 것이 좋은 것 같다.
하지만 디자인에 따라서 좀 더 상태를 적게
이러한 상태로도 제작이 가능하다. 굳이 점프와 점프이동을 다른 상태로 나눌 필요성을 생각하면 적다.
또한 여러개의 상태를 묶어서 표현하는 것도 가능하다. 위는 몬스터에게 캐릭터가 위 또는 옆면을 충돌 시에 죽는 상태가 되는 것을 표현한 것이다.
유한상태기계를 이용한 게임개발의 장점
일단 매우 빠르게 많은 조건을 알 수 있다는 것이다. 그림으로 표현을 하기 때문에 한번에 많은 조건과 상태를 한 눈에 파악할 수 있다는 장점이 있다.
또한 게임 기획 시 필요한 조건을 한눈에 알 수 있다. 게임이 커질 수록 각 시스템간에 연관성을 놓치는 경우가 생기는데 유한상태기계의 경우 그림으로 한눈에 파악할 수 있어서 필요한 연관성을 바로 파악할 수 있다.
그리고 프로그래머에게 들은 이야기로는 굳이 기획자가 유한상태기계를 주지 않더라도 유한상태기계를 만든다고 한다(이는 사람마다 다를수도 있다) 그렇게 때문에 프로그래머의 작업효율을 더 빠르게 만들어 줄 수 있다고 생각한다.
그리고 Q&A시간에 나온 것으로는 흐름도와 유한상태기계와의 차이 부분인데, 가장 큰 것은 객체지향이냐 절차지향이냐의 차이인 것 같다. 게임이 진행되는 흐름이 중요한 반면, 유한 상태기계는 각객체의 상태가 중점이 된다는 것이, 현대의 게임개발은 객체지향인 만큼 알아 두는 것이 좋은 것 같다.
'게임기획' 카테고리의 다른 글
인디게임 세미나 1회 참가 (0) | 2011.10.30 |
---|---|
[FSG] 정보사이트 공유편 (0) | 2011.10.26 |
[FSG]기획자여 마케팅을 알라 (0) | 2011.10.11 |
게임개발자여! 자긍심을 가져라! (0) | 2011.10.01 |
인디게임 마케팅 강연을 듣고 왔습니다. (1) | 2011.09.29 |