Search

KR-20260061683-A - 시뮬레이션 게임에 정규분포와 및 유전알고리즘을 이용한 캐릭터의 생성 및 성장 방법

KR20260061683AKR 20260061683 AKR20260061683 AKR 20260061683AKR-20260061683-A

Abstract

시뮬레이션 게임에서의 현실성은 사용자 몰입도를 높이는 중요한 요소이다. 기존의 이산적 확률 시스템은 비자연스럽고, 모든 요소에 대해 일일이 확률을 지정해야 하는 번거로움이 있다. 이러한 문제를 해결하기 위해 정규분포 혹은 다른 확률분포를 이용하여 보다 자연스럽고 현실적인 시스템을 구현하는 과정을 설계하고, 제안된 시스템을 구현하였다. 상기와 같은 발명의 구성에 의하여 인생 시뮬레이션 게임에 있어서, 캐릭터의 생성을 매우 다양하게 지원함으로써 사용자가 가상공간에서 다양한 캐릭터와 게임을 하면서, 교감하고, 배우고 즐길 수 있는 효과가 있는 수단을 제공한다.

Inventors

  • 원구환
  • 서지웅

Assignees

  • 한남대학교 산학협력단

Dates

Publication Date
20260506
Application Date
20241028

Claims (4)

  1. 게임에서 필요한 캐릭터의 특성을 설정하는 캐릭터 특성설정단계; 및 상기 특성설정단계에서 설정된 캐릭터 특성은 평균과 표준편차로 정의되며, N(100,15)와 같이 평균100, 표준편차 15와 같이 정의 되는 것을 특징으로 하는 시뮬레이션 게임에 정규분포를 이용하여 캐릭터를 생성하는 방법.
  2. 제1항에 있어서, 상기 캐릭터의 특성은 키, IQ, 인종, 성별, 감성, 교양지식, 과학지식, 언어능력, 달리기 속도, 높이뛰기 높이, 몸무게, 나이를 포함하는 것을 특징으로 하는 시뮬레이션 게임에 정규분포를 이용하여 캐릭터를 생성하는 방법.
  3. 제2항에 있어서, 상기 캐릭터의 특성 중 인종, 성별, 나이 중 어느 하나 이상은 사용자가 선택할 수 있는 것을 특징으로 하는 시뮬레이션 게임에 정규분포를 이용하여 캐릭터를 생성하는 방법.
  4. 제3항에 있어서, 상기 캐릭터의 특성 중 감성, 교양, 과학지식 및 언어능력 등의 특징은 상기 평균과 표준편차로 표시 되지만, 이를 정규분포의 확률로 환산하여 상위 몇 % 값으로 설정되는 것을 특징으로 하는 시뮬레이션 게임에 정규분포를 이용하여 캐릭터를 생성하는 방법.

Description

