[개발기①] AI와 미소녀 동양풍 사이버펑크 로그라이크 덱빌딩 개발 도전!

기획기사 | 윤서호 기자 | 댓글: 2개 |
AI와 같이 창작한다. 불과 2년 전만 해도 상상만 하거나 혹은 시기상조라고 했을 겁니다. 갑자기 쌩뚱맞은 답변을 내뱉거나, 어딘가 뒤틀린 이미지를 만들어주기 일쑤였으니까요. 그렇지만 이제는 AI 딥페이크를 비롯해 AI만으로 전 세계에 먹히는 밈까지 만드는 시기가 됐죠. 심지어 게임 개발사 및 엔진 개발사들도 AI를 R&D하면서 생산성을 높이는 데 활용할 방법을 찾아가고 있습니다.

그러다 불현듯 떠오른 생각이 하나 있습니다. AI와 함께 사이버펑크 스타일 게임을 만들면 어떨까? 하는 것이죠. 인간과 고도로 발전한 AI의 조합, 그것이야말로 사이버펑크 그 자체가 아닐까요? "정말 미친 생각이다 ㅋㅋㅋ 당장 해야지" 그렇게 해서 이 프로젝트를 멋대로 상담도 없이 질러버렸습니다. 이 기사 이후에 지면 어디선가 당근을 흔들고 있다면 기억해주세요.



▲ AI와 합작하는 게임 개발, 어찌 보면 그 자체가 사이버펑크일지도?


미소녀 동양풍 사이버펑크 로그라이크 덱빌딩, '파 이스트 펑크'



사실 동양풍 사이버펑크라는 장르는 한 번 만들고 싶은 장르였습니다. 특히 '산나비'와 '나인 솔즈'를 한 뒤, 액션과 스토리는 물론 각각의 고유한 스타일이 아직도 여운에 남았습니다. 그래서 그나마 할 줄 알던 횡스크롤 플랫포머 액션은 과감하게 제외했습니다. 제가 개발 지식이 있다고 해도 저 둘의 뒤를 따라가다간 스스로 리얼리티 쇼크에 걸려버릴 테니까요.

설정 자체는 그리 어렵지 않게 나왔습니다. 이미 사이버펑크하면 메가 코퍼레이션 혹은 무언가 거대한 세력의 압제, 그리고 이에 저항하는 부랑자 혹은 아웃사이더라는 포맷이 있으니까요. 그 포맷에 동양풍을 이리저리 섞어보자 해서 A4 용지 두 장 정도 분량의 기획서를 대강 작성했습니다. 마스터 클랜이라는 메가 코퍼레이션이 장악하고 있는 파 이스트 카운티, 마스터 클랜의 음모를 저지하고자 마스터 타워 최상단의 '마스터 뱅크'까지 오르는 세 명의 캐릭터. 사이버펑크 2077이 떠올랐다면 맞습니다. 최근 9070XT로 컴을 새로 맞춘 기념으로 2회차 달렸거든요. 물론 여기서 아담 스매셔는 안 나오지만, 어쨌든 그런 괴물급 누군가를 잡긴 해야 할 겁니다.






▲ 최근 산나비, 그리고 사이버펑크 2077 2회차 달리면서 사이버펑크에 꽂혀서 로그라이크 덱빌딩을 시작합니다(?)

이왕 말 나온 김에 그냥 과감히 다 말하자면, 사이버펑크 2077을 처음 시작할 때 부랑아/기업/노마드 셋 중 하나로 시작하게 되죠. 그에 대입할 동양풍 직업을 고르고 고르다가 닌자/다모/도사 이렇게 셋으로 찍었습니다. '다모'에서 눈치챘을지 모르지만, 셋 다 미소녀 캐릭터들입니다. 덕후로서 미소녀가 없으면 창작욕구가 나질 않거든요. 싸우는 미소녀의 로망, 그 모티베이션이 얼마나 큰지는 독자 제형은 눈치챘을 겁니다. 고사기에도 그렇게 나와있습니다.

