KR100718334B1 - 인공지능기법을 이용한 사용자 상호작용 게임 난이도조절방법 - Google Patents

인공지능기법을 이용한 사용자 상호작용 게임 난이도조절방법 Download PDF

Info

Publication number
KR100718334B1
KR100718334B1 KR1020040068724A KR20040068724A KR100718334B1 KR 100718334 B1 KR100718334 B1 KR 100718334B1 KR 1020040068724 A KR1020040068724 A KR 1020040068724A KR 20040068724 A KR20040068724 A KR 20040068724A KR 100718334 B1 KR100718334 B1 KR 100718334B1
Authority
KR
South Korea
Prior art keywords
game
difficulty
user
generation
initial
Prior art date
Application number
KR1020040068724A
Other languages
English (en)
Other versions
KR20060020004A (ko
Inventor
엄상원
김대현
김태용
최종수
Original Assignee
중앙대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 중앙대학교 산학협력단 filed Critical 중앙대학교 산학협력단
Priority to KR1020040068724A priority Critical patent/KR100718334B1/ko
Publication of KR20060020004A publication Critical patent/KR20060020004A/ko
Application granted granted Critical
Publication of KR100718334B1 publication Critical patent/KR100718334B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F11/00Game accessories of general use, e.g. score counters, boxes
    • A63F11/0074Game concepts, rules or strategies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/12Computing arrangements based on biological models using genetic models
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F11/00Game accessories of general use, e.g. score counters, boxes
    • A63F11/0074Game concepts, rules or strategies
    • A63F2011/0076Game concepts, rules or strategies with means for changing the level of difficulty

Abstract

본 발명은 전자 정보 기술에 관한 것으로, 특히 게임 개발 분야에 관한 것이며, 더 자세히는 인공지능기법을 이용한 사용자 상호작용 게임 난이도 조절방법에 관한 것이다. 본 발명은 사용자의 게임 플레이 숙련도에 따라 효과적인 게임의 난이도 조절이 가능한 사용자 상호작용 게임 난이도 조절방법을 제공하는데 그 목적이 있다. 본 발명에서는 인공지능기법의 하나인 유전자 알고리즘(Genetic Algorithm)을 이용하여 게임을 진행하는 사용자의 성향 및 게임에 대한 적응도를 판단하고 그에 따라 실시간으로 사용자의 수준에 맞도록 게임의 난이도를 조절함으로써, 사용자 친화적으로 게임을 개발하여 초보자에게는 쉬운 난이도를, 숙련자에게는 보다 어려운 난이도를 제공할 수 있도록 한다. 이 경우, 사용자의 흥미를 높여 게임의 라이프 사이클 연장을 기대할 수 있다.
게임, 난이도 조절, 인공지능기법, 사용자 상호작용, 유전자 알고리즘

Description

인공지능기법을 이용한 사용자 상호작용 게임 난이도 조절방법{GAME DIFFICULTY CONTROL METHOD FOR USER INTERACTING USING ARTIFICIAL INTELLIGENCE TECHNIQUE}
도 1은 본 발명의 일 실시예에 따른 인공지능기법을 이용한 사용자 상호작용 게임 난이도 조절 과정을 나타낸 순서도.
도 2는 테트리스 게임에서 발생되는 조각의 순서를 예시한 도면.
도 3은 테트리스 게임보드를 예시한 도면.
도 4는 적합도에 따른 B/T(조각 발생당 빈 블록의 수)의 그래프.
도 5a는 본 발명을 적용하여 무작위 사용자를 대상으로 한 실험에서, 사용자가 제거한 라인 수에 대한 결과를 나타낸 그래프.
도 5b는 본 발명을 적용하여 무작위 사용자를 대상으로 한 실험에서, 사용자가 플레이 하는 동안 발생한 총 조각의 수를 나타낸 그래프.
도 6a는 본 발명을 적용하여 초보 그룹과 숙련 그룹을 대상으로 한 실험에서, 사용자가 제거한 라인 수를 나타낸 그래프.
도 6b는 본 발명을 적용하여 초보 그룹과 숙련 그룹을 대상으로 한 실험에서, 사용자가 플레이 하는 동안 발생한 총 조각의 수를 나타낸 그래프.
도 7은 본 발명을 적용하여 돌연변이율을 변화시킨 실험에서, 사용자가 플레이 하는 동안 발생한 총 조각의 수를 나타낸 그래프.
본 발명은 전자 정보 기술에 관한 것으로, 특히 게임 개발 분야에 관한 것이며, 더 자세히는 인공지능기법을 이용한 사용자 상호작용 게임 난이도 조절방법에 관한 것이다.
최근 규모면에서의 급격한 성장으로 각광을 받고 있는 게임산업은 고화질 그래픽과 네트워킹 개선을 위한 연구에 그 주안점을 두고 있다. 고화질 그래픽의 경우 처리능력이나 성능이 비약적으로 발전하여 이제는 기술 발전의 한계에 다다른 것으로 보여짐에 따라, 게임에 있어 또 하나의 중요 요소인 게임의 네트워킹에 관심이 모아지고 있다.
현재 대부분의 청장년들은 상당히 게임에 익숙해 있으며, 게임의 라이프 사이클(Life cycle)은 점점 더 짧아져 가고 있는 실정이다. 이는 통상적으로 사용자가 게임에 쉽게 익숙해지면 보다 어려운 상대를 원하게 되지만, 게임에서는 사용자의 게임 숙련 정도를 고려하지 않은 채 기저장된 난이도 시나리오에 따라 일률적으로 조절된 난이도를 제공함으로써, 게임에 익숙한 사용자에게는 게임의 재미를 반감시키는데 기인하고 있다.
이러한 게임의 라이프 사이클 축소를 보완하기 위하여 게임 개발 단계에서 인공지능기법이 응용되고 있다. 그러나, 종래에 게임에 적용된 인공지능기법은 대부분 보다 사실적인 상황을 설정하기 위해 사용되거나, 게임을 보다 실감나게 하기 위해 혹은 단순한 반복을 회피하기 위해 사용될 뿐, 인공지능기법이 게임 플레이(Game play)에 직접 관여하지는 않아 게임의 난이도를 효과적으로 조절하는데 기여하지는 못하고 있는 실정이다.
게임은 보다 쉽게 대중에게 다가갈 수 있어야 하며 보다 많은 사람들이 즐길 수 있는 방향으로 개발되어야 함에도, 기존의 게임의 난이도 조절의 방향은 사용자로 하여금 난해해 하는 방향으로만 진행되었기 때문에, 게임에 익숙하지 않은 사용자를 게임에서 소외시키거나 게임에 익숙해진 사용자는 곧 실증을 느끼는 결과를 초래하게 되었다. 또한 게임 개발자측면에서도 사용자의 게임 숙련도를 고려하여 숙련 정도에 따라 많은 시나리오를 작성하여 게임을 개발하여야 하므로, 난이도 조절에 많은 시간과 비용을 투자하여야만 하는 어려움이 따랐다.
본 발명은 상기와 같은 종래기술의 문제점을 해결하기 위하여 제안된 것으로, 사용자의 게임 플레이 숙련도에 따라 효과적인 게임의 난이도 조절이 가능한 사용자 상호작용 게임 난이도 조절방법을 제공하는데 그 목적이 있다.
상기의 기술적 과제를 달성하기 위한 본 발명의 일 측면에 따르면, 유전자 알고리즘을 이용하여 게임을 진행하는 사용자의 게임에 대한 적응도를 판단하는 단계와, 게임 종료 요구가 있기 전까지, 판단된 상기 사용자의 게임 적응도를 게임의 난이도에 적용하여 게임을 진행하는 단계를 포함하는 사용자 상호작용 게임 난이도 조절방법이 제공된다.
바람직하게, 상기 사용자의 게임에 대한 적응도를 판단하는 단계는, 초기 게임 난이도 설정을 위한 초기 유전자를 로딩하는 단계; 로딩된 상기 초기 유전자를 이용하여 초기 게임 난이도 조절 요소의 집합인 초기화 세대를 구성하는 단계; 구성된 세대를 적용하여 게임을 진행하는 단계; 및 게임을 진행하면서 적합도 함수에 따라 사용자의 적응도를 판단하는 단계를 포함한다.
바람직하게, 상기 사용자의 게임 적응도를 게임의 난이도에 적용하여 게임을 진행하는 단계는, 적응도 판단 결과에 응답하여 난이도 조절이 필요한지를 체크하는 단계; 적응도 판단 결과, 난이도 조절이 필요함에 따라 연산자를 적용하여 새로운 세대를 구성하는 단계; 및 상기 새로운 세대에 따라 게임의 난이도 조절을 위한 새로운 유전자를 로딩하는 단계를 포함한다.
바람직하게, 상기 사용자의 게임 적응도를 게임의 난이도에 적용하여 게임을 진행하는 단계는, 게임 종료 요구가 있는지를 체크하는 단계와, 체크 결과, 게임 종료 요구가 없음에 따라 상기 구성된 세대를 적용하여 게임을 진행하는 단계로 돌아가는 단계를 더 포함한다.
나아가, 상기 사용자의 게임 적응도를 게임의 난이도에 적용하여 게임을 진 행하는 단계는, 적응도 판단 결과, 난이도 조절이 필요하지 않음에 따라 게임 종료 요구가 있기 전까지 기존의 세대를 이용하여 적용하여 게임을 진행하는 단계를 더 포함한다.
한편, 본 발명의 다른 측면에 따르면, 게임을 실행하기 위한 프로세서를 구비한 시스템에, 초기 게임 난이도 설정을 위한 초기 유전자를 로딩하는 기능; 로딩된 상기 초기 유전자를 이용하여 초기 게임 난이도 조절 요소의 집합인 초기화 세대를 구성하는 기능; 구성된 세대를 적용하여 게임을 진행하는 기능; 게임을 진행하면서 적합도 함수에 따라 사용자의 적응도를 판단하는 기능; 적응도 판단 결과에 응답하여 난이도 조절이 필요한지를 체크하는 기능; 적응도 판단 결과, 난이도 조절이 필요함에 따라 연산자를 적용하여 새로운 세대를 구성하는 기능; 및 상기 새로운 세대에 따라 게임의 난이도 조절을 위한 새로운 유전자를 로딩하는 기능을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체가 제공된다.
본 발명에서는 인공지능기법의 하나인 유전자 알고리즘(Genetic Algorithm)을 이용하여 게임을 진행하는 사용자의 성향 및 게임에 대한 적응도를 판단하고 그에 따라 실시간으로 사용자의 수준에 맞도록 게임의 난이도를 조절함으로써, 사용자 친화적으로 게임을 개발하여 초보자에게는 쉬운 난이도를, 숙련자에게는 보다 어려운 난이도를 제공할 수 있도록 한다. 이 경우, 사용자의 흥미를 높여 게임의 라이프 사이클 연장을 기대할 수 있다.
이하, 본 발명이 속한 기술분야에서 통상의 지식을 가진 자가 본 발명을 보 다 용이하게 실시할 수 있도록 하기 위하여 본 발명의 바람직한 실시예를 소개하기로 한다.
도 1은 본 발명의 일 실시예에 따른 인공지능기법을 이용한 사용자 상호작용 게임 난이도 조절 과정을 나타낸 순서도이다.
도 1을 참조하면, 본 실시예에 따른 인공지능기법을 이용한 사용자 상호작용 게임 난이도 조절 과정은, 크게 유전자 알고리즘을 이용하여 게임을 진행하는 사용자의 게임에 대한 적응도를 판단하는 과정(A)과, 판단 결과에 따라 실시간으로 사용자의 수준에 맞도록 게임의 난이도를 조절하는 과정(B)을 포함한다.
이하, 게임 적응도 판단 과정(A)과 난이도 조절 과정(B)을 포함한 본 실시예에 따른 게임 난이도 조절 과정에 대해 보다 자세히 살펴본다.
우선, 초기에 게임의 난이도 설정을 위한 초기 유전자를 로딩하고(S10), 로딩된 초기 유전자를 이용하여 초기 게임 난이도 조절 요소의 집합인 초기화 세대를 구성한다(S11).
이어서, 구성된 초기화 세대를 적용하여 게임을 진행하게 된다(S12). 이와 같이 게임을 진행함에 있어서 적합도 함수에 따라 사용자의 적응도를 판단한다(S13).
계속하여, 적응도 판단 결과에 응답하여 난이도 조절이 필요한지를 체크한다(S14).
만일, 적응도 판단 결과 난이도 조절이 필요한 경우에는 연산자를 적용하여 새로운 세대를 구성하고(S15), 새로운 세대에 따라 게임의 난이도 조절을 위한 새 로운 유전자를 로딩한다(S16).
이후, 게임 종료 요구가 있을 때까지 상기 게임 진행 단계(S12) 내지 새로운 유전자 로딩 단계(S16)를 반복적으로 수행하면서 게임을 진행한다. 즉, 게임 종료 요구가 있는지를 체크하여(S17) 게임 종료 요구가 없으면 게임 진행 단계(S12)로 돌아가고, 게임 종료 요구가 있으면 게임을 종료한다(S18).
한편, 적응도 판단(S14) 결과, 난이도 조절이 필요하지 않은 경우에는 새로운 세대 구성 단계(S15) 및 새로운 유전자 로딩 단계(S16)를 스킵한다.
본 발명에 적용된 유전자 알고리즘은 자연계의 유전에서 하나의 개체(Individual)가 적응하고자 하는 환경 즉, 해결하고자 하는 문제로 대변될 수 있는 적합도(Fitness)와, 그 환경에 적응하려는 개체, 즉 주어진 문제의 해가 될 후보인 유전자(Gene), 그 해 후보들의 집합인 세대(Generation)를 기본 구성으로 한다.
그리고, 유전자 알고리즘의 연산자로는 잘 적응한 해들은 살아남고 잘 적응 하지 못한 해들은 도태되도록 유도하는 선택(Selection), 높은 적합도로 선택되어진 부모에 의해서 혹은 유전되어질 가능성이 높은 주어진 모체에 의해서 향상된 해를 갖는 새로운 세대를 생산하는 재생산(Reproductions), 스팅 중에 무작위 위치를 선택하는 교배(Crossover), 임의적으로 발생하는 돌연변이(Mutation) 등이 있다.
유전자 알고리즘을 적용하여 게임의 난이도를 조절하는 경우, 유전자 알고리즘에서는 게임 중에서 적의 수가 증가하거나 게임의 속도가 증가하는 등 게임의 난이도 조절 요소를 유전자로 사용하고, 사용자가 얻은 점수나 게임 시간 등 게임에서의 사용자 적응도 평가 요소를 적합도 함수로 사용한다.
그리고, 유전자는 통상적으로 게임의 제작 초기에 어떤 요소를 통하여 전체적인 난이도를 조절할지가 결정되고, 상기 적합도 함수는 주로 게임의 기획자 혹은 제작자의 의도를 반영하여 결정된다
앞서 기술한 바와 같이, 본 발명에 따른 유전자 및 적합도 함수는 비행 슈팅 게임, 액션 게임, 롤플레잉 게임, 퍼즐 게임 등 대부분의 장르에 적용할 수 있는데, 각 장르별로 본 발명을 적용하는 예를 설명하면 다음과 같다.
먼저, 비행 슈팅 게임에서 게임의 난이도를 조절하는 요소는 적의 속도 혹 은 게임의 속도를 증가시키거나 적의 수를 증가시키는 것이므로, 대표적인 비행 슈팅 게임인 갤러그(Galag)의 경우 유전인자는 C=[속도, 미사일]이며, 유전자는 10 단위 시간당 유전인자의 변화가 되어 G(t) = {C0, C1, C2, ... , C9}로 나타내고, 적합도 함수는 일정 시간 동안 플레이어가 획득한 점수 변화량 혹은, 단위 시간당 적 개체수 변화량(적의 밀도)가 된다.
그 다음, 대표적인 액션 게임의 일종인 은행강도(Bank Panic)의 경우, 게임 중 방문객의 방문 순서가 정해져 있어 사용자가 영리하고 게임을 수 차례 반복한다면 방문객의 방문 순서를 외우게 되어 게임의 재미가 떨어지므로, 액션 게임의 유전인자는 3개의 문(Door)에 등장하는 등장인물(강도 혹은 손님) 즉, C = [Pl, Pc, Pr]이 되고, 유전자는 10 단위 시간당 유전인자의 변화가 되어 G(t) = {C0, C1, C2, ... , C9}로 나타내며, 적합도 함수는 일정 시간 동안 사용자가 획득한 점수 변화량 혹은, 방문한 등장인물 중 강도의 비율이 된다.
한편, 대표적인 롤플레잉 게임의 하나인 디아블로(Diablo)는 적이 특정의 스 테이지에서 일정한 수로 출현하는데, 이때 일정하게 제한된 수의 적이 있을 경우 그들이 근접해 있는 정도 즉, 적의 응집도에 따라 게임의 난이도가 달라질 수 있으므로, 롤플레잉 게임의 경우 유전인자는 없이, 유전자는 적 상호간의 평균 거리, 즉 적의 응집도가 되고, 적합도 함수는 단위시간당 플 레이어가 획득한 경험(점수)의 변화량 혹은 단위 시간당 적의 개체수 변화량이 된다.
마지막으로, 게임 역사상 가장 오래된 퍼즐 게임의 일종인 테트리스(Tetris) 의 경우, 게임 중에 등장하는 조각(Piece)들의 순열에 따라 사람마다 각기 어렵고 쉬워하는 정도를 달리하므로, 퍼즐 게임의 경우에도 유전인자는 없으며, 유전자는 각 조각들이 발생하는 순서가 되고, 적합도 함수는 이미 제거 라인(Cleared Line)을 고려한 전체의 빈 블록(Blank Block)의 밀도가 사용된다.
이하, 상기 각 장르의 게임 중에서 가장 명백하다고 생각되는 게임인 테트 리스에 본 발명을 적용한 예를 보다 자세히 설명하기로 한다.
테트리스는 난수함수를 통해 발생된 각 모양의 조각을 조합하여 라인을 많 이 생성할수록 점수를 획득하는 게임으로서, 발생되는 조각의 순서에 따라 게임의 난이도가 달라지므로, 도 2에 도시된 바와 같이 조각의 아래 부분의 놓이는 면이 평평(Plate)해야 평이한 조각의 순열이 된다.
여기서, 조각의 순열의 어려운 정도는 상당히 가변적이고 전적으로 상황과 사용자에 따라서 달라지게 되는데, 같은 사용자라 하더라도 숙련 정도에 따라서 매우 다르게 되므로, 본 발명에서는 유전인자로 발생되는 조각의 순열을 사용한다.
그리고, 본 발명에서는 사용자의 게임에 대한 적응도를 평가할 요소로, 이미 제거된 라인을 포함한 최종라인까지의 빈 블록의 밀도를 사용자의 적응도로 사용한다.
또한, 도 3에 도시된 바와 같이, 유전자는 앞으로 발생될 4개의 조각들의 순 열과 그 적응도로 인코딩하고, 한 세대는 8개의 인코딩된 유전자로 구성하며, 선택 방법은 개발자가 원하는 적응도 값에 근접한 적합도 값의 유전자를 2개 선택하는 것으로 한다.
따라서, 게임이 시작되면, 게임을 실행하기 위해 구동되는 모듈에서는 초기 에 게임의 난이도 설정을 위한 초기 유전자를 로딩하고(S10), 로딩된 초기 유전자를 이용하여 초기 게임 난이도 조절 요소의 집합인 초기화 세대를 구성한 후(S11), 구성된 초기화 세대를 적용하여 게임을 진행한다(S12).
일반적으로, 테트리스 게임은 도 3과 같이, 0∼6까지의 정수를 난수함수를 통해 발생시켜 그에 해당하는 조각을 발생시키는데, 적합도 함수는 다음의 수학식과 같으며, 이는 일정한 값을 나타낸다.
Figure 112004039189480-pat00001
여기서 'B'는 화면 상에 보여지는 빈 블록(Blank Block)의 수, 'C'는 이미 라인을 형성 하여 지워진 제거 라인의 수, 'L'은 현재 게임보드에 쌓여진 조각의 최종 라인수를 나타낸다.
상기 도 3에서, 블록과 조각은 테트리스의 게임보드를 구성하는 기본 단위가 되며, 전체 게임보드는 12*23개의 블록으로 구성되어 있다. 그리고, 조각의 발생회수를 'T'라고 할 경우, 상기 수학식 1을 사용하여 하기의 수학식 2와 같은 관계가 성립함을 알 수 있다.
Figure 112004039189480-pat00002
여기서, 'F'는 상수인 적합도 함수를 나타낸다.
도 4는 적합도에 따른 B/T(조각 발생당 빈 블록의 수)의 그래프로서, 적합도 함수가 고정되어 있으므로, B/T는 하나의 상수(C, Constant)로 수렴하게 된다.
따라서, 상기 그래프가 나타내는 테트리스 게임은 조각 발생 수당 빈 블록 의 수를 일정하게 유지하는 방향으로 진행하는 것임을 알 수 있으며, 해당 게임은 사용자가 게임을 하는 동안 발생된 블록의 수에 대하여 게임 보드 내의 빈 블록의 수를 일정하게 유지하는 방향으로 진행하게 된다.
그리고, 본 발명에서는 기존의 테트리스 게임에서 사용하던 난수 발생함수 인 'rand()'를 대치할 함수 'GA(I)'를 구현하여 조각을 발생시키며, 상기 함수 'GA(I)'의 입력 인자는 현재의 최종 라인(Last Lines), 제거 라인(Cleared Lines), 빈 블록(Blank Blocks)이며, 이것을 이용하여 적합도를 구하고 사용자 수준을 가늠하여 그에 해당하는 조각들을 출력하게 된다.
따라서, 게임의 진행 중 게임을 실행하기 위해 구동되는 모듈은, 적합도 함수에 따라 이미 제거된 라인을 포함한 최종라인까지의 빈 블록의 밀도를 기준으로 소정의 기준 밀도 이하에 해당하는지 여부로 사용자의 적응도를 판단하게 되며, 상기 판단 결과 난이도 조절이 필요한 경우 선택, 교배, 돌연변이 등의 연산자를 적용하여 사용자가 게임을 하는 동안 발생된 블록의 수에 대하여 게임 보드 내의 빈 블록의 수를 일정하게 유지하는 방향으로 새로운 세대를 구성한다. 그리고, 새로운 세대에 따라 게임 종료 요구가 있기까지 게임의 난이도 조절을 위한 새로운 유전자를 로딩하고 적용하여 게임을 진행한다.
그러면, 게임을 진행하기 위해 구동되는 모듈은 사용자의 수준에 맞는 유전자인 난이도 조절 요소를 이용하여 게임을 구현하게 되며, 이때 게임의 로직 부분에 상기 난이도 조절 요소를 삽입하여 게임의 진행 동안 지속적으로 사용자의 상태와 게임의 난이도를 조절하게 되므로, 기제작된 게임에도 적용 가능하다.
그리고, 상기 도 1에 나타난 바와 같이 유전자 알고리즘이 적용된 게임에서는 사용자가 게임 종료를 요구하기 전에는 별도의 게임 종료 조건이 존재하지 않는다.
이하에서는 본 발명이 적용된 게임에 대해 게임 숙련도가 다른 각 사용자를 대상으로 모의 실험을 수행한 결과를 설명하기로 한다.
모의 실험은 3가지 방법으로 나눠, 첫째는 무작위 사용자에 대한 실험으로 원본 게임과 본 발명을 적용한 게임의 결과를 비교한 실험, 둘째는 사용자를 초보 그룹과 숙련 그룹으로 나눠 결과의 차이를 비교한 실험, 마지막으로는 본 발명의 유전자 알고리즘의 성능을 좌우하는 요인 가운데 돌연 변이율을 변화시켜 실험을 진행한 것이다.
먼저, 무작위 사용자를 대상으로 한 실험의 경우, 무작위의 8명을 대상으로 원본 게임과 본 발명을 적용한 게임에 대하여 직접 게임을 진행하는 방식으로 진행하였는데, 실험에서 사용된 적합도 값은 발생된 블록의 수에 대해 3.8%와 5.7%의 비율로 빈 블록을 유지하도록 게임을 설계한 것이다.
도 5a는 본 발명을 적용하여 무작위 사용자를 대상으로 한 실험에서, 사용자가 제거한 라인 수에 대한 결과를 나타낸 그래프이며, 도 5b는 본 발명을 적용하여 무작위 사용자를 대상으로 한 실험에서, 사용자가 플레이 하는 동안 발생한 총 조각의 수를 나타낸 그래프이다.
도면에서 막대 그래프의 좌측은 원본 게임을 나타내고 중간과 우측은 각기 적합도가 3.8%, 5.7%인 게임에 대한 게임 결과를 나타낸 것으로, 사용자가 제거한 라인 수나 사용자가 플레이 하는 동안 발생한 총 조각의 수는 모두 사용자의 수준을 가늠할 척도로 사용 가능하다.
도 5a 및 도 5b의 각 그래프 모두에서 평균을 비교해 보면, 원본 게임에 비해 보다 낮아진 결과를 얻었으며 3.8% 보다는 5.7%의 적합도로 적용된 게임을 진행 할 때 사용자가 보다 어려워 하고 있음을 알 수 있다.
그리고, 두 그래프에서 우측의 분산을 보면, 유전자 알고리즘을 적용한 게임에 사용자 간의 분산이 점차 작아지는 것을 알 수 있는데, 이는 사용자 간의 실력 격차가 다소 줄어 들었음을 의미한다.
그리고, 분산의 결과를 통해 사용자의 수준은 특정의 난이도로 수렴되었으 며, 그 결과는 적합도에 의해 점차 낮아지는 방향으로 진행됨을 알 수 있다.
도 6a는 본 발명을 적용하여 초보 그룹과 숙련 그룹을 대상으로 한 실험에서, 사용자가 제거한 라인 수에 대한 결과를 나타낸 그래프이며, 도 6b는 본 발명을 적용하여 초보 그룹과 숙련 그룹을 대상으로 한 실험에서, 사용자가 플레이 하는 동안 발생한 총 조각의 수를 나타낸 그래프이다.
여기서, 원본 게임에 대하여 '사용자 A, B, C'는 제거 라인(Cleared Line)이 35개 미만이고 총 조각(Total Pieces)이 150개 미만인 사용자로 초보로 판단할 수 있는 사용자들이며, '사용자 D, E, F, G'는 제거 라인이 55개 이상, 총 조각이 200개 이상인 숙련 사용자이다.
두 그래프에서 총 조각에 대한 평균값을 보면 초보 그룹의 결과는 본 발명이 적용된 게임에서 서서히 증가하는 추세에 있으며, 숙련 그룹은 서서히 감소하는 추세에 있다는 것을 알 수 있다. 결과적으로, 5.7%의 적합도를 갖는 게임의 결과에서는, 초보 그룹과 숙련 그룹의 결과가 거의 비슷한 수치를 나타내고 있음을 볼 수 있다.
여기서, 각 그래프는 제거 라인과 총 조각의 두 관점에서 작성되었으나, 총 조각 보다는 제거 라인의 결과가 더 신뢰성이 있다. 왜냐하면, 제거 라인은 게임의 스코어와 직결되며 총 조각의 수는 플레이 시간과 관련이 있기 때문이다.
마지막으로, 유전자 알고리즘의 성능 좌우 인자 중 돌연변이율을 변화시킨 실험의 경우를 설명한다.
도 7은 본 발명을 적용하여 돌연변이율을 변화시킨 실험에서, 사용자가 플레이 하는 동안 발생한 총 조각의 수를 나타낸 그래프이다.
일반적 유전자 알고리즘에서 독립적으로 교배와 돌연변이 연산이 이루어지 는 것과는 구별되게, 본 발명의 유전자 알고리즘은 게임의 특성상 종료 조건이 없으며 교배와 돌연변이가 일정 비율로 수행되는 특징이 있다.
본 실험에서는 총 6명의 사용자를 대상으로 각각 5%, 10%, 그리고 15%의 비율로 돌연변이가 발생하도록 하였는데, 도 7에 도시된 바와 같이 총 조각 에 대한 평균에 있어서 10%의 결과 값이 가장 낮은 수치를 보이고 있는데, 이는 10%의 적합도의 경우가 가장 적합한 돌연변이율이라는 여타 논문의 결과를 확인하는 것이다.
본 발명의 기술 사상은 상기 바람직한 실시예에 따라 구체적으로 기술되었으나, 상기한 실시예는 그 설명을 위한 것이며 그 제한을 위한 것이 아님을 주의하여야 한다. 또한, 본 발명의 기술 분야의 통상의 전문가라면 본 발명의 기술 사상의 범위 내에서 다양한 실시예가 가능함을 이해할 수 있을 것이다.
예컨대, 전술한 실시예에서는 대표적인 퍼즐 게임이라 할 수 있는 테트리스를 일례로 들어 설명하였으나, 본 발명은 비행 슈팅 게임, 액션 게임, 롤플레잉 게 임 등 다른 장르의 게임에도 적용된다.
전술한 본 발명은 인공지능기법의 하나인 유전자 알고리즘을 이용하여, 게임을 진행하는 사용자의 성향 및 게임에 대한 적응도에 따라 실시간으로 사용자의 수준에 맞는 게임의 난이도를 조절함으로써, 사용자 친화적으로 게임을 개발하여 초보자에게는 쉬운 난이도를, 숙련자에게는 보다 어려운 난이도를 제공하고, 그에 따라 사용자에게 게임의 흥미를 증대시키는 효과가 있으며, 이로 인하여 게임의 라이프 사이클 증대를 기대할 수 있다.

Claims (6)

  1. 삭제
  2. 삭제
  3. 초기 게임 난이도 설정을 위한 초기 유전자를 로딩하는 단계;
    로딩된 상기 초기 유전자를 이용하여 초기 게임 난이도 조절 요소의 집합인 초기화 세대를 구성하는 단계;
    구성된 세대를 적용하여 게임을 진행하는 단계;
    게임을 진행하면서 적합도 함수에 따라 사용자(게임 수행자)의 적응도를 판단하는 단계;
    적응도 판단 결과에 응답하여 난이도 조절이 필요한지를 체크하는 단계;
    적응도 판단 결과, 난이도 조절이 필요함에 따라 연산자를 적용하여 새로운 세대를 구성하는 단계; 및
    상기 새로운 세대에 따라 게임의 난이도 조절을 위한 새로운 유전자를 로딩하는 단계
    를 포함하는 사용자 상호작용 게임 난이도 조절방법.
  4. 제3항에 있어서,
    상기 새로운 유전자를 로딩하는 단계 수행 후,
    게임 종료 요구가 있는지를 체크하는 단계와,
    체크 결과, 게임 종료 요구가 없음에 따라 상기 구성된 세대를 적용하여 게임을 진행하는 단계로 돌아가는 단계를 더 포함하는 것을 특징으로 하는 사용자 상호작용 게임 난이도 조절방법.
  5. 제3항에 있어서,
    상기 난이도 조절이 필요한지를 체크하는 단계 수행 후,
    적응도 판단 결과, 난이도 조절이 필요하지 않음에 따라 게임 종료 요구가 있기 전까지 기존의 세대를 이용하여 적용하여 게임을 진행하는 단계를 더 포함하는 것을 특징으로 하는 사용자 상호작용 게임 난이도 조절방법.
  6. 게임을 실행하기 위한 프로세서를 구비한 시스템에,
    초기 게임 난이도 설정을 위한 초기 유전자를 로딩하는 기능;
    로딩된 상기 초기 유전자를 이용하여 초기 게임 난이도 조절 요소의 집합인 초기화 세대를 구성하는 기능;
    구성된 세대를 적용하여 게임을 진행하는 기능;
    게임을 진행하면서 적합도 함수에 따라 사용자(게임 수행자)의 적응도를 판단하는 기능;
    적응도 판단 결과에 응답하여 난이도 조절이 필요한지를 체크하는 기능;
    적응도 판단 결과, 난이도 조절이 필요함에 따라 연산자를 적용하여 새로운 세대를 구성하는 기능; 및
    상기 새로운 세대에 따라 게임의 난이도 조절을 위한 새로운 유전자를 로딩하는 기능
    을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR1020040068724A 2004-08-30 2004-08-30 인공지능기법을 이용한 사용자 상호작용 게임 난이도조절방법 KR100718334B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020040068724A KR100718334B1 (ko) 2004-08-30 2004-08-30 인공지능기법을 이용한 사용자 상호작용 게임 난이도조절방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040068724A KR100718334B1 (ko) 2004-08-30 2004-08-30 인공지능기법을 이용한 사용자 상호작용 게임 난이도조절방법

Publications (2)

Publication Number Publication Date
KR20060020004A KR20060020004A (ko) 2006-03-06
KR100718334B1 true KR100718334B1 (ko) 2007-05-14

Family

ID=37127216

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040068724A KR100718334B1 (ko) 2004-08-30 2004-08-30 인공지능기법을 이용한 사용자 상호작용 게임 난이도조절방법

Country Status (1)

Country Link
KR (1) KR100718334B1 (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107694093A (zh) * 2017-10-26 2018-02-16 广州市雷军游乐设备有限公司 在游戏中控制道具模型抓取方法、装置、设备及存储介质
CN107866069A (zh) * 2016-09-27 2018-04-03 珠海格力智能装备有限公司 对弈难度等级的处理方法及装置
CN109453525A (zh) * 2018-11-07 2019-03-12 成都方德尔科技有限公司 一种基于沉浸式机器人的娱乐互动系统及方法
KR20220105513A (ko) * 2021-01-20 2022-07-27 동명대학교산학협력단 항해 시뮬레이션 제공시스템 및 방법
KR20230052631A (ko) 2021-10-13 2023-04-20 주식회사 피벗게임즈 퍼즐 게임의 사용자별 동적 난이도 적용 시스템

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100948738B1 (ko) * 2007-08-01 2010-03-22 중앙대학교 산학협력단 동적 난이도 게임 방법 및 그 시스템
KR101231798B1 (ko) * 2009-04-30 2013-02-08 한국전자통신연구원 게임 난이도 조절 장치 및 방법
US8348733B2 (en) 2009-12-21 2013-01-08 Electronics And Telecommunications Research Institute Apparatus and method for analyzing characteristic of game player in real time
KR101372207B1 (ko) * 2011-09-20 2014-03-14 주식회사 엔씨소프트 게임 난이도의 실시간 조절장치 및 방법
KR101265051B1 (ko) * 2012-05-30 2013-05-16 주식회사 쏘그웨어 게임 사용자 수준에 따른 npc ai제공방법
KR102487081B1 (ko) * 2017-11-17 2023-01-10 주식회사 넥슨코리아 게임에서 난이도를 결정하기 위한 방법, 장치, 및 컴퓨터 프로그램
KR102111857B1 (ko) * 2018-07-31 2020-05-15 한국과학기술원 인공지능 기반 게임 전략 유도 시스템 및 방법
KR102195471B1 (ko) * 2019-08-30 2020-12-28 주식회사 엔씨소프트 게임 난이도 결정 방법 및 장치

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020015907A (ko) * 2000-08-23 2002-03-02 정병렬 심장박동수에 따른 게임제어를 통한 체력증진방법 및 그시스템
KR20020017016A (ko) * 2000-08-28 2002-03-07 노치성 온라인 골프 게임
KR20040028081A (ko) * 2002-09-28 2004-04-03 주식회사 케이티 유전자 알고리즘에 있어서 효율적인 적응도 함수 계산을위한 데이터 분류 방법
KR20040070748A (ko) * 2003-02-04 2004-08-11 주식회사 안다미로 슈팅 게임기 및 이의 실행 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020015907A (ko) * 2000-08-23 2002-03-02 정병렬 심장박동수에 따른 게임제어를 통한 체력증진방법 및 그시스템
KR20020017016A (ko) * 2000-08-28 2002-03-07 노치성 온라인 골프 게임
KR20040028081A (ko) * 2002-09-28 2004-04-03 주식회사 케이티 유전자 알고리즘에 있어서 효율적인 적응도 함수 계산을위한 데이터 분류 방법
KR20040070748A (ko) * 2003-02-04 2004-08-11 주식회사 안다미로 슈팅 게임기 및 이의 실행 방법

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107866069A (zh) * 2016-09-27 2018-04-03 珠海格力智能装备有限公司 对弈难度等级的处理方法及装置
CN107694093A (zh) * 2017-10-26 2018-02-16 广州市雷军游乐设备有限公司 在游戏中控制道具模型抓取方法、装置、设备及存储介质
CN107694093B (zh) * 2017-10-26 2020-11-17 广州市雷军游乐设备有限公司 在游戏中控制道具模型抓取方法、装置、设备及存储介质
CN109453525A (zh) * 2018-11-07 2019-03-12 成都方德尔科技有限公司 一种基于沉浸式机器人的娱乐互动系统及方法
CN109453525B (zh) * 2018-11-07 2022-03-01 成都方德尔科技有限公司 一种基于沉浸式机器人的娱乐互动系统及方法
KR20220105513A (ko) * 2021-01-20 2022-07-27 동명대학교산학협력단 항해 시뮬레이션 제공시스템 및 방법
KR102594364B1 (ko) * 2021-01-20 2023-10-25 동명대학교산학협력단 항해 시뮬레이션 제공시스템 및 방법
KR20230052631A (ko) 2021-10-13 2023-04-20 주식회사 피벗게임즈 퍼즐 게임의 사용자별 동적 난이도 적용 시스템

Also Published As

Publication number Publication date
KR20060020004A (ko) 2006-03-06

Similar Documents

Publication Publication Date Title
KR100718334B1 (ko) 인공지능기법을 이용한 사용자 상호작용 게임 난이도조절방법
Shaker et al. The 2010 Mario AI championship: Level generation track
Nielsen et al. Towards generating arcade game rules with VGDL
Togelius et al. The search-based approach
JP2007527260A (ja) バーチャルリアリティ環境におけるコンピュータ制御されたアバターの個別の挙動
KR101265051B1 (ko) 게임 사용자 수준에 따른 npc ai제공방법
Justesen et al. Online evolution for multi-action adversarial games
JPH11114227A (ja) 敵キャラクタのレベル・パラメータ設定方法および装置
US6579176B2 (en) Computer-based growing simulation method and system
Nelson et al. Rules and mechanics
Angelides et al. Handbook of digital games
Susanto et al. Maze generation based on difficulty using genetic algorithm with gene pool
Carpenter Replaying colonialism: Indigenous National Sovereignty and its limits in strategic videogames
Norton et al. Monsters of Darwin: A strategic game based on artificial intelligence and genetic algorithms
Sturtevant Monte carlo tree search and related algorithms for games
Zhou et al. Discovering of game AIs’ characters using a neural network based AI imitator for AI clustering
Nielsen et al. Balanced map generation using genetic algorithms in the siphon board-game
Bakkes et al. Involving player experience in dynamically generated missions and game spaces
Azmi et al. Perceptron Genetic to Recognize Openning Strategy Ruy Lopez
JP5879624B1 (ja) 端末装置、端末装置のゲーム実行方法、プログラム、プログラム記録媒体、及びゲームサーバ
JP2020115957A (ja) 情報処理装置、情報処理プログラム及び情報処理方法
JP7417451B2 (ja) 電子ゲーム情報処理装置及び電子ゲーム情報処理プログラム
Hsu et al. MCTS Pruning in Turn-Based Strategy Games.
US20240050858A1 (en) Automated Validation of Video Game Environments
Macleod Game design through self-play experiments

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
N231 Notification of change of applicant
E601 Decision to refuse application
AMND Amendment
J201 Request for trial against refusal decision
B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20120404

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee