에티버스러닝에서 K- Digital 트레이닝으로 수업을 들은지 만 4개월이 다 되어간다. 최근 팀프로젝트로 언리얼엔진을 사용해서 좀비 때려잡고 탈출하는 멀티게임을 만들고 있다. 이 과정을 통해서 무얼 했고, 또 무얼 배웠고, 또 어떤 걸 느꼈는지 정리하고자 한다.
팀 프로젝트 스케줄🗓️
- 공식 스케줄은 5월 15일 ~ 6월 16일
- 주 2회는 수업
- 나머지는 9 to 6 로 하루 종일 팀프로젝트
그런데 조는 2주 일찍 4월 20일에 짜서 조원끼리 시작 전 어떤 스타일의 게임을 만들지 어떤 공부를 해야할지 정하며 2주동안 시간을 보냈다. 원래 오늘까진 1차로 영상으로 정리를 해야했다. 대부분의 조가 합치는 작업 중에 있다.
팀프로젝트에서 내가 맡은 역할👩💻
- AI로 좀비 구현하기
일반 좀비, 보스 좀비, 패트롤 좀비 세 종류를 만들었다.
시작 전 AI에 대해서 얼마나 알고 있었냐면!📝
수업 때는 리슨서버를 이용해서 멀티로 슈팅게임(블루프린트)을 만들어보았고, AI에 대해는 비헤이비어트리가 있다. 블랙보드가 있다 같이 개념정도로 간단하게 배우고 지나갔다. 그래서 AI를 맡게 됐을 때 나는 유뷰트를 엄청 찾아보고, 인강을 왕왕 샀다.. 다 보진 않았다.
시간 순서대로의 내 발자취와 느낀 점
일단 처음 조장이 공부할 시간을 충분히 주었는데, 그럼에도 뒤쳐지는 것 같아 꽤 많이 불안했다. 왜냐? 다른 조는 조가 짜여지고부터 거의 바로 작업을 시작했기 때문에 나도 당장 뭔가 움직이고 만들어야 할 것 같았다. 그래서 급하게 유튜브를 따라 만들었다. 제일 어려웠던 건 따라 만들어도 오류가 난다는 점! 💀이해가 더디니 왜 오류가 나는지 디버깅 하는데 하루 종일 걸림. 일주일동안 유튜브 서칭 매일하면서 계속 따라 만들어보았다.
따라 만들면서 아주 간단하게 개념을 익히면 그 다음은 무얼하지 싶어 이득우강의를 사서 C++로 또 엄청 따라 만들어보았다. 강의를 보면서 AIController로 비헤이비어트리, 블랙보드를 왜 쓰고 어떻게 쓰는지 익혔다. 물론.......인강에 있는 걸 가져다 쓰진 못했고, 이걸 2주간 했다. 그런데 다른 조는 깃허브로 합쳐서 작업하고 있었다. 이 때 각 조에서 AI를 맡은 친구들이랑 엄청 얘기를 많이 나눴다. 어떤식으로 구현하고 있는지 어떻게 할건지! 너무 초조해서 거의 이주 동안 눈물이 계속 났다. 조장이 공부해서 이해해야 만들 수 있다며 묵묵히 응원하고 기다려줬다.
로직을 짜기 전 어떤 감각(AIPerception)으로 어떤 조건으로 동작하게 만들지 생각해야했는데, 조장이 간단한 요구사항을 줬다. 예를 들어 머리가 없는 좀비는 촉각만 반응해서 어느 정도 쫓아가고 이외 복도 패트롤하게 만들자란 식으로! 이게 정말 큰 도움이 됐다. 이후 각각의 좀비의 기능을 구현하려고 필요한 내용을 구현할 수 있도록 언리얼문서와 유튜브를 또 엄청 찾아봤다. 그래도 이해가 안돼서, 쌤한테 요청했는데, 쌤이 AI 수업을 반나절 해주셨다. 사실 내 기본베이스는 쌤이 알려주신 형식에 좀 더 추가해서 짰다. AIState 이넘으로 Wait, Chase, Patrol, Throw, Battle를 만들어서 트리를 상태에 따라 돌아가게 구현했다. 거의 한달간 공부만 한 것 같다. 틈틈이 개발자친구의 AI속성 과외도 받았다. 원하는 애니메이션을 다운받아서 공격 애니메이션으로 적용하는 것 부터 진짜 맨땅에 해딩이라서 진짜 계속 검색하고, 계속 물어보면서 보낸 한달이었다. 가장 크게 느낀 건 혼자 끙끙 고민하는 시간도 중요한데 같이 얘기하고 물어보는 시간도 중요하단 거다. 질문하면서 머릿속이 정리될 때가 있는데 그게 참 컸다. 카오스같은 머리속을 얘기하고 질문하면서 은연 중에 조금씩 조금씩 정리가 해갔다.
이제 마무리 전 내가 할 일은 멀티로 게임 시 제대로 동작되게 수정하는 것!...😂🔥 무섭당..
'감자의 Histroy' 카테고리의 다른 글
프로그래밍 공부 히스토리 (6) | 2023.02.27 |
---|---|
호텔 출신 비전공자의 게임 프로그래밍 도전 계기 (2) | 2023.02.27 |