그냥 밑천 다 까자면, '닌자'는 바로 '닌자 슬레이어'에서 따왔습니다. 사이버펑크와 말법칼립스, 그리고 그 특유의 그윽한 아트모스피어, 아득히 좋습니다. 거기다 여고생 닌자 야모토 코키=상까지 있으니 고우랑가! '도사'는 나인 솔즈하다가 보니 사이버펑크 느낌에 잘 어울릴 거라 생각해서 일단 바로 채택. 나머지는 '조선풍'이면서 미소녀가 나와도 괜찮은 직업이 뭘까 싶어 기억을 되살리다 보니 '다모'가 나왔습니다. 연식 다 까발리는 것 같은데 그 드라마 생각하고 계시면 맞습니다. 그렇게 정하고 나서는 비밀 감찰 조직 '조선원(Chosen One)'의 요원, 이런 식으로 되도 않는 드립까지 치면서 얼쑤 좋다, 이렇게 생각했는데 돌이켜보니 라떼는 말이야급 흑역사행이군요. 잊어주세요.



▲ 닌자는 어찌저찌 초안 그려서 채색 맡겨봤는데 왜 눈을 감고 있는 건지 ㅂㄷㅂㄷㅂㄷ



▲ '다모'는 드라마와 좀 다른 이미지를 하고 싶어서 챗GPT를 굴리고 있는데, 얘도 뭔가 드라마 참고하는 느낌이?



▲ 도사는 기계주수리 같은 느낌으로 짰는데....느낌이 생각보다 괜찮아서 이 안을 가공해봐야겠군요

그래서 뭘 만들 거냐 고민고민하다, 'AI와 함께 기획을 하면 이것도 가능하지 않을까?' 싶어서 로그라이크 덱 빌딩이라는 소재를 잡았습니다. 사이버펑크를 소재로 한 로그라이크 덱빌딩은 거의 없어서 눈길을 끌기도 좋지 않을까, 싶었고요. 그러다 '인투 더 그리드'라는 작품을 보고 좌절하긴 했지만, 해보니 저와는 방향이 달라 안심했습니다. '인투 더 그리드'는 해커들이 정보의 바다를 탐사하며 자신들의 이야기를 풀어나가는 과정을 로그라이크 덱빌딩으로 푼 게임입니다. 다소 복잡하긴 해도 사이버펑크 스타일을 절묘하게 녹여내면서 자신만의 특색을 뚜렷히 갖춘 게임이죠. 사이버펑크를 좋아하거나, 로그라이크 덱빌딩을 좋아하는 사람이라면 한 번 해보길 추천합니다. 2025년 하반기 출시 예정이고, 현재 스팀에 데모 버전이 나와있습니다.



▲ 우연히 알게 된 사이버펑크 로그라이크 덱빌딩 신작 '인투 더 그리드', 나름 참고가 된 게임입니다


챗GPT4o과 작업 개시 - 고삐부터 쥐어야 뭔가 나온다
보통은 프로젝트 XX, 이런 식으로 개발하는 게 국룰(?)이지만, 게임 타이틀 제목도 별 생각 없이 바로 나왔습니다. '파 이스트 펑크'. 좋은 제목 없나 하고 이런저런 노래를 듣다가 파 이스트 무브먼트의 'Like a G6', 'Live My Life'를 듣던 중 파 이스트+펑크, 이런 식으로 짜버린 거지만요. 그런 식으로 대충 얼기설기 짠 설정집을 챗GPT에게 던진 뒤, 본격적으로 기획 작업이 시작됐습니다. 보자마자 한 10초 만에 일목요연하게 게임 시스템에 대한 초기 구상을 바로 정리하는 걸 넘어, 부족한 부분에 대해 개선 제안까지 줄 정도였죠.

초안은 닌자, 다모, 도사. 동양풍 키워드로 차별화를 꾀하는 것에 급급한 나머지 사이버펑크 요소가 굉장히 약했습니다. 보통 게이머라면 쉽게 눈치챌 부분이지만, 사이버펑크 키워드를 주자마자 바로 그 부분을 캐치해서 개선안을 생각한다는 게 놀라웠죠. 그런데 그 개선안을 주는 건 좋은데, 자신이 준 개선안과 제가 준 설정집 그리고 기획 방향까지 혼동해서 쓰는 문제가 발생했습니다. 소위 말하는 '환각'인 셈이죠.



