"민트망고"의 두 판 사이의 차이

cdc wiki
이동: 둘러보기, 검색
(관련사업비 내역서)
(향후계획)
380번째 줄: 380번째 줄:
  
 
===향후계획===
 
===향후계획===
내용
+
개발 인원 중 그래픽 전문 인력이 없어 UI나 그래픽, UX 환경이 많이 부족하다. 플레이어의 좋은 UI/UX경험을 제공할 목적으로 개선할 필요가 있다.
 +
 +
미흡한 부분 및 버그, 피드백 개선사항 중 우선순위가 높은 순서대로 추가로 수정 및 개발한다.
 +
 
 +
기존 계획에서 일정 문제로 진행하지 못한 온라인스토어 출시를 부족한 점을 보완하여 진행할 예정. 유력 플랫폼으로는 Steam.
 +
 
 +
여건이 된다면, 작성된 코드 및 프롬프트를 바탕으로 다른 맵에 대한 스토리를 새로 구성하여 후속작 혹은 추가 컨텐츠(DLC)를 개발할 의지가 있다.
  
 
===특허 출원 내용===
 
===특허 출원 내용===
 
내용
 
내용

2024년 6월 23일 (일) 14:15 판

프로젝트 개요

기술개발 과제

국문 : 생성형 AI를 이용한 추리 게임

영문 : Detective game using generative AI

과제 팀명

민트망고

지도교수

김성환 교수님

개발기간

2019년 3월 ~ 2019년 6월 (총 4개월)

구성원 소개

서울시립대학교 컴퓨터과학부 2018920061 홍석기(팀장)

서울시립대학교 컴퓨터과학부 2019920035 이석준

서울시립대학교 컴퓨터과학부 2019920007 김동욱

서울시립대학교 컴퓨터과학부 2019920030 송승우

서론

개발 과제의 개요

개발 과제 요약

◇ ChatGPT와의 대화를 통해 진행하는 추리게임의 개발을 목표로 한다.

◇ 플레이어는 게임속에서 직접 이동하며 증거를 수집하여 범인을 찾는다.

◇ 증거물 뿐 아니라 ChatGPT가 탑재된 등장인물들과의 대화를 통해 증언을 얻을 수 있다.

◇ 기존의 선택지 형 대화에서 벗어나 플레이어가 직접 만들어가는 대화를 통해 능동적으로 진행하도록 한다.

개발 과제의 배경

◇ 기존의 추리게임은 선형적인 진행을 따라가는 것이 강제되는 면이 많다.

◇ ChatGPT는 현재 논문 작성, 광고 카피 등 다양한 분야에서 활용되고 있는 생성형 AI이다.

◇ 따라서 생성형 AI 응답으로 NPC 상호작용을 자연스럽게 구현한다면, 기존의 선형적이고 형식적인 게임 흐름에서 벗어나 플레이어가 직접 게임 속의 인물들과 대화하고 이야기를 풀어나가는 체험을 할 수 있을 것이다.

개발 과제의 목표 및 내용

◇ 플레이어가 특정 군중에 섞여있는 범인(ex.마피아)을 찾아내는 것을 목표로 하는 게임을 제작한다.

◇ 플레이어와 대화할수 있는 NPC를 만들고, 대화를 통해 플레이어에게 단서를 제공하도록 구현한다.

◇ 7~8인의 군중을 프롬프트로 NPC설정을 부여하며, 설정에 따라 각각 고유의 행동을 하도록 제작한다.

◇ 플레이어가 돌아다닐 수 있는 공간을 제작하고, 증거품을 배치한다.

관련 기술의 현황

관련 기술의 현황 및 분석(State of art)

  • 전 세계적인 기술현황
◇ 유니티

c# 을 지원하는 게임엔진으로, 게임을 만드는데 필요한 대부분의 기능을 무료로 지원해준다.

◇ gpt 3.5

