KR102617423B1 - 매크로의 생성을 적응적으로 추천하는 장치, 방법 및 컴퓨터 프로그램 - Google Patents

매크로의 생성을 적응적으로 추천하는 장치, 방법 및 컴퓨터 프로그램 Download PDF

Info

Publication number
KR102617423B1
KR102617423B1 KR1020170184626A KR20170184626A KR102617423B1 KR 102617423 B1 KR102617423 B1 KR 102617423B1 KR 1020170184626 A KR1020170184626 A KR 1020170184626A KR 20170184626 A KR20170184626 A KR 20170184626A KR 102617423 B1 KR102617423 B1 KR 102617423B1
Authority
KR
South Korea
Prior art keywords
macro
information
input
user
command
Prior art date
Application number
KR1020170184626A
Other languages
English (en)
Other versions
KR20190081820A (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 KR1020170184626A priority Critical patent/KR102617423B1/ko
Publication of KR20190081820A publication Critical patent/KR20190081820A/ko
Application granted granted Critical
Publication of KR102617423B1 publication Critical patent/KR102617423B1/ko

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/60Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
    • A63F13/67Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor adaptively or by learning from player actions, e.g. skill level adjustment or by storing successful combat sequences for re-use
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/45Controlling the progress of the video game
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/55Controlling game characters or game objects based on the game progress
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/6027Methods for processing data by generating or executing the game program using adaptive systems learning from user actions, e.g. for skill level adjustment

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

게임 오브젝트의 제어를 위한 제 1 명령어 및 제 2 명령어를 포함하는 사용자 입력을 수신하는 단계; 상기 사용자 입력에 기초하여 입력 패턴 정보를 획득하는 단계; 상기 획득한 입력 패턴 정보 및 상기 사용자 입력이 수신된 상황에 대한 정보인 입력 상황 정보에 기초하여, 상기 게임 오브젝트의 제어를 위한 매크로의 생성을 추천할 지 여부를 판단하는 단계; 및 상기 판단 결과에 기초하여 상기 사용자 입력에 기초한 매크로의 생성을 위한 인터페이스를 제공하는 단계를 포함하는 적응적 매크로 추천 방법이 개시된다,

Description

매크로의 생성을 적응적으로 추천하는 장치, 방법 및 컴퓨터 프로그램 {APPARATUS, METHOD AND COMPUTER PROGRAM FOR ADAPTIVELY RECOMMENDING MACRO GENERATION}
본 발명은 매크로의 생성을 추천하는 방법에 관한 것으로, 특히 사용자 입력 상황에 기반하여 매크로의 생성을 추천하는 방법에 관한 것이다.
컴퓨팅 디바이스 및 네트워크 환경의 발달에 따라 다양한 유무선 통신 기기를 이용한 온라인 기반의 게임을 즐기는 사용자들이 크게 증가하고 있다. 온라인 게임들은 사용자가 직접 제어하는 캐릭터 및 캐릭터가 포함하는 아이템들을 제공함으로써 사용자의 게임에 대한 흥미를 유발한다.
온라인 게임을 플레이할 때, 사용자는 캐릭터가 동일한 동작을 수행하도록 제어해야 하는 경우가 있다. 게임 시스템에서는 사용자의 반복적 입력에 대한 지루함과 불편함을 해소하기 위해 매크로 기능을 제공한다.
매크로란 자주 사용하는 여러 개의 명령어들을 묶어 하나의 키를 이용하여 한 번에 실행할 수 있도록 만든 것을 의미한다. 즉, 매크로 기능은 하나의 키로 여러 개의 명령어가 실행되도록 만들어 여러 번의 입력을 한 번의 입력으로 대체하는 기능일 수 있다. 게임 시스템 내에서도 하나의 키로 여러 동작을 수행하도록 하는 매크로를 생성 기능을 지원한다.
다만, 기존의 매크로 생성 기능은 매크로를 생성하기 위한 모든 설정을 사용자가 직접 수행해야 했거나, 상황에 맞지 않는 매크로가 생성되는 등의 불편함이 존재하였다.
따라서, 사용자의 편의성을 높이면서도 게임 내 상황을 반영하는 매크로의 생성 및 추천 방법의 개발이 요구되고 있다.
사용자 편의성을 높여 효율적으로 매크로를 생성할 수 있는 매크로 기능을 제공하고자 한다.
본 개시의 일부 실시예에 따르면, 적응적 매크로 추천 방법에 있어서, 게임 오브젝트의 제어를 위한 제 1 명령어 및 제 2 명령어를 포함하는 사용자 입력을 수신하는 단계; 상기 사용자 입력에 기초하여 입력 패턴 정보를 획득하는 단계; 상기 획득한 입력 패턴 정보 및 상기 사용자 입력이 수신된 상황에 대한 정보인 입력 상황 정보에 기초하여, 상기 게임 오브젝트의 제어를 위한 매크로의 생성을 추천할지 여부를 판단하는 단계; 및 상기 판단 결과에 기초하여 상기 사용자 입력에 기초한 매크로의 생성을 위한 인터페이스를 제공하는 단계를 포함할 수 있다.
상기 입력 패턴 정보는, 상기 제 1 명령어 및 상기 제 2 명령어의 입력 순서에 관한 정보, 상기 제 1 명령어 및 상기 제 2 명령어의 입력 타이밍에 관한 정보, 상기 제 1 명령어 및 상기 제 2 명령어의 입력 빈도에 관한 정보, 및 상기 제 1 명령어 및 상기 제 2 명령어의 입력 간격 중 적어도 하나를 포함할 수 있다.
상기 입력 상황 정보는, 상기 사용자 입력이 수신된 때의 게임 내의 상기 게임 오브젝트의 위치 정보, 상기 게임 오브젝트의 활동 정보 중 적어도 하나를 포함할 수 있다.
상기 게임 오브젝트의 활동 정보는, 상기 게임 오브젝트의 동작 정보, 상기 게임 오브젝트의 퀘스트 정보, 상기 게임 오브젝트의 탑승 정보, 상기 게임 오브젝트의 장착 정보, 상기 게임 오브젝트의 주위에 배치된 다른 게임 오브젝트에 관한 정보 중 적어도 하나를 포함할 수 있다.
상기 게임 오브젝트의 제어를 위한 매크로의 생성을 추천할지 여부를 판단하는 단계는, 상기 획득된 입력 패턴 정보에 기초하여 소정 횟수 이상 소정의 패턴으로 상기 사용자 입력이 수신되는지 판단하는 단계; 상기 입력 상황 정보에 기초하여 상기 소정 횟수 이상 상기 소정의 패턴으로 수신되는 사용자 입력이 소정의 상황에서 수신되었는지 판단하는 단계; 및 상기 소정 횟수 이상 상기 소정의 패턴으로 수신되는 사용자 입력이 소정의 상황에서 수신되었는지에 대한 판단 결과에 따라 상기 매크로의 생성을 추천할 수 있다.
상기 매크로의 생성을 위한 인터페이스를 제공하는 단계는, 상기 입력 패턴 정보 또는 상기 입력 상황 정보에 기초하여 다른 사용자가 생성한 매크로를 검색하는 단계; 및 상기 검색된 다른 사용자의 매크로에 기초하여 상기 인터페이스를 통해 상기 게임 오브젝트의 제어를 위한 매크로의 생성을 추천하는 단계를 포함할 수 있다.
상기 매크로의 생성을 위한 인터페이스를 제공하는 단계는, 매크로 삭제 내역으로부터 상기 제 1 명령어 및 상기 제 2 명령어 중 적어도 하나를 포함하는 삭제했던 매크로를 검색하는 단계; 상기 검색된 삭제했던 매크로의 입력 상황 정보와 상기 입력 상황 정보를 비교하는 단계; 및 상기 삭제했던 매크로의 입력 상황 정보와 비교한 결과에 따라 상기 인터페이스를 통해 상기 삭제한 매크로의 복원을 추천할 수 있다.
상기 매크로의 생성을 위한 인터페이스를 제공하는 단계는, 상기 입력 상황 정보 및 저장된 매크로 정보 중 적어도 하나에 기초하여 상기 제 1 명령어 및 상기 제 2 명령어 중 적어도 하나를 제외한 매크로의 생성을 추천할 수 있다.
상기 매크로의 생성을 위한 인터페이스를 제공하는 단계는, 상기 입력 상황 정보에 기초하여 상기 추천할 매크로의 카테고리를 판단하는 단계; 상기 판단된 카테고리에 관한 정보에 기초하여 상기 수신된 사용자 입력과 대응되는 적어도 하나의 매크로를 검색하는 단계; 및 상기 검색된 매크로를 추천하는 단계를 포함할 수 있다.
상기 방법은, 상기 인터페이스를 통해 생성된 매크로를 상기 입력 상황 정보에 기초하여 카테고리를 분류하여 저장하는 단계를 더 포함할 수 있다.
본 개시의 일부 실시예는 상기 방법을 구현하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.
본 개시의 일부 실시예에 따르면, 적응적으로 매크로 생성을 추천하는 사용자 단말은, 게임 오브젝트의 제어를 위한 제 1 명령어 및 제 2 명령어를 포함하는 사용자 입력을 수신하는 사용자 입력부; 및 상기 사용자 입력에 기초하여 입력 패턴 정보를 획득하고, 상기 획득한 입력 패턴 정보 및 상기 사용자 입력이 수신된 상황에 대한 정보인 입력 상황 정보에 기초하여, 상기 게임 오브젝트의 제어를 위한 매크로의 생성을 추천할 지 여부를 판단하고, 상기 판단 결과에 기초하여 상기 사용자 입력에 기초한 매크로의 생성을 위한 인터페이스를 제공하도록 제어하는 프로세서를 포함할 수 있다.
상기 입력 패턴 정보는, 상기 제 1 명령어 및 상기 제 2 명령어의 입력 순서에 관한 정보, 상기 제 1 명령어 및 상기 제 2 명령어의 입력 타이밍에 관한 정보, 상기 제 1 명령어 및 상기 제 2 명령어의 입력 빈도에 관한 정보, 및 상기 제 1 명령어 및 상기 제 2 명령어의 입력 간격 중 적어도 하나를 포함할 수 있다.
상기 입력 상황 정보는, 상기 사용자 입력이 수신된 때의 게임 내의 상기 게임 오브젝트의 위치 정보, 상기 게임 오브젝트의 활동 정보 중 적어도 하나를 포함할 수 있다.
상기 게임 오브젝트의 활동 정보는, 상기 게임 오브젝트의 동작 정보, 상기 게임 오브젝트의 퀘스트 정보, 상기 게임 오브젝트의 탑승 정보, 상기 게임 오브젝트의 장착 정보, 상기 게임 오브젝트의 주위에 배치된 다른 게임 오브젝트에 관한 정보 중 적어도 하나를 포함할 수 있다.
상기 프로세서는, 상기 획득된 입력 패턴 정보에 기초하여 소정 횟수 이상 소정의 패턴으로 상기 사용자 입력이 수신되는지 판단하고, 상기 입력 상황 정보에 기초하여 상기 소정 횟수 이상 상기 소정의 패턴으로 수신되는 사용자 입력이 소정의 상황에서 수신되었는지 판단하며, 상기 소정 횟수 이상 상기 소정의 패턴으로 수신되는 사용자 입력이 소정의 상황에서 수신되었는지에 대한 판단 결과에 따라 상기 매크로의 생성을 추천할 수 있다.
상기 프로세서는, 상기 입력 패턴 정보 또는 상기 입력 상황 정보에 기초하여 다른 사용자가 생성한 매크로를 검색하고, 상기 검색된 다른 사용자의 매크로에 기초하여 상기 인터페이스를 통해 상기 게임 오브젝트의 제어를 위한 매크로의 생성을 추천할 수 있다.
상기 프로세서는, 매크로 삭제 내역으로부터 상기 제 1 명령어 및 상기 제 2 명령어 중 적어도 하나를 포함하는 삭제했던 매크로를 검색하고, 상기 검색된 삭제했던 매크로의 입력 상황 정보와 상기 입력 상황 정보를 비교하며, 상기 삭제했던 매크로의 입력 상황 정보와 비교한 결과에 따라 상기 인터페이스를 통해 상기 삭제한 매크로의 복원을 추천할 수 있다.
상기 프로세서는, 상기 입력 상황 정보 및 저장된 매크로 정보 중 적어도 하나에 기초하여 상기 제 1 명령어 및 상기 제 2 명령어 중 적어도 하나를 제외한 매크로의 생성을 추천할 수 있다.
상기 프로세서는, 상기 입력 상황 정보에 기초하여 상기 추천할 매크로의 카테고리를 판단하고, 상기 판단된 카테고리에 관한 정보에 기초하여 상기 수신된 사용자 입력과 대응되는 적어도 하나의 매크로를 검색하고, 상기 검색된 매크로를 추천할 수 있다.
상기 단말은, 상기 인터페이스를 통해 생성된 매크로를 상기 입력 상황 정보에 기초하여 카테고리를 분류하여 저장하는 메모리를 더 포함할 수 있다.
편리한 매크로 생성으로 인해 사용자의 게임에 대한 흥미가 증대될 수 있다.
도 1은 일부 실시예에 따른 서버 및 사용자 단말을 포함하는 온라인 게임 제공 시스템을 도시한다.
도 2는 일부 실시예에 따른 사용자 입력에 따른 캐릭터 스킬 사용을 설명하기 위한 도면이다.
도 3 및 도 4는 일부 실시예에 따른 매크로의 생성을 설명하기 위한 도면이다.
도 5는 일부 실시예에 따른 적응적으로 매크로의 생성을 추천하는 방법의 순서도이다.
도 6 및 도 7은 일부 실시예에 따른 매크로 생성을 추천하는 게임 화면을 도시한다.
도 8은 일부 실시예에 따른 입력 상황 정보에 따른 매크로의 생성을 추천하는 방법을 설명하기 위한 도면이다.
도 9는 일부 실시예에 따른 매크로가 저장되는 방식을 설명하기 위한 도면이다.
도 10은 일부 실시예에 따른 다른 사용자가 생성한 매크로 참조하여 매크로의 생성을 추천하는 방법의 순서도이다.
도 11은 일부 실시예에 따른 사용자 입력 중 일부를 제외한 매크로의 생성을 추천하는 방법의 순서도이다.
도 12는 일부 실시예에 따른 사용자 단말의 세부적인 구성을 설명하기 위한 도면이다.
도 13은 일부 실시예에 따른 서버의 세부적인 구성을 설명하기 위한 도면이다.
이하, 첨부된 도면들에 기재된 내용들을 참조하여 본 발명에 따른 예시적 실시예를 상세하게 설명한다. 또한, 첨부된 도면들에 기재된 내용들을 참조하여 본 발명의 실시예에 따른 전자 장치를 구성하고 사용하는 방법을 상세히 설명한다. 각 도면에서 제시된 동일한 참조번호 또는 부호는 실질적으로 동일한 기능을 수행하는 부품 또는 구성요소를 나타낸다.
제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 구성 요소들은 용어들에 의해 한정되지는 않는다. 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 항목들의 조합 또는 복수의 관련된 항목들 중의 어느 하나의 항목을 포함한다.
본 명세서에서 사용한 용어는 실시예를 설명하기 위해 사용된 것으로, 본 발명을 제한 및/또는 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원서에서, 포함하다 또는 가지다 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
명세서 전체에서, 어떤 부분이 다른 부분과 연결되어 있다고 할 때, 이는 직접적으로 연결되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 전기적으로 연결되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 포함한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 "...부", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.
이하의 본 명세서에서, 입력 상황 정보란 사용자 입력이 수신된 상황에 대한 정보로써, 사용자 입력이 수신된 때의 게임 내의 상황 정보를 포함할 수 있다. 사용자 입력이 수신된 때의 게임 내의 상황 정보란 게임 내에서의 사용자 캐릭터의 위치, 사용자 캐릭터의 게임 내 활동 상태, 사용자 캐릭터의 탑승 상태, 사용자 캐릭터의 상태에 관한 정보 등을 포함할 수 있으며, 상기 예시에 제한되지 않는다.
이하의 본 명세서에서, 입력 패턴 정보란 사용자 입력에 제 1 명령어 및 제 2 명령어를 포함하는 경우, 제 1 명령어 및 제 2 명령어의 입력 순서, 제 1 명령어 및 제 2 명령어의 입력 타이밍, 제 1 명령어 및 제 2 명령어의 입력 빈도, 제 1 명령어 및 제 2 명령어의 입력 간격 등 사용자 입력이 포함하는 적어도 하나의 명령어들의 패턴을 식별할 수 있는 정보를 의미할 수 있으며, 상기 예시에 제한되지 않고, 사용자의 입력이 어떤 패턴을 가지고 있는지에 대한 정보 및 사용자 입력이 패턴을 가지는지 여부를 판단할 수 있는 정보 모두를 포함할 수 있다.
이하의 본 명세서에서 아이템이란 물건, 상품, 컨텐츠 등을 모두 포함할 수 있으며, 무기, 방어구, 옷, 수정과 같은 게임 내 캐릭터가 장착하는 장비, 게임 내 캐릭터가 탑승하는 탑승물, 게임 재화, 음식, 포션과 같은 소비물, 경험치, 버프, 권리, 권한 등 게임 내, 외에서 게임과 관련된 사용자가 획득할 수 있는 모든 디지털 컨텐츠, 사이버 목적물 등을 의미할 수 있으며, 상기 예시에 제한되지 않는다.
본 명세서에서 퀘스트란 의뢰, 미션이라고도 하며, 게임 내에서 제공되는 임무를 의미할 수 있다. 다시 말해서, 퀘스트는 게임에서 주어진 목적을 달성하기 위한 행위를 의미할 수 있다. 각 퀘스트는 난이도가 상이할 수 있으며, 사용자의 캐릭터는 퀘스트의 성공에 따라 경험치, 재화, 아이템 등을 획득할 수도 있고 퀘스트 실패에 따라 캐릭터가 보유한 경험치, 재화, 아이템 중 일부를 잃을 수도 있다. 즉, 퀘스트의 성공 또는 실패에 따라 사용자의 캐릭터의 가치가 변경될 수 있다. 퀘스트 액션이란 퀘스트를 수행하는 동작을 의미할 수 있다.
이하의 본 명세서에서, 스킬이란 게임 오브젝트가 사용할 수 있는 소정의 능력을 의미할 수 있으며, 스킬의 이용, 사용이란 게임 오브젝트(예를 들면, 캐릭터, 탑승물)가 소정의 동작을 수행하는 것을 의미할 수 있다. 스킬의 이용은 사용자의 입력에 의해 촉발될 수 있으며, 물론 상기 예시에 제한되지 않고 사용자의 입력 없이도 자동적으로 이용될 수 있다.
이하의 본 명세서에서 게임 오브젝트란 게임 공간 내에 존재하는 가상의 오브젝트를 의미할 수 있다. 예를 들면, 게임 오브젝트란 사용자의 게임 캐릭터(예를 들면, 아바타), 사용자의 탑승물(탈 것), 사용자의 애완동물 등을 포함할 수 있으며, 이에 제한되지 않고, 배경, 지형 등 게임 공간 내에서 구현된 모든 오브젝트를 의미할 수 있다.
이하의 본 명세서에서 사용자 계정이란, 적어도 하나의 캐릭터를 포함한 사용자의 계정을 의미할 수 있다. 게임 내에서는 사용자가 복수의 캐릭터를 생성할 수 있으며, 복수의 캐릭터가 하나의 사용자 계정에 종속된 형태로 존재할 수 있다. 물론 상기 예시에 제한되지 않으며, 하나의 사용자 계정을 통해 게임 서비스를 제공하는 형태 또한 존재할 수도 있다.
이하의 본 명세서에서 사용자 계정에 관한 정보란 사용자의 이름, 전화번호, 이메일 주소, 게임 이용 시간, 사용자 계정에 대응하는 캐릭터의 정보, 사용자의 구매 내역 정보, 사용자의 결제 내역 정보 등을 포함할 수 있으며, 상기 예시에 제한되지 않는다.
이하의 본 명세서에서 캐릭터 정보란 게임 캐릭터와 관련된 정보로써, 캐릭터의 레벨, 캐릭터의 등급, 캐릭터의 누적 사용 시간, 캐릭터의 보유 금액, 캐릭터의 명성, 캐릭터의 업적 달성율, 캐릭터의 퀘스트 달성율 등 캐릭터에 대한 모든 정보를 포함할 수 있으며, 상기 예시에 제한되지 않는다.
이하의 본 명세서에서는, 사용자는 유저, 게이머 또는 사용자 계정을 의미할 수 있으며, 상기 예시에 제한되지 않는다.
이하의 본 명세서에서, 서버가 사용자 단말을 제어한다는 의미는 서버가 사용자 단말과의 통신을 통해 사용자 단말에서의 출력(화면 표시, 음향 출력, 진동 출력, 램프 발광 등 사용자 단말에서의 모든 출력 장치)을 위한 데이터를 제공하는 것을 의미할 수 있다. 물론 사용자 단말이 기저장된 데이터를 이용하여 서버가 사용자 단말에서의 출력을 제어할 수도 있으며, 상기 예시에 제한되지 않는다.
도 1은 일부 실시예에 따른 서버 및 사용자 단말을 포함하는 온라인 게임 제공 시스템을 도시한다.
본 발명의 온라인 게임 제공 시스템(100)은 서버(170)와 적어도 하나의 사용자 단말(110 내지 160)을 포함할 수 있다. 서버(170)는 네트워크 망을 통해 온라인 게임 서비스를 제공할 수 있다. 서버(170)는 적어도 하나의 사용자 단말(110 내지 160)에게 동시에 온라인 게임을 제공할 수 있으며, 온라인 게임은 다수의 사용자들이 네트워크에 접속하여 즐기는 게임을 의미할 수 있다.
일부 실시예에 따르면, 서버(170)라 함은, 단일 서버, 서버의 집합체, 클라우드 서버 등을 포함할 수 있으며, 상기 예시에 제한되지 않는다. 서버(170)는 게임 서비스를 제공하며, 사용자 데이터를 저장하는 데이터 베이스를 포함할 수 있다. 또한 서버(170)는 결제 이벤트를 생성 및 처리하는 결제 서버를 포함할 수도 있다.
일부 실시예에 따르면 네트워크란 모든 통신 방식을 이용하여 설립(또는 형성)된 연결을 의미하며, 단말과 단말간 또는 단말과 서버간의 데이터를 송수신하는, 모든 통신 방식을 통해 연결된 통신망을 의미할 수 있다.
모든 통신 방식이라 함은 소정의 통신 규격, 소정의 주파수 대역, 소정의 프로토콜 또는 소정의 채널을 통한 통신 등 모든 통신 방식을 포함할 수 있다. 예를 들면, 블루투스, BLE, Wi-Fi, Zigbee, 3G, LTE, 초음파를 통한 통신 방식 등을 포함할 수 있으며, 근거리 통신, 원거리 통신, 무선 통신 및 유선 통신을 모두 포함할 수 있다. 물론 상기 예시에 제한되지 않는다.
일부 실시예에 따르면 근거리 통신 방식이라 함은, 통신을 수행하는 디바이스(단말 또는 서버)가 소정의 범위 내에 있을 때에만 통신이 가능한 통신 방식을 의미할 수 있으며, 예를 들어, 블루투스, NFC 등을 포함할 수 있다. 원거리 통신 방식이라 함은, 통신을 수행하는 디바이스가 거리와 관계 없이 통신이 가능한 통신 방식을 의미할 수 있다. 예를 들면, 원거리 통신 방식은 AP와 같은 중계기를 통해 통신을 수행하는 두 디바이스가 소정의 거리 이상일 때에도 통신할 수 있는 방식을 의미할 수 있으며, SMS, 전화와 같은 셀룰러 네트워크(3G, LTE)를 이용한 통신 방식을 포함할 수 있다. 물론 상기 예시에 제한되지 않는다. 네트워크 망을 이용하여 게임 서비스를 제공받는다는 의미는 모든 통신 방식을 통해 게임 서버와 단말 간의 통신이 수행될 수 있다는 의미를 포함할 수 있다.
명세서 전체에서 적어도 하나의 사용자 단말(110 내지 160)이라 함은 퍼스널 컴퓨터(Personal Computer)(110), 태블릿(Tablet)(120), 휴대폰(Cellular Phone)(130), 노트북(140), 스마트 폰(150), TV(160) 뿐만 아니라, PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), 네비게이션, MP3 플레이어, 디지털 카메라, 냉장고, 세탁기, 청소기 등의 다양한 전자 디바이스를 포함할 수 있고, 상기 예시에 제한되지 않는다.
일부 실시예에 따르면, 온라인 게임은 스포츠, MMORPG, AOS, FPS, TCG, CCG 등 다양한 장르를 포함할 수 있다. 또한 온라인 게임은 사용자와 사용자간의 대결 방식의 게임일 수도 있고, 사용자와 컴퓨터(예를 들면, 인공지능)과의 대결 방식일 수도 있다. 물론 상기 예시에 제한되지 않으며 온라인 게임의 형태에는 제한이 없다.
일부 실시예에 따르면, 적어도 하나의 사용자 단말(110 내지 160)은 게임 오브젝트의 제어를 위한 제 1 명령어 및 제 2 명령어를 포함하는 사용자 입력을 수신하고, 사용자 입력에 기초하여 입력 패턴 정보를 획득하고, 획득한 입력 패턴 정보 및 사용자 입력이 수신된 상황에 대한 정보인 입력 상황 정보에 기초하여, 게임 오브젝트의 제어를 위한 매크로의 생성을 추천할 지 여부를 판단할 수 있다. 또한 적어도 하나의 사용자 단말(110 내지 160)은 판단 결과에 기초하여 사용자 입력에 기초한 매크로의 생성을 위한 인터페이스를 제공할 수 있다.
또한 일부 실시예에 따르면, 서버(170)는 게임 오브젝트의 제어를 위한 제 1 명령어 및 제 2 명령어를 포함하는 사용자 입력을 수신하고, 사용자 입력에 기초하여 입력 패턴 정보를 획득하고, 획득한 입력 패턴 정보 및 사용자 입력이 수신된 상황에 대한 정보인 입력 상황 정보에 기초하여, 게임 오브젝트의 제어를 위한 매크로의 생성을 추천할 지 여부를 판단할 수 있다. 또한 서버(170)은 판단 결과에 기초하여 사용자 입력에 기초한 매크로의 생성을 위한 인터페이스를 제공할 수 있다. 다시 말해서, 매크로 생성을 추천하는 방법은 적어도 하나의 사용자 단말(110 내지 160), 서버(170) 또는 적어도 하나의 사용자 단말(110 내지 160)과 서버(170)의 협업에 의해 수행될 수 있다. 적응적으로 매크로 생성을 추천하는 방법은 이하에서 더 자세히 설명한다,
도 2는 일부 실시예에 따른 사용자 입력에 따른 캐릭터 스킬 사용을 설명하기 위한 도면이다.
도 2는 사용자 캐릭터가 낚시를 수행할 때 필요한 스킬들을 도시한 화면(200)이다. 도 2를 참조하면, 제 1 스킬(220)은 캐릭터가 미끼 끼우기 동작을 수행하도록 하는 스킬이고, 제 2 스킬(240)은 캐릭터가 낚싯대 던지기 동작을 수행하도록 하는 스킬이고, 제 3 스킬(260)은 낚아채기 동작을 수행하도록 하는 스킬이다. 제 1 스킬 내지 제 3 스킬(240 내지 260)은 모두 낚시와 관련된 스킬이며, 사용자는 3가지 스킬을 모두 사용해야 캐릭터가 낚시를 하도록 제어할 수 있다. 예를 들면, 사용자는 바다, 강과 같은 게임 내 지정된 장소에서 제 1 스킬 내지 제 3 스킬(240 내지 260)을 사용함으로써 캐릭터가 낚시를 하도록 제어할 수 있다.
다만, 사용자는 제 1 스킬(220)을 사용하기 위해서는 제 1 키(210)를 입력하고, 제 2 스킬(240)을 사용하기 위해서는 제 2 키(230)를 입력하고, 제 3 스킬(260)을 사용하기 위해서는 제 3 키(250)를 입력해야 한다. 반복적으로 낚시를 수행하기 위해서는 사용자가 반복적으로 제 1 키 내지 제 3 키(210 내지 250)를 입력해야 하므로 불편함이 존재하였다. 따라서, 사용자의 편의를 위해 제 1 스킬 내지 제 3 스킬(220 내지 260)을 하나의 키에 매핑하는 매크로 기능이 제공될 수 있다.
물론 도 2에 도시된 스킬은 예시에 불과하며, 다양한 스킬이 존재할 수 있다. 예를 들면, 전투 스킬, 이동 스킬 등 다양한 종류의 스킬이 존재할 수 있으며, 전투 스킬, 이동 스킬 등 또한 연속적, 반복적으로 입력해야 하는 경우가 많으므로 필요에 따라 복수의 스킬을 이용을 하나의 키에 매핑하는 매크로 기능을 사용할 수 있음은 물론이다.
또한 매크로 기능이 복수의 스킬을 이용을 하나의 키에 매핑하는 것뿐만 아니라, 복수의 사용자 입력을 하나의 키에 매핑할 수도 있다. 예를 들면, 스킬의 사용뿐만 아니라 사용자의 이동과 같은 스킬을 사용하지 않는 입력 키 또는 사용자의 채팅 내용 또한 하나의 키에 매핑되어 매크로로 사용될 수 있다. 다시 말해서, 캐릭터가 스킬 이외의 소정의 동작을 수행하도록 하거나 채팅이 출력되도록 하는 것 또한 매크로 기능을 통해 제공될 수 있다.
도 3 및 도 4는 일부 실시예에 따른 매크로의 생성을 설명하기 위한 도면이다.
도 3은 작성된 매크로를 도시한 화면(300)이다. 도 3을 참조하면, 매크로는 사용자가 직접 소정의 동작을 수행하도록 입력함으로써 생성될 수 있다. 예를 들면, 도 3에 도시된 낚시 매크로(320)는 사용자가 제 1 스킬을 실행하도록 하는 제 1 명령어(330), 제 2 스킬을 실행하도록 하는 제 2 명령어(340), 제 3 스킬을 실행하도록 하는 제 3 명령어(350)를 입력함으로써 생성될 수 있다.
물론 매크로의 생성이 도 3의 예시에 제한되는 것은 아니다. 매크로의 생성은 도 3과 같이 사용자가 직접 명령어를 입력할 수도 있으나, 연속적으로 사용될 스킬의 순서만을 결정함으로써 매크로를 생성할 수도 있고, 소정의 시간 동안의 사용자의 입력을 그대로 저장하여 매크로로 사용하는 녹화 방식을 통해 매크로를 생성할 수도 있다.
다시 말해서, 매크로의 생성 방식에는 제한이 없으며, 매크로란 앞서 설명한 바와 같이 여러 개의 명령어들을 묶어서 하나의 키를 입력 동작으로 만든 것을 의미한다. 앞서 설명한 바와 같이 매크로 설정에 사용되는 명령어는 스킬의 실행을 의미하는 명령어일 수도 있고, 스킬의 사용이 아닌 사용자 입력 또는 채팅과 같은 대화에 관한 사용자 입력일 수도 있다.
일부 실시예에 따르면, 도 3의 낚시 매크로(300)의 실행은 도 4에 도시된 스킬 흐름에 따라 수행될 수 있다. 도 4는 도 2와는 다른 낚시 매크로(300)의 실행에 따른 스킬의 사용을 도시한 화면(400)이다.
도 2에서는 낚시를 수행하기 위한 3가지 스킬을 사용하기 위해 해당 스킬 각각에 대한 사용자 입력을 수신해야 했다. 그러나 도 4에서는 매크로 키(410) 하나를 입력함으로써 제 1 스킬(420)인 미끼 끼우기, 제 2 스킬(440)인 낚싯대 던지기 및 제 3 스킬(460)인 낚아채기를 한번에 실행할 수 있다. 따라서 사용자가 캐릭터가 낚시를 수행할 수 있도록 제어하기 위해 3개의 키를 입력할 필요 없이 하나의 키인 매크로 키(410)(매크로 실행 키)만을 입력하면 된다. 즉, 사용자는 반복적으로 낚시 동작을 수행할 때도 매크로 키(410) 하나를 입력하면 되므로 편리하다.
다만, 기존에는 사용자가 매크로를 생성하기 위해 사용자가 직접 매크로 생성을 위한 프로세스를 실행해야만 했다. 다시 말해서, 사용자가 매크로로 생성할 복수의 사용자 입력들 또는 복수의 스킬들을 판단하고, 판단된 복수의 사용자 입력들 또는 복수의 스킬들을 매크로 생성 방식에 따라 설정함으로써 소정의 매크로를 생성하였다. 따라서, 사용자가 직접 어떤 입력 또는 스킬들로 매크로를 구성할 지 세부적으로 결정해야 하는 불편함이 존재하였다. 따라서 단말이 적응적으로 매크로의 생성을 추천하는 방법이 필요할 수 있다.
도 5는 일부 실시예에 따른 적응적으로 매크로의 생성을 추천하는 방법의 순서도이다.
단계 520에서 단말은, 게임 오브젝트의 제어를 위한 제 1 명령어 및 제 2 명령어를 포함하는 사용자 입력을 수신할 수 있다.
일부 실시예에 따르면, 제 1 명령어 및 제 2 명령어는 소정의 스킬을 실행하는 명령어일 수도 있고, 스킬 이외의 캐릭터의 동작을 제어하는 명령어일 수도 있고, 게임 내 설정을 제어하는 명령어이거나, 채팅을 입력 및 출력하는 명령어일 수도 있다. 물론 상기 예시에 제한되지 않는다.
단계 540에서 단말은, 사용자 입력에 기초하여 입력 패턴 정보를 획득할 수 있다.
일부 실시예에 따르면, 입력 패턴 정보는 앞서 설명한 바와 같이, 사용자 입력이 일정한 형태, 형식을 가지는지 구분할 수 있는 정보를 의미할 수 있다. 다시 말해서, 단말이 사용자 입력의 패턴을 구분할 수 있는 정보를 의미할 수 있다.
예를 들면, 캐릭터가 A 스킬 사용 후, B 스킬을 사용하고, 이후 뒤로 한발자국 움직이도록 제어하는 사용자 입력을 소정의 횟수 이상 입력하는 경우에는, 단말은 사용자 입력의 순서, 사용자 입력의 타이밍, 사용자 입력의 입력 빈도, 사용자 입력의 입력 간격 중 적어도 하나에 기초하여 사용자 입력이 소정의 형태를 가지는 패턴화된 입력인지 판단할 수 있다. 단말이 패턴화된 입력인지 판단할 수 있는 정보를 입력 패턴 정보라 할 수 있으며, 단말은 인식된 패턴화된 입력을 다른 입력들과 구분할 수도 있고, 패턴화된 입력과 동일한 입력이 수신되는지 또한 판단할 수 있다.
단계 560에서 단말은, 획득한 입력 패턴 정보 및 사용자 입력이 수신된 상황에 대한 정보인 입력 상황 정보에 기초하여, 게임 오브젝트의 제어를 위한 매크로의 생성을 추천할지 여부를 판단할 수 있다.
일부 실시예에 따르면, 입력 상황 정보는, 사용자 입력이 수신된 때의 게임 내의 게임 오브젝트의 위치 정보, 게임 오브젝트의 활동 정보 중 적어도 하나를 포함할 수 있다.
일부 실시예에 따르면, 게임 내의 게임 오브젝트의 위치 정보란 게임 공간 상의 좌표 정보, 게임 내의 필드 구분 정보, 게임 내의 오브젝트 간의 상대적 위치 정보, 게임 내의 오브젝트의 배치 정보, 게임 오브젝트의 이동 정보 중 적어도 하나를 포함할 수 있으며, 상기 예시에 제한되지 않고, 게임 내에서 게임 오브젝트의 위치와 관련된 모든 정보를 포함할 수 있다.
일부 실시예에 따르면, 게임 내 필드 구분 정보란 게임 내에서 게임 공간을 구분하는 카테고리를 의미하며, 예를 들면, 바다, 평야, 산, 마을, 성, 등으로 구분될 수 있다. 물론 상기 예시에 제한되지 않으며, 게임 공간을 구분하는 카테고리는 게임 시스템마다 상이할 수 있다.
일부 실시예에 따르면, 게임 내의 오브젝트 간의 상대적 위치 정보란 게임 오브젝트와 다른 게임 오브젝트 간의 상대적인 위치에 관한 정보로써 예를 들면, 제 1 게임 오브젝트는 제 2 게임 오브젝트와 소정의 거리만큼 떨어져있다는 정보일 수 있다. 물론 상기 예시에 제한되지 않으며, 게임 내의 오브젝트 간의 상대적 위치 정보는 거리, 방향, 배치 형태 등에 대한 정보를 포함할 수 있다.
일부 실시예에 따르면, 게임 내의 오브젝트의 배치 정보란 게임 공간 내에 게임 오브젝트가 배치된 형태, 모양, 거리 등에 대한 정보를 포함할 수 있으며, 상기 예시에 제한되지 않는다.
일부 실시예에 따르면, 게임 오브젝트의 이동 정보라 함은 게임 오브젝트가 이동하는 경로, 속도, 이동 방향 등에 대한 정보를 포함할 수 있으며, 상기 예시에 제한되지 않는다.
일부 실시예에 따르면, 게임 오브젝트의 활동 정보는 게임 오브젝트의 동작 정보, 게임 오브젝트의 퀘스트 정보, 게임 오브젝트의 탑승 정보, 게임 오브젝트의 장착 정보, 상기 게임 오브젝트의 주위에 배치된 다른 게임 오브젝트에 관한 정보 중 적어도 하나를 포함할 수 있다.
일부 실시예에 따르면, 게임 오브젝트 동작 정보란 게임 오브젝트가 수행하고 있는 동작에 관한 정보 및 게임 오브젝트가 수행할 수 있는 동작에 관한 정보 중 적어도 하나를 포함할 수 있다. 예를 들면, 게임 오브젝트가 좌측으로 이동하고 있는지, 점프하고 있는지, 앉아있는지, A 스킬을 쓰고 있는지에 대한 정보 또는 게임 오브젝트가 B 스킬을 사용할 수 있는지 또는 C 스킬을 사용할 수 있는지에 대한 정보를 포함할 수 있으며, 상기 예시에 제한되지 않는다.
일부 실시예에 따르면, 게임 오브젝트의 퀘스트 정보란 게임 오브젝트가 수행하고 있는 퀘스트 및 수행할 수 있는 퀘스트에 관한 정보를 포함할 수 있으며, 상기 예시에 제한되지 않는다.
일부 실시예에 따르면, 게임 오브젝트의 탑승 정보는 게임 오브젝트가 탑승하고 있는 배, 동물, 자동차, 비행기 등을 의미할 수 있으며 상기 예시에 제한되지 않는다.
일부 실시예에 따르면, 게임 오브젝트의 장착 정보는 게임 오브젝트가 장착하고 있는 아이템 또는 장착할 수 있는 아이템에 관한 정보를 포함할 수 있으며, 상기 예시에 제한되지 않는다.
일부 실시예에 따르면, 게임 오브젝트의 주위에 배치된 다른 게임 오브젝트에 관한 정보란 게임 오브젝트의 소정의 거리 내에 배치된 다른 게임 오브젝트에 관한 정보를 포함할 수 있으며, 상기 예시에 제한되지 않는다.
일부 실시예에 따르면, 단말은 획득된 입력 패턴 정보에 기초하여 소정 횟수 이상 소정의 패턴으로 상기 사용자 입력이 수신되는지 판단하고, 입력 상황 정보에 기초하여 소정 횟수 이상 상기 소정의 패턴으로 수신되는 사용자 입력이 소정의 상황에서 수신되었는지 판단하고, 판단 결과에 따라 매크로의 생성을 추천할 수 있다.
예를 들면, 단말은 사용자의 패턴화된 입력을 소정의 횟수 이상 획득하고, 소정의 횟수 이상 패턴화된 입력이 획득된 상황이 동일한 상황이거나, 소정의 기준에 기초할 때 동일한 상황으로 판단되는 경우라면, 패턴화된 사용자 입력에 기초하여 매크로를 생성할 것을 추천하도록 결정할 수 있다.
다시 말해서, 일부 실시예에 따르면, 단말은 단순히 패턴화된 사용자 입력이 소정의 횟수 이상 수신되면, 무조건 매크로의 생성을 사용자에게 추천하는 것이 아니라, 입력 상황 정보를 고려하여, 특정 상황에서 소정의 패턴화된 입력이 소정의 횟수 수신되는 경우에 매크로의 생성을 사용자에게 추천할 수 있다.
일부 실시예에 따르면, 단말은 동일한 상황에서 동일한 패턴의 입력이 수신되는지 소정의 횟수 이상 판단하는 것일 수 있다. 동일한 상황이라 함은 입력 상황 정보가 동일한 때 또는 소정의 기준에 기초하여 입력 상황 정보가 동일한 상황이라 판단될 때를 포함할 수 있다.
예를 들면, 단말은 소정의 횟수 이상 사용자 입력이 입력된 때의 게임 오브젝트의 위치가 동일하거나, 소정의 범위 또는 소정의 거리 이내일 때를 동일한 상황이라 판단할 수 있다. 또는 단말은 소정의 횟수 이상 사용자 입력이 획득(또는 입력)된 때의 게임 오브젝트 주위에 다른 게임 오브젝트(예를 들면, 지형 또는 몬스터)의 배치가 항상 소정의 형태인 경우(예를 들면, 원형 또는 타원형)를 동일한 상황이라 판단할 수 있다. 물론 상기 예시에 제한되는 것은 아니다.
일부 실시예에 따르면, 동일한 패턴의 입력이라 함은 사용자 입력의 간격, 배치, 입력되는 명령어가 동일하거나 소정의 기준에 기초하여 동일한 패턴이라 판단되는 사용자 입력이 소정의 횟수 이상 입력되는 것을 의미할 수 있다.
물론 상기 예시에 제한되지 않으며, 단말은 입력 상황 정보에 기초하여 게임 오브젝트의 위치, 활동 정보에 따라 사용자 입력이 입력된 때의 상황을 판단하고, 소정의 횟수 이상 입력되는 패턴화된 입력이 적어도 소정의 횟수 이상 동일한 상황 또는 소정의 기준에 기초하여 동일한 상황이라 판단되는 때 수신되었는지 판단하고, 매크로의 생성을 추천할 수 있다.
단계 580에서 단말은, 판단 결과에 기초하여 사용자 입력에 기초한 매크로의 생성을 위한 인터페이스를 제공할 수 있다.
일부 실시예에 따르면, 단말은 입력 패턴 정보 또는 입력 상황 정보에 기초하여 다른 사용자가 생성한 매크로를 검색하고, 검색된 다른 사용자의 매크로에 기초하여 인터페이스를 통해 게임 오브젝트의 제어를 위한 매크로의 생성을 추천할 수 있다.
일부 실시예에 따르면, 단말은 단계 520에서 수신된 사용자 입력 그대로를 매크로로 생성할 수도 있으나, 사용자 입력과 대응되는 다른 사용자가 생성한 매크로를 검색하여 검색된 매크로와 대응되는 매크로의 생성을 추천할 수도 있다. 즉, 단말은 사용자 입력에 포함되는 제 1 명령어 및 제 2 명령어 중 적어도 하나와 대응되는 다른 사용자가 생성한 매크로를 검색하고, 검색한 매크로와 대응되는 매크로의 생성을 추천할 수 있다.
일부 실시예에 따르면, 다른 사용자가 생성한 매크로의 검색은 동일한 매크로의 생성 순위, 매크로를 생성한 사용자의 정보를 고려할 수 있다. 예를 들면, 동일한 매크로를 생성한 사용자가 많은 매크로의 생성을 우선적으로 추천할 수 있으며, 레벨이 높은 사용자가 생성한 매크로의 생성을 우선적으로 추천할 수도 있다. 물론 상기 예시에 제한되는 것은 아니다.
다시 말해서, 단말은 사용자 입력 내에 포함된 명령어와 전부 동일하지 않고 일부만 동일하거나, 완전히 상이한 명령어를 포함하는 매크로의 생성을 추천할 수도 있다. 단말은 입력 패턴 정보 및 입력 상황 정보에 기초하여 사용자가 해당 상황에서 패턴화된 플레이를 수행하고, 매크로의 생성이 필요하다고 판단되면, 사용자의 입력을 매크로로 생성하도록 추천할 수도 있고, 사용자의 입력보다 더 효율적인 다른 사용자가 생성한 매크로가 존재한다고 판단되면, 더 효율적인 매크로를 생성할 수 있도록 다른 사용자가 생성한 매크로와 대응되는 매크로의 생성을 추천할 수도 있다.
일부 실시예에 따르면, 매크로의 검색은 서버에서 수행될 수도 있고 단말에서 수행될 수도 있으며, 다른 외부 서버 또는 웹서버에서 수행될 수도 있다. 물론 상기 예시에 제한되는 것은 아니다.
또한 일부 실시예에 따르면, 단말은 입력 상황 정보 및 저장된 매크로 정보 중 적어도 하나에 기초하여 제 1 명령어 및 제 2 명령어 중 적어도 하나를 제외한 매크로의 생성을 추천할 수 있다. 다시 말해서, 단말은 저장된 매크로 정보에 기초하여 사용자 입력에 포함된 명령어들 중 생략해도 될 명령어가 존재하는 경우, 사용자 입력에 포함된 명령어들 중 일부 명령어를 생략한 매크로의 생성을 추천할 수도 있다.
또한 일부 실시예에 따르면, 단말은 기존에 삭제했던 매크로 중 하나를 복원을 추천할 수도 있다. 단말은 매크로 삭제 내역으로부터 제 1 명령어 및 제 2 명령어 입력 중 적어도 하나를 포함하는 삭제했던 매크로를 검색하고, 검색된 삭제했던 매크로의 입력 상황 정보와 입력 상황 정보를 비교할 수 있다. 다시 말해서, 단말은 삭제했던 매크로가 생성되었던 입력 상황 정보 및 현재 매크로의 생성을 추천할 지 판단할 때 사용되는 입력 상황 정보를 비교할 수 있다.
예를 들면, 단말은 삭제했던 매크로의 입력 상황 정보와 비교한 결과에 따라 상기 인터페이스를 통해 상기 삭제한 매크로의 복원을 추천할 수 있다. 즉, 단말은 새로운 매크로의 생성을 추천하는 대신 사용자가 의도에 따라 또는 의도와 관계없이 삭제한 매크로의 복원을 추천함으로써 사용자에게 익숙한 매크로의 생성을 추천할 수 있다.
또한 일부 실시예에 다르면, 단말은 입력 상황 정보에 기초하여 추천할 매크로의 카테고리를 판단할 수 있다. 일부 실시예에 따르면, 매크로의 카테고리는 입력 상황 정보 또는 입력 패턴 정보에 기초하여 결정될 수 있다. 예를 들면, 매크로의 카테고리는 전투, 채집, 이동 등으로 구분될 수 있으며, 상기 예시에 제한되지 않는다. 매크로의 카테고리는 게임 시스템에 따라 결정될 수 있다.
일부 실시예에 따르면, 단말은 매크로의 카테고리에 관한 정보에 기초하여 상기 수신된 사용자 입력과 대응되는 적어도 하나의 매크로를 검색하고, 검색된 매크로를 추천할 수 있다. 다시 말해서, 단말은 입력 패턴 정보 및 입력 상황 정보에 따라 매크로의 생성을 추천할지 판단하고, 매크로를 추천하기로 결정된 경우, 입력 패턴 정보 및 입력 상황 정보에 따라 생성할 매크로의 카테고리를 판단할 수 있다.
또한 일부 실시예에 따르면, 단말은 판단된 카테고리와 대응되는 매크로가 생성되도록 매크로를 검색하여 검색된 매크로의 생성을 추천하거나, 사용자 입력이 판단된 카테고리로 생성 및 저장되도록 제어할 수 있다. 또한 단말은 매크로를 입력 상황 정보에 기초하여 카테고리를 분류하여 저장할 수도 있다.
도 6 및 도 7은 일부 실시예에 따른 매크로 생성을 추천하는 게임 화면을 도시한다.
도 6은 매크로 생성을 추천하는 게임 화면(600)을 도시한다. 게임 캐릭터(610)는 게임 공간 내의 소정의 위치에 위치하고 있으며, 게임 화면의 하단부에는 캐릭터가 사용할 수 있는 스킬이 표시된 스킬창 인터페이스(650)가 도시되어 있다.
일부 실시예에 따르면, 단말은 캐릭터가 제 1 스킬(620), 제 2 스킬(630) 및 제 3 스킬(640)을 사용하도록 제어하는 사용자 입력을 수신할 수 있다. 단말은 사용자 입력에 기초하여 입력 패턴 정보를 획득할 수 있다. 즉, 단말은 캐릭터가 제 1 스킬(620), 제 2 스킬(630) 및 제 3 스킬(640)을 사용하도록 제어하는 사용자 입력이 소정의 횟수 이상 수신되었는지 여부, 제 1 스킬(620), 제 2 스킬(630) 및 제 3 스킬(640)을 사용하도록 입력된 사용자 입력의 간격, 타이밍 중 적어도 하나에 기초하여 입력 패턴 정보를 획득하고, 패턴화된 입력이 수신되는지 판단할 수 있다.
또한 단말은 입력 상황 정보를 획득할 수 있다. 단말은 제 1 스킬(620), 제 2 스킬(630) 및 제 3 스킬(640)을 사용하도록 제어하는 패턴화된 입력이 입력된 때의 캐릭터의 위치, 캐릭터의 활동을 판단할 수 있다. 예를 들면, 단말은 제 1 스킬(620), 제 2 스킬(630) 및 제 3 스킬(640)을 사용하도록 제어하는 패턴화된 입력이 입력된 때에 캐릭터가 전장에 위치하는 지, 마을에 위치하는지 판단할 수 있고, 캐릭터가 전투를 수행하고 있는지 채집, 염색과 같은 생활 활동을 수행하는지 판단할 수 있다.
단말은 입력 패턴 정보 및 입력 상황 정보에 따라 매크로의 생성을 추천할 수 있다. 예를 들면, 캐릭터가 전장에서 전투를 수행하고 있을 때, 전투와 관련된 패턴화된 입력이 수행되는 경우 단말은 매크로 생성을 위한 인터페이스(660)을 제공할 수 있다. 단말은 사용자가 입력하는 패턴화된 입력으로 매크로를 생성할지 여부를 확인하는 인터페이스를 표시할 수 있다. 매크로 생성을 위한 인터페이스(660)는 게임 화면 내에 표시되거나 별도의 팝업 창으로 표시될 수 있으며, 상기 예시에 제한되지 않는다.
또한 앞서 설명한 바와 같이 매크로의 생성은 스킬의 사용에 제한되는 것은 아니다. 도 7은 도 6과는 상이한 매크로 생성을 추천하는 게임 화면(700)을 도시한다. 도 7의 매크로 생성을 위한 인터페이스(760)를 참조하면, 제 1 스킬(620)과 캐릭터가 앞으로 이동하도록 제어하는 명령어(710) 및 캐릭터가 옆으로 이동하도록 제어하는 명령어(720)로 매크로를 생성할 지 여부를 확인하는 인터페이스가 표시된다.
다시 말해서, 단말은 연속적인 스킬의 사용만이 아닌, 사용자의 모든 입력에 기초하여 사용자 입력에 포함된 모든 명령어를 매크로로 생성할 수 있다.
도 8은 일부 실시예에 따른 입력 상황 정보에 따른 매크로의 생성을 추천하는 방법을 설명하기 위한 도면이다.
도 8은 도 6 및 도 7과는 다른 상황에서의 매크로의 생성의 추천을 설명하기 위한 게임 화면(800)을 도시한다. 도 8을 참조하면, 캐릭터(810)는 범선(820)에 타고 이동하고 있다. 이 때, 단말은 캐릭터가 제 1 스킬(620), 제 2 스킬(630) 및 제 3 스킬(640)을 사용하도록 제어하는 사용자 입력을 수신할 수 있다. 단말은 사용자 입력에 기초하여 입력 패턴 정보를 획득하여 패턴화된 입력이 수신되었다고 판단할 수 있다.
또한 단말은 입력 상황 정보를 획득할 수 있다. 단말은 제 1 스킬(620), 제 2 스킬(630) 및 제 3 스킬(640)을 사용하도록 제어하는 패턴화된 입력이 입력된 때의 캐릭터의 위치, 캐릭터의 활동을 판단할 수 있다.
그러나 도 6 및 도 7과는 다르게 게임 캐릭터는 전장에 위치하고 있거나 전투를 수행하는 중이 아니라, 이동하고 있을 뿐이다. 따라서, 단말은 입력 상황 정보에 기초하여 캐릭터의 활동이 이동임을 인식할 수 있고, 이동 중 전투와 관련된 사용자 입력이 반복적으로 수신되더라도 매크로의 생성을 추천하지 않을 수 있다. 따라서 도 8의 게임 화면(800)에서는 매크로 생성을 위한 인터페이스가 제공되지 않을 수 있다.
반대로, 범선 위에서 배를 조절하는 사용자 입력이나, 낚시 스킬을 사용하는 사용자 입력과 관련된 패턴화된 입력을 수신하는 경우, 단말은 도 6 및 도 7에서와 같이 매크로 생성을 위한 인터페이스를 제공할 수 있다.
도 9는 일부 실시예에 따른 매크로가 저장되는 방식을 설명하기 위한 도면이다.
일부 실시예에 따르면, 단말 또는 서버는 매크로를 생성하고, 생성된 매크로를 저장할 수 있다. 도 9는 매크로가 저장되는 매크로 데이터베이스(900)의 일 예를 도시한다.
일부 실시예에 따르면, 매크로 데이터베이스(900)는 저장되는 매크로에 대한 다양한 정보를 포함할 수 있다. 매크로 데이터베이스(900)는 카테고리 필드(940), 사용자 입력 필드(950), 입력 상황 필드(960) 및 작성자 필드(970)를 포함할 수 있다.
일부 실시예에 따르면, 매크로 데이터베이스(900)의 카테고리 필드(940)에는 저장된 매크로가 어떤 카테고리인지에 대한 정보가 포함될 수 있다.
예를 들면, 제 1 매크로(910)는 대쉬, 도끼치기, 발차기의 연속적인 스킬을 사용하는 매크로이며, 전투와 관련된 매크로일 수 있다. 따라서, 매크로 데이터베이스(900)에는 제 1 매크로(910)가 전투 관련 매크로라는 카테고리 정보가 포함될 수 있다. 또한 제 2 매크로(920)는 미끼 끼우기, 낚싯대 던지기, 낚아채기의 연속적인 스킬을 사용하는 매크로이며, 낚시와 관련된 매크로일 수 있다. 낚시는 채집 관련 활동이므로, 매크로 데이터베이스(900)에는 제 2 매크로(920)가 채집 관련 매크로라는 카테고리 정보가 포함될 수 있다. 제 3 매크로(930)는 사용자 입력이 쉬프트키, 마우스 오른쪽 버튼 클릭(MRB), 우측 이동키 2회로 구성된 매크로이므로, 이동과 관련된 매크로일 수 있다. 따라서, 매크로 데이터베이스(900)에는 제 3 매크로(930)가 이동 관련 매크로라는 카테고리 정보가 포함될 수 있다.
일부 실시예에 따르면, 매크로 데이터베이스(900)의 사용자 입력 필드(950)에는 저장된 매크로가 어떤 사용자 입력으로 구성되는지에 대한 정보가 포함될 수 있다. 다시 말해서 사용자 입력 필드(950)는 매크로가 어떤 스킬 또는 어떤 명령어로 구성되는지에 대한 정보가 포함될 수 있다. 또한 일부 실시예에 따르면, 매크로 데이터베이스(900)의 작성자(950)에는 저장된 매크로가 어떤 사용자가 생성했는지에 대한 정보가 포함될 수 있다.
물론 매크로 데이터베이스(900)은 도 9의 예시에 제한되지 않으며, 도 9에 도시된 정보보다 적은 정보가 저장될 수 있음은 물론이다. 또한 매크로 데이터베이스(900)에는 매크로에 관한 다양한 정보가 더 포함될 수도 있다. 예를 들면, 매크로 데이터베이스(900)에는 저장된 동일한 매크로를 생성한 사용자들의 숫자, 저장된 매크로의 선호 순위 등에 대한 정보가 더 포함될 수도 있다. 즉, 매크로 데이터베이스(900)는 매크로를 어떠한 형태로든지 제한없이 저장이 가능할 수 있다.
또한 일부 실시예에 따르면, 다른 사용자가 생성한 매크로를 검색할 수도 있으며, 다른 사용자의 매크로는 서버 또는 외부 서버, 웹 서버에 저장될 수 있으며, 단말 또는 서버는 서버 또는 외부 서버, 웹 서버에 저장된 다른 사용자가 생성한 매크로를 검색할 수 있다. 물론 상기 예시에 제한되지 않으며, 다른 사용자가 생성한 매크로 또한 단말에 저장될 수도 있다.
추가적으로, 단말은 삭제된 매크로를 저장할 수도 있다. 예를 들면, 단말은 매크로 삭제 내역을 저장할 수 있으며, 매크로 삭제 내역에는 삭제된 매크로에 포함되었던 입력 패턴 정보, 삭제된 매크로가 생성된 입력 상황 정보가 포함될 수 있다. 삭제된 매크로는 다른 사용자에게 공유되지 않을 수 있으나, 상기 예시에 제한되는 것은 아니다. 물론 삭제된 매크로가 서버에 저장될 수도 있다.
도 10은 일부 실시예에 따른 다른 사용자가 생성한 매크로 참조하여 매크로의 생성을 추천하는 방법의 순서도이다.
단계 1010에서 단말은, 게임 오브젝트의 제어를 위한 제 1 명령어 및 제 2 명령어를 포함하는 사용자 입력을 수신할 수 있다.
단계 1020에서 단말은, 사용자 입력에 기초하여 입력 패턴 정보를 획득할 수 있다.
단계 1030에서 단말은, 획득한 입력 패턴 정보 및 사용자 입력이 수신된 상황에 대한 정보인 입력 상황 정보에 기초하여, 게임 오브젝트의 제어를 위한 매크로의 생성을 추천할지 여부를 판단할 수 있다. 단계 1010 내지 1030은 앞서 설명한 내용과 대응된다.
단계 1040에서 단말은, 다른 사용자가 생성한 매크로를 검색할 수 있다.
일부 실시예에 따르면, 단말은 단계 1030에서 매크로의 생성을 추천하기로 결정한 경우, 단계 1010에서 수신된 사용자 입력에 포함된 명령어들 중 일부 또는 전부가 대응되는 다른 사용자가 생성한 매크로를 검색할 수 있다.
또한 일부 실시예에 따르면, 단말은 입력 패턴 정보 및 입력 상황 정보에 기초하여 판단된 생성을 추천한 매크로의 카테고리에 기초하여 다른 사용자가 생성한 매크로를 검색할 수도 있다. 일부 실시예에 따르면, 매크로의 검색은 서버, 다른 서버 및 웹서버 중 적어도 하나에서 수행될 수도 있고, 단말 내에서 수행될 수도 있다.
단계 1050에서 단말은, 검색된 다른 사용자의 매크로에 기초하여 인터페이스를 통해 게임 오브젝트의 제어를 위한 매크로의 생성을 추천할 수 있다.
일부 실시예에 따르면, 단말은 인터페이스를 통해 검색된 다른 사용자의 매크로와 대응되는 매크로를 생성을 추천할 수 있다. 단말은 인터페이스를 통해 매크로의 생성하는 사용자 입력을 수신하여 매크로를 생성하고, 생성된 매크로를 저장할 수 있다.
도 11은 일부 실시예에 따른 사용자 입력 중 일부를 제외한 매크로의 생성을 추천하는 방법의 순서도이다.
단계 1110에서 단말은, 게임 오브젝트의 제어를 위한 제 1 명령어 및 제 2 명령어를 포함하는 사용자 입력을 수신할 수 있다.
단계 1120에서 단말은, 사용자 입력에 기초하여 입력 패턴 정보를 획득할 수 있다.
단계 1130에서 단말은, 획득한 입력 패턴 정보 및 사용자 입력이 수신된 상황에 대한 정보인 입력 상황 정보에 기초하여, 게임 오브젝트의 제어를 위한 매크로의 생성을 추천할 지 여부를 판단할 수 있다. 단계 1110 내지 1130은 앞서 설명한 내용과 대응된다.
단계 1140에서 단말은, 입력 상황 정보 및 저장된 매크로 정보 중 적어도 하나에 기초하여 제 1 명령어 및 제 2 명령어 중 적어도 하나를 제외한 매크로의 생성을 추천할 수 있다.
일부 실시예에 따르면, 단말은 저장된 매크로 정보에 기초하여 단계 1010에서 수신한 사용자 입력 내에 포함된 제 1 명령어 및 제 2 명령어 중 적어도 하나를 제외하고 매크로를 생성하는 것을 추천할 수 있다. 제 1 명령어 및 제 2 명령어는 중 하나를 제외한다는 의미는 저장된 다른 매크로에 비해 더 많은 명령어를 포함하고 있거나, 효율적이지 않다고 판단되는 명령어를 제외한다는 의미일 수 있다.
다시 말해서, 단말은 저장된 매크로 정보에 기초하여 사용자의 입력 내에 포함된 명령어 중 적어도 하나를 제외한 매크로의 생성을 추천할 수 있다. 예를 들면, 단말은 매크로의 생성을 추천하기로 판단한 경우, 사용자 입력 내에 포함된 명령어들 중 적어도 하나의 명령어와 대응되는 다른 매크로를 검색하고, 매크로의 카테고리 및 입력 상황 정보를 비교할 수 있다. 비교 결과에 따라 사용자의 입력 내에 포함된 명령어들 중 적어도 하나의 명령어를 생략할 수 있다고 판단되는 경우, 단말은 적어도 하나의 명령어를 제외한 매크로의 생성을 추천할 수 있다. 예를 들면, 전투 스킬의 연속적 입력 도중 채집 스킬이 포함되거나, 패턴화된 이동 명령 중 불필요한 추가적인 방향으로의 이동 명령어가 포함된 경우, 단말은 저장된 매크로 정보 또는 입력 상황 정보 중 적어도 하나에 기초하여 일부 명령어를 제외한 매크로의 생성을 추천할 수 있다.
일부 실시예에 따르면, 저장된 매크로 정보란 다른 사용자가 생성한 매크로 정보, 삭제한 매크로 정보 또는 현재 저장된 매크로 정보 중 적어도 하나를 포함할 수 있으며, 상기 예시에 제한되는 것은 아니다.
도 12는 일부 실시예에 따른 사용자 단말의 세부적인 구성을 설명하기 위한 도면이다.
도 12에 도시된 바와 같이 일부 실시예에 따른 사용자 단말(1200)은 프로세서(1210), 사용자 입력부(1230) 및 메모리(1250)을 포함할 수 있다. 그러나 도 12에 도시된 구성 요소가 모두 사용자 단말(1200)의 필수 구성 요소인 것은 아니다. 도 12에 도시된 구성 요소보다 많은 구성 요소에 의해 사용자 단말(1200)이 구현될 수도 있고, 도 12에 도시된 구성 요소보다 적은 구성 요소에 의해 사용자 단말(1200)가 구현될 수 있다.
일부 실시예에 따르면, 프로세서(1210)는 통상적으로 사용자 단말(1200)의 전반적인 동작을 제어한다. 예를 들어, 프로세서(1210)는 사용자 단말(1200)에 저장된 프로그램을 실행함으로써, 서버(1100)가 포함하는 구성요소들을 전반적으로 제어할 수 있다. 또한 프로세서(1210)는 사용자 입력부(1230), 메모리(1250)를 제어할 수 있다.
일부 실시예에 따르면, 프로세서(1210)는 사용자 입력에 기초하여 입력 패턴 정보를 획득하고, 획득한 입력 패턴 정보 및 사용자 입력이 수신된 상황에 대한 정보인 입력 상황 정보에 기초하여, 게임 오브젝트의 제어를 위한 매크로의 생성을 추천할 지 여부를 판단하고, 판단 결과에 기초하여 사용자 입력에 기초한 매크로의 생성을 위한 인터페이스를 제공하도록 제어할 수 있다.
일부 실시예에 따르면, 프로세서(1210)는 획득된 입력 패턴 정보에 기초하여 소정 횟수 이상 소정의 패턴으로 사용자 입력이 수신되는지 판단하고, 입력 상황 정보에 기초하여 소정 횟수 이상 소정의 패턴으로 수신되는 사용자 입력이 소정의 상황에서 수신되었는지 판단하며, 소정 횟수 이상 소정의 패턴으로 수신되는 사용자 입력이 소정의 상황에서 수신되었는지에 대한 판단 결과에 따라 매크로의 생성을 추천할 수 있다.
또한 일부 실시예에 따르면, 프로세서(1210)는 입력 패턴 정보 또는 입력 상황 정보에 기초하여 다른 사용자가 생성한 매크로를 검색하고, 검색된 다른 사용자의 매크로에 기초하여 인터페이스를 통해 게임 오브젝트의 제어를 위한 매크로의 생성을 추천할 수 있다.
또한 일부 실시예에 따르면, 프로세서(1210)는 매크로 삭제 내역으로부터 제 1 명령어 및 제 2 명령어 입력 중 적어도 하나를 포함하는 삭제했던 매크로를 검색하고, 검색된 삭제했던 매크로의 입력 상황 정보와 입력 상황 정보를 비교하며, 삭제했던 매크로의 입력 상황 정보와 비교한 결과에 따라 상기 인터페이스를 통해 상기 삭제한 매크로의 복원을 추천할 수 있다.
또한 일부 실시예에 따르면, 프로세서(1210)는 입력 상황 정보 및 저장된 매크로 정보 중 적어도 하나에 기초하여 제 1 명령어 및 제 2 명령어 중 적어도 하나를 제외한 매크로의 생성을 추천할 수 있다.
또한 일부 실시예에 따르면, 프로세서(1210)는 입력 상황 정보에 기초하여 추천할 매크로의 카테고리를 판단하고, 판단된 카테고리에 관한 정보에 기초하여 수신된 사용자 입력과 대응되는 적어도 하나의 매크로를 검색하고, 검색된 매크로를 추천할 수 있다.
일부 실시예에 따르면, 사용자 입력부(1230)는 사용자 입력을 수신하는 인터페이스일 수 있다. 사용자 입력부(1230)는 키 패드(key pad), 돔 스위치 (dome switch), 터치 패드(접촉식 정전 용량 방식, 압력식 저항막 방식, 적외선 감지 방식, 표면 초음파 전도 방식, 적분식 장력 측정 방식, 피에조 효과 방식 등), 조그 휠, 조그 스위치 등이 있을 수 있으나 이에 한정되는 것은 아니다.
일부 실시예에 따르면, 메모리(1250)는 생성된 매크로를 저장할 수 있다. 저장된 매크로는 앞서 설명한 바와 같이 사용자가 생성한 매크로, 다른 사용자가 생성한 매크로, 삭제한 매크로 중 적어도 하나를 포함할 수 있다. 또한 메모리(1250)는 카테고리별로 매크로를 저장할 수 있다. 메모리(1250)에 저장되는 형태는 제한이 없으며, 도 9에서 설명한 매크로 데이터베이스 형태로 저장될 수도 있다.
메모리(1250)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(RAM, Random Access Memory) SRAM(Static Random Access Memory), 롬(ROM, Read-Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다. 또한 일부 실시예에 따르면, 메모리(1250)에 저장된 프로그램들은 그 기능에 따라 복수 개의 모듈들로 분류할 수 있다.
추가적으로 단말은 통신부(미도시)를 포함할 수 있다, 일부 실시예에 따르면, 통신부(1250)은 블루투스 통신부, BLE(Bluetooth Low Energy) 통신부, 근거리 자기장 통신부(Near Field Communication), WLAN(와이파이) 통신부, 지그비(Zigbee) 통신부, 적외선(IrDA, infrared Data Association) 통신부, WFD(Wi-Fi Direct) 통신부, UWB(ultra wideband) 통신부, Ant+ 통신부 등을 포함할 수 있으나, 이에 한정되는 것은 아니다.
또한 일부 실시예에 따르면, 통신부(미도시)는 이동 통신망 상에서 기지국, 외부의 단말, 서버 중 적어도 하나와 무선 신호를 송수신한다. 여기에서, 무선 신호는, 음성 호 신호, 화상 통화 호 신호 또는 문자/멀티미디어 메시지 송수신에 따른 다양한 형태의 데이터를 포함할 수 있다.
또한 일부 실시예에 따르면, 사용자 단말(1200)은 디스플레이(미도시)를 더 포함할 수 있다. 디스플레이는 액정 디스플레이(liquid crystal display), 박막 트랜지스터 액정 디스플레이(thin film transistor-liquid crystal display), 유기 발광 다이오드(organic light-emitting diode), 플렉시블 디스플레이(flexible display), 3차원 디스플레이(3D display), 전기영동 디스플레이(electrophoretic display) 중에서 적어도 하나를 포함할 수 있다. 디스플레이와 터치패드가 레이어 구조를 이루어 터치 스크린으로 구성되는 경우, 디스플레이는 출력 장치 이외에 입력 장치로도 사용될 수 있다.
도 13은 일부 실시예에 따른 서버의 세부적인 구성을 설명하기 위한 도면이다.
도 13에 도시된 바와 같이 일부 실시예에 따른 서버(1300)는 프로세서(1310), 통신부(1330) 및 메모리(1350)을 포함할 수 있다. 그러나 도 13에 도시된 구성 요소가 모두 서버(1300)의 필수 구성 요소인 것은 아니다. 도 13에 도시된 구성 요소보다 많은 구성 요소에 의해 서버(1300)가 구현될 수도 있고, 도 13에 도시된 구성 요소보다 적은 구성 요소에 의해 서버(1300)가 구현될 수 있다.
앞서 설명한 바와 같이 본원발명의 적응적인 매크로의 생성을 추천하는 방법은 사용자 단말(1200)뿐만 아니라 서버(1300)에서 수행될 수도 있다. 예를 들면, 사용자 단말(1200)의 사용자 입력부(1230)가 수행하는 사용자 입력을 수신하는 동작은 서버(1300)의 통신부(1330)에서 수행할 수 있으며, 사용자 단말(1200)의 프로세서(1210)가 수행하는 동작을 서버(1300)의 프로세서(1310)가 수행할 수 있다. 또한 사용자 단말(1200)의 메모리(1250)가 수행하는 동작을 서버(1300)의 메모리(1350)가 수행할 수 있다.
일부 실시예에 따르면, 프로세서(1310)는 통상적으로 서버(1300)의 전반적인 동작을 제어한다. 예를 들어, 프로세서(1310)는 서버(1300)에 저장된 프로그램을 실행함으로써, 서버(1300)가 포함하는 구성요소들을 전반적으로 제어할 수 있다. 앞서 설명한 바와 같이 서버(1300)의 프로세서(1310)가 수행하는 동작은 사용자 단말(1200)의 프로세서(1210)가 수행하는 동작과 대응되므로 자세한 설명은 생략한다.
일부 실시예에 따르면, 통신부(1330)는 사용자 단말(1200)과의 통신을 통해 사용자 입력을 수신할 수 있다, 또한 통신부(1330)는 사용자 단말을 제어하기 위한 데이터를 송신 또는 수신할 수 있다.
일부 실시예에 따르면, 통신부(1330)는 블루투스, BLE(Bluetooth Low Energy), 근거리 자기장(Near Field Communication), WLAN, 지그비(Zigbee) 적외선(IrDA, infrared Data Association), WFD(Wi-Fi Direct), UWB(ultra wideband), Ant+, LTE, 3G, 5G 등 통신 방법에 관계 없이 모든 방법을 통해 통신할 수 있다.
또한, 프로세서(1310)의 처리 및 제어를 위한 프로그램을 저장할 수 있고, 서버(1300)로 입력되거나 서버(1300)로부터 출력되는 데이터를 저장할 수도 있다. 서버(1300)의 메모리(1350)가 수행하는 동작은 사용자 단말(1200)의 메모리(1250)가 수행하는 동작과 대응되므로 자세한 설명은 생략한다.
일부 실시예에 따르면, 메모리(1350)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(RAM, Random Access Memory) SRAM(Static Random Access Memory), 롬(ROM, Read-Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다. 또한 일부 실시예에 따르면, 메모리(1350)에 저장된 프로그램들은 그 기능에 따라 복수 개의 모듈들로 분류할 수 있다.
또한 본원발명의 적응적으로 매크로를 생성을 추천하는 방법을 사용자 단말과 서버가 나누어 수행할 수 있다. 예를 들면, 단말(1200)의 사용자 입력부(1230)가 사용자 입력을 수신하여 서버(1300)의 통신부(1330)에게 송신하면, 서버의 프로세서(1310)가 사용자 입력 패턴 정보를 분석하고, 획득한 입력 패턴 정보 및 사용자 입력이 수신된 상황에 대한 정보인 입력 상황 정보에 기초하여, 게임 오브젝트의 제어를 위한 매크로의 생성을 추천할 지 여부를 판단하고, 판단 결과에 기초하여 사용자 단말(1200)이 매크로의 생성을 위한 인터페이스를 제공하도록 사용자 단말을 제어할 수도 있다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 어플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (21)

  1. 사용자 단말이 적응적 매크로 추천 방법에 있어서,
    상기 사용자 단말이 게임 오브젝트의 제어를 위한 제 1 명령어 및 제 2 명령어를 포함하는 사용자 입력을 수신하는 단계;
    상기 사용자 단말이 상기 사용자 입력에 기초하여 입력 패턴 정보를 획득하는 단계;
    상기 사용자 단말이 상기 획득한 입력 패턴 정보 및 상기 사용자 입력이 수신된 때의 게임 내의 상황에 대한 정보인 입력 상황 정보에 기초하여, 상기 게임 오브젝트의 제어를 위한 매크로의 생성을 추천할 지 여부를 판단하는 단계; 및
    상기 사용자 단말이 상기 판단 결과에 기초하여 상기 사용자 입력에 기초한 매크로의 생성을 위한 인터페이스를 제공하는 단계를 포함하는 방법.
  2. 제1항에 있어서,
    상기 입력 패턴 정보는,
    상기 제 1 명령어 및 상기 제 2 명령어의 입력 순서에 관한 정보, 상기 제 1 명령어 및 상기 제 2 명령어의 입력 타이밍에 관한 정보, 상기 제 1 명령어 및 상기 제 2 명령어의 입력 빈도에 관한 정보, 및 상기 제 1 명령어 및 상기 제 2 명령어의 입력 간격 중 적어도 하나를 포함하는 것인 방법.
  3. 제1항에 있어서,
    상기 입력 상황 정보는,
    상기 사용자 입력이 수신된 때의 게임 내의 상기 게임 오브젝트의 위치 정보, 상기 게임 오브젝트의 활동 정보 중 적어도 하나를 포함하는 것인 방법.
  4. 제3항에 있어서,
    상기 게임 오브젝트의 활동 정보는,
    상기 게임 오브젝트의 동작 정보, 상기 게임 오브젝트의 퀘스트 정보, 상기 게임 오브젝트의 탑승 정보, 상기 게임 오브젝트의 장착 정보, 상기 게임 오브젝트의 주위에 배치된 다른 게임 오브젝트에 관한 정보 중 적어도 하나를 포함하는 것인 방법.
  5. 제3항에 있어서,
    상기 게임 오브젝트의 제어를 위한 매크로의 생성을 추천할지 여부를 판단하는 단계는,
    상기 사용자 단말이 상기 획득된 입력 패턴 정보에 기초하여 소정 횟수 이상 소정의 패턴으로 상기 사용자 입력이 수신되는지 판단하는 단계;
    상기 사용자 단말이 상기 입력 상황 정보에 기초하여 상기 소정 횟수 이상 상기 소정의 패턴으로 수신되는 사용자 입력이 소정의 상황에서 수신되었는지 판단하는 단계; 및
    상기 사용자 단말이 상기 소정 횟수 이상 상기 소정의 패턴으로 수신되는 사용자 입력이 소정의 상황에서 수신되었는지에 대한 판단 결과에 따라 상기 매크로의 생성을 추천하는 것인 방법.
  6. 제1항에 있어서,
    상기 매크로의 생성을 위한 인터페이스를 제공하는 단계는,
    상기 사용자 단말이 상기 입력 패턴 정보 또는 상기 입력 상황 정보에 기초하여 다른 사용자가 생성한 매크로를 검색하는 단계; 및
    상기 사용자 단말이 상기 검색된 다른 사용자의 매크로에 기초하여 상기 인터페이스를 통해 상기 게임 오브젝트의 제어를 위한 매크로의 생성을 추천하는 단계를 포함하는 방법.
  7. 제1항에 있어서,
    상기 매크로의 생성을 위한 인터페이스를 제공하는 단계는,
    상기 사용자 단말이 매크로 삭제 내역으로부터 상기 제 1 명령어 및 상기 제 2 명령어 중 적어도 하나를 포함하는 삭제했던 매크로를 검색하는 단계;
    상기 사용자 단말이 상기 검색된 삭제했던 매크로의 입력 상황 정보와 상기 입력 상황 정보를 비교하는 단계; 및
    상기 사용자 단말이 상기 삭제했던 매크로의 입력 상황 정보와 비교한 결과에 따라 상기 인터페이스를 통해 상기 삭제한 매크로의 복원을 추천하는 것인 방법.
  8. 제3항에 있어서,
    상기 매크로의 생성을 위한 인터페이스를 제공하는 단계는,
    상기 사용자 단말이 상기 입력 상황 정보 및 저장된 매크로 정보 중 적어도 하나에 기초하여 상기 제 1 명령어 및 상기 제 2 명령어 중 적어도 하나를 제외한 매크로의 생성을 추천하는 것인 방법.
  9. 제1항에 있어서,
    상기 매크로의 생성을 위한 인터페이스를 제공하는 단계는,
    상기 사용자 단말이 상기 입력 상황 정보에 기초하여 상기 추천할 매크로의 카테고리를 판단하는 단계;
    상기 사용자 단말이 상기 판단된 카테고리에 관한 정보에 기초하여 상기 수신된 사용자 입력과 대응되는 적어도 하나의 매크로를 검색하는 단계; 및
    상기 사용자 단말이 상기 검색된 매크로를 추천하는 단계를 포함하는 방법.
  10. 제1항에 있어서,
    상기 방법은,
    상기 사용자 단말이 상기 인터페이스를 통해 생성된 매크로를 상기 입력 상황 정보에 기초하여 카테고리를 분류하여 저장하는 단계를 더 포함하는 방법.
  11. 적응적으로 매크로 생성을 추천하는 사용자 단말에 있어서,
    게임 오브젝트의 제어를 위한 제 1 명령어 및 제 2 명령어를 포함하는 사용자 입력을 수신하는 사용자 입력부; 및
    상기 사용자 입력에 기초하여 입력 패턴 정보를 획득하고, 상기 획득한 입력 패턴 정보 및 상기 사용자 입력이 수신된 때의 게임 내의 상황에 대한 정보인 입력 상황 정보에 기초하여, 상기 게임 오브젝트의 제어를 위한 매크로의 생성을 추천할 지 여부를 판단하고, 상기 판단 결과에 기초하여 상기 사용자 입력에 기초한 매크로의 생성을 위한 인터페이스를 제공하도록 제어하는 프로세서를 포함하는 단말.
  12. 제11항에 있어서,
    상기 입력 패턴 정보는,
    상기 제 1 명령어 및 상기 제 2 명령어의 입력 순서에 관한 정보, 상기 제 1 명령어 및 상기 제 2 명령어의 입력 타이밍에 관한 정보, 상기 제 1 명령어 및 상기 제 2 명령어의 입력 빈도에 관한 정보, 및 상기 제 1 명령어 및 상기 제 2 명령어의 입력 간격 중 적어도 하나를 포함하는 것인 단말.
  13. 제11항에 있어서,
    상기 입력 상황 정보는,
    상기 사용자 입력이 수신된 때의 게임 내의 상기 게임 오브젝트의 위치 정보, 상기 게임 오브젝트의 활동 정보 중 적어도 하나를 포함하는 것인 단말.
  14. 제13항에 있어서,
    상기 게임 오브젝트의 활동 정보는,
    상기 게임 오브젝트의 동작 정보, 상기 게임 오브젝트의 퀘스트 정보, 상기 게임 오브젝트의 탑승 정보, 상기 게임 오브젝트의 장착 정보, 상기 게임 오브젝트의 주위에 배치된 다른 게임 오브젝트에 관한 정보 중 적어도 하나를 포함하는 것인 단말.
  15. 제13항에 있어서,
    상기 프로세서는,
    상기 획득된 입력 패턴 정보에 기초하여 소정 횟수 이상 소정의 패턴으로 상기 사용자 입력이 수신되는지 판단하고, 상기 입력 상황 정보에 기초하여 상기 소정 횟수 이상 상기 소정의 패턴으로 수신되는 사용자 입력이 소정의 상황에서 수신되었는지 판단하며, 상기 소정 횟수 이상 상기 소정의 패턴으로 수신되는 사용자 입력이 소정의 상황에서 수신되었는지에 대한 판단 결과에 따라 상기 매크로의 생성을 추천하는 것인 단말.
  16. 제11항에 있어서,
    상기 프로세서는,
    상기 입력 패턴 정보 또는 상기 입력 상황 정보에 기초하여 다른 사용자가 생성한 매크로를 검색하고, 상기 검색된 다른 사용자의 매크로에 기초하여 상기 인터페이스를 통해 상기 게임 오브젝트의 제어를 위한 매크로의 생성을 추천하는 것인 단말.
  17. 제11항에 있어서,
    상기 프로세서는,
    매크로 삭제 내역으로부터 상기 제 1 명령어 및 상기 제 2 명령어 중 적어도 하나를 포함하는 삭제했던 매크로를 검색하고, 상기 검색된 삭제했던 매크로의 입력 상황 정보와 상기 입력 상황 정보를 비교하며, 상기 삭제했던 매크로의 입력 상황 정보와 비교한 결과에 따라 상기 인터페이스를 통해 상기 삭제한 매크로의 복원을 추천하는 것인 단말.
  18. 제13항에 있어서,
    상기 프로세서는,
    상기 입력 상황 정보 및 저장된 매크로 정보 중 적어도 하나에 기초하여 상기 제 1 명령어 및 상기 제 2 명령어 중 적어도 하나를 제외한 매크로의 생성을 추천하는 것인 단말.
  19. 제11항에 있어서,
    상기 프로세서는,
    상기 입력 상황 정보에 기초하여 상기 추천할 매크로의 카테고리를 판단하고, 상기 판단된 카테고리에 관한 정보에 기초하여 상기 수신된 사용자 입력과 대응되는 적어도 하나의 매크로를 검색하고, 상기 검색된 매크로를 추천하는 것인 단말.
  20. 제11항에 있어서,
    상기 단말은,
    상기 인터페이스를 통해 생성된 매크로를 상기 입력 상황 정보에 기초하여 카테고리를 분류하여 저장하는 메모리를 더 포함하는 단말.
  21. 제1항 내지 제10항 중 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR1020170184626A 2017-12-29 2017-12-29 매크로의 생성을 적응적으로 추천하는 장치, 방법 및 컴퓨터 프로그램 KR102617423B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170184626A KR102617423B1 (ko) 2017-12-29 2017-12-29 매크로의 생성을 적응적으로 추천하는 장치, 방법 및 컴퓨터 프로그램

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170184626A KR102617423B1 (ko) 2017-12-29 2017-12-29 매크로의 생성을 적응적으로 추천하는 장치, 방법 및 컴퓨터 프로그램

Publications (2)

Publication Number Publication Date
KR20190081820A KR20190081820A (ko) 2019-07-09
KR102617423B1 true KR102617423B1 (ko) 2023-12-26

Family

ID=67261918

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170184626A KR102617423B1 (ko) 2017-12-29 2017-12-29 매크로의 생성을 적응적으로 추천하는 장치, 방법 및 컴퓨터 프로그램

Country Status (1)

Country Link
KR (1) KR102617423B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140289621A1 (en) * 2010-12-10 2014-09-25 Raghupathy Sivakumar Systems and methods for providing programmable macros
JP2016067905A (ja) * 2015-05-27 2016-05-09 グリー株式会社 制御方法、コンピュータ及び制御プログラム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8826304B2 (en) * 2009-08-13 2014-09-02 Google Inc. Virtual object indirection in a hosted computer environment
KR101102889B1 (ko) * 2010-05-20 2012-01-10 송대진 매크로 기능을 구비한 대전 격투 게임용 조이스틱 장치 및 이를 이용한 게임 매크로 방법
KR101816014B1 (ko) * 2013-05-30 2018-02-21 엠파이어 테크놀로지 디벨롭먼트 엘엘씨 대규모 멀티플레이어 온라인 롤플레잉 게임 제어

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140289621A1 (en) * 2010-12-10 2014-09-25 Raghupathy Sivakumar Systems and methods for providing programmable macros
JP2016067905A (ja) * 2015-05-27 2016-05-09 グリー株式会社 制御方法、コンピュータ及び制御プログラム

Also Published As

Publication number Publication date
KR20190081820A (ko) 2019-07-09

Similar Documents

Publication Publication Date Title
US20230076343A1 (en) Virtual item selection interface
US20230241501A1 (en) Display method and apparatus for virtual prop, electronic device and storage medium
US20220001280A1 (en) Method, device, and computer program for displaying interaction graphic user interface
US20230078571A1 (en) Information display method, apparatus, electronic device, computer-readable storage medium and computer program product
CN114053711A (zh) 界面显示方法、装置、设备以及存储介质
KR20200005329A (ko) 자동 미션 수행 시스템 제공 방법 및 장치
KR102617423B1 (ko) 매크로의 생성을 적응적으로 추천하는 장치, 방법 및 컴퓨터 프로그램
CN112055607A (zh) 概率型项目提供系统的控制方法、装置和计算机程序
CN116531758A (zh) 虚拟角色的控制方法、装置、存储介质以及电子装置
KR102590801B1 (ko) 게임 서비스를 제공하기 위한 장치, 방법 및 컴퓨터 프로그램
KR20200060140A (ko) 게임 제공 장치에서 결제 분석 정보를 제공하는 방법 및 게임 제공 장치
KR102614708B1 (ko) 타겟 객체 선택 방법 및 이를 수행하기 위한 게이밍 디바이스
KR20220008709A (ko) 게임 인터페이스를 제공하는 방법 및 장치
KR102403588B1 (ko) 캐릭터 정보 항목을 연관 정도에 기초하여 표시하는 방법 및 장치
KR102137735B1 (ko) 온라인 게임의 인스턴스 공간에서의 커뮤니케이션 기능을 제공하는 방법 및 장치
KR102487081B1 (ko) 게임에서 난이도를 결정하기 위한 방법, 장치, 및 컴퓨터 프로그램
US12005353B2 (en) Virtual object selection method and apparatus, device, and storage medium
US20220288491A1 (en) Virtual item information transmission method and apparatus, virtual item information display method and apparatus, and terminal
US20220043562A1 (en) Virtual object selection method and apparatus, device, and storage medium
KR20200013514A (ko) 대전 게임의 상대를 교체하는 기능을 제공하는 방법, 장치 및 컴퓨터 프로그램
US11771989B2 (en) Method for providing item enhancement service in game
US11779844B2 (en) Video game inventory coach
KR102227330B1 (ko) 인터랙션 그래픽 유저 인터페이스를 디스플레이하기 위한 방법, 장치, 및 컴퓨터 프로그램
KR20230142420A (ko) 자동 이동 기능을 지원하는 게임 서비스를 제공하는 장치, 방법 및 컴퓨터 프로그램
KR20230153101A (ko) 그래픽 유저 인터페이스를 디스플레이하기 위한 방법 및 게임 제공 장치

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant