자연계에서 무리 짓기(flocking)는 많은 생명체가 안전과 힘을 위해 집단으로 수행하는 행동입니다. 이러한 행동은 게임 개발 분야에도 적용되어 새, 군중, NPC의 보다 사실적이고 재미있는 그룹 행동을 만드는 데 사용될 수 있습니다.
집단 행동 AI 구현 알고리즘
군집 행동을 시뮬레이션하는 가장 잘 알려진 집단 행동 AI 알고리즘 중 하나는 1987년에 제안된 크레이그 레이놀즈(Craig Reynolds)의 군집 알고리즘(flocking algorithm)입니다. 이 알고리즘은 각 유닛에 분리(separation), 정렬(alignment), 응집(cohesion)이라는 세 가지 간단한 규칙을 사용합니다. 이 규칙을 사용하면 현실적이고 복잡한 군집 행동을 게임 개발에 적용할 수 있습니다.
분리, 정렬, 응집
분리 규칙은 유닛이 서로 너무 가까워지는 것을 방지하는 데 사용됩니다. 각 유닛은 이웃 유닛과 일정한 거리를 유지하고 서로 충돌하지 않도록 노력합니다.
정렬 규칙은 유닛이 같은 방향으로 움직이도록 하는 데 사용됩니다. 각 유닛은 이웃 유닛의 평균 방향과 일치하도록 방향을 조정해 유닛들이 같은 방향으로 움직일 수 있도록 합니다.
응집력 규칙은 유닛을 한데 모으는 데 사용됩니다. 각 유닛은 그룹의 중앙을 향해 이동하려고 시도하므로 무리를 하나로 유지하는 데 효과적입니다.
집단 행동 AI의 쓰임새
이 세 가지 간단한 규칙을 사용하여 소규모 새 그룹부터 대규모 군중까지 다양한 군집 행동을 만들 수 있습니다. 즉, 플레이어가 상대해야 할 더 까다롭고 재미난 상대를 만들 수 있는 것입니다.
대규모 적의 행동을 시뮬레이션함으로써 게임 개발자는 더욱 역동적이고 도전적인 게임플레이 시나리오를 만들 수 있으며, 플레이어는 상대를 이기기 위해 다양한 전술을 사용해야 합니다.
더 공부할 자료 - 개발 능력 다양화를 위한 학습의 필요성
유니티 엔진의 대안으로서, 인디 개발자들에게 선풍적인 인기를 끌고 있는 엔진이 바로 고도 엔진입니다. 혹시 고도 엔진을 배워 보려고 하신다면, 다음의 온라인 강의를 체크해 보시기 바랍니다.