알고리즘은 문제를 해결하는 절차, 로직 보통 이론적 접근을 통한 수학적 모델링-최적화인데


기능 구현은 실제 작동하는 로직, UI,애니메이션,이펙트 요소등이라


오히려 현실적으로 알고리즘만으로 해결하는 요소는 제한적임


API, 플러그인을 주로 쓰게되고



24a5c868f5dc3f8650bbd58b3680776d053388


적도 보통 FSM을 구현하는데 FSM은 기본적으로 이 자체만으로는 알고리즘이 아니니까


적을 움직이게 하기위해 A*, JPA 등을 쓰긴하다만


플레이어 추적->쿼드 트리를 이용한 저장된 씬에서의 검색->플레이어 발견 후 A*, 공중의 적일 경우 JPA 이런식으로 구현하고 있지만


이걸 통괄하는 FSM은 알고리즘이 아님.


제어 구조를 위한 설계패턴의 일종임.


물론 이 안에 이걸 구현하기 위해서


길찾기인 A*,JPA가 있고, 서치를 위한 쿼드 트리가 있지만


이걸 총괄하기 위한 컨테이너인 FSM 구조가 훨씬 더 복잡하고, 오래 걸림.


24a58268f5dc3f8650bbd58b36807069ddf8ed


물론 이러한 상태를 구분 짓기 위해


노드화, 그래프 구조를 쓰는 것은 맞지만


이것을 그리기 위한 구조는 엄연히 말해서 알고리즘은 아니긴함.


엄밀히 말하자면 그것은 일부지 전반적으로는 기능구현에 가깝다 생각함


따라서 일반적으로 설계 패턴이 좀 더 크고 이러한 패턴 구현을 일반적으로 기능 구현을 하지 않음.


FSM은 기본적으로 상태 전환 규칙을 잡아주는 경로탐색,쿼드 트리와 그 시각화를 위한 노드-그래프 구조를 잡아주기위한 컨테이너 역할임


일반적으로 게임 만들때 시간 걸리는건 기능구현과 같은 설계 패턴이 좀 더 오래걸린다 생각함


여튼 뭐 모든 게 알고리즘이라고 생각치는 않긴함.