GPT(Generative Pre-trained Transformer)는 OpenAI에서 개발한 자연어 생성 모델로 주어진 텍스트의 다음 단어를 예측하는 태스크를 학습하며, 이를 통해 사람이 쓴 것처럼 의미 있는 텍스트를 생성 가능하다. ChatGPT는 이를 기반으로 하는 챗봇으로서 사용자로부터 입력받은 문장을 이해하고, 관련있는 답변을 생성할 수 있으며 실제 대화처럼 일상적인 언어를 사용하여 사용자와 의사소통이 가능하다. 최근 ChatGPT가 공저자로 등록된 논문이 공개되기도 했으며, 배우 라이언 레이놀즈의 "민트모바일" 광고의 대본을 작성하는 데에도 사용되거나 ChatGPT를 활용한 게임이 등장하는 등 그 활용 범위가 넓어지는 추세이다.

이와 같은 거대언어모델(LLM, Large Language Model)을 활용할 때에는 프롬프트가 활용된다. 이는 모델에게 지시나 질문과 같은 맥락, 입력이나 예시와 같은 여러가지 세부사항을 포함한다. 이러한 요소들을 통해서 모델에게 더 적절하게, 정확하게 지시하고 그로부터 얻는 결과의 퀄리티를 향상시킨다.

  • 특허조사 및 특허 전략 분석

-없음-

  • 기술 로드맵
◇ 유니티 : 사용자가 활동하는 장소 및 증거품, 등장인물 등의 3D 모델링
◇ ChatGPT : 게임 상에 등장하는 인물들과의 대화 구현

시장상황에 대한 분석

  • 경쟁제품 조사 비교
◇ The Shapeshifting Detective

얼굴을 바꾸는 능력이 있는 형사가 얼굴을 바꾸고 용의자들을 심문하여 형사에게 말하지않는 정보를 얻고 이를 통해 사건을 해결한다.

매 회차 범인이 달라지며, 선택에 따라 결말이 바뀐다. 하지만 직접 움직이지 않고 심문만을 하는 플레이를 통해 자유도가 떨어지며, 얼굴을 바꾸며 조사를 할 때 걸리는 시간 때문에 재미가 반감된다.

◇ The Painscreek Killings

마을에서 벌어진 살인사건을 해결하기 위해 파견된 기자로서 마을을 돌아다니며 얻는 증거를 통해 살인사건을 해결하는 추리게임.

단서와 단서 사이의 짜임새가 있고, 비밀번호와 연상되는 힌트를 알아내는 난이도가 꽤 높아 호불호가 갈린다.

하지만 정해진 스토리, 단서를 따라가야 결말이 나오기때문에 하나의 단서를 찾지 못하거나 해결하지 못하여 막히는 등 추리에 대한 자유도가 떨어질 수 있다.

◇ Uncover the Smoking gun

CHATGPT 를 이용한 NPC(로봇)를 심문하여 살인사건의 범인을 찾는 추리게임.

기존의 추리게임에 비해 자유도가 높고, 사건과 다른 질문에도 재미있게 반응을 해준다. 중간중간 CHATGPT 의 답변이 엉뚱할 때가 있는데 이에대하여 시스템과부화 라는 컨셉을 이용하여 해결을 하였다. 최후에 몇 가지의 질문에 대한 답변을 통해 수사의 평가가 진행된다.

하지만 CHATGPT 의 대화를 할때의 딜레이가 존재하고, 가끔 중요한 단서가 엮인 질문에 엉뚱한 답변으로 게임 진행에 지장을 주는 경우가 있다.

  • 마케팅 전략 제시

◇ 온라인 스토어 유료 판매

PC게임을 즐기는 유저층의 대다수가 온라인스토어(STEAM , 에픽스토어 등)에서 구매한 경험이 있다. PC 온라인 스토어중 STEAM이 압도적인 유저층을 보유함 따라서 STEAM에 제품을 유료로 업로드 할 예정이다.

