디자인 패턴
FSM이 우리를 구원하리라
2017. 9. 17.게임 프로그래밍을 공부했다면, 혹은 CS를 2학년까지 수료했거나 이산수학같은 과목을 들었다면 FSM이라는 친구를 한번 쯤은 들어봤을 것이다. FSM은 무신교가 종교를 강요하고 다니는 사람을 비꼬기 위해 만든 날아다니는 스파게티 괴물(Flying Spaghetti Monster)라는 친구도 있지만 CS에서, 수학에서는 유한 상태 기계(Finite State Machine)이라는 친구이다. 앞으로 주변에있는 Sample 크기 이상의 게임을 만들때는 FSM이라는 개념을 알아두면 게임을 구성하고 진행하는데 많은 도움이 될 것이고, 이미 어느정도 만들어져있는 프로젝트에 참여하게된다면 이미 FSM을 적극적으로 활용하고 있는 경우가 많을 것이다. 때문에라도 FSM을 배우고 이것을 게임엔진에서 어떻게 구현할수있는 지를..
옵저버 패턴 [Observer Pattern] : 정보는 뿌릴태니 알아서 들으렴!
2017. 5. 29.오랜만에 다시 디자인 패턴을 포스팅하는 것 같다. 마찬가지로 C++가 아닌 C#이나 Javascript, Python을 이용하여 프로그래밍하다가 C++을 하려니 간단한 예제인데도 포인터로 실수 좀 했다 ㅎㅎ... 이번 패턴은 옵저버 패턴이다. 직역하면 관찰자, 감시자 정도일 것 같은데 이름만 들어서는 감시하는 객체가 빡시게 일할 것 같지만 사실 감시당하는 객체 쪽에서 열심히 일해주어야 한다. (처음 배울 때 관찰당하는 객체와 하는 객체의 역할이 헷갈려서 고생 좀 했었지...) 기본적인 메커니즘은 '관찰하고 싶은 객체'가 '관찰당하고 싶은 객체'에게 "나 널 관찰하고 싶어!"라고 알려주면, '관찰 당하고 싶은 객체'가 기억해 두었다가 특정 사건이나 변화가 일어날 때 '관찰하고 싶은 객체'에게 찾아가 알려주..