▲ 빌드 설계할 때 퍄퍄법사 참고하려고 했더니 ㄷㄷ 이런 터무니 없는 소리도 태연히 하니 주의

이를 막기 위한 조치는 크게 네 가지였습니다. 우선은 모호하다 싶으면 먼저 네/아니오로 답하게 한 뒤, 그 다음에 자세하게 설명하도록 조치하는 것이었죠. AI들은 보통 질문을 받을 때 뭐가 됐든 그에 부응하고 질문에 답을 하고자 이것저것 다 끌어오는데, 명료하게 네 아니오부터 답하고 나면 딱 그 조건에 맞춰서 정확하게 답변을 하더군요.

실제로 이미지 생성에서 통일감을 주기 위해 제 그림체를 학습시키기 전에 선화에 채색만 하는 게 가능한지 테스트했는데, 처음에는 '가능하다'고 했습니다. 그런데 그게 제대로 되지 않아 네, 아니오로 먼저 답하게 하니까 그제서야 '아니오'라고 하고 챗GPT의 이미지 생성 메커니즘을 제대로 설명하더군요.



▲ 분명 선화를 주고 채색만 맡아서 진행이 가능하다고 해서



▲ 옛날에 친구가 그려준 그림도 테스트해봤더니 입만 열면 거짓이 술술 나오는구나



▲ 네, 아니오로 먼저 답하게 하니까 그제서야 이실직고라니, 처음부터 이랬으면 내가 지글(?)을 안 썼을 것을

그 다음에는 '파 이스트 펑크'의 개발 철학을 계속 주입시켰습니다. '파 이스트 펑크'의 기본 철학은 '모든 능력에는 그만큼의 페널티와 리스크가 따른다'였고, 그걸 이해시키기 위해서 제가 옛날에 썼던 작품을 비롯해 그간 나눴던 대화 전부, 그리고 각종 레퍼런스 게임에 대한 참고 자료를 계속 복기시키고 쑤셔넣었습니다. '다키스트 던전' 등 하드코어 로그라이크 게임도 그 중 하나로 들어갔죠.

세 번째로는 챗GPT가 주는 제안은 어디까지나 '제안'이고, 수정 반영안이나 최종 결정안은 저 스스로가 만들어서 제시한다는 것이었죠. 종종 용어와 안을 지시해줘도 가끔 참고 자료에서 이상하게 긁어오면서 멋대로 제안과 수정안을 주던데, 그 방침을 명확히 하니까 조금은 그런 일이 줄어들었습니다. 마지막은 제안이 방향에 어긋나면 바로 작업을 중단, 해당 데이터를 참고하지 말고 제가 방향을 다시 설정할 때까지 해당 분야는 보류 및 대기하도록 꾸준히 지시했습니다. 그럼에도 UI 도식화나 알고리즘 도식화 분야에서는 계속 문제가 발생해서 결국 이 부분은 폐기 지시를 했는데, 이 부분은 아마 직접 만든 도식 양식으로 계속 학습시키다 보면 나중엔 되지 않을까 싶습니다.



▲ UI를 어떻게 해야 좋을지 도저히 생각이 안 나서 실물로 이리저리 굴려보며 짜는데



▲ 그 데이터 대강 넣어봤다가 계속 이상하게 반영하길래 그 메모리를 지우느라 애먹었습니다



▲ 잘못된 지침이 장기 저장되는 걸 막으려면 설정 - 개인 맞춤 설정 - 메모리에 가서 확실히 제거를

일단 이번 챗GPT와 함께 하는 기획의 중간 목표는, 텍스트 어드벤처처럼 시뮬레이션을 해서 최종 단계까지 무사히 게임이 진행될 정도로 코어 시스템을 완성하는 것입니다. 그래서 전투 시나리오와 기본 룰부터 챗GPT와 함께 상의하면서 구축했습니다. 그 평가를 객관적으로 하기 위해서는 기준점이 필요한데, 이 부분은 '슬레이 더 스파이어', '다키스트 던전', '하스스톤' 이 세 가지의 게임을 처음부터 기준점으로 삼았습니다. 로그라이크 덱빌딩이라는 장르를 대중화시킨 게임, 전중후열의 포지셔닝에 하드코어 로그라이크 게임의 대명사, 제가 제일 많이 해서 익숙한 TCG라는 점에서 이 셋을 꼽았죠.