타겟층은 20~30대이며 생성형 AI에도 익숙한 세대인 만큼 거부감도 덜할 것으로 판단되어진다.

개발과제의 기대효과

기술적 기대효과

◇ 사용자들이 CHATGPT 와의 대화를 통해 CHATGPT에 대한 접근성을 높이고, 프롬프트의 질을 향상시킨다.

경제적, 사회적 기대 및 파급효과

◇ 사용자들이 게임을 통해 즐거움을 얻는다.
◇ 사용자들이 게임을 클리어 하기위한 논리적인 사고를 통해 문제해결 능력을 향상시킨다.

기술개발 일정 및 추진체계

개발 일정

민트망고 개발일정.png

구성원 및 추진체계

조직원도.png

ChatGPT 프롬프트 엔지니어링: 김동욱

Unity 게임 개발 : 홍석기, 송승우

기획 : 이석준

설계

설계사양

제품의 요구사항

◇ ChatGPT와의 대화를 통해 진행하는 추리게임의 개발을 목표로 한다. ◇ 플레이어는 게임속에서 직접 이동하며 증거와 증언을 수집한다. ◇ 기존의 선택지 형 대화가 아닌 능동적인 질문으로 게임을 진행한다.

설계 사양

민트망고 설계사양.png

개념설계안

가. 벤치마킹
◇ Uncover the Smoking Gun

- chatgpt를 추리게임에 접목한 게임이다.

- 아직 데모버전으로 정식 출시가 아니다.

- 게임 구조

●맵을 돌아다니며 증거물과 텍스트를 읽어 사건을 전말을 파악한다.

●파악한 증거로 NPC와의 대화를 통해 사건의 힌트를 얻는다.

●마지막에 사건의 전말에 대한 질문에 올바른 답을 입력할 경우 게임을 클리어하게 된다.

- 문제 해결 방식

1. GPT의 불완정성

CHATGPT는 매번 다른 답변, 가끔은 엉뚱한 답변이 나오기 때문에 이 때 게임 진행이 막혀버리면 사용자에게 불쾌감을 줄 수 있다.

1-1. 해결방안

- CHATGPT의 역할을 사용자의 시간의 단축 혹은 사건의 구체화 정도로 설정하여, 만약 GPT에게 아무런 유용한 정보를 얻지 못하더라도 증거 수집을 통해 우회하여 사건을 해결할 수 있다.

- NPC를 로봇으로 설정하고, '과부하'라는 컨셉을 부여해 사용자에게 GPT가 엉뚱한 소리를 해도 납득할 만한 게임적 장치를 설정한다.

2. GPT의 일관성

- CHATGPT가 사용자에게 대답하는 어투와 방식이 항상 비슷하기 때문에 NPC가 아무리 많아도 지루하다는 느낌을 줄 수 있다.

2-1. 해결방안

- 프롬프트를 적절하게 조절하여 각 NPC마다 다른 말투가 나오도록 설정한다.

- NPC마다 알고있는 정보를 다르게 하여 말을 거는 대상에 따라 적절한 정보를 얻을 수 있도록 유도한다.


◇ The Painscreek Killings

- 마을을 돌아다니며 증거를 수집하고 사건을 해결한다.

- 게임 구조

●맵을 돌아다니며 증거를 수집하여 사건을 해결한다.

●얻은 증거를 통해 퍼즐을 해결하는 빈도가 많다.

●증거를 얻지 못한다면 진행이 막히게 된다.

- 문제 해결 방식

1. 퍼즐의 일관성

숫자를 입력하는 자물쇠, 열쇠를 이용하는 자물쇠 두가지가 대부분의 퍼즐이다. 숫자를 입력하는 자물쇠의 경우 날짜에 관련한 숫자를 입력한다면 외국게임 이기 때문에 월/일/년 순으로 입력해야 하며 증거가 2000년 1월 2일 이라면 010200 이 답이어야 하지만, 122000, 1200 등 답의 일관성이 없어 답을 알아도 자물쇠를 풀지 못하는 경우가 발생한다.

