AI가 시스템을 구축할 수 있다. 재미있게 만드는 것이 어려운 부분이다.
요약
AI 기술을 활용하여 게임 시스템 구축 및 콘텐츠 제작 과정을 혁신하는 방법을 다루고 있습니다. 특히 프롬프트 기반 수정, 에이전트 프로그래밍을 통한 레벨 자동 생성(Dungeon Architects), Eleven Labs를 이용한 음성 녹음 및 현지화 등 다양한 AI 도구의 적용 사례를 보여줍니다.
핵심 포인트
- AI를 활용해 게임 내 시스템이나 콘텐츠를 프롬프트로 수정할 수 있습니다.
- 에이전트 프로그래밍을 통해 런타임에 레벨을 자동으로 구축하는 것이 가능합니다 (Dungeon Architects).
- Eleven Labs와 같은 도구로 음향 효과, 목소리 녹음 및 현지화 대화를 구현했습니다.
- AI를 활용한 게임 개발은 단순 에셋 조합을 넘어선 복합적인 시스템 구축이 핵심입니다.
영상: AI가 시스템을 구축할 수 있다. 재미있게 만드는 것이 어려운 부분이다.
채널: Jason Weimann (GameDev)
길이: 27분 43초
출처: 자막 (수동, 영어)
스크립트:
내가 흐름을 바꾼 것 중 하나는 게임 내에서 프롬프트를 입력할 수 있게 된 것이다. 예를 들어 '우주선 착륙하기가 어렵다'와 같이 마음에 들지 않는 부분이 있다면 '간단하게 만들어 주세요.'라고 할 수 있다. 내가 막혔던 캡슐 같은 경우도 마찬가지였다. 그냥 저장하고 보고(save report)를 누르면, 다음 빌드에서 그 부분이 수정될 것이다. 그래서 착륙이 단순화될 것이다. 우선, 이것이 내가 얻은 것들이다. 그런데 당신은 'Theseus의 배' 게임으로 AI 관련해서 어떤 작업을 해왔나요? 네. 그러니까 아주 오래전에 제가 Theseus의 배 페이지를 만들었습니다. 그리고 그것은 모두 스크린샷과 에셋 스토어에서 가져온 미리 만들어진 에셋 같은 것이었습니다.
에이전트 프로그래밍(agentic programming)이 더 유용해지면서, 저는 여기저기 작은 도구들을 많이 구축하기 시작했습니다. 예를 들어 최근에는 Dungeon Architects를 사용해서 레벨을 런타임에 자동으로 구축하는 멋진 것을 가지고 있습니다. 그래서 에셋 스토어에서 에셋을 가져온 다음, 그 에셋의 일부 조각(chunk)을 스냅샷으로 찍을 수 있습니다. 그리고 이것은 Sonnet 5가 만든 도구입니다. 이 도구가 스냅샷을 찍어서 청크로 변환하고, 그 청크는 던전 생성기에서 재사용할 수 있게 됩니다. 그래서 저는 이런 것들을 많이 해왔습니다.
또한 Eleven Labs를 오디오에 사용하고 있습니다. 그러면 Sonnet이 Eleven Labs에 연락해서 음향 효과와 목소리 녹음(voiceovers)을 만들고, 대화까지 만듭니다. 그리고 저는 그걸로 현지화된 대화도 할 생각입니다. 저는 목소리 녹음에도 똑같이 하고 있습니다. 사실 이 게임의 주인공은 제가 돌아가신 친구의 마지막 영상으로 그가 말하는 것을 가져와 Eleven Labs에 넣었고, 괜찮은 음성을 되찾았습니다. 그의 오디오를 더 찾아야 합니다. 그리고 기본적으로 그가 말한 것처럼 목소리를 입힌 것입니다.
꽤 비슷하게 들립니다. 흥미롭네요. 녹음 자체가 정말 형편없어서 약간 지지직거리는 소리가 날 뿐입니다. 그래서 더 좋은 것을 얻어야 합니다. 그런데 Eleven Labs가 당신에게 정말 잘 작동했나요? 제가 찾은 것 중에서는 최고의 옵션 같았습니다. 네. 그래서 저는 여러 가지 프롬프트 기반 음성들을 가지고 있습니다. 그리고 제 목소리를 클론하는 것도 시도해 봤습니다. 알고 보니, 제가 말할 때는 매우 무표정(deadpan)이라서요. 특히 제가 가진 많은 영상들이 그렇습니다. 감정 표현이 별로 없어요. 당신은요? 그래서, 네, 분명히 저는 비디오 게임 속에서 형편없는 NPC입니다.
하지만 제가 만든 프롬프트 기반 음성들은 정말 꽤 좋았습니다. 예를 들어, 활기차고 약간 미친 듯한 AI 목소리가 있습니다. 그리고 이게 정말 잘 작동합니다. 그런데 제가 저 자신을 캐릭터로 만들려고 시도해 봤습니다. 별로 잘 안 되네요. 그래서 그 접근 방식을 다시 생각해 봐야겠습니다. 이제 당신이 음성을 녹음했다고 하니, 그냥 당신을 여기에 넣고 싶어지네요. 크리스라는 캐릭터를 가지게 하는 거죠. 맞아요. 예를 들어, '안녕하세요, 여러분.' 같은 식으로요. '헤이, 크리스. 당신은 우주 정거장에서 테스트를 진행하고 있을 거예요.'
네, 정확해요. 아, 우주 정거장에 대해 말하자면, 당신은 던전 아키텍트(dungeon architect)에 대해 이야기했죠? 제가 보여주고 싶었던 다른 멋진 것들에 들어가기 전에 질문이 하나 있었습니다. 이 전체 우주 정거장 뷰를 여기에서 보면, 이 모든 것이 기본적으로 런타임(runtime)에 생성됩니다. 그래서 이것은 런타임으로 생성되는 건가요, 아니면 사전 생성된 건가요? 완전히 작동할 수 있는 3D 우주 정거장입니다. 던전 아키텍트로 할 수도 있는 것과 같은 종류의 것이지만, 저는 과거에 직접 하나를 만들었습니다.
그리고 이 경우에 저는 그냥 '이거보다 더 나은 걸 만들 수 있어?'라고 말했을 뿐인데, 실제로 그렇게 했습니다. 제가 가지고 있던 모든 에셋을 사용해서 생성기를 구축했고, 빠져있던 에셋도 추가했으며, 데칼 작업과 다른 멋진 것들까지 모두 처리했습니다. 게다가 완전히 확장 가능하도록 만들었습니다. 그래서 저는 이게 꽤 흥미롭다고 생각했어요. 혹시 당신은 어때요? 던전 아키텍트가 특별히 다른 것을 했나요, 아니면 단순히 다른 종류의 커스텀 던전 생성기를 시도해보지 않은 건가요? 그리고 이런 도구들의 미래가 많은 부분이 더 커스터마이징되는 방향일 거라고 생각하시나요?
저는 지금 맞춤형 소프트웨어(bespoke software) 시대에 있다고 생각해요. 모든 것이 맞춤 제작될 거예요. 음, 네. 솔직히 말해서, 저는 에이전트 프로그래밍(agentic programming)이 등장하기 훨씬 전부터 'Theseus의 배(Ship of Theseus)' 프로젝트를 진행해 왔어요. 22년이나 그 이전에 게임을 시작했죠. 그래서 'Theseus의 배'는 제가 에이전트 기술이 등장하기 훨씬 전에 이미 많은 코드 스캐폴딩(code scaffolding)을 가지고 있었어요. 그래서 만약 제가 다시 한다면, 아마 저렇게 할 거예요. 게다가 'Theseus의 배'는 HDRP 같은 것들을 사용해요. 그래서 현재 모델들이 합리적인 예산 내에서 그런 수준의 디테일을 구현하기는 어려울 거라고 생각해요.
제가 그 안에 고사양 에셋(higher end assets)을 많이 사용하고 있거든요. 결국에는 충분히 쉬워질 거예요. 하지만, 네, 현재로서는 제가 Meshi 같은 곳에서 하는 것처럼 복잡한 메시 생성(mesh generation)은 사용하지 않고 있어요. 여기는 Tripo 캐릭터들인데 약간의 변형이 있습니다. 이 작은 염소 캐릭터와 수염 난 남자, 그리고 작은 안드로이드들이요. 그런데 전반적으로, 도구링 자체에 관해서 말하자면, 예술 분야를 제외하고 더 빠르게 개발하기 위해 자신만의 커스텀 도구를 많이 만들고 계신가요?
네, 물론이죠. 전반적으로는요. 이 친구들이 정말 형편없게 나왔어요. 네. 꽤 괜찮아요. 하지만 이건 친구 장례식장에서 얻은 오래된 폴라로이드 사진으로 만든 거예요. 그래서 폴라로이드 사진을 가지고 꽤 괜찮은 작업을 했네요. 네. 더 좋은 사진들을 찍어야겠어요. 하지만 뭐, 아무튼 질문으로 돌아가서요. 아니요, 아니요, 아니요. 좋아요. 그러니까 저에게는 결정론(determinism)과 같은 것이 더 중요해요. 매번 주사위를 굴려서 결과가 나오는 것이 아니라, 더 일관된 출력을 얻고 모든 것을 갖추는 것에 관한 거예요.
제가 알기로 우리가 이야기하고 있었는데, 이전 녹화본에서 끊겼는지 모르겠지만, 당신은 배경이 주로 엔터프라이즈 소프트웨어(enterprise software)라고 말했잖아요. 그래서 저는 '처음부터 제대로 작동해서 바로 다음 단계로 넘어갈 수 있고 회귀(regressions)가 없다'는 것에 정말 깊이 관여하게 됐어요. 그래서 제가 하는 일은 모든 것이 올바르게 나오고, 갑자기 버그들을 도입하지 않도록 보장하는 주변 도구들(tooling)을 많이 만드는 거예요. 그래야 저희가 빌드 하나에서 다음 빌드로 넘어갈 때 문제가 없으니까요.
그래서 그게 저의 주요 초점이었어요. 당신의 던전 생성기(dungeon generator)는 마음에 들어요. 그리고 이 모델들의 공간 인식 능력(spatial awareness)은 엄청나게 향상돼서, 한 청크에서 또 다른 청크를 절차적으로 생성할 수 있게 됐잖아요. 그래서 제가 '테세우스의 배(Ship of Theseus)'를 시작했을 때부터 정말 많이 발전했어요. 지금처럼 모든 것을 재구축하는 것도 가능할지 몰라요. 하지만 저는 자산들(assets)이 많아요. 코드 자산들은 좋을 수도 있고 아닐 수도 있어요. 하지만 정말 좋은 점은, 제가 그들의 코드를 읽을 필요가 없다는 거예요.
그리고는 항상 '이걸 확장해봐'라고 말할 수 있어요. Yagni(You Ain't Going To Need It) 같은 것들이 떠오르네요. 필요 없을 거라 생각하는 거죠. 그래서 '아, 이건 이미 내 프로젝트에 있어. 그냥 이걸 확장해 봐'라고 할 수 있고, 그러면 토큰 비용을 지불하지 않아도 돼요. 그래서 저는 추가 토큰 비용을 피할 수 있다면 그게 더 좋을 거라고 생각해요. 하지만 무언가 필요하다면, 비교적 저렴하게 추가할 수 있어요. 제 철학은 이렇습니다. 다시 구축할 필요가 없다면, 재구축하지 않는 거예요.
하지만 이것에도 문제가 있습니다. 특히 많은 에셋 시스템을 재구축하거나, 아니면 그 시스템들을 고치거나, 혹은 빈 공간을 채울 추가 에셋 같은 것들에 대해서는 높은 토큰 비용이 발생하는 것을 본 적이 없어요. 예를 들어, 이 작은 행거가 수많은 것 중 하나였는데, 기존에 있던 행거가 있었고 저는 그냥 다른 크기 몇 개를 만들라고 지시했어요. 아까 보셨을 수도 있지만요. 그런데 이게 비교적 저렴하더라고요. 마치 하루 종일 캐릭터 모델 생성을 시켜도 Opus 플랜의 크레딧이 바닥나지 않고, Opus 5.5로 Tripo나 Meshi와 함께 돌려도 괜찮았어요.
그리고 Blender를 사용해서 로컬에서 처리하는 것이 더 좋아요. 정말 빠르게 처리하면서 토큰을 많이 소모하지 않더라고요. 심지어 이 행거 시스템 같은 것들을 추가하는 것도 제가 어젯밤에 생각해 낸 거예요. 그냥 전체 행거를 돌려서 사람들을 고용하고 온갖 멋진 것들을 하고, 우주선을 도색하고 수리할 수 있으면 좋을까 생각했거든요. 그래서 이제 할 수 있어요. 죄송해요, 뭐라고 하셨죠? 아, 네. 제가 방금 물어봤어요. 혹시 이런 작업들에 Opus를 사용하시나요 아니면 Astra를 사용하시나요?
최근에 어느 쪽이든 좋다고 말씀하셨던 걸로 아니까요. 그래서 최근에는 Opus 5.5와 Sol 5.1, 아니면 메인 버전인 6.1이나 제가 주로 사용하고 있는 것들 중에서 항상 Astra를 많이 사용하고 있어요. 상당히 잘 작동했어요. 많은 작업에 대해 여전히 상당히 좋지만, 실제로 크레딧을 소모하는 것은 맞아요. 하지만 무료 리셋도 계속 제공해주더라고요. 그래서 잔뜩 가지고 있는데, 지금까지는 Opus가 게임 개발에는 더 나은 것 같다는 생각이 들어요. 하지만 완전히 확신하지는 못해요. 그래서 사실 지금 두 가지를 나란히 비교 테스트하고 있어요. 둘 다 동일한 디자인 문서(design doc)를 기반으로 정확히 같은 4인 협동 게임을 만들고 있거든요.
지난 24시간 동안 제 시스템을 혹사시키면서 어느 쪽이 더 잘하는지 지켜보고 있는 중이에요. 어느 쪽일지는 완전히 확신할 수 없어요. 아마 Opus가 그럴 것 같긴 한데, 모르겠어요. 그래서 말씀하신 게 모든 걸 Unity로 하시는 건가요? 맞나요? 네, Unity를 사용해야 했어요. 다만 에디터 안에서 하는 건 아니고요. 실제로 에디터를 열지는 않고 빌드만 해요. 네, 커맨드 라인과 MCP 설정 모두 정말 좋아요. 심지어 MCP도 아닌 게 그냥... 네, 그냥 커맨드 라인만요, 네.
Unity 커맨드 라인이 최근에 엄청나게 좋아졌어요. 그리고 Unity 스킬(skills)도요. 최근에 몇 가지 스킬을 출시했어요. 오, 멋지네요, 멋져요. 네. 제가 알기로는, 그러니까 협동 게임을 만들 때 Dots를 사용하라고 지시하는 건가요, 아니면 그냥 게임 오브젝트(game objects)로 빌드하게 하는 건가요? 필요하다고 생각되면 Dots를 사용하라고 했어요. 알겠습니다. 그리고 지금까지는 Dots를 사용할 이유를 찾지 못했어요. 스스로 최적화할 수 있는 모든 것이 있었고, 메모리에서 매 프레임마다 많은 것들이 바뀌는 대규모 시뮬레이션 업데이트를 하는 작업은 제가 하고 있지 않거든요.
지금까지는 Dots가 유용할 만한 상황이 없었습니다. 하지만 필요하다면 넣으시고 필요한 곳에 작업 시스템(job system) 관련 기능을 넣어주세요. 지금은 그런 상황처럼 보이지 않습니다. 보통 저는 그냥 플레이를 하다가 프레임 속도가 떨어지면, 예를 들어 지금 보이시는 것처럼 프레임 속도가 낮은 경우, 제가 패스(pass)를 수행하도록 지시해서 프레임 속도를 100까지 다시 올립니다. 그러면 그것이 작동하면서 프레임 속도를 낮추는 모든 것들을 찾아내고 1초에 100프레임으로 최적화합니다.
저는 우주선(spaceship) 안으로 들어가 보겠습니다. 네. 당신이 작업해 온 게임에 대해 말씀해주세요. 그러니까, 제가 말했듯이, 아주 오래전에 시작한 게임입니다. 로봇을 만든 건 아마 2020년경이었던 것 같습니다. 알겠습니다. 멋지네요. 작은 것을 만들고 싶었는데, 인간이 납치되는 우주 게임 같은 것이었습니다. 거의 그게 전부였습니다. 하지만 너무 복잡해서 끝내지 못했습니다. 아티스트에게 받은 캐릭터를 작동시키고 애니메이션을 만드는 것만으로도요.
이것은 제가 알아내려고 고군분투한 몇 주간의 작업이었고, Yorai와 다른 사람들에게 도움을 청하다가 마침내 어느 정도 작동하게 만들었습니다. 그리고 이 시스템은 제가 나머지 디자인에 대해 이야기하는 동안에도 작동했습니다. 그래서 좋았습니다. 매 작은 시스템마다 일주일을 쓸 필요 없이 머릿속에 있던 것을 구축할 수 있었기 때문입니다. 예를 들어, 이 우주선 비행 시스템 같은 것입니다. 비교적 간단한 우주선 비행 시스템이라서, 제가 주변을 날아다니거나, 위아래로 움직이거나, 우주 정거장 사이를 이동할 수 있습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 YouTube Jason Weimann (Unity)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기