'파 이스트 펑크'의 필드는 '다키스트 던전'처럼 4열로 구성되어 있습니다. 다키스트 던전처럼 일반 공격과 스킬의 공격 가능 열을 엄격하게 설정하지 않았지만, 고전 코미디처럼 앞 사람 혹은 뒷 사람에게 부딪혀서 기절하는 그런 연출을 해보고 싶었거든요. 그런 의도는 아직 전달하지 않았지만, '로그라이크 덱 빌딩'에 다키스트 던전 같은 그런 엄격한 사거리 구도를 적용한 케이스가 없어서 챗GPT도 이 부분은 대강 알고 넘어갔습니다.



▲ 결국 UI는 아무리 정보를 줘도 만족스럽게 안 나오길래 PPT로 대략적인 구도를 주고 학습시키는 중입니다

그것보다는 가장 기본적인 전투가 설정에 맞춰서 잘 연계될 수 있을까 '시뮬레이션'부터 해봤습니다. 로그라이크 덱빌딩이나 TCG 모두 손패가 꼬일 때가 있는데, 그때 아이템 외에도 '필살기' 같은 걸로 재정비를 할 수 있으면 어떨까? 이런 생각을 종종 해봤죠. 그 필살기에 각 직업의 특색을 살리는 요소도 넣으면 개성도 살지 않을까, 그런 희망회로를 돌리면서 각각 세 개씩 짰습니다.

그리고는 가장 먼저 설정이 갖춰진 '닌자'부터 테스트하고 완성을, '다모'와 '도사'는 그 다음에 작업하기로 결정했습니다. 둘 다 직업 개성을 살리려고 고민하다 보니 너무 복잡해졌거든요. 특히 '다모'는 어쩌다 보니 포졸, 특공대원 이미지가 겹쳐져서 더 난제였습니다. 포승줄로 적을 나포하거나 도리깨와 진압방패로 뚝배기를 깨는 장면이 자꾸 생각나는데, 로그라이크 덱빌딩으로 대체 어떻게 표현할까 감이 잡히지 않아서 고민 중입니다.









▲ 적이나 카드 세부 내용도 없는 개요만으로 PPT가 30장 돌파라니 이것은 스스로 불러온 재앙에 짓눌려~


시뮬레이션 돌리다 메모리 소진, 초기화 후 재학습만이 답이다


▲ 계속 대화를 이어가다 보니 총량을 넘어설 줄이야

우선은 '닌자'는 턴 내에 코스트를 누적 소모해서 특정 카드를 최대 3단계까지 강화하는 특수능력을 설정했습니다. 한 번 강화할 때마다 인이 맺히죠. 임병투자개진열재전 게이지를 다 채우고 10번째로 게이지가 활성화되면 게이지를 소모, 필살기를 발동할 수 있는 식입니다. 그 페널티로 3턴 동안 인으로 강화하는 게 불가능해지죠.

이런 조건에 몇몇 카드 정보를 넣어서 닌자의 HP를 30, ATK를 2로 설정한 뒤 드론 4기와 붙는 시뮬레이션을 시켰는데, 허점이 생각보다 많았습니다. 우선 처음에 인법 강화 룰을 자기 멋대로 적용해서 코스트 계산이 엉켰죠. 하나의 카드만 누적 강화를 하는 방식인데, 다른 카드에 강화를 해도 누적 강화가 되어서 파워인플레가 발생해버렸거든요. 아울러 피해량과 범위도 잘못 계산했습니다. 그래서 첫 턴에 죽을 리가 없는 드론을 갑자기 사살처리하기도 하고, 대상을 중심으로 전후 1칸에 피해를 주는 광역 스킬도 단일 스킬로 처리해서 계산이 꼬였죠.



▲ 얼핏 보면 잘한 거 같지만, 잘 찾아보면 허점투성이라 일일이 갈구....교정하면서 학습시켜야 합니다