1-1. 해결방안

- 이러한 증거품에 대한 일관성을 지키며, 튜토리얼 을 통해 답을 알아도 퍼즐을 풀지 못하는 경우를 줄인다.

- 메모장 기능을 이용하여 언제, 어떻게 얻은 증거인지 메모할 수 있도록 한다.


2. 진행 방식

퀘스트, 가이드가 없으며, 일기장, 편지, 신문기사 등 자신이 찾은 증거를 이용하여 직접 스토리를 알아가도록 유도한다. 엔딩 후에 놓친 증거. 스토리 설명이 없기 때문에 궁금증이 남는다. 또한 가이드가 없기 때문에 하나의 증거에 막히거나, 잘 찾지 못해 진행이 막히는 일이 발생한다.


2-1. 해결

- GPT API 를 이용한 NPC 와의 대화를 통해 스토리의 진행에 대한 가이드가 가능하다.

- 플레이어가 직접 증거품을 통해 스토리를 알아가도록 하고, 엔딩 후에 스토리 설명을 보여주도록 한다.


나. 기능 설계
◇ 증거품 상호작용 : 증거품을 클릭했을 때 앞으로 가져오고 증거품을 돌려볼 수 있다.

1. 현재 오브젝트의 위치를 저장하고, 카메라 앞의 위치로 물체의 위치를 변경시킨다.

2. 마우스의 좌클릭입력을 받고 드래그하여 물체의 회전에 변화를 준다.

3. 마우스 휠 입력에 따라 물체를 확대, 축소 시킨다.

4. Q를 눌러 인벤토리로 증거품을 가져온다.


◇ NPC 상호작용 : NPC를 클릭했을 때 대화창을 열고 NPC 와 대화를 한다.

물체를 클릭했을 때 NPC태그를 가진 물체면 대화창을 활성화 시킨다.

InputField를 통해 질문을 입력받는다.

입력받은 질문을 ChatGPT API를 통해 답변을 받는다.

받은 답변을 Text를 통해 UI에 보여준다


◇ 인벤토리 상호작용 : 인벤토리를 열고 가지고있는 정보를 확인한다.

I를 눌렀을 때 인벤토리를 활성화 시킨다.

인벤토리에 가지고있는 증거를 클릭하여 증거품이 가지고있는 정보를 확인한다.


◇ 설정 상호작용 : 설정창을 열고 설정을 조절한다.

ESC를 눌러 설정창을 띄운다.

볼륨, 마우스 감도, 해상도와 같은 기능을 제어한다.


◇ 결과 제출 : 결과를 제출하는 창을 띄우고 결과를 제출한다.

Z를 눌러 결과를 제출하는 창을 띄운다.

가지고있는 아이템들을 클릭하여 제출한다.

제출하기 버튼을 클릭하여 결과를 제출한다.


다. UI 별 상세 설명

1. 시작 화면

게임 시작과 종료, 설정 화면, 크레딧 화면에 진입할 수 있다.


2-a. 게임 진행 : 메인 화면

①게임은 1인칭 시점으로 진행.

②wasd로 이동하고 마우스로 시점 변경이 가능하다.

③가운데에 조준점이 있고 그 위에 대상(NPC, 증거품 등)을 올린 뒤 E를 눌러 상호작용 할 수 있다.

④좌측 하단에는 게임상의 시간과 날짜가 표시된다.

⑤우측 상단에는 미니맵이 존재하여 현재 위치를 보여준다.

⑥I를 눌러 증거 확인으로 진입한다.


2-b. 게임 진행 : 증거 확인

①좌측에는 증거품의 사진과 상세 설명 등이 적혀있다.

②우측에는 증거품의 목록이 아이콘으로 표시된다.

