잡소리
날씨가 점점 쌀쌀해지고 있다. 우리 디자이너가 몸에 열이 많아서 에어컨을 자주 트는데 너무 추워서 힘들다..
개발일지 #3 스토커(적 AI) 만들기
게임에서 필수요소 중 하나가 적 아닐까? 이 적이 어떻게 생겼는지, 어떻게 행동하는지, 얼마나 강한지 등에 따라서 게임의 난이도, 재미가 달라진다.
이렇게 중요한 적의 생명은 AI라고 생각한다. 상상해보자, 한 스릴러 게임에서 적들이 나를 마구 쫓아오고 있는 장면을 말이다. 도망쳐서 그 자리를 벗어나야 하는 긴박한 상황에 적들이 벽에 끼여서 허둥대고 벽 너머에 있는 나를 못 찾아오고 벽을 향해서 하염없이 걷고 있는 모습을 본다면 몰입이 깨지고 재미가 떨어질 것이다. 이런 상황을 만들지 않게 하기 위해, 적들에게 생명을 주기 위해 필요한 것이 AI이다.
일단 적 AI의 중요성을 알았지만 이렇게 길을 찾아오는 AI를 어떻게 구현할 수 있을까? 막막해 하며 검색을 해보니 이미 unity에서 구현이 다 되어 있었다. 네비게이션 매시라는 것을 사용하면 다 해결되는 부분이었다!!!
특히 우리 게임은 적이 나를 잘 찾아오기만 하면 되기 때문에 크게 건드릴 부분도 없다!
https://docs.unity3d.com/kr/2017.4/Manual/Navigation.html
어떻게 구현을 하느냐?? 나도 정확하게 이해하고 구현한 부분이 아니기 때문에 위 Doc을 보는 것이 정확할 것이다 ㅎㅎ 혹시라도 궁금한 점이 있다면 댓글을 남겨주면 최대한 열심히 답변하겠다.
참고로 나는 2d 탑뷰를 구현하는 데에 https://github.com/h8man/NavMeshPlus
이 패키지를 사용했다. 들어가서 README(설명)만 보더라도 느낌 딱 올거다. 사실 나는 딱 오지는 않았다.
그래서 나는 우리 적에게 어떤 기능을 넣어주었느냐? 별건없고 그냥 랜덤 한 위치로 갔다가~ 쉬었다가~ 갔다가~ 쉬었다가~ 하다가 주변에 플레이어가 있으면 플레이어를 열심히 따라가는 기능을 넣었다. 별건 없고 그냥 쫓아온다!
여기서 적이 나를 발견하면 공격 모션을 취하는데 우리 디자이너를 갈아 만들었기 때문에 조금 어필하고 싶다 ㅎㅎ
아 참 하수구에서 생성되는 부분도 디자이너를 갈아 만들었다!! ㅎㅎ
여러 가지 문제
적이 나를 발견하면 공격 모드?로 변해서 따라오게 되는데 이 부분의 애니메이션이 부드럽게 동작하지 않아서 많은 고통을 받았다.
또 navMesh를 완벽하게 이해하지 않은 상태로 만드려고 하니 생기는 여러 가지 문제점들도 나에게 고통을 선물했다... 위의 h8man님 께서 만드신 NavMeshPlus가 없었다면 아직 고통받고 있었을지도 모른다 ㅠㅠ 감사합니다! h8man님!!
개발을 하면서 생긴 문제는 많은데 워낙 자잘해서 크게 기억나는 부분은 이 정도다. 2D 탑뷰 게임에서 적 AI를 만들 때는 NavMeshPlus를 적극 추천한다! 최고다👍
마무으리
적이 나를 따라오기만 해도 스릴이 어느 정도 생기더라. 이제 여기에 어떤 요소를 넣어야 더욱 스릴 넘치고 재미있는 게임을 만들 수 있을까? 다음에는 체력과 공복에 대해서 이야기해보도록 하겠다. 개발하는 데에는 시간이 엄청 걸렸는데 블로그 글은 하루, 길겐 이틀에 한 번씩 올리려니 점점 후달린다... 곧 쓸데없는 이야기도 올려야겠다 ㅋㅋㅋ
날씨가 많이 추워졌는데 다들 감기 조심했으면 좋겠다. 끝까지 화이팅 화이팅!!
'웅진씽크빅 게임 개발 챌린지 일기' 카테고리의 다른 글
개발일지 #5 빛이 있으면 그림자도 있는법 (0) | 2022.09.02 |
---|---|
개발일지 #4 밥이 없으면 빵을 먹으면 되지 않느냐아! (0) | 2022.09.01 |
개발일지 #2 적 애니메이션 구현 (0) | 2022.08.27 |
개발일지 #1 적 보는게 그리 어렵더냐아아아!!! (1) | 2022.08.25 |
서울 나들이, 개발일지 #0 (웅진씽크빅 오프라인 밋업) (1) | 2022.08.24 |
댓글