나중에 알게 된 사실이지만, 챗GPT는 대답하기 전에 '저장된 메모리 업데이트됨' 메시지가 뜨지 않으면 장기 메모리에 저장해두질 않습니다. 장기 메모리에 저장된 것은 꾸준히 그대로 참고해서 일관적으로 대답을 해주지만, 그렇지 않은 경우에는 브라우저를 닫고 대화를 다시 시작할 때 일부 대화 내용이 휘발되어서 엉뚱한 대답을 할 여지가 있습니다.

그걸 당시엔 몰랐기 때문에 하나하나 제가 시뮬레이션을 읽고 하나하나 잘못된 점을 지적, 고쳐나갔습니다. 카드 수량을 제안할 때도 10~12의 물결표를 갑자기 지우고 1012로 하는 등, 정말 의외의 지점에서 에러가 나기 때문에 이를 자동으로 교정하게끔 메모리를 업데이트하는 것도 일이었죠.



▲ 아직 안 된 작업을 물어볼 때마다 할 일이 뭔가 자꾸 산더미처럼 늘어나는 느낌적인 느낌이

그 외에도 스토리에 대한 일관적인 피드백을 위해 다른 작품으로 미리 테스트를 해봤는데, 처음엔 잘 하다가 어느 순간부터 정보 오염이 발생해서 전부 다 폐기했습니다. 잘 나가다가 인용한 작품의 인물까지도 멋대로 뒤섞어버리고, 예시로 든 캐릭터 대사도 자기 멋대로 써버리는 경우가 있어서 현 단계에서는 뼈를 깎는 학습이 뒷받침되지 않는 한 써먹기가 어려워 보였거든요. 그나마 챗GPT4.5는 문맥은 잘 읽는 편인데, 코드 설계가 뒷받침되는 게임 기획쪽에서는 o4보다 퍼포먼스가 좀 떨어지는 문제가 있어서 이 둘을 병용하는 방안을 궁리 중입니다.

시뮬레이션을 돌리면서 계속 부족한 부분을 수정하고 업데이트하다 보니 '저장된 메모리 가득 참'이라는, 전혀 보지도 못했던 메시지를 볼 수 있었습니다. 제 계정에 할당된 장기 저장 메모리를 다 써서 더 이상 장기 메모리로 저장할 수 없다는 것이죠. 그냥 종종 외국어 번역이나 자료 정리를 가끔하던 때와 달리, 계속된 피드백으로 장기 메모리를 혹사(?)시키다 보니 챗GPT도 한계가 온 셈입니다. 물론 과금을 좀 더 하면 늘어날 수도 있겠지만, 월 20달러에서 그 10배가 되는 200달러로 훌쩍 뛰어 오르니 쉽사리 손을 대긴 어렵습니다. 그래서 예전에 외국 자료들 번역할 때 남아있는 데이터들을 싹 다 정리하는 중입니다.



▲ 아니 아직 갈 길이 먼데 벌써 메모리가 꽉 차면 어쩌란 말이오

더군다나 챗GPT와 계속 대화하다 보니 설정도 초기안과 좀 달라져서 그 부분까지도 다시 반영하고 있는 중입니다. 사이버펑크 요소를 더하기 위한 해킹과 이를 지원하는 오퍼레이터, 퀘스트 시스템 등등. 어째 가면 갈수록 양이 많아지고 있어서 주기적으로 챗GPT한테 작업량 최적화 방안도 물어보고 있는데, 그에 맞춰서 유니티6로 구현할 코드는 과연 다 짤 수 있을까 의문이긴 합니다. 하지만 발전을 거듭해 이제는 마비노기 모바일 최적화 코드도 만들어주는 현재 상황을 보면, 아예 불가능한 일은 아닐 것 같습니다.

물론 애니메이션이나 연출은 별도의 영역이라 기껏해야 카드쪼가리로 투닥거리는 프로토타입까지만 가능할 텐데, 그렇게 미미하기 짝이 없어도 어쨌거나 실제로 구동할 수 있는 '게임'으로 선보일 그날까지 챗GPT 그리고 다른 AI와 쭉 작업을 이어가고자 합니다. 진정한 '사이버펑크', 그 로망을 이룰 그날까지 말이죠.

댓글

새로고침
새로고침

기사 목록

1 2 3 4 5
AD