Journal of Broadcast Engineering
[ Special Paper ]
JOURNAL OF BROADCAST ENGINEERING - Vol. 29, No. 5, pp.624-633
ISSN: 1226-7953 (Print) 2287-9137 (Online)
Print publication date 30 Sep 2024
Received 10 Aug 2024 Revised 04 Sep 2024 Accepted 04 Sep 2024
DOI: https://doi.org/10.5909/JBE.2024.29.5.624

생성형 AI를 활용한 레벨 디자인 생성 연구

김영호a),
a)덕성여자대학교 가상현실융합학과
A Study on Level Design Generation Using Generative AI
Young Ho Kima),
a)Department of VR Convergence Engineering, Duksung Women’s University

Correspondence to: 김영호(Young Ho Kim) E-mail: youngho@duksung.ac.kr Tel: +82-2-901-8852

Copyright © 2024 Korean Institute of Broadcast and Media Engineers. All rights reserved.
“This is an Open-Access article distributed under the terms of the Creative Commons BY-NC-ND (http://creativecommons.org/licenses/by-nc-nd/3.0) which permits unrestricted non-commercial use, distribution, and reproduction in any medium, provided the original work is properly cited and not altered.”

초록

본 연구는 생성형 AI를 활용하여 게임의 레벨 디자인과 환경 디자인을 자동화하는 시스템을 개발하고 그 가능성을 탐구하였다. 연구에서는 스테이블 디퓨전을 사용하여 다양한 레벨 디자인 데이터를 생성하고, 이를 기반으로 리얼 타임 엔진을 통해 절차적인 환경을 자동으로 생성하였다. 생성된 환경은 경로 탐색 알고리즘을 통해 검증되었으며, 실제 플레이 가능성을 입증하였다. 연구 결과, 생성형 AI를 활용한 자동화 시스템이 개발 시간을 단축하고 비용을 절감하는 데 효과적임을 확인하였다. 또한, 절차적 생성과 데이터 검증을 통해 시각적으로 풍부한 게임 환경을 빠르게 구축할 수 있었으며, 이는 플레이어 경험을 향상시키는 데 기여하였다. 본 연구는 게임 개발자들에게 새로운 도구와 방법론을 제공하여, 보다 창의적이고 효율적인 게임 개발을 가능하게 한다. 향후 연구에서는 이 시스템의 적용 범위를 확장하고, 다양한 게임 장르에서의 활용 가능성을 탐구할 필요가 있다.

Abstract

This study explores the development and potential of an automated system for game level and environment design using generative AI. The research employed Stable Diffusion to generate diverse level design data, which was then used to procedurally create environments within a real-time engine. The generated environments were validated through pathfinding algorithms, demonstrating their playability. The results indicate that the automated system using generative AI effectively reduces development time and costs, overcoming the limitations of traditional manual design processes. Furthermore, the procedural generation and data validation allowed for the rapid construction of visually rich game environments, enhancing player experience. This study provides game developers with new tools and methodologies, enabling more creative and efficient game development. Future research should expand the application of this system and explore its potential across various game genres.

Keywords:

Generative AI, Game, Level design, Procedural generation, Environment design

Ⅰ. 서 론

1. 연구 배경

본 연구는 생성형 AI(Generative Artificial Intelligence)를 활용하여 게임의 중요한 요소인 레벨 디자인(Level Design)과 환경 디자인 자동화 시스템을 연구하고 그 가능성을 탐구하고자 한다. 레벨 디자인은 게임 개발의 핵심 요소로, 플레이어의 경험을 결정짓는 중요한 역할을 한다. 게임 레벨 디자인의 중요한 역할은 다음과 같다. 첫째, 레벨 디자인은 플레이어에게 몰입감과 도전감을 제공한다. 플레이어가 게임을 진행하는 동안 직면하는 도전 과제와 이를 해결하는 과정은 성취감을 느끼게 하고, 게임에 대한 몰입도를 높인다. 둘째, 레벨 디자인은 게임의 스토리와 세계관을 전달하는 중요한 수단이다. 레벨 디자인을 통해 게임의 테마와 분위기를 시각적으로 표현할 수 있으며, 이는 플레이어가 게임 세계에 더 깊이 빠져들게 한다[1]. 이를 통해 잘 디자인된 레벨은 플레이어에게 적절한 도전 과제를 제공하여, 이를 해결하는 과정에서 성취감을 느끼게 한다[2]. 따라서 레벨 디자인은 단순한 게임 플레이 이상의 의미를 가지며, 플레이어와의 상호작용을 통해 게임의 감성적, 서사적 깊이를 제공한다[3]. 이러한 경험은 플레이어가 게임에 몰입하고 지속적으로 플레이하게 만드는 중요한 요인이다. 이와 같이 레벨 디자인은 게임의 전반적인 경험을 향상시키는 데 중요한 역할을 한다. 즉, 레벨 디자인은 플레이어가 게임을 어떻게 경험하고 상호작용하는지를 결정짓는 중요한 요소이며, 이는 게임의 성공 여부에 중요한 영향을 미친다[4].

레벨 디자인은 게임 개발 과정에서 게임의 난이도를 조율하는 중요한 과정 중 하나이다. 레벨 디자인은 앞서 언급했듯이, 게임의 성공 여부를 결정짓는 중요한 요소 중 하나로, 레벨을 하나하나 세심하게 구성해야 하기에 제작 과정이 매우 느리고 복잡하다. 정량적 수치와 함께 맵의 환경적 요인까지 다양한 변수를 고려하여 플레이하고, 해당 부분을 보완한다. 이러한 개발 환경으로 인해 실제 출시된 게임도 종종 난이도 조절을 위해 맵 혹은 오브젝트, 아이템, 캐릭터의 능력치 등이 변경되곤 한다. 따라서 게임이 복잡하고 어려워질수록 이러한 작업 환경은 개발 비용의 증가와 긴 개발 주기로 이어진다.

최근 몇 년간 생성형 AI 기술은 급격히 발전하여 다양한 방면에서 콘텐츠 제작 프로세스에 혁신을 가져왔다. 생성형 AI의 대표적인 예로는 GPT-3, 달리(DALL-E)와 같은 모델들이 있으며, 이들은 텍스트와 이미지를 기반으로 새로운 콘텐츠를 창조할 수 있는 강력한 능력을 보여주고 있다[5]. 본 연구는 생성형 AI를 활용하여 게임의 중요한 요소인 레벨 디자인과 환경 디자인을 자동화하는 시스템을 개발하고, 그 가능성을 탐구하는 데 목적이 있다. 이를 통해 생성형 AI가 게임 디자인 과정에 어떻게 적용될 수 있는지를 분석하고, 개발 과정의 효율성을 향상시키며 다양한 게임 환경을 신속하게 생성할 수 있는 절차적 방법을 제안하고자 한다.

2. 연구 방법 및 범위

본 연구는 생성형 AI를 활용하여 게임의 레벨 디자인과 환경 디자인을 자동화하는 시스템을 구축하고 그 가능성을 탐구하는 것을 목표로 한다. 이를 위해 본 연구는 크게 세 가지 단계로 나누어 진행된다. 첫 번째 단계는 이미지 데이터 생성으로, 생성형 AI인 스테이블 디퓨전(Stable Diffusion)을 활용하여 레벨 디자인에 사용할 수 있는 데이터 이미지를 생성하는 것이다. 연구에서는 스테이블 디퓨전의 오픈소스인 WebUI를 사용하여 다양한 모델과 보조 모델을 비교하고, 프롬프트와 옵션값을 조정하여 생성된 데이터를 분석하였다. 이를 통해 노란색과 파란색을 이용해 유저가 다닐 수 있는 길과 다닐 수 없는 영역을 구분한 데이터를 생성하고, 이 데이터는 후속 절차에서 활용된다. 두 번째 단계는 환경 요소 생성이다. 리얼타임 엔진인 유니티(Unity)를 활용하여, 앞서 생성한 이미지 데이터를 바탕으로 3D 환경 맵을 절차적으로 생성한다. 이미지의 각 색상 값에 대응하는 환경 요소를 사전에 정의하고, 이를 통해 유저가 다닐 수 있는 공간과 다닐 수 없는 공간을 구성하였다. 절차적 맵 생성 알고리즘은 추출된 색상 값을 바탕으로 3D 오브젝트를 생성하고, 이를 조합하여 다양한 형태의 게임 환경을 구축한다. 세 번째 단계는 데이터 검증이다. 생성된 환경이 실제로 플레이할 수 있음을 확인하기 위해 A* 패스파인딩(A* Pathfinding) 알고리즘을 사용하여 경로 탐색을 수행하였다. 이 과정에서는 경로 탐색 결과를 시각적으로 표현하고, 경로와 이동시간을 분석하여 최적 경로를 확인하였다. 이를 통해 생성된 환경의 유효성을 검증하고, 유저의 이동 동선 및 플레이 타임에 미치는 영향을 평가하였다. 마지막으로, 결론에서는 제안된 레벨 디자인의 기대효과와 한계점을 논의하며, 더 나아가 게임 산업에서 생성형 AI를 활용한 다양한 방법론을 제안한다.


Ⅱ. 레벨 디자인과 생성형 AI를 활용한 선행 연구 분석

1. 레벨 디자인 프로세스

게임 개발에서 레벨 디자인은 플레이어의 경험을 형성하는 중요한 요소로, 각 게임 장르에 따라 다양한 요구 사항을 충족해야 한다. 예를 들어, 플랫폼 게임은 점프와 회피 같은 기계적 도전을 제공하는 구간과 적의 배치가 필요하며, 오픈 월드 게임은 넓고 자유로운 탐험 환경을 제공하여 플레이어가 자유롭게 이동하며 목표를 달성할 수 있도록 한다. 전략 게임에서는 복잡한 맵과 자원 관리, 적과의 전투가 중요한 요소로 작용한다.

레벨 디자인 프로세스는 다음과 같다. 첫 번째로, 레벨의 기본 구조를 스케치하고 플레이어의 이동 경로와 중요한 위치를 계획하는 레이아웃 디자인 단계가 있다. 이 단계에서 기본 맵을 스케치하고 주요 경로와 장애물을 배치한다. 두 번째로, 초기 프로토타입을 만들어 테스트를 진행한 후 구조와 게임 플레이 요소를 평가하고, 피드백을 수집하여 개선하는 플레이 테스트 단계가 있다. 세 번째로, 적, 아이템, 장애물, 퍼즐 등의 세부 요소를 추가하고 레벨의 그래픽과 시각적 요소를 강화하는 세부 요소 추가 단계가 있다. 마지막으로, 반복적인 테스트를 통해 버그와 문제를 해결하고 최종적인 조정을 통해 레벨을 완성하는 최종 테스트 및 조정 단계가 있다. 이와 같이 레벨 디자이너는 각 레벨을 하나하나 세심하게 구성하여 플레이어가 도전과 재미를 느낄 수 있는 환경을 조성하는 것을 목표로 한다. 이러한 맵 디자인의 장점은 디자이너의 창의성과 세밀한 조정이 가능하다는 점이다. 그러나 기존 레벨 디자인은 주로 수작업으로 이루어지며, 반복적인 작업과 시간 소모가 크고, 대규모 프로젝트에서는 많은 작업 시간이 투자된다. 이러한 문제를 해결하기 위해 레벨 디자인을 효율적으로 제작할 수 있는 다양한 연구가 진행되었다. 예를 들어, 유전자 알고리즘을 활용한 연구에서는 퍼즐 게임의 레벨 조절이 가능함을 확인하였다[6]. 또 다른 연구에서는 유전자 알고리즘을 사용하여 게임 디자이너가 입력한 값을 기반으로 게임 내 구성 요소를 최적화하여 조합하는 방식을 제안하였다. 이를 통해 단순한 입력값만으로 복잡한 게임 구성 요소로 이루어진 레벨을 근사화하여 쉽게 도출할 수 있음을 실증적으로 보여주었다[7]. 또한, 배회 에이전트를 설계하여 하나의 레벨만으로도 다양한 난이도를 체험할 수 있는 동적 레벨 변환 과정을 제안하고 관찰한 연구도 있다[8]. 깊이 우선 탐색 기법을 이용해 미로 게임을 자동으로 플레이하고, 난이도를 측정하여 게임 디자이너에게 생성된 레벨의 난이도를 평가하도록 함으로써, 게임의 밸런스를 조절하고 원하는 난이도의 게임 레벨을 생성하는 데 소모되는 시간을 줄일 수 있는 방법이 제안되었다.

2. 생성형 AI

생성형 AI는 주어진 데이터로부터 새로운 콘텐츠를 자동으로 생성하는 인공지능 기술이다. 이러한 생성형 AI에는 Chat-GPT, 스테이블 디퓨전, 달리, 미드저니(Midjourney) 등이 있다. 이 기술은 텍스트, 이미지, 소리 등 다양한 형태의 데이터를 학습하여 인간이 만든 것과 유사한 새로운 데이터를 생성할 수 있는 능력을 가지고 있다. 이러한 능력은 현재 교육, 게임 개발, 영화 제작, 광고, 예술 등 여러 분야에서 혁신적인 도구로 활발히 사용되고 있다. 생성형 AI는 주로 확산 모델(Diffusion model)을 기반으로 작동한다. 디퓨전 모델은 확산 과정과 역확산 과정을 통해 이미지를 생성하는 생성 모델 중 하나이다. 디퓨전 모델은 변분 추론(Variational inference)과 랑주뱅 동역학(Langevin dynamics)에 기반을 둔다. Sohl-Dickstein et al.은 확산 과정을 통해 데이터의 분포를 학습하는 방법을 제안하였으며, 이는 디퓨전 모델의 기초를 형성하였다[9]. 이 모델은 입력 데이터에 점진적으로 노이즈를 추가한 후, 역확산 과정을 통해 노이즈를 제거하여 원본 데이터와 유사한 이미지를 생성하는 방식으로, 확산 모델의 핵심 구조를 이룬다.

확산 모델은 전진 과정(Forward process)과 역확산 과정(Reverse process)으로 구성된다. 전진 과정에서는 데이터에 작은 노이즈를 반복적으로 추가하여 점차적으로 더 많은 노이즈가 포함된 데이터를 생성하며, 이는 시간에 따라 데이터가 균일한 분포로 변하게 된다. 역확산 과정에서는 노이즈가 많은 데이터에서 시작하여 점진적으로 노이즈를 제거하며 원본 데이터의 분포로 복원한다. 이 두 과정은 변분 추론과 랑주뱅 동역학을 결합하여 학습되며, 특히 제거 잡음 확률적 디퓨전 모델(Denoising Diffusion Probabilistic Models, 이하 DDPMs)은 이러한 접근을 통해 높은 품질의 이미지를 생성하는 데 성공하였다. 이 과정은 물리학의 확산 과정과 유사하며, 확률론적 접근을 통해 구현된다. Ho et al.은 DDPMs을 발전시켜, 복잡한 데이터 분포를 효과적으로 학습하여 고품질의 이미지를 생성할 수 있는 능력을 보여주었다[10]. 이러한 다양한 모델을 활용하여 현재 버거킹, 에듀윌, 하인즈 등 여러 기업이 스테이블 디퓨전, 미드저니, Chat-GPT 등을 이용해 광고 영상 및 이미지 제작을 실제 산업에 적용하고 있다. 예를 들어, 하인즈는 생성형 AI를 사용하여 “Heinz A.I. Ketchup”이라는 광고 영상을 제작했으며, 이는 AI가 생성한 케첩 병 디자인이 특징이다. 이러한 사례는 생성형 AI가 마케팅 및 광고 분야에서 얼마나 강력한 도구로 사용될 수 있는지를 보여준다. 이와 같이 디퓨전 모델은 생성형 AI의 중요한 부분으로 자리잡고 있으며, 이를 활용한 다양한 연구와 응용이 활발히 진행되고 있다. 대표적인 예로는 NVIDIA의 GameGAN 프로젝트가 있다. GameGAN은 PAC-MAN 게임의 레벨과 규칙을 학습하여 새로운 레벨을 생성할 수 있는 AI 모델이다. 이 모델은 게임의 기본적인 규칙과 패턴을 학습하여 플레이어가 경험할 수 있는 새로운 콘텐츠를 자동으로 만들어낸다.


Ⅲ. 레벨 디자인 생성 시스템 구현

본 연구는 생성형 AI를 활용하여 게임의 레벨 디자인과 환경 디자인을 자동화하는 시스템을 구축하고 그 가능성을 탐구하는 것을 목표로 한다. 이를 위해 다음과 같은 방법론과 시스템 구성을 채택하였다.

첫 번째 생성형 AI를 활용한 데이터 생성은 스테이블 디퓨전을 활용하여 프롬프트 및 다양한 옵션 값을 조정하여 데이터 생성을 진행한다. 해당 부분에서는 다양한 모델과 보조 모델인 로라를 활용하여 여러 가지 결과물을 생성한다. 해당 결과물에서는 색상으로 유저의 동선, 입구, 출구, 오브젝트 등으로 데이터를 분류한다. 두 번째, 리얼타임엔진에서 앞서 생성한 이미지의 색상 값을 기반으로 데이터를 설명하며, 절차적 생성을 통한 3D 혹은 2D 환경의 맵을 만든다. 또한 다양한 오브젝트 배치를 통해 동선의 혼잡도를 더욱 높이며 어떠한 결과로 생성이 되었는지 기술한다. 세 번째, 생성된 환경에서 경로 탐색 알고리즘을 통해 생성된 환경이 실제로 플레이가 가능한 경로가 있는지, 출구까지 이동이 가능한 공간인지 검증한다. 정량적 평가를 할 수 있도록 경로 탐색 알고리즘을 통해 플레이어의 경로 및 최소 이동시간을 수치와 간단한 그래픽을 제시한다.

Fig. 1.

Level design generation system diagram

1. 이미지 데이터 생성

해당 단계에서는 스테이블 디퓨전을 활용하여 레벨 디자인에 사용할 수 있는 데이터 이미지를 생성하는 것을 목표로 한다. 본 연구에서는 스테이블 디퓨전의 오픈소스인 WebUI를 사용하여 제작한다. 사용되는 모델은 기본 모델인 SD1.5와 특정 장르에 맞춰 파인튜닝(Fine-tuning)된 모델을 적용하여 먼저 비교해 본다. 기본 모델과 파인튜닝된 모델 비교는 본 연구의 기초 단계를 검증하기 위함이다. 특정 장르만를 위한 연구가 아닌 범용적 활용을 목표로 하기에 특정 장르에 파인튜닝된 모델과 비교를 통해 파인튜닝이 되지 않은 일반 모델에서 생성한 데이터를 활용함으로써 연구의 범용적 활용 가능성을 검증하기 위함이다. 이를 위해 동일한 프롬프트와 동일한 CFG scale, sampling steps, seed를 입력하여 출력되는 결과물을 확인해 보았다. CFG scale은 매개변수로 Stable diffusion에서 모델이 프롬프트를 얼마나 중요하게 여길지를 결정하는 매개변수이다. 낮은 CFG Scale 값은 모델이 텍스트 프롬프트를 덜 엄격하게 따르며, 결과 이미지는 더 창의적이거나 예측할 수 없을 수 있다. 반면, 높은 CFG scale 값은 모델이 텍스트 프롬프트를 더 엄격하게 따르며, 결과 이미지는 주어진 설명과 더 밀접하게 일치한다. Sampling steps는 모델 실행 단계로 Stable diffusion에서 이미지 생성 과정에서 노이즈를 점진적으로 제거하며 이미지를 세밀화하는 단계 수를 의미한다. Sampling steps가 낮으면 이미지 생성이 빠르지만 디테일이 부족할 수 있고, 높으면 더 세밀하고 정교한 이미지를 생성할 수 있다. Seed는 이미지 생성 과정에서 중요한 역할을 하며, 동일한 seed 값을 사용하면 동일한 이미지를 다시 생성할 수 있어 재현성을 보장한다. 다른 seed 값을 사용하면 같은 텍스트 프롬프트와 설정에도 불구하고 다양한 이미지를 생성할 수 있다. Seed 값은 결과물을 제어하고 다양한 결과를 탐색하는 중요한 도구이다.

[표 1]은 동일한 프롬프트와 설정값을 사용하여 다양한 모델에서 생성된 결과물을 비교한 것이다. 동일한 프롬프트와 설정을 하였어도 전혀 다른 결과물로 출력되는 것을 확인할 수 있었다. 이러한 결과는 학습된 데이터의 영향을 많이 받기 때문이다. dndMapGenerator 모델과 csgoImprovedRadarTop 모델은 특정한 장르를 대상으로 학습하였기에 다른 프롬프트를 넣어도 학습데이터와 유사한 결과로 출력되는 것을 볼 수 있다. 이렇듯 특정 모델은 해당 장르만 적합한 형태의 이미지만 생성하기에 범용적 활용이 어려운 것을 확인하였다. 이를 통해 특정 장르에 파인튜닝된 모델과 일반 모델 간의 차이를 확인하고, 범용적 활용 가능성을 평가할 수 있다.

Generative images and prompts and options

본 연구는 범용적으로 활용할 수 있는 기초 데이터를 생성 및 활용하기 위해 프롬프트 규칙을 색상으로 설정하였다. 노란색은 유저가 다닐 수 있는 길을 나타내며, 시작과 끝이 하나의 길로 연결되고 중간중간 갈래길이 있다. 파란색은 유저가 다닐 수 없는 영역을 나타낸다. 이를 통해 유저가 플레이하는 환경, 동선, 이동시간을 생성했다. [표 1]에서 활용한 프롬프트를 동일하게 사용하고, CFG scale, seed, steps 값을 변경하여 복잡하고 다양한 형태의 이미지를 생성할 수 있었다. 이를 통해 생성된 이미지는 다음 단계에서 절차적 환경 생성을 위한 기초 자료로 사용한다.

2. 환경 요소 생성

본 연구의 목표 중 하나인 리얼타임 엔진을 사용하여 생성형 AI를 통해 만든 이미지 데이터를 기반으로 3D 또는 2D 환경의 맵을 절차적으로 생성하는 것이다. 이를 통해 게임 개발 과정에서 효율성을 높이고, 창의적인 게임 환경을 자동으로 생성할 수 있는 가능성을 탐구하고자 한다. 이를 위해 해당 단계에서는 리얼타임엔진인 유니티를 활용하여 3D 공간에 데이터를 불러오고 해당 데이터 값을 활용하여 절차적으로 환경을 생성한다. 해당 데이터는 [표 3]의 이미지를 활용하였다. 구현을 위해 이미지 속 각 색상 값에 대응하는 환경 요소를 사전에 정의했다. 노란색은 유저가 플레이를 하는 공간, 파란색은 유저가 다닐 수 없는 공간으로 구성했다.

환경요소 생성 알고리즘은 [표 2]와 같다. 해당 알고리즘은 절차적으로 이미지로부터 불러온 데이터를 기반으로 3D 게임 오브젝트를 생성하여 환경을 구축한다. 가장 먼저 이미지를 불러온 후 해당 이미지의 x, y 좌표계를 기준으로 해당 위치의 컬러값을 추출한다. 컬러값 추출은 사용자가 입력하는 x, y 간격에 맞춰서 컬러값을 추출한다. 컬러값 추출 간격에 따라 생성된 환경은 모자이크와 유사한 형태를 보이며 색상도 혼합되는 모습을 나타낸다. 복잡하고 좁은 길이 있는 맵 혹은 넓고 단순한 길이 있는 맵에 따라 사용자는 1px부터 최대 이미지 크기까지 추출하고자 하는 컬러값의 x, y 좌표 간격을 조절할 수 있다. 이후 추출된 컬러값을 기준으로 3D오브젝트인 cube를 생성한다. cube는 픽셀 위치에 맞춰 생성되고 색상에 맞춰 높이 값이 조절된다. 유저가 다니는 노란색은 0.5의 값을 가지고 파란색은 유저가 다닐 수 없는 영역으로 벽과 같은 역할로 색상 범위에 따라 높이 값은 최소 1에서 최대 30까지 유동적으로 변한다. 이를 통해 간격 조절 또한 다양한 맵을 생성하는 요소로 적용되며 유저가 다닐 수 있는 길과 막혀있는 벽이 만들어진다. 이후 생성된 맵을 시각적으로 검토하고, 필요한 경우 추출 간격을 다시 조정한다. 이는 생성된 맵의 품질을 높이고, 플레이어 경험을 최적화하기 위함이다.

Algorithm for procedural generation

Environment map created in a real-time engine

3. 데이터 검증

본 연구에서 데이터 검증은 경로 탐색 알고리즘을 통해 생성된 환경이 실제로 플레이 가능한지 여부를 검증하고, 검증된 데이터를 통해 생성된 환경에서의 플레이어 경로와 최소 이동시간을 포함한 정량적 평가 데이터, 시각적으로 표현된 플레이어 경로를 확인한다. 경로 탐색 알고리즘은 환경 생성 이전 생성형 AI를 활용한 이미지 제작과 동시에 분석을 진행할 수 있으나, 해당 분석은 2D 기반 픽셀 분석으로 진행된다. 이러한 분석은 계단, 능선, 단차 등 다양한 높낮이의 변화가 있는 3D 환경에서 활용하기 어려운 것이 특징이다. 그래서 본 연구에서는 3D 환경을 우선적으로 생성 후 시작점과 도착점을 설정하여 해당 환경을 직접 경로 탐색을 진행함으로써 높낮이에 따른 환경 요소와 레벨 디자인을 검증하고자 한다. 이를 위해 데이터 검증의 단계는 세 가지 단계를 순차적으로 진행하게 된다. 첫 번째로 사용자가 입력하고 시작 위치, 도착 위치를 지정한다. 두 번째로 지정된 시작 위치와 도착 위치를 경로 탐색 알고리즘이 분석한다. 분석을 진행하며 막힌 경로인지 혹은 연결이 되어있는지 확인할 수 있다. 마지막으로 경로 탐색을 마치면 어떠한 경로로 이동하는지 시각적 표현과 시작점과 도착점의 거리를 알려준다. 이러한 순차적 진행을 통해 최종적으로 사용자는 의도한 경로가 맞는지 확인할 수 있고, 시작점과 도착점의 거리 값을 통해 유저의 최소 플레이 타임과 맵의 난이도를 유추할 수 있다.

본 연구에서 데이터 검증을 위한 경로 탐색 알고리즘은 A* 패스파인딩 알고리즘을 활용한다. 해당 알고리즘은 그래프 탐색과 최단 경로 문제를 해결하기 위해 널리 사용되는 알고리즘으로 다익스트라(Dijkstra) 알고리즘과 최적 우선 탐색(Greedy Best-First Search)의 장점을 결합하여 효율적으로 경로를 탐색한다. A* 알고리즘은 휴리스틱 함수(Heuristic Function)를 사용하여 경로 탐색의 효율성을 높이고, 시작 지점에서 목표 지점까지의 최단 경로를 찾는 데 매우 효과적으로 게임 개발, 로봇 경로 계획, 네비게이션 시스템 등 다양한 분야에서 활용되며, 효율적인 경로 탐색을 위한 강력한 도구로 자리잡고 있다.

[그림 2]는 A* 알고리즘의 경로 탐색 과정을 시각적으로 표현한 것이다. 빨간 선은 목적지까지 가장 빠른 경로를 탐색하여 생성된 선을 나타내고 파란 선은 다양한 경로를 탐색하며 시도한 경로들의 흔적이다. 생성된 경로는 1패스 단위로 계산한다. 1패스는 경로 탐색하는 과정에서 탐색 영역의 단위이다. 해당 단위는 임의로 조정이 가능하다. 상세한 경로를 만들기 위해서는 탐색 영역의 단위를 1px과 매칭하기 위해 유니티 좌표계 기준 1의 값으로 설정하였다. 이를 통해 1패스는 1px의 이동으로 하여 환경 생성과 동일한 값으로 설정하였다.

Fig. 2.

A* Visualization of Algorithm Path Search Process


Ⅳ. 검증 결과

본 연구의 방법론은 AI를 활용하여 게임의 레벨 디자인과 환경 디자인을 자동화하는 시스템을 구축하고, 이를 검증하는 과정을 통해 그 가능성을 탐구하였다. 연구 과정에서 스테이블 디퓨전을 사용하여 다양한 데이터를 생성하고, 리얼타임 엔진을 통해 3D 환경을 절차적으로 생성한 후, 이를 A* 패스파인딩 알고리즘을 통해 검증하였다. 이러한 과정을 통해 연구의 타당성과 효과를 확인할 수 있었다.

우선, 이미지 데이터 생성 단계에서는 스테이블 디퓨전의 다양한 모델을 사용하여 데이터를 생성하였다. 특정 장르에 맞춰 파인튜닝된 모델과 범용 모델 간의 차이를 비교한 결과, 파인튜닝된 모델은 해당 장르에 최적화된 이미지를 생성하는 반면, 다양한 환경에서 사용하기 어려운 것으로 확인되었다. 이는 본 연구의 범용적 활용 가능성을 높이는 중요한 결과로 평가되었다. 또한 생성된 데이터는 색상값을 통해 유저의 동선, 입구, 출구의 요소를 명확하게 구분할 수 있었으며, 이를 기반으로 다양한 레벨 디자인을 시도할 수 있었다.

두 번째 단계에서는 생성된 이미지 데이터를 활용하여 리얼타임 엔진에서 3D 환경을 생성하였다. 컬러값 추출 간격에 따라 생성된 환경은 모자이크와 유사한 형태를 띠었으며, 이를 통해 다양한 유형의 맵을 생성할 수 있었다. 컬러값에 따라 높이가 조절되는 3D 오브젝트는 유저의 플레이 환경을 다양하게 조성할 수 있게 했으며, 추출 간격의 조정은 맵의 형태와 복잡성을 변화시켜 유저의 경험을 풍부하게 하는 데 기여하였다.

마지막 단계에서는 A* 패스파인딩 알고리즘을 사용하여 생성된 환경이 실제로 플레이 가능한지 여부를 검증하였다.

[그림 3]을 통해 컬러값 추출 간격에 따라 변화하는 맵의 형태와 높낮이로 인해 경로와 이동시간의 변화를 확인했다. 경로는 빨간색으로 표기하여 상세하게 유저가 어떠한 경로로 이동하는지 확인할 수 있다. 우선, 1px 간격으로 이미지 데이터를 구현한 결과, 좁은 길까지 정확하게 표현되었으며 이 경우 526개의 패스가 생성되었다. 두 번째로, 10px 간격으로 생성된 환경에서는 658개의 패스가 생성되었고, 마지막으로 20px 간격에서는 755개의 패스가 생성되었다. 이를 통해 픽셀 추출 간격이 유저의 이동 경로와 플레이 타임에 어떻게 영향을 미치는지 확인할 수 있었다. 이를 통해 다양한 색상 추출 간격에 따른 경로 탐색 결과를 분석한 결과, 추출 간격에 따라 유저가 이동할 수 있는 경로가 변경되는 것을 발견하였다. 이러한 검증 결과는 생성된 환경이 실제 게임 플레이에서 유용하게 사용될 수 있음을 시사하며, 연구의 목표인 자동화된 레벨 디자인과 환경 디자인의 가능성을 성공적으로 입증하였다. 본 연구의 검증 결과, 생성형 AI와 리얼타임 엔진을 결합한 자동화 시스템이 게임 개발 효율성을 크게 향상시킬 수 있음을 확인하였다. 다양한 색상 추출 간격과 패스파인딩 알고리즘을 통해 유저의 이동 동선을 정확하게 예측할 수 있었으며, 이를 통해 생성된 맵이 플레이어에게 적절한 도전과 재미를 제공할 수 있음을 확인하였다.

Fig. 3.

Changing the height of the wall according to color change

Fig. 4.

Path search results according to color value extraction interval (1, 10, 20 from the left)


Ⅴ. 결 론

본 연구는 생성형 AI를 활용하여 게임 레벨 디자인과 환경 디자인을 자동화하는 시스템을 구축하고 그 가능성을 탐구하였다. 연구 결과, 생성형 AI인 스테이블 디퓨전을 사용하여 다양한 레벨 디자인 데이터를 생성하고, 이를 기반으로 리얼타임 엔진을 통해 절차적인 환경 요소를 생성하는 과정이 효과적으로 수행될 수 있음을 확인하였다. 또한, 경로 탐색 알고리즘을 활용한 데이터 검증을 통해 생성된 환경이 실제로 플레이 가능함을 입증하였다.

연구의 주요 성과는 다음과 같다. 첫째, 생성형 AI를 사용하여 게임 레벨 디자인 데이터를 자동으로 생성함으로써 개발 시간을 단축하고 비용을 절감할 수 있었다. 이는 전통적인 수작업 방식의 한계를 극복하는 데 큰 도움이 되었다. 둘째, 절차적인 환경 생성 과정에서 리얼타임 엔진을 활용함으로써 시각적으로 풍부하고 다양한 환경을 빠르게 생성할 수 있었다. 이는 게임의 몰입도를 높이고 플레이어에게 새로운 경험을 제공하는 데 기여하였다. 셋째, 경로 탐색 알고리즘을 통해 생성된 환경의 유효성을 검증함으로써 플레이어의 실제 게임 경험을 향상시킬 수 있는 기반을 마련하였다. 본 연구의 결과는 게임 개발자들에게 새로운 도구와 방법론을 제공하여, 더 창의적이고 효율적인 게임 개발을 가능하게 한다. 생성형 AI를 활용한 레벨 디자인과 환경 디자인 자동화 시스템은 게임 개발 과정에서의 반복적인 작업을 줄이고, 개발자들이 더 중요한 창의적 작업에 집중할 수 있도록 한다. 또한, 이 시스템은 다양한 플레이어 경험을 제공하고, 게임의 품질을 향상시키는 데 기여할 것이다.

그러나 본 연구는 특정 생성형 AI 모델과 설정을 중심으로 진행되었기 때문에, 다른 AI 모델이나 다양한 설정에서의 일반화 가능성에 한계가 있을 수 있다. 그리고 본 연구는 주로 기술적 측면에 중점을 두었으나, 플레이어의 경험이나 상호작용 측면에서의 심층적인 분석은 이루어지지 않았다. 이러한 한계는 향후 연구에서 보완될 수 있으며, 다양한 게임 장르와 복잡한 환경에 대한 적용 가능성을 탐구하는 추가 연구가 필요하다.

향후 연구에서는 본 연구에서 제시한 시스템의 적용 범위를 확장하고, 다양한 게임 장르와 복잡한 환경에서의 적용 가능성을 탐구할 필요가 있다. 또한, 생성형 AI 모델의 성능을 더욱 향상시키기 위한 추가적인 연구와 개발이 필요하다. 이를 통해 게임 산업 전반에 걸쳐 생성형 AI의 활용 가능성을 극대화하고, 더욱 혁신적인 게임 개발을 실현할 수 있을 것이다.

References

  • Rogers, Scott. Level Up! The guide to great video game design. John Wiley & Sons, 2014.
  • Shaker, Noor, Georgios N. Yannakakis, and Julian Togelius. “Digging deeper into platform game level design: session size and sequential features.” Applications of Evolutionary Computation: EvoApplications 2012: EvoCOMNET, EvoCOMPLEX, EvoFIN, EvoGAMES, EvoHOT, EvoIASP, EvoNUM, EvoPAR, EvoRISK, EvoSTIM, and EvoSTOC, Málaga, Spain, April 11-13, 2012, Proceedings. Springer Berlin Heidelberg, 2012. [https://doi.org/10.1007/978-3-642-29178-4_28]
  • Karlsson, Tobias, Jenny Brusk, and Henrik Engström. “Level Design Processes and Challenges: A Cross Section of Game Development.” Games and Culture 18.6 (2023): 821-849. [https://doi.org/10.1177/15554120221139229]
  • Totten, Christopher W. Architectural Approach to Level Design. CRC Press, 2019.
  • Ramdurai, Balagopal, and Prasanna Adhithya. “The impact, advancements and applications of generative AI.” International Journal of Computer Science and Engineering 10.6 (2023): 1-8. [https://doi.org/10.14445/23488387/IJCSE-V10I6P101]
  • Myung-Ju Kang, “Level Design of Puzzle Game Using A Genetic Algorithm.” Proceedings of the Korean Society of Computer Information Conference , pp.317-318, 2014.
  • Shin Jin Kang, Seung Ho Shin, and Sung Hyun Cho, “A Game Level Design Technique Using the eGenetic Algorithms.” Journal of the Korea Computer Graphics Society, Vol.15, No.4, pp.13-21, 2009. [https://doi.org/10.15701/kcgs.2009.15.4.13]
  • Kim, Jong-Ho, Cho, Hyung-Je, and Han, Sung-Ho, “Dynamic Level Design with Wandering Agent.” Journal of Korea Game Society, Vol.5, No.3, pp.25-30, 2005. https://www-dbpia-co-kr-ssl.libproxy.duksung.ac.kr:8443/journal/articleDetail?nodeId=NODE07437330, )
  • Sohl-Dickstein, Jascha, et al. “Deep unsupervised learning using nonequilibrium thermodynamics.” International conference on machine learning. PMLR, 2015. [https://doi.org/10.48550/arXiv.1503.03585]
  • Ho, Jonathan, Ajay Jain, and Pieter Abbeel. “Denoising diffusion probabilistic models.” Advances in neural information processing systems 33 (2020): 6840-6851. [https://doi.org/10.48550/arXiv.2006.11239]
김 영 호

- 2014년 2월 : 용인대학교 시각디자인 학사

- 2018년 2월 : 중앙대학교 첨단영상전문대학원 예술공학 석사

- 2022년 2월 : 중앙대학교 첨단영상전문대학원 예술공학 박사

- 2022년 3월 ~ 2023년 8월 : 중앙대학교 가상융합대학 연구교수

- 2023년 9월 ~ 현재 : 덕성여자대학교 가상현실융합학과 조교수

- ORCID : https://orcid.org/0009-0004-8652-6413

- 주관심분야 : XR, Immersive Media, Generative Design

Fig. 1.

Fig. 1.
Level design generation system diagram

Fig. 2.

Fig. 2.
A* Visualization of Algorithm Path Search Process

Fig. 3.

Fig. 3.
Changing the height of the wall according to color change

Fig. 4.

Fig. 4.
Path search results according to color value extraction interval (1, 10, 20 from the left)

Table 1.

Generative images and prompts and options

Model Name
(Check point)
SD 1.5 csgoImprovedRadarTop dndMapGenerator
Generative image
prompt A game mini-map with only two colors: yellow and blue. Yellow represents the navigable paths, which should be a single continuous path with multiple branches, connecting start to end. Blue represents areas that are not navigable. The design should be clean and monochromatic, with (yellow paths:1.3), (blue areas:1.2), and (clear, connected path:1.3) for a straightforward and organized map appearance.
options Steps: 70, Sampler: DPM++ 2M, Schedule type: Karras, CFG scale: 29, Seed: 3011864351, Size: 512x512

Table 2.

Algorithm for procedural generation

FOR each x from 0 to image width, step xInterval
    FOR each y from 0 to image height, step yInterval
        GET the color at coordinates (x, y) from the image
        SET sampledColor to the retrieved color
        CALCULATE the y-axis scale based on sampledColor
        SET yScale to the calculated value
        SET position to (x, 0, y)
        CREATE a colored cube at position with size xInterval and yScale
    ENDFOR
ENDFOR

Table 3.

Environment map created in a real-time engine

top view
perspective view