시뮬레이션 게임에 정규분포와 및 유전알고리즘을 이용한 캐릭터의 생성 및 성장 방법{.} 인생 시뮬레이션 게임의 캐릭터 생성 기술에 관한 것이다. 더욱 자세하게는 캐릭터의 능력치나 특성 등이 인위적이거나 부자연스러운 기존의 생성방식을 자연스럽게 생성하고자 하는 기술에 관한 것이다. 본 발명의 출원 이전의 선행기술로 게임 프로그램의 가상 캐릭터 생성 장치 및 방법에 관한 기술이 개시되어 있다. 이 기술에서는 가상 캐릭터 생성 장치는 적어도 하나의 유저(User)의 단말기로부터 상기 적어도 하나의 유저에 의해 동작하는 각각의 유저 캐릭터 중에서 선택된 제1 유저 캐릭터에 대한 입력을 수신하는 I/O 인터페이스, 상기 제1 유저 캐릭터의 입력을 기초로 게임 로그(Log)를 저장하는 메모리 및 프로세서를 포함하고, 상기 프로세서는, 제2 서버의 접속자 수가 임계값 미만인 경우, 상기 제1 유저 캐릭터가 속한 제1 서버와 상이한 제2 서버를 선택하고, 상기 제2 서버에 가상 캐릭터를 생성하고, 상기 게임 로그를 이용하여 상기 가상 캐릭터를 자동으로 조작하는 구성이 개시되어 있다. 또 다른 선행기술로 시뮬레이션 내의 지속적 캐릭터 인물들을 제공하기 위한 시스템 및 방법에 관한 기술이 개시되어 있다. 이 기술은 온라인 컴퓨터 게임에서 논-플레이어 캐릭터의 플레이어 캐릭터들에 대한 반응들을 관리하는 것과 같이 시뮬레이션 내의 디지털 엔티티의 하나 이상의 플레이어와의 시간에 따른 상호작용을 반영하는 반응을 관리하기 위한 기술을 구현하는 장치들 및 방법에 관한 구성이 개시되어 있다. 도 1은 본 발명의 캐릭터 특성을 생성하기 위해 사용하는 스탯을 생성하는 의사 코드를 도시하고 있다. 도 2는 본 발명의 캐릭터 특성을 생성하기 위해 정규분포에서 특정 값의 상위 퍼센트 계산을 위한 의사 코드를 도시하고 있다. 도 3은 본 발명의 캐릭터 특성을 생성하기 위해 정규분포 값을 특정 값으로 변환하는 방법을 도시하고 있다. 도 4는 본 발명의 캐릭터 특성을 생성하기 특정 능력치가 정규 분포에서 상위 몇 %에 위치하는지 계산하는 의사코드를 도시하고 있다. 도 5는 본 출원 발명의 캐릭터의 특성 값이 게임 중에 설정된 이상적인 범위에 얼마나 가까운지를 확률로 계산하는 의사코드를 도시하고 있다. 도 6은 본 출원 발명의 캐릭터의 특성을 부모 캐릭터로부터 가져오는 방법을 의사코드로 도시하고 있다. 본 출원 발명의 작용효과를 도면을 활용하여 설명하면 다음과 같다. 시뮬레이션 게임에서 현실감은 플레이어의 몰입도와 게임의 전반적인 경험에 중요한 영향을 미친다. 현실감 높은 게임 시스템은 플레이어에게 더 깊은 참여를 유도하며, 게임의 재미와 지속성을 크게 향상시킨다. 그러나 기존의 이산적 확률 기반 시스템은 이러한 현실성을 구현하는 데 한계가 있다. 특히, 게임 캐릭터의 능력치나 특성, 아이템의 드롭률 등 다양한 요소를 비연속적인 방식으로 설정하다 보면, 인위적이고 비자연스러운 결과가 도출될 수 있다. 이는 게임의 복잡성이 증가할수록 더 큰 문제로 이어지며, 플레이어의 몰입을 저해하는 요소로 작용할 수 있다. 특히, 인생 시뮬레이션 게임에서는 정규분포와 같은 확률분포를 활용한 캐릭터 생성 및 유전 시스템의 중요성이 더욱 두드러진다. 이러한 게임들은 플레이어가 가상의 인생을 살아가며 다양한 결정을 내리고, 그에 따른 결과를 경험하도록 설계되어 있다. 예를 들어, 플레이어가 선택한 부모 캐릭터의 유전적 특성이 자녀 캐릭터에게 자연스럽게 이어지는 방식은 게임의 깊이를 더하고, 예측 불가능한 다양한 상황을 만들어낸다. 정규분포를 활용하면, 이 과정에서 대부분의 자녀가 평균적인 특성을 물려받지만, 드물게 뛰어나거나 열등한 특성을 지닌 캐릭터도 등장하게 되어, 현실에서와 같은 변이와 다양성을 효과적으로 반영할 수 있다. 본 출원 발명의 주요 목적은 정규분포와 같은 확률분포를 활용하여 인생 시뮬레이션 게임에서 현실감 높은 캐릭터 생성 및 유전 시스템을 구현하는 것이다. 이를 통해 게임 내에서 발생하는 다양한 상황들이 보다 자연스럽고 현실감 있게 표현될 수 있도록 하며, 플레이어에게 더 깊이 있는 게임 경험을 제공하고자 한다. 구체적으로는, 기존의 이산적 확률 기반 시스템이 가지고 있는 비자연스러운 요소들을 개선하고, 캐릭터의 특성 및 유전적 변이가 현실 세계에서 관찰되는 현상과 유사하게 나타나도록 하는 알고리즘을 개발하는 것이 목표이다. 또한, 본 연구에서는 제안된 시스템의 성능을 기존 연구들과 비교·분석함으로써, 새로운 알고리즘의 우수성과 개선점을 입증하고자 한다. 이를 통해, 인생 시뮬레이션 게임뿐만 아니라 다른 장르의 게임 및 시뮬레이팅 소프트웨어에서도 적용 가능한 확장성을 탐구하며, 게임 개발에 있어 새로운 기준을 제시하는 것을 목표로 한다. 본 출원 발명에서는 인생 시뮬레이션 게임에서 현실적인 캐릭터 생성과 유전 시스템을 구현하기 위해 다양한 방법론을 적용하였다. 지능지수(IQ), 장(Height)과 같은 현실 기반의 통계 자료는 이미 널리 알려져 있으며, 이를 바탕으로 게임 내에서 캐릭터의 해당 특성들을 정규분포를 활용해 자연스럽게 생성할 수 있다. 예를 들어, 키는 평균값이 174cm, 표준편차가 6cm인 정규분포 N(174,6) 로 모델링할 수 있다. 이러한 현실적인 통계 자료는 게임 내 캐릭터 생성에서 신뢰할 수 있는 기준점을 제공한다. 그러나, 감성적 능력이나 과학적 사고력, 언어 능력 등과 같이 구체적인 통계가 존재하지 않는 특성들의 경우, 본 출원 발명에서는 상대적 판단기준을 활용하는 방법론을 채택하였다. 사람의 모든 특성에 대한 평가와 판단은 본질적으로 상대적이다. 예를 들어, 누군가를 "키가 크다"거나 "똑똑하다"고 평가할 때, 이는 해당 인물이 다른 사람들과 비교되었을 때의 상대적인 위치에 의해 결정된다. 이러한 상대적 특성은 평균적인 기준 값이나 다른 캐릭터와의 비교를 통해 정의될 수 있다. 따라서, 본 연구에서는 통계적으로 밝혀지지 않은 임의의 스탯에 대해, 임의로 설정된 값을 기준으로 상대적 비교를 통해 캐릭터의 해당 특성을 평가하고, 그 높고 낮음을 판단하는 시스템을 개발하였다. 이는 임의의 특성도 정규분포의 원리를 적용하여 모델링할 수 있게 해주며, 궁극적으로 게임 내에서 더욱 자연스럽고 다양성이 반영된 캐릭터를 생성할 수 있도록 한다. 기존의 캐릭터 특성을 생성하는 방식은 랜덤 생성 방식, 보정 랜점 생성 방식 및 유전알고리즘을 사용하여 왔다. 이들 방식을 잠시 살펴보면 랜덤 생성 방식은 기존 게임에서 캐릭터를 생성할 때, 주로 사용되던 방식 중 하나는 랜덤 생성 방식이다. 이 방식은 캐릭터의 특정 능력치에 대해 최소 값과 최대 값을 설정한 후, 해당 범위 내에서 임의의 수치를 선택하여 캐릭터를 생성하는 방법이다. 이 방식은 캐릭터 생성의 기본적인 접근법으로, 단순하다는 장점이 있으나 캐릭터의 역할이나 임무, 특성을 충분히 반영하지 못하는 한계가 있다. 두 번째로 보정 랜덤 생성 방식은 기존의 랜덤 생성 방식에서 발생하는 단점을 보완하기 위해 개발된 방법이다. 이 방식에서는 보정 연산을 통해 캐릭터의 능력치를 조정한다. 보정 연산의 방법으로는 '보정 수치를 이용한 증감 연산'과 '연산식을 활용한 보정 연산' 등이 있다. 그러나 보정 랜덤 생성 방식은 기획자가 설정한 보정 연산의 설계 방식에 따라 결과가 크게 달라지므로, 기획자의 역량에 크게 의존하는 한계를 가지고 있다. 마지막으로 유전 알고리즘은 생물 집단의 진화 과정을 모방한 공학적 모델로서, 최적화 문제를 해결하는 근사 해법 중 하나이다. 이 알고리즘은 다윈의 진화론을 기초로 하여 생물의 진화 과정을 간략화한 것이 특징이다. 유전 알고리즘은 일반적으로 1) 개체의 모집단 정의, 2) 적합도(Fitness)에 따른 선택 과정, 3) 자손을 생성하기 위한 교차(Crossover), 4) 새로운 후손을 생성하기 위한 돌연변이(Mutation) 단계를 거쳐 최적의 해를 탐색한다. 유전 알고리즘은 적합도가 높은 부모를 선택하여 교배를 통해 다음 세대에 더 나은 유전자를 전달하는 것을 목표로 한다. 이러한 과정을 반복함으로써 환경에 가장 잘 적응한 개체가 살아남게 되며, 이 과정에서 지역 최적 해에 빠지는 것을 막기 위해 돌연변이 단계를 거치기도 한다. 유전 알고리즘은 해결이 어려운 문제에서 뛰어난 성능을 발휘하는 알고리즘으로, 반드시 최적의 해를 찾아야 하는 경우가 아닐 때 매우 유용한 방법이다. 현재 유전 알고리즘을 통한 게임 연구는 주로 캐릭터의 행동 패턴이나 게임 밸런스 디자인 분야에서 이루어지고 있다. 예를 들어, 김지민(2017)은 유전 알고리즘을 이용하여 플레이어의 행동 패턴에 적응하는 몬스터를 생성하는 기법에 대해 연구하였으나, 전반적으로 캐릭터의 생성이나 성장에 관한 연구는 아직 미흡한 실정이다. 이러한 상기와 같은 문제와 한계를 극복하기 위한 본 출원 발명의 기술적 특징은 다음과 같다. 인간의 스탯과 각 능력치의 "높고 낮음"은 상대적인 개념에 불과하다. 예를 들어, 키와 IQ 같은 특성은 특정 사회나 문화에서 높은 것으로 간주될 수 있지만, 다른 기준에서는 낮거나 평균 이하로 평가될 수 있다. 예를 들어, 대한민국에서 180cm의 키는 비교적 큰 키로 간주되지만, 노르웨이와 같은 국가에서는 평균보다 작은 키로 평가될 수 있다. 이와 같은 상대성은 단지 키와 IQ에만 국한되지 않는다. 도량형(예: cm, m, km)과 같은 모든 측정 단위는 특정 기준 값을 설정하고, 그 기준값에 비례하여 특정 값의 크기나 중량이 결정된다. 이러한 상대적 평가의 개념은 다양한 인간 특성에도 적용될 수 있다. 따라서 본 출원 발명에서는 인간의 스탯을 상대적인 개념으로 정의하며, 이를 평균과 표준편차를 기반으로 해석하는 이론적 기반을 제시하고자 한다. 이를 위해, 편의상 어느 정도 표준화된 값이며 사회적, 문화적으로 통용되는 지표인 IQ 값을 도량형으로 사용하여 스탯을 설계한다. 모든 스탯들은 기본적으로 N(100,15)N(100, 15)N(100,15)의 정규분포를 따른다고 가정하며, 특정 개체가 보유한 스탯은 이 정규분포를 기반으로 다른 방식으로 표현될 수 있다. 예를 들어, 키의 경우 특정 개체의 키 값이 N(100,15)의 정규분포를 따를 때, A