③우측 상단의 탭을 통해 증거와 인물 정보를 구분하여 볼 수 있다.

④각 증거나 인물을 클릭 시 내용을 확인할 수 있다.


2-c. 게임 진행 : NPC 대화

①시점이 NPC와 마주보는 형태로 변경된다.

②하단에 대화창이 나온다.

③좌측 상단에 대화 종료와 증거 확인 버튼이 있다.


3. 일시정지

①게임이 중지된다.

②재개, 도움말, 설정, 게임종료 버튼이 있다.


4. 설정

①바 형태의 UI를 통해 감마와 사운드 조절을 할 수 있다.

②마우스 조작 반전, 키설정 등을 변경할 수 있다.


5. 도움말

①캐릭터의 조작법을 알려준다.

②각 기능마다 최초 사용 시 그 사용법을 알려주기 위한 팝업이 뜨고, 게임이 일시정지 된다. 여기서는 그 팝업을 모아 볼 수 있다.


6. 지도

①메인 화면에서 M으로 진입한다.

②화면 전체를 가리지 않는 수준에서 플레이 공간 전체를 볼 수 있다.


7-a. 결과 제출 : 증거와 인물 제시

①2-b 증거 확인과 유사한 화면이 등장한다.

②우측 상단의 인물/증거 탭은 비활성화된다.

③좌측에는 결과를 판정하는 인물이 등장한다.

④우측의 증거품 아이콘을 클릭하여 보여줄 증거품을 선정한다.

⑤증거품 제출 시 탭이 인물 탭으로 변경되고 범인을 제시하도록 한다.


7-b. 결과 제출 : 결과 확인

①제시한 결과가 맞는지의 여부를 알려준다.

②이후 시작화면, 크레딧, 게임종료로 진입할 수 있다.

이론적 계산 및 시뮬레이션

◇ 기존 ChatGPT API를 활용한 몇 개의 게임을 찾아본 결과 프롬프트의 설정에 따라 비교적 상황, 배경에 따른 적절한 대답을 하는 것을 볼 수 있었고, 심지어는 게임과는 관련없는 주제에 대해 질문을 해도 자연스러운 대답을 출력했다.

◇ 무료로 제공되는 ChatGPT 3.5에게 배경과 상황, 인물의 성격 등을 설정하고 대화했을 때, 플레이어의 태도에 따른 어조의 변화 등이 반영되는 것을 볼 수 있었다.

◇ 하지만 가끔 모르는 내용에 대해 이상한 대답이 나온다거나, 설정한 것과 다른 양상의 대답이 나오기도 했다.

◇ 따라서 실제 API를 이용하여 프롬프트를 전달할 때에는 여러 상황에 대해 대처할 수 있도록 자세하게 묘사하는 것이 중요할 것이라고 예상한다.

상세설계 내용

◇ 유즈케이스 다이어그램

◇ 시퀀스 다이어그램

◇ 클래스 다이어그램

결과 및 평가

완료 작품의 소개

프로토타입 사진 혹은 작동 장면

내용

포스터

내용

관련사업비 내역서

민트망고 개발사업비.png

완료작품의 평가

내용

향후계획

개발 인원 중 그래픽 전문 인력이 없어 UI나 그래픽, UX 환경이 많이 부족하다. 플레이어의 좋은 UI/UX경험을 제공할 목적으로 개선할 필요가 있다.

미흡한 부분 및 버그, 피드백 개선사항 중 우선순위가 높은 순서대로 추가로 수정 및 개발한다.
기존 계획에서 일정 문제로 진행하지 못한 온라인스토어 출시를 부족한 점을 보완하여 진행할 예정. 유력 플랫폼으로는 Steam.
여건이 된다면, 작성된 코드 및 프롬프트를 바탕으로 다른 맵에 대한 스토리를 새로 구성하여 후속작 혹은 추가 컨텐츠(DLC)를 개발할 의지가 있다.

특허 출원 내용

내용