KR20120022025A - 루어 낚시 게임에서 인카운터 기능을 구현하는 방법, 장치, 및 기록매체 - Google Patents

루어 낚시 게임에서 인카운터 기능을 구현하는 방법, 장치, 및 기록매체 Download PDF

Info

Publication number
KR20120022025A
KR20120022025A KR1020100084580A KR20100084580A KR20120022025A KR 20120022025 A KR20120022025 A KR 20120022025A KR 1020100084580 A KR1020100084580 A KR 1020100084580A KR 20100084580 A KR20100084580 A KR 20100084580A KR 20120022025 A KR20120022025 A KR 20120022025A
Authority
KR
South Korea
Prior art keywords
information
fish
line
character
fighting
Prior art date
Application number
KR1020100084580A
Other languages
English (en)
Other versions
KR101144390B1 (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 KR1020100084580A priority Critical patent/KR101144390B1/ko
Priority to PCT/KR2011/006189 priority patent/WO2012026726A2/ko
Publication of KR20120022025A publication Critical patent/KR20120022025A/ko
Application granted granted Critical
Publication of KR101144390B1 publication Critical patent/KR101144390B1/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/80Special adaptations for executing a specific game genre or game mode
    • A63F13/818Fishing
    • 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/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Tourism & Hospitality (AREA)
  • Multimedia (AREA)
  • Marketing (AREA)
  • Human Resources & Organizations (AREA)
  • General Health & Medical Sciences (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Economics (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)

Abstract

본 명세서는 루어 낚시 게임에서 인카운터 기능을 구현하는 방법, 장치, 및 기록매체에 관한 것이다.
본 명세서의 일 실시예에 의한 루어 낚시 게임에서 인카운터 기능을 구현하는 방법은 클라이언트로부터 액션 수행 정보를 수신하는 단계, 상기 액션 수행 정보를 이용하여 인카운터 게이지를 연산하는 단계, 상기 연산된 인카운터 게이지가 기준값에 도달한 경우, 상기 클라이언트에 송신할 물고기 정보를 산출하는 단계, 및 상기 산출한 물고기 정보를 상기 클라이언트에 송신하고, 파이팅 모드를 진행하는 단계를 포함한다.

Description

루어 낚시 게임에서 인카운터 기능을 구현하는 방법, 장치, 및 기록매체{METHOD, APPARATUS, AND RECORDED MEDIUM FOR IMPLEMENTING ENCOUNTER FUNCTION in lure fishing game}
본 명세서는 외부 입력 장치를 이용하여 낚시 게임을 진행하는 시스템에 관한 것으로, 특히 현실에서의 액션과 게임의 특성이 적용되도록 인카운터 기능을 구현하여, 보다 현실감있는 게임을 제공하도록 하는 방법, 장치, 및 기록매체를 제공하는 것이다.
종래의 인터넷 서비스는 단순한 정보를 제공하는 수준에서 발전하여, 많은 경제, 문화적 생활을 인터넷 상에서 구현하는 수준에 이르렀다. 그 결과, 인터넷을 통해 친목을 교류하고, 정보를 교환하여 왔다. 또한, 인터넷 서비스에서는 현실 세계의 스포츠가 결합된 게임을 제공하게 되었다.
특히 낚시 게임은 그래픽 성능 및 게임의 다양한 제어가 가능할 때, 현실감을 제공할 수 있다. 따라서, 낚시 게임을 구현함에 있어서, 세부적인 제어와 현실감있는 그래픽 및 제어 신호를 처리하는 것이 필요하다. 종래에는 낚시 게임을 실행 또는 수행하기 위한 인터페이스는 낚시를 하기 위해 필요한 다양한 제어, 그리고 낚시의 결과를 보여주기 위한 연산 과정은 생략되고, 단지 미끼를 던지고 당기는 기능에 대해서만 고려하고 있다. 그 결과, 캐릭터의 액션과 물고기의 특징, 수심, 루어의 종류 등이 낚시 게임을 수행함에 있어서 고려되지 못하고 있다.
본 명세서의 일 실시예는 루어 낚시 게임의 인카운터 기능을 구현함에 있어 필요한 여러가지 환경 변수 및 게임을 통해 유발되는 변수들을 다양하게 적용할 수 있도록 한다. 이를 위하여 낚시 게임에서의 루어, 물고기, 라인, 캐릭터 등의 특성 정보들이 게임 진행 과정에서 연산되어 인카운터 기능을 가능하도록 하는 방법, 장치, 및 기록매체를 제안한다.
본 명세서의 일 실시예에 의한 루어 낚시 게임에서 인카운터 기능을 구현하는 방법은 클라이언트로부터 액션 수행 정보를 수신하는 단계, 상기 액션 수행 정보를 이용하여 인카운터 게이지를 연산하는 단계, 상기 연산된 인카운터 게이지가 기준값에 도달한 경우, 상기 클라이언트에 송신할 물고기 정보를 산출하는 단계, 및 상기 산출한 물고기 정보를 상기 클라이언트에 송신하고, 파이팅 모드를 진행하는 단계를 포함한다.
본 명세서의 다른 실시예에 의한 루어 낚시 게임에서 인카운터 기능을 구현하는 방법은 외부 입력장치로부터 제어 신호를 수신하여 액션 수행 정보로 변환하는 단계, 상기 변환한 액션 수행 정보를 상기 서버에 송신하는 단계, 상기 서버로부터 파이팅할 물고기 정보를 수신하는 단계, 외부 입력장치로부터 제어 신호를 수신하여 파이팅 수행 정보로 변환하는 단계, 상기 변환한 파이팅 수행 정보를 상기 서버에 송신하는 단계, 및 상기 서버로부터 파이팅 수행 결과를 수신하는 단계를 포함한다.
본 명세서의 또다른 실시예에 의한 루어 낚시 게임 서버 장치는 클라이언트와 정보를 송수신하는 송수신부, 인카운터 게이지를 조절하는 인카운터 조절부, 몰고기 정보를 저장하는 물고기 데이터베이스, 및 상기 인카운터 조절부 및 송수신부를 제어하는 제어부를 포함하며, 상기 제어부는 상기 송수신부가 수신한 액션 수행 정보를 상기 인카운터 조절부에 제공하고, 상기 인카운터 조절부가 산출한 인카운터 게이지의 연산 결과가 기준값에 도달한 경우, 물고기 정보를 상기 물고기 데이터베이스에서 산출하며, 상기 송수신부는 상기 산출한 물고기 정보를 상기 클라이언트에 송신하는 것을 특징으로 한다.
본 명세서의 또다른 실시예에 의한 루어 낚시 게임 클라이언트 장치는 서버와 정보를 송수신하는 송수신부, 상기 서버로부터 수신한 정보를 저장하는 저장부, 외부로부터 게임을 제어하는 제어신호를 입력받는 외부 입력 장치, 게임 진행 과정 또는 진행 결과를 그래픽 정보로 출력하는 외부 출력 장치, 및 상기 송수신부, 저장부, 외부 입력 장치 및 외부 출력 장치를 제어하는 제어부를 포함하며, 상기 제어부는 외부 입력장치로부터 제어 신호를 수신하여 액션 수행 정보로 변환하여 상기 변환한 액션 수행 정보를 상기 송수신부가 상기 서버에 송신하도록 상기 송수신부를 제어하며, 상기 송수신부가 상기 서버로부터 파이팅할 물고기 정보를 수신하는 경우, 상기 제어부는 상기 외부 입력장치로부터 제어 신호를 수신하여 파이팅 수행 정보로 변환하여 상기 변환한 파이팅 수행 정보를 상기 송수신부가 상기 서버에 송신하도록 상기 송수신부를 제어하며, 상기 송수신부는 상기 서버로부터 파이팅 수행 결과를 수신하는 것을 특징으로 한다.
본 명세서의 또다른 실시예에 기록 매체는 루어 낚시 게임에서 인카운터 기능을 구현하는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체인 것을 특징으로 한다.
도 1은 본 명세서의 실시예들이 적용되는 인터넷의 구조에 대한 일 실시예이다.
도 2는 인카운터 시스템을 기반으로, 라인 브레이크 시스템, 드래그 시스템을 포함하는 전체 시스템 구조를 보여주는 도면이다.
도 3은 본 명세서의 일 실시예에 의한 서버와 클라이언트에서 인카운터 기능을 제공하는 과정을 살펴보는 도면이다.
도 4는 본 명세서의 일 실시예에 의한 인카운터 시스템에서의 입질 물고기를 결정하는 과정을 보여주는 도면이다.
도 5는 본 명세서의 일 실시예에 의한 인카운터 시스템 내의 물고기의 크기를 결정하는 과정을 보여주는 도면이다.
도 6은 본 명세서의 일 실시예에 의한 서버와 클라이언트에서 드래그를 수행하고, 라인 브레이크를 판단하는 과정을 살펴보는 도면이다.
도 7은 본 명세서의 일 실시예에 의한 서버에서 낚시 게임을 진행하는 과정을 보여주는 도면이다.
도 8은 본 명세서의 일 실시예에 의한 클라이언트에서 낚시 게임을 진행하는 과정을 보여주는 도면이다.
도 9는 본 명세서의 다른 실시예에 의한 서버의 구성을 보여주는 도면이다.
도 10은 본 명세서의 일 실시예에 의한 클라이언트의 구성을 보여주는 도면이다.
이하, 본 발명의 일부 실시예들을 예시적인 도면을 통해 상세하게 설명한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
또한, 본 발명의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 또는 접속될 수 있지만, 각 구성 요소 사이에 또 다른 구성 요소가 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.
도 1은 본 명세서의 실시예들이 적용되는 인터넷의 구조에 대한 일 실시예이다. 인터넷은 도 1에 나타난 바와 같이, 인터넷(100)에 접속하여 정보를 송수신하는 과정은 매우 다양하다. 예를 들어, 휴대폰(10)과 PDA(Personal Digital Assistant)/스마트폰(smartphone)(20)과 같은 기기들은 기지국(50)을 통해 인터넷(100)에 접속할 수 있고, 컴퓨터 또는 노트북(30)은 유선 또는 무선 랜(Wire/Wireless Local Area Network)을 이용하여 인터넷에 접속할 수 있다. 물론, 최근 스마트폰 역시 인터넷을 이용하는 방법으로 무선 랜 등을 이용하여 접속할 수 있다. 이러한 기기들은 모두 인터넷 상에서 외부의 서버(111, 112)에 접속하여 소정의 정보를 수신하거나 송신하는 역할을 한다. 이러한 기기들을 통상 클라이언트라고 한다. 그리고, 다수의 클라이언트들이 접속하여 정보를 수신할 수 있도록 하는 기기를 서버(111, 112)라 한다. 인터넷(100)의 가장 활발한 서비스 중 하나인 웹(Web)에서는 HTTP(Hyper Text Transfer Protocol)을 이용하여 소정의 정보를 송수신하고 있다. 물론, HTTP 프로토콜 이외에도 TCP/IP(Transmission Control Protocol/Internet Protocol), FTP(File Transfer Protocol) 등의 다양한 프로토콜을 이용할 수 있다. 서버(111, 112)는 다양한 기능을 제공하거나, 특정 기능을 제공할 수 있다.
인터넷 서비스에 접목되는 다양한 서비스들 중에서 게임 서비스는 인터넷 서비스 사용자들에게 제공되는 가상 세계에서 사용자들이 마우스, 터치패드, 키보드와 같은 외부 입력 장치를 사용하여 클라이언트 장치에서 아바타의 행동을 제어하여 게임을 수행할 수 있도록 한다. 현실감 높은 게임을 제공하기 위해서는 외부 입력 장치를 통한 아바타의 제어와 이를 디스플레이를 통해 표현하는 부분, 그리고 제어된 행위를 통해 적절한 게임 실행 결과가 일치하는 것이 필요하다. 이하 본 명세서에서는 낚시 게임 중 낚시의 루어와 물고기의 상관 관계를 게임에 적용하는 인카운터 시스템에 적용할 수 있도록 낚시의 루어를 던진 후, 루어를 제어하는 액션(action)과 관련하여 현실감 있게 물고기를 낚는 과정 및 낚기 위한 연산, 낚는 과정에서의 라인 브레이크 등을 가능하도록 하는 장치, 방법 및 이를 통한 기록 매체의 제공에 대해 살펴보고자 한다.
이하 본 명세서에서 사용하게 되는 용어에 대하여 간략히 살펴보면 다음과 같다.
먼저 인카운터(Encounter) 시스템에 대해 살펴보면 다음과 같다.
인카운터 시스템은 사용자가 제어하는 캐릭터(아바타)의 루어(웜)에 물고기가 입질을 하는 때를 판단하고 그 물고기의 종류, 크기, 무게를 결정하는 시스템이다. 각각의 캐릭터는 일정량의 '인카운터 게이지'를 가지고 있으며 이 게이지는 캐스팅, 액션에 따라 채워지게 된다. 이 게이지가 가득 차면 물고기가 등장해 루어(웜)에 입질을 하게 된다. 물론 인카운터 게이지가 가득 찬다고 해서 물고기가 100% 루어(웜)을 물게 되는 것은 아니며 액션, 럭키포인트 수치에 의해 연산된 입질 확률에 따라 물고기의 입질 여부가 결정되도록 구현할 수 있다. 따라서, 본 명세서의 인카운터 시스템은 물고기의 특성과 입질 확률, 캐릭터의 가변적 또는 특징적 요소, 아이템 요소 등을 반영할 수 있다.
라인 브레이크(line break) 시스템은 캐릭터와 물고기가 라인(낚시줄)을 두고 힘겨루기를 연산하여 제어하는 시스템이다. 낚시의 특성상 힘의 전달이 라인으로 이루어지기 때문에 라인이 버틸 수 있는 정도를 넘어가면 끊어지게 된다. 이렇게 라인이 끊어지는(터지는) 것을 '라인 브레이크(Line Break)'라고 한다. 라인이 끊어지는 경우 외에 낚시대가 부러지는 경우도 확률적으로 발생하기도 한다. 이러한 현실 낚시에서의 라인 브레이크를 구현할 수 있도록 본 명세서의 라인 브레이크 시스템은 다양한 환경 요소, 캐릭터 요소, 또는 아이템 요소를 반영할 수 있다.
드래그(Drag) 시스템은 드래그 단계가 바뀔 때 변경되는 캐릭터의 힘과 풀리는 라인에 대한 설정 부분으로, 드래그 시스템에서는 라인의 인장력, 캐릭터의 힘 등이 중요한 요소가 된다. 따라서 본 명세서에서의 드래그 시스템은 루어 낚시에서의 현실감있는 드래그를 구현하기 위하여 라인 별, 캐릭터별 특성을 반영할 수 있다.
본 명세서에서 루어의 일 실시예는 낚시 게임에서 찌, 미끼 등 낚시 줄에 결합되어 게임 내에서 아바타를 제어하거나, 혹은 낚시대를 제어하여 캐스팅 또는 액션 스킬을 수행하는 아이템을 포함한다. 루어는 아이템의 특성을 다양하게 가질 수 있으며, 무게, 재질, 크기 등은 게임 내에서 루어를 당기거나 풀거나 등을 하여 액션 스킬을 수행함에 있어 다양한 변수 혹은 속성이 될 수 있다.
본 명세서에서 사용자가 캐릭터를 제어하여 게임 내에서 소정의 액션 또는 캐스팅, 혹은 낚시 게임에 필요한 제어를 수행하도록 것은 마우스, 키보드, 터치패드, 혹은 지자기 센서를 포함하는 속도 및 장치 이동 감지기 등의 외부 입력 장치를 이용하여 가능하다.
본 명세서에서 디스플레이의 일 실시예는 게임의 진행 과정을 보여주는 화면 및 그래픽 처리 장치를 포함한다.
본 명세서에서 낚시 게임은 사용자가 아바타 또는 낚시대가 디스플레이된 화면에서 전술한 외부 입력 장치를 이용하여 루어를 제어할 수 있도록 제어하는 과정 및 장치, 기록 매체를 통해 구현되는 것을 포함한다.
본 명세서에서의 캐릭터는 사용자를 표시하는 아바타, 닉네임, 이전에 수행한 게임 등의 개인화된 정보의 총합을 의미한다. 사용자는 다수의 캐릭터를 제어할 수 있다. 캐릭터별로 낚시게임에서의 소정의 특성을 가질 수 있는데, 낚시 게임에서의 레벨, 힘, 또는 유료 아이템의 보유, 게임 회수 등이 모두 캐릭터 별로 가질 수 있는 특성의 일 실시예가 된다.
도 2는 인카운터 시스템을 기반으로, 라인 브레이크 시스템, 드래그 시스템을 포함하는 전체 시스템 구조를 보여주는 도면이다.
인카운터 시스템은 라인 브레이크 시스템과 드래그 시스템을 포함할 수 있다. 또한, 라인 브레이크 시스템과 드래그 시스템과 독립하여 데이터를 교환할 수도 있다.
인카운터 시스템(210)은 인카운터 게이지부(212), 물고기 판단부(214), 입질 판단부(216)으로 구성된다. 각각의 구성 요소가 동작하기 위해서는 물고기 데이터베이스(292)와 캐릭터/아이템 데이터베이스(294)를 참조할 수 있다.
한편 인카운터 시스템(210)에 독립하거나, 혹은 종속되어 구성할 수 있는 라인 브레이크 시스템(250)과 드래그 시스템(260)의 구성을 살펴보면 다음과 같다. 라인 브레이크 시스템(250)는 라인 부하 판단부(252)와 라인 브레이크 판단부(254)로 구성되며, 라인 데이터베이스(296), 물고기 데이터베이스(292), 캐릭터/아이템 데이터베이스(294)를 참조할 수 있다.
드래그 시스템(260)은 라인 풀림 판단부(262)를 포함하며, 라인 브레이크 판단부(254)를 통해 라인 브레이크 여부를 확인할 수 있다.
각각의 구성에 대해 보다 상세히 살펴보면 다음과 같다.
인카운터 시스템(210)에서 인카운터를 산출하는 인카운터 게이지부(212)는 사용자들에 부가되는 인카운터 게이지값을 증가 또는 감소시키는 기능을 한다.
'인카운터 게이지'는 사용자는 확인 할 수 없는 내부적인 수치로 구현할 수 있다. 물론, 인카운터 게이지를 표시하여 사용자가 언제쯤 인카운터 게이지가 가득 차게 될 것인지를 알 수 있도록 할 수도 있다. 게이지의 구현 방식은 게임의 특성, 게임 내에서 캐릭터의 레벨, 아이템에 따라 달라질 수 있다.
모든 캐릭터는 '인카운터 게이지'를 가지고 있으며 낚시 단계의 캐스팅, 액션 등으로 적절한 '인카운터' 점수를 얻게 되어 '인카운터 게이지'를 채울 수 있다. 그 결과, 도 2에서와 같이 캐릭터/아이템 데이터 베이스(294)를 참조하거나 데이터베이스를 업데이트 할 수 있다. 각각의 캐릭터가 획득한 인카운터 점수에 의해 '인카운터 게이지'가 가득차면 물고기의 종류, 크기, 무게를 구하고 해당 물고기가 루어를 쫓도록 할 수 있다.
인카운터 게이지의 값은 캐릭터의 계급 또는 레벨, 취득한 아이템 등에 따라 구분될 수 있다. 만약, 레벨이 높아질수록 보다 어려운 게임을 진행하도록 유도하기 위해서는 레벨이 높아질수록 채워야할 인카운터 게이지의 값이 높도록 할 수 있다. 또한, 특정 아이템을 보유할 경우에는 채워야할 인카운터 게이지를 낮추도록 하여 게임을 쉽게 진행할 수 있도록 할 수도 있다. 물론, 캐릭터가 게임 도중에 소정의 벌칙 상황을 유도한 경우, 인카운터 게이지를 증가시켜 게임을 어렵게 진행하도록 설정할 수도 있다. 이는, 인카운터 점수를 낮추는 것으로 동일한 효과를 가져올 수 있다. 또한, 경우에 따라서는 인카운터 게이지 자체가 초기화되도록 할 수도 있다. 이러한 캐릭터별 인카운터의 증감 또는 캐릭터의 인카운터 게이지에 영향을 미치는 사항은 캐릭터/아이템 데이터 베이스(294)에서 업데이트될 수 있다. 즉 인카운터를 증감시키기 위해 인카운터 게이지부(212)는 캐스팅, 액션, 아이템 등의 사용 여부를 참조할 수 있다. 보다 상세히 살펴보면, 인카운터 게이지부(292)는 다음의 경우 인카운터를 증가시킬 수 있다. 즉, 캐릭터가 루어(웜)를 캐스팅 해서 나온 결과값인 '캐스팅 스코어'를 기준으로 인카운터 점수를 획득할 수 있으며, 이 경우, 인카운터 점수를 배당하는 기준은 '캐스팅 스코어'가 가지게 된다. 캐스팅 이후, 액션을 수행하면서, 즉, 루어(웜)를 수동 혹은 '액션 스킬'로 액션을 주어 인카운터 점수를 획득할 수 있고, 인카운터를 증가시킬 수 있다. 액션 스킬의 경우 반복하여 수행되는 것을 특징으로 할 수 있으므로, 특정 시간 간격(예를 들어, 몇 초 혹은 몇 분)을 기준으로 인카운터 점수를 계속 획득할 수 있다. 그리고, 스킬의 종류마다 획득하는 인카운터 점수는 달라질 수 있는데, 스킬과 인카운터의 특징에 대해 설정한 스킬 데이터베이스(298)에 저장해서 사용할 수 있다. 수동 액션(패시브 스킬)은 실제 액션을 판단한 후, 그의 정확성을 판단하여 특정 시간 간격 마다 인카운터 점수를 증가시키도록 할 수 있다. 캐릭터가 정확한 액션을 수행하지 않았다면 얻는 인카운터 점수는 최소값이 되도록 한다. 수동 액션의 인카운터 점수 역시 스킬 데이터베이스(298)에 저장된 값을 사용할 수 있다.
아이템은 다양하게 응용될 수 있다. 인카운터 점수가 1점인 경우, 특정 아이템을 보유한 효과로 인카운터 점수가 2점으로 증가될 수 있도록 설정할 수 있다. 또한, 특정 아이템의 보유로 수동 액션의 정확성을 보다 높일 수 있다. 보다 상세하게, 해당 아이템은 소모성 아이템으로 구성될 수 있어, 액션을 수행할 경우, 곧 인카운터 점수를 획득하도록 할 수 있다.
인카운터 점수를 감소시키도록 인카운터 게이지부(212)가 조절할 수 있다. 예를 들어, 캐스팅, 입질 실패 및 후킹 실패 때 인카운터를 감소시킬 수 있다. 보다 상세히 살펴보면 다음과 같다. 캐스팅을 하는 과정에서 i) 백러시(줄꼬임)가 발생할 경우, 일정 수치의 인카운터를 감소시킬 수 있다. 또한 캐스팅을 수행했지만, 루어(웜)가 물이 아닌 곳에 떨어지면 인카운터를 감소 시킬 수 있다. 물론, 이 경우, 다시 캐스팅을 수행할 수 있다.
인카운터 점수를 감소시키는 경우의 다른 실시예로 입질에 실패하거나 후킹에 실패하는 경우를 볼 수 있다. 예를 들어, 인카운터 게이지가 가득 차서 물고기가 입질을 하려고 했지만 '입질 확률'에 의해 입질을 하지 않는 '공 입질'인 경우에 일정 수치의 인카운터를 감소시킨다. 이는 입질 판단부(216)에서 입질의 확률을 연산할 수 있으며, 이를 위해 물고기 데이터베이스(292)의 정보 또는 캐릭터/아이템 데이터베이스(294)를 참조할 수 있다. 인카운터 점수를 감소시키는 경우의 또다른 실시예로는 후킹에 실패한 경우인데, 예를 들어, 물고기가 루어(웜)을 물었을 때 정해진 '후킹 타임' 내에 후킹하지 못하고 물고기가 바늘 털이를 했을 경우에 일정 수치의 인카운터를 감소 시킨다. 후킹 타임은 물고기의 특성에 따라 달라질 수 있으므로, 물고기 데이터베이스(292)를 참조할 수 있다.
인카운터 게이지에 누적된 점수는 낚시 게임을 수행하며 증감할 수 있고, 인카운터 게이지를 초기화 시킬 수도 있다. 이를 위한 일 실시예로 물고기가 루어(웜)을 물어서 성공적으로 후킹을 하면 인카운터 게이지는 초기화되며, 후킹한 이후 라인이 끊어지고 물고기를 놓쳐도 초기화된 인카운터 게이지는 복구되지 않도록 구성할 수 있다.
인카운터 시스템(210)에서 인카운터 게이지부(212)를 통해 인카운터 게이지가 가득 차게 될 경우, 물고기의 입질 확률을 계산하여 물고기의 입질을 디스플레이하고, 이에 따라 캐릭터가 후킹을 수행할 수 있도록 한다. 다만, 게임의 현실감을 높이기 위하여 인카운터 게이지가 가득 찰 때 마다 물고기가 입질을 하지 않고, 입질을 하는 확률을 액션 수치와 럭키 포인트, 그리고 물고기의 특성 정보 등을 이용하여 산출한다. 이는 입질 판단부(216)에서 판단하게 된다. 그리고 캐릭터의 레벨이 낮은 단계(초보, 하수)에서는 확률 보정을 해주고 레벨이 높은(중수 이상) 경우에는 정상적인 입질 확률을 반영하도록 할 수 있다. 인카운터가 가득차면 입질 확률을 계산하는 것뿐만 아니라, 인카운터 연출을 수행할 수도 있다. 즉, 인카운터 게이지가 가득 찼을 때 물고기가 등장해서 루어를 보고 따라오는 부분을 디스플레이 할 수 있다. 이는 물속 저편에서 나타난 물고기가 루어를 보고 접근하는 영상을 보여주는 것을 포함한다. 이를 위해 다양한 각도에서 등장하는 물고기를 디스플레이 할 수 있고, 더불어, 다양한 각도에서 보여지는 물고기에 대한 영상을 실제 동영상으로 촬영한 정보 혹은 이미지를 결합하여 제공할 수 있다.
인카운터 연출은 물고기마다 다를 수 있으므로, 인카운터를 하게 되는 물고기의 특성에 따라 디스플레이를 위한 연출을 할 수 있다. 따라서, 물고기 데이터베이스(292)에 저장된 이미지, 동영상 정보를 이용하여 인카운터 시스템(210)에서 연출되는 물고기의 이미지 또는 동영상을 제공할 수 있다. 물론, 인카운터를 하게 되는 공간의 특성 정보를 반영하고, 캐릭터의 위치 및 캐릭터의 시선 방향에 따라 다양하게 물고기의 인카운터 연출 이미지를 제공할 수 있다.
라인 브레이크 시스템(250)는 물고기가 루어를 물게 되는 경우, 루어를 당기는 물고기의 힘과 캐릭터의 힘, 그리고 루어의 특성등을 반영하여 라인이 버틸 수 있는 한계 지점을 넘는 경우에는 라인이 끊어지도록 구성할 수 있다. 이는, 낚시 게임에서 부분별하게 캐릭터의 힘을 사용하지 않도록 제어할 수 있다. 라인 브레이크 시스템(250)에서는 라인이 가지는 인장 강도에 대한 정보를 포함하는 라인 데이터베이스부(296)에 저장되며, 라인 부하 판단부(252)는 라인 데이터베이스부(296)와 캐릭터/아이템 데이터베이스부(294), 물고기 데이터베이스부(292)를 모두 참조할 수 있으며, 이 과정에서 물고기의 힘, 캐릭터의 힘, 그리고 라인의 인장 강도를 통하여 라인에 부가되는 부하를 판단할 수 있다(252). 보다 상세히 살펴보면 다음과 같다.
라인 데이터베이스부(296)는 각각의 라인이 견딜 수 있는 강도(인장 강도)를 저장할 수 있다. 이는 라인의 종류별 재질에 따라 라인의 강도가 달라지는데, 재질별 특징은 라인이 나일론인지, 카본 라인인지, 혹은 PE 합사인지, 메탈 라인인지에 따라 다르다. 이를 위해, 각각의 라인이 견딜 수 있는 인장 강도, 혹은 라인 브레이크가 발생할 경우, 어떤 방식으로 브레이크가 일어나는지 등에 대한 정보 역시 라인 데이터베이스부(296)에 저장될 수 있다. 라인 브레이크 판단부(254)는 라인 부하 판단부(252)에서 판단한 정보를 이용하여 라인에 가해지는 부하가 라인을 끊을 수 있는 상태에 이르렀는지 확인하고, 라인을 끊을 수 있는 상태가 된 경우, 라인 브레이크가 발생하도록 한다. 또한, 라인 브레이크로 인한 연출도 진행할 수 있다.
라인의 부하는 각각의 라인이 가지는 인장 강도와 라인에 부가되는 무게, 힘 등을 합산하여 판단할 수 있다. 보다 상세히 살펴보면 다음과 같다.
라인과 관련하여 무게의 부하에 대해 살펴보면 다음과 같다. 루어(웜)의 무게, 풀린 라인의 무게, 물고기의 무게가 합쳐지는 부하가 발생한다. 캐릭터가 보유하는 낚시 채비가 다양해 지면 싱커(봉돌)의 무게까지도 더해지도록 구성할 수 있다. 낚시 게임에서 루어나 싱커를 사용하게 될 경우, 해당 루어 또는 싱커가 라인에 기본으로 가해지는 부하라고 판단하여 라인의 부하를 계산할 수 있다. 이는 동적이라기 보다는 한번 정해지면 지속되는 정적인 부분이다. 다만, 보다 세밀하게 연산하기 위하여, 낚시 게임이 진행되는 수중에서의 물의 흐름, 바닷물인지, 민물인지 등을 판단하여 세밀하게 조절할 수는 있다. 다음으로, 캐릭터가 물고기를 끌어올리려고 하는 힘과 반대로 버티려는 물고기의 힘이 라인에 부하로 발생한다. 이는 낚시대 또는 로드, 릴의 종류에 따라 가변적일 수 있다. 예를 들어, 릴이 빨리 라인을 감도록 설정된 경우, 힘이 더 가해지는 것으로 연산할 수 있다.
다음으로, 무게의 부하인데, 앞서 보았던 루어의 무게, 그리고 풀린 라인의 무게, 마지막으로 물고기의 무게를 연산할 수 있다. 각각의 무게들이 결합될 겨우, 라인의 라인의 인장강도 부하에 적용할 수 있다. 한편, 캐릭터가 액션 모드일 때 루어의 무게와 풀린 라인의 무게는 로드 또는 릴링의 컨트롤이 없으면 무게에 대한 부하에서 적용하지 않고 계산할 수 있다.
라인 브레이크를 결정하는 가장 중요한 부분은 힘의 부하이며, 라인에 걸리는 힘의 부하는 크게 캐릭터의 힘과 물고기의 힘으로 나뉘어진다. 캐릭터의 힘은 물고기를 끌어내려고 하는 힘이며 물고기의 힘은 반대로 나가지 않으려고 버티려는 힘이다. 두 힘이 서로 다른 방향으로 작용하는 힘이며, 이 힘들은 내부적으로 캐릭터-물고기의 체력, 피로도를 올리는 공격력으로 사용할 수 있다.
캐릭터의 힘은 로드 파워, 릴 파워의 수치로 환산하여 라인 부하를 계산할 수 있다. 힘의 적용은 0에서 최대값까지 가속되는 힘의 크기에 의해 계산된 수치만큼 증가시킬 수 있다. 즉, 한번에 캐릭터의 최대 힘이 반영되는 것이 아니고 릴링을 지속하면 캐릭터의 최대힘이 지속적으로 전달되도록 할 수 있다. 그리고 캐릭터가 릴링을 하지 않으면 그 수치만큼 힘이 줄어들도록 설정할 수 있다. 물고기 힘은 일종의 공격력으로 환산할 수 있으며, 이는 물고기 데이터베이스(292)에 저장된 값을 이용할 수 있다. 또다른 방식으로 물고기가 힘을 쓰면 물고기의 무게가 무거워 지는 것으로 계산하여 라인의 부하를 산출할 수도 있다.
물고기의 이동 방향에 따른 물고기의 힘은 변하지 않지만 물고기의 이동 방향과 로드의 방향에 따라 라인에 걸리는 부하가 증가하거나 감소하도록 구성하여, 캐릭터가 로드를 제어하는 방법에 따라 라인에 가해지는 부하를 증가 또는 감소시킬 수 있다. 본 명세서의 일 실시예에 의하면, 캐릭터가 로드를 움직이지 않고 릴링만 하는 경우, 물고기가 캐릭터 방향으로 전진할 때 보다 뒤로 후진할 때 라인의 부하가 더 크게 된다. 또 물고기가 왼쪽으로 이동하는 경우에 ROD를 왼쪽 방향으로 움직이며 릴링하는 경우보다 오른쪽으로 움직이며 릴링하는 경우가 라인의 부하가 더 크게 된다. 따라서, 라인에 부가되는 힘은 물고기의 이동 방향, 캐릭터가 로드 또는 릴을 제어하는 방식을 종합하며, 물고기와 캐릭터의 힘 또는 무게를 중심으로 연산할 수 있다.
이외에도 본 명세서의 다른 실시예에 의하면 액션 부하, 후킹 부하를 제공할 수 있다. 액션 부하는 캐릭터가 액션을 수행한 결과 일시적으로 발생되는 힘 또는 액션 과정에서 지속적으로 발생되는 힘을 연산하여, 라인의 부하를 연산할 때 함께 합산하는 것을 의미한다. 후킹 부하는 물고기가 루어(웜)을 후킹 했을 때를 연산할 수 있다.
라인부하를 판단하는 과정에서 라인이 끊어질 수 있는지 체크하는 라인 브레이크 판단부(254)에서는 앞서 살펴본 라인 부하 판단부(252)에서 연산한 라인 부하를 고려하여 라인이 가지는 라인 강도에 따라 라인 브레이크 확률을 연산할 수 있다. 라인의 강도를 연산하기 위해, 본 명세서의 일 실시예에 의하면, 라인 강도를 최대 부하와 한계 부하로 구분하여 라인 강도 및 라인 브레이크의 확률을 연산할 수 있다.
라인 최대 부하는 라인이 안정적인 상태에서 버틸 수 있는 최대 강도로 계산할 수 있는데, 라인의 최대 부하는 라인이 가지며 라인 데이터베이스(296)에 저장된 값을 불러 온다. 라인 한계 부하는 라인이 100% 확률로 끊어지는 강도로 계산하는 것을 포함하는데, 라인의 한계 부하도 라인 별로 달리 설정될 수 있으며, 역시 라인 데이터베이스(296)에 저장된 값을 불러와서 라인 브레이크의 확률을 연산하는데 적용할 수 있다. 이 경우, 라인 브레이크 확률은 최대 부하 이상에서 발생하기 시작하며 한계 부하로 가까이 갈수록 확률은 상승하게 된다. 물론, 라인 브레이크 확률은 확률을 계산하여 라인 브레이크 결과를 생성하게 되므로, 확률이 50%인 경우에도 라인 브레이크가 발생할 수 있다. 즉, 한계 부하가 되기 전에도 라인이 끊어지도록 설정할 수 있다.
라인 최대 부하, 라인 한계 부하, 그리고 라인의 강도는 하나의 라인이 모든 캐릭터와 물고기에 대해 공통으로 가질 수 있는 값이다. 그러나 이러한 값에 변수를 가할 수 있도록, 라인의 강도를 조절하는 아이템을 설정할 수 있다. 즉, 이벤트에 의하거나, 특수 아이템을 구매한 캐릭터의 경우 절대 끊어지지 않는 라인으로 게임을 수행하도록 할 수 있는데, 이 경우, 캐릭터/아이템 데이터베이스(294)에서 설정된 값 또는 시간에 따라 라인이 끊어지지 않도록 하는 아이템의 속성을 제공할 수 있다.
도 2의 인카운터 시스템(210)과 라인 브레이크 시스템(250)을 이용하면, 인카운터 과정 및 라인 브레이크가 발생할 가능성을 판단하여 후킹이 성공하였는지, 혹은 새로이 캐스팅이 필요한지 등을 확인할 수 있다. 인카운터 시스템(210)과 라인 브레이크 시스템(250)은 독립적으로 존재할 수도 있고, 하나의 인카운터 시스템(210) 내에 라인 브레이크 시스템(250)이 하위 시스템으로 결합하여 존재할 수도 있다. 또한, 추가적으로 드래그 시스템(260)을 포함할 수 있는데, 드래그 시스템(260)은 앞서 간략히 살펴본 바와 같이, 드래그 단계가 변화하는 경우, 캐릭터의 힘과 라인이 풀리는 것을 연산하는 시스템이다. 먼저 캐릭터의 힘을 조절하는 것과 관련하여 살펴보면 다음과 같다. 즉, 캐릭터 힘에서 구해진 캐릭터의 최대 힘을 드래그의 단계에 따라 조절하도록 할 수 있다. 드래그의 단계는 릴의 종류에 따라 달라지며 최소 2단계에서 최대 7단계로 구분된다. 드래그의 단계가 올라갈수록 캐릭터의 최대 힘의 값을 높게 반영 할 수 있으며, 캐릭터의 힘은 로드 파워와 릴 파워의 수치를 이용해 기본 힘을 연산한 후, 여기에 현재 드래그 단계에서 정하는 비율을 곱해서 산출할 수 있다. 즉, 릴의 드래그 단계는 캐릭터/아이템 데이터베이스(294)에 저장된 값을 불러 와서 적용할 수 있다.
드래그의 단계가 증가 또는 감소할 경우 적용할 수 있는 일 실시예로, 드래그의 가속 힘 크기만큼 증가 또는 감소시킬 수 있다. 예를 들어, 5단계에서 3단계로 드래그 단계를 낮추면 라인에 부가되는 힘이 즉각 3단계로 빠지지 않고 가속 힘의 양 만큼 줄어 들도록 계산할 수 있다. 이 과정에서, 즉 힘이 증가 또는 감소하는 과정에서도 라인 브레이크 확률은 계속 계산할 수 있으며, 도 2와 같이 라인 브레이크 판단부(254)의 판단 결과를 수신하여 라인 브레이크 확률을 계산할 수 있다.
라인 풀림 판단부(262)는 드래그의 단계에 따라서 라인의 풀림 값이 변경되는 것을 연산하는 기능을 제공한다. 라인의 풀림이란 캐릭터와 물고기의 두 힘이 상충 되어 라인에 걸리는 부하를 줄이기 위해 자동적으로 릴에서 줄이 풀려나는 것을 의미한다. 드래그의 단계에 따라 라인이 풀리는 양은 라인에 걸리는 힘에 따라 달리 연산될 수 있는데, 라인이 풀리는 경우에 대해 다음과 같이 살펴본다.
라인이 풀리는 원리는 라인에 걸리는 힘에 의해서 풀리게 되며, 드래그 단계의 조정으로 캐릭터의 힘은 조절이 가능하지만 물고기는 그렇지 않다. 부가된 힘을 없애며 라인이 풀리도록 하는 것을 라인 풀림이라 한다. 라인이 풀리기 위해서는 라인이 견딜 수 있는 부하 내에서 특정한 부하에 풀릴지 결정할 수 있다. 예를 들어, 릴 아이템의 특성에 따라 드래그의 단계가 나뉘어지며, 각각의 드래그 단계에 따라 라인이 풀어지게 되는 드래그 단계 부하 값을 가질 수 있다. 이는 앞서 살펴본 캐릭터/아이템 데이터베이스부(294)에 저장된 값을 이용할 수 있음을 의미한다. 드래그 단계 부하는 드래그의 단계에 따라 캐릭터/아이템 데이터베이스부(294)에 저장된 캐릭터의 힘 조절 값의 비율(%)를 그대로 참조해서 라인의 최대 부하에 적용하여 라인에 부가되는 부하를 계산할 수 있다. 예를 들어 4단계의 드래그를 가지는 릴을 장착한 게임에서 드래그의 각 단계 값이 아래의 표 1과 같다면 각 단계에서 라인이 풀리는 드래그 단계 부하는 다음과 같이 계산될 수 있다.
[표 1] 드래그 단계의 부하 계산
Figure pat00001

각 드래그 단계에서 드래그 단계 부하의 크기를 넘어서는 힘을 드래그 풀림 값만큼 풀어주도록 구현할 수 있다. 라인이 풀릴 경우 드래그 풀림 값 이상의 힘을 계속적으로 풀리게 할 수 있는데, 이는 물고기가 아무리 힘을 써도 라인이 터지지 않는 경우를 배제하기 위함이다.
한편, 라인이 풀리는 값은 드래그 단계에 따라 달라지도록 설정할 수 있다. 각 단계의 라인이 풀리는 값은 무게 당 길이의 단위로 산출할 수 있다. 드래그 풀림 값을 넘어서는 힘은 라인이 풀리는 경우, 그 힘을 줄이도록 구현할 수 있다. 이때 캐릭터 또는 물고기가 힘을 더 낸다면 라인에 걸리는 부하는 계속 증가하게 된다.
도 2의 구성을 통해 캐릭터가 액션을 수행하는 과정에서 발생하는 인카운터, 그리고 인카운터에 의한 라인 브레이크 발생 가능성과 이를 보완하는 드래그 시스템을 통해 현실감 있는 낚시 게임을 수행할 수 있다. 이하, 각각의 시스템에서 구현되는 기능이 클라이언트/서버 환경에서 제어되는 과정에 대해 살펴보고자 한다.
도 3은 본 명세서의 일 실시예에 의한 서버와 클라이언트에서 인카운터 기능을 제공하는 과정을 살펴보는 도면이다. 서버는 클라이언트로부터 인카운터 점수를 증가 또는 감소시키는 것을 유발하는 캐스팅, 액션 등의 다양한 제어 정보를 수신할 수 있다. 수신한 정보 및 현재 낚시 게임이 진행되는 공간의 특징 정보, 그리고 낚시 게임을 수행하는 캐릭터의 정보를 결합하여 인카운터 점수를 증감시킬 수 있다.
도 3에서 서버는 클라이언트로부터 캐스팅 수행 정보를 수신한다(S305) 캐스팅 수행 정보란 클라이언트에서 캐스팅을 수행한 경우, 캐스팅이 어떤 위치에서 어떤 방식으로 이루어졌는지 등에 대한 정보를 포함한다. 캐스팅 수행에 의한 인카운터 점수를 산출한다(S310). 캐스팅이 성공한 경우 인카운터 점수를 높일 수 있고, 캐스팅이 성공적이지 못한 경우, 혹은 재차 캐스팅을 한 경우에는 인카운터 점수를 낮게 시작할 수 있게 한다. 그리고 인카운터 게이지가 풀(full, 가득찬 경우)인지 확인한다(S315). 캐스팅 직후 바로 인카운터 게이지가 풀이 되는 경우는 럭키 포인트이거나, 이전의 캐스팅에 의한 인카운터를 초기화 시키지 않은 경우 등 게임의 설정 정보에 따라 달라질 수 있다. 인카운터 게이지가 풀이 아닌 경우, 클라이언트로부터 액션 수행 정보를 수신한다(S320). 그리고 액션 수행에 의한 인카운터 점수를 산출한다(S325). 인카운터 점수의 산출은 인카운터를 증가시키거나 혹은 감소시키는 것을 포함한다. 액션 수행이 완료한 후, 다시 S315 과정에서 인카운터 수치를 확인하여, 인카운터 게이지가 풀인지 확인한다. 인카운터 게이지가 풀이 아닌 경우에는 액션을 수행하게 되며, 인카운터 게이지가 풀인 경우, S330 과정을 진행한다. 인카운터 수치를 연산하기 위한 과정으로, 인카운터를 증가시키거나 감소시킬 수 있다. 이에 대해 살펴보면 다음과 같다.
인카운터를 증가시키는 예로, 액션 스킬이 있는데, 수동, 스킬 액션을 해서 '인카운터 게이지'를 채우는 인카운터 수치는 스킬 DB의 인카운터 값을 참조해서 2초마다 더해지도록 설정할 수 있다. 다만, 수동 스킬의 입력이 틀리면 더해지지 않는다. 한편, 인카운터 수치를 감소하는 경우로, 캐스팅이 실패한 경우, 백러시(줄꼬임)인 경우, 입질 확률에 실패한 경우, 후킹에 실패한 경우 등이 될 수 있다. 각각의 인카운터 수치를 감소시키는 것은 최대 값에서 일정 비율만큼 감소시킬 수도 있고, 미리 설정된 값만큼 감소시킬 수도 있다. 입질에 성공할 경우, 인카운터 게이지 초기화시킬 수 있다.
인카운터 게이지가 가득차게 되는 경우, 입질할 물고기를 선택한다(S330). 입질할 물고기를 선택하기 위한 과정에 대해서는 후술하고자 한다.
입질할 물고기를 선택하면, 선택한 물고기에 의한 입질 확률을 산출한다(S335). 입질 확률은 앞서 살펴본 바와 같이 액션 수치와 럭키포인트, 그리고 캐릭터의 레벨에 따라서 조절하여 산출할 수 있다. 확률을 산출하여 입질을 하게 될 경우에는 인카운터 연출을 위한 과정을 진행한다. 만약, 입질을 하지 않게 될 경우에는 인카운터를 감소시키고(S345), 액션을 위한 S320 과정을 진행한다.
한편, 입질을 하게 되면, 인카운터 연출 데이터를 생성한다(S350). 그리고 클라이언트로부터 후킹 수행 정보를 수신한다(S355). 후킹 수행 정보란, 클라이언트에서 외부 입력 장치를 이용하여 후킹을 수행한 정보를 의미하며, 후킹한 속도, 혹은 위치, 방향 등에 대한 정보를 포함할 수 있다. 후킹이 성공하였는지 판단하여(S360), 후킹이 성공한 경우에는 파이팅 모드를 진행하게 된다. 반면, 후킹이 실패한 경우에는 인카운터를 감소시키고(S365) 다시 액션 과정으로 진행하게 된다.
후킹이 성공하면 인카운터를 초기화시킨다(S370). 그리고 라인 브레이크를 판단하여(S380), 라인 브레이크가 발생한 경우 새로이 캐스팅을 진행하도록 S305 단계로 진행한다. 한편, 라인 브레이크가 아닌 경우, 파이팅 모드를 진행할 수 있다(S390). 물론, 파이팅 모드에서도 라인의 부하를 확인하여 라인 브레이크 여부를 판단할 수 있다.
도 4는 본 명세서의 일 실시예에 의한 인카운터 시스템에서의 입질 물고기를 결정하는 과정을 보여주는 도면이다.
캐릭터가 낚시를 하고 있는 맵 ID와 포인트 ID의 정보를 파악하여(S410), 포인트 ID에서 잡을 수 있는 물고기 리스트를 산출한다(S420). 이는 물고기 데이터베이스에 저장된 정보를 이용할 수 있다. 그리고, 물고기의 데이터 중에 수심과 루어의 수심을 비교하여, 루어(웜)의 수심이 물고기의 수심과 맞지 않으면 물고기 리스트에서 제외시킨다(S430). 이후, 물고기 데이터에서 산출되는 Fish_Point와 캐릭터의 피쉬 포인트(char_Fishpoint)의 크기를 비교한다(S440). 그리고, 크기를 비교한 결과(S450)에 따라 다른 계산방법으로 확률을 결정할 수 있다. 예를 들어, char_Fishpoint >= Fish_Point 의 경우에는 Fish_Score = Fish_Point / char_Fishpoint 로 계산할 수 있다(S452). 반면, char_Fishpoint < Fish_Point 의 경우에는 Fish_Score = SQRT( char_Fishpoint ) / Fish_Point 로 계산할 수 있다(S454). 이후, 물고기 리스트의 Fish_Score를 합으로 각각 Fish_Score를 나누어서 개별 물고기의 확률을 구한다(S460).
구한 결과, 물고기 리스트에 특정 물고기를 잡을 확률을 올려주는 '피쉬 플래그'가 해당 되는지 체크하고, 해당 물고기의 확률값에 확률을 더해준다(S470).
도 5는 본 명세서의 일 실시예에 의한 인카운터 시스템 내의 물고기의 크기를 결정하는 과정을 보여주는 도면이다. 물고기의 크기를 결정하기 위해서 액션, 피쉬포인트, 럭키포인트를 참조할 수 있다. 물고기의 크기는 최소값, 최대값의 비율을 각각 구한 후, 랜덤한 비율값을 선택하여 물고기 데이터베이스의 기본 크기에 적용시킬 수 있다. 만약, 구해진 물고기의 크기가 물고기 데이터베이스상에 업급된 물고기의 최대 크기를 넘을 수 없도록 한다. 보다 상세히 살펴보면 도 5와 같다.
물고기 데이터베이스에서 물고기의 기본 정보를 추출한다(S510). 그리고, 캐릭터의 액션 수치(char_Action), 피쉬 포인트 수치(char_Fishpoint), 럭키 포인트(char_Luckypoint)와 물고기의 피쉬 포인트 수치(Fish_Point)를 추출한다(S520). 캐릭터 피쉬 포인트 수치에서 물고기의 피쉬 포인트 수치를 빼고, 물고기의 최소 크기 값(Min_Scale) 및 최대 크기값(Max_Scale)을 산출한다(S530). 만약, 캐릭터 피쉬 포인트 수치에서 물고기의 피쉬 포인트 수치를 뺀 값이 0보다 작은 경우, 0으로 설정할 수 있다.
물고기의 최소 크기 값을 구하는 일 실시예로 캐릭터의 액션 수치(char_Action)와 캐릭터 피쉬 포인트 수치에서 물고기의 피쉬 포인트 수치를 뺀 값을 이용하여 캐릭터의 능력에 의해 구할 수 있는 물고기의 크기를 최소 크기 값으로 산출할 수 있다.
한편, 물고기의 최대 크기 값을 구하는 일 실시예로 캐릭터의 럭키 포인트 수치와 캐릭터 피쉬 포인트 수치에서 물고기의 피쉬 포인트 수치를 뺀 값을 이용하여 캐릭터가 럭키 포인트를 통해 구할 수 있는 물고기의 크기를 최대 크기 값으로 산출할 수 있다. 물론, 이렇게 산출한 최대값, 최소값에 대하여 낚시 게임의 특성에 따라 보정을 수행할 수 있다.
이렇게 보정을 수행한 후에, 최소값, 최대값의 범위에서 랜덤한 수치(result_Scale)를 선택한다(S540). 그리고, 물고기 크기에 구해진 비율을 곱해준다(S550).
그리고, 최종 크기(Final_Height)가 물고기 데이터베이스의 최대 크기를 넘는지 확인한다(S560). 만약 최종 크기가 데이터베이스의 최대 크기보다 크면 데이터베이스의 최대 크기를 물고기 크기에 반영하도록 한다(S570). 물론, 이 최대 크기 값에 소정의 변화를 주어, 일정 비율만큼 곱하거나, 혹은 뺀 값으로 해서 최종적으로 물고기의 크기로 확정할 수 있다.
물고기의 무게를 구하는 방식도 도 5와 마찬가지이다. 즉, 캐릭터의 럭키 포인트와 캐릭터의 능력치를 고려하여 산출할 수 있다. 도 5에서 물고기의 크기가 결정되므로, 그에 따른 무게는 비례적으로 산출될 수 있다. 다만, 캐릭터의 럭키 포인트를 감안하여 물고기의 무게를 보다 증가시킬 수 있다. 럭키 포인트를 적용하여 최종 무게를 산출할 경우에도, 해당 물고기의 최대 무게 혹은 물고기의 길이를 고려하여 산출될 수 있는 최대 무게를 넘지 않도록 보정할 수 있다.
도 6은 본 명세서의 일 실시예에 의한 서버와 클라이언트에서 드래그를 수행하고, 라인 브레이크를 판단하는 과정을 살펴보는 도면이다.
도 6에서는 드래그를 하는 과정 및 그 과정에서 라인 브레이크를 확인하는 과정을 보여주는 도면이다. 도 3에서 살펴본 바와 같이 인카운터 게이지가 채워지면 소정의 확률에 따라 물고기가 입질을 시작하게 되며, 입질에 성공할 경우, 파이팅 모드에 진입한다(S605). 캐릭터의 파이팅 수행 정보를 클라이언트로부터 수신한다(S610). 이는 캐릭터가 로드를 당기거나 풀어주거나, 혹은 릴링을 하거나 혹은 드래그를 하는 등 다양한 수행 정보를 수신하는 것을 포함한다. 그리고 파이팅 수행에 대한 물고기의 파이팅 수행 정보를 산출한다(S615). 물고기의 파이팅 수행 정보는 캐릭터가 수행한 파이팅 정보에 대응하여 물고기가 어떤 방식으로 움직일 것인지를 산출하는 것으로, 이는 입질을 한 물고기의 특성, 물고기의 무게, 혹은 힘 등을 고려하며, 캐릭터의 수행 정보와 결합하여 판단할 수 있다. 캐릭터가 강하게 릴링할 경우, 물고기가 이에 대한 반동으로 강하게 파이팅을 할 수 있고, 반대로 캐릭터가 약하게 릴링할 경우, 물고기는 이에 대해 달리 파이팅을 할 수 있다. 이러한 물고기의 파이팅 수행 정보는 물고기의 특성과 캐릭터의 수행 정보를 이용하여 발생할 수 있는 다양한 파이팅 수행 정보 중에서 하나를 선택할 수 있다. 물론, 캐릭터의 레벨, 보유 아이템을 고려할 수도 있다. 이후, 캐릭터에 발생한 변수를 측정한다(S620). 캐릭터가 가하고 있는 힘, 캐릭터의 피로도, 캐릭터가 수행한 파이팅 수행 정보의 결과 등을 포함하여 라인 부하를 연산하는데 필요한 변수를 측정할 수 있다. 또한 물고기에 발생한 변수도 측정한다(S630). 이는 앞서 S615에서 산출된 파이팅 수행 정보에서 물고기의 힘과 피로도를 이용하여 라인 부하를 연산하는데 필요한 변수를 측정할 수 있다. 캐릭터의 변수 중 하나인 캐릭터의 힘은 캐릭터의 공격력을 의미 하며 물고기의 체력을 소모 시키는 수치이기도 하다. 또한, 캐릭터가 드래그를 수행하는 단계, 즉 릴의 드래그 단계에 따라 캐릭터의 힘도 증가 또는 감소될 수 있으며, 이는 릴의 종류에 따라 다르도록 캐릭터/아이템 데이터베이스에 설정할 수 있다. 예를 들어 릴의 드래그 1단계에서는 캐릭터 힘의 20%가 되며, 릴의 드래그 단계가 최대 단계인 경우에는 캐릭터의 힘이 100%가 되도록 설정할 수 있다. 또한 릴링시 증가되는 힘 역시 캐릭터의 변수 중 하나가 될 수 있는데, 예를 들어, 캐릭터의 힘이 결정된 경우, 릴링을 했을 때 최대 힘으로 초당 어느 정도의 힘이 증가하고 감소하는지 힘의 값이 필요하다. 이는 릴의 파워 수치에 의해 결정될 수 있는데, 파워 수치에 있어서 시간 변수를 적용할 수 있다. 물론, 캐릭터의 변수로 캐릭터가 낚시대 자체를 당기는 로드 파워(ROD POWER) 역시 산출할 수 있다. 이렇게 산출된 캐릭터의 변수에 의해 S640과 같이 라인의 인장 강도(부하)를 연산할 수 있다.
한편 S630의 물고기의 변수의 일 실시예로 물고기의 힘이 될 수 있다. 물고기의 힘은 캐릭터의 힘이 전달되어 캐릭터의 피로도를 증가 시키는 물고기의 공격력으로 산출할 수 있으며, 또한 물고기의 특성에 따라 가변될 수 있다. 물고기의 힘을 피로도에 바로 전달 할 수도 있고, 캐릭터의 특정 수치로 물고기의 힘을 줄여서 반영할 수도 있다. 또한, 물고기의 힘의 증감에 대해서도 시간 변수를 적용하여 물고기의 이동에 의해 발생하는 가속 또는 감속을 힘의 증감을 연산하는데 적용할 수 있다. 이렇게 산출된 물고기의 변수에 의해 S640과 같이 라인의 인장 강도(부하)를 연산할 수 있다.
이후 측정한 변수들을 이용하여 라인의 특성을 반영하여 라인 부하를 연산한다(S640). 라인 부하의 연산에서 부가적으로 외부 환경의 변화 역시 반영할 수 있는데, 물살의 흐름이라든가, 수심의 크기에 의한 무게 증가, 캐릭터가 아이템을 보유하게 된 상황 등을 고려하여 라인 부하를 고려할 수 있다.
라인 부하를 연산한 후, 라인 브레이크 확률을 연산한다. 이는 라인이 끊어질 확률을 계산하는 것으로, 라인의 데이터베이스를 참조하여 라인에 가지는 최대 부하, 한계 부하에 대한 정보를 산출하고, S640에서 연산한 라인 부하를 이용하여, 라인 브레이크의 확률을 연산한다(S650).
현재 라인에 걸리는 부하가 최대 부하 보다 작은 경우에 라인 브레이크 확률은 0으로 설정할 수 있으나, 최대 부하보다 작은 경우에도 라인 브레이크 확률이 0을 초과하는 값으로 설정할 수 있다.
또한, 물고기의 무게 또는 힘을 참고할 때, 라인에 가해질 수 있는 부하가 라인의 최대 부하에 이르지 못할 경우, 라인 브레이크는 발생하지 않을 수 있다. 따라서, 이 경우에는 라인 브레이크와 유사한 효과를 가지는 '바늘 빠짐' 상태 가능성을 판단하여 라인 브레이크의 효과를 제공할 수 있다. 물론, 바늘 빠짐의 상태가 되는지 확인하기 위해서는 빠른 릴링, 혹은 물살의 방향, 로드 파워의 변화 등을 통해 측정 가능한 정보들을 이용할 수 있다.
S650의 판단 결과, 라인 브레이크가 발생하지 않으면, 후킹인지 판단한다(S670). 후킹인 경우에는 후킹 모드로 진행하고(S680), 후킹이 아닌 경우, 파이팅 모드 하에서의 캐릭터의 파이팅 수행 정보를 수신하는 단계(S610)로 진입한다.
한편, 라인 브레이크가 발생한 경우, 새로이 캐스팅을 해야 하므로, 캐스팅 모드로 진행한다(S660).
도 7은 본 명세서의 일 실시예에 의한 서버에서 낚시 게임을 진행하는 과정을 보여주는 도면이다.
서버는 클라이언트로부터 액션 수행 정보를 수신한다(S710). 액션 수행 정보란 클라이언트에서 마우스, 터치패드, 키보드 등을 이용하여 캐릭터가 액션을 수행하도록 제어하여 액션이 수행된 상태 혹은 어떤 액션이 어떻게 수행되었는지에 대한 정보를 포함한다. 여기에는 다양한 액션 스킬 정보가 포함될 수 있고, 낚시대를 이동하였는지, 혹은 캐릭터가 이동하였는지, 또는 릴을 감거나 풀었는지 등의 정보를 포함한다. 또한, 루어를 어떤 방향, 어떤 속도 혹은 어떤 위치로 이동시켰는지에 대한 정보도 포함한다.
그리고 서버는 상기 액션 수행 정보 및 상기 액션 수행 정보에 포함된 캐릭터 정보를 이용하여 인카운터 게이지를 연산한다(S720). 인카운터 게이지를 연산하는 과정에 대해서는 앞서 살펴본 바와 같이 액션 수행 정보와 캐릭터의 레벨 등을 고려하여 산출할 수 있다. 액션의 종류에 따라 달라질 수 있다. 그리고 연산된 인카운터 게이지가 최대값에 도달한 경우(S730), 상기 클라이언트에 송신할 물고기 정보를 산출한다(S740). 상기 물고기를 산출하기 위해, 앞서 도 4, 5에서 살펴본 바와 같이, 상기 캐릭터 정보 및 상기 액션 수행 정보를 이용하여 물고기 데이터베이스에서 물고기 리스트를 산출하여 상기 산출한 물고기 리스트에서 각각의 물고기에 대한 입질 확률을 산출하고, 상기 물고기 리스트에서 미리 설정된 기준 이상의 입질 확률을 가진 물고기 정보를 산출할 수 있다. 또한, 상기 액션 수행 정보에서 맵 식별 정보를 산출하여 캐릭터가 액션을 수행한 위치에서 낚을 수 있는 물고기 리스트를 산출할 수 있도록 한다.
S730에서 인카운터 게이지가 최대값으로 도달하는 것은 본 명세서의 일 실시예이며, 인카운터 게이지의 소정 기준 값, 즉 미리 설정된 기준값에 도달할 경우에도 인카운터 게이지를 만족시키는 것으로 판단할 수 있다. 일정 기준값을 설정함에 있어서 최소값으로 설정하고, 최초 게임 시작에서 인카운터 게이지를 줄여나가서 최소값 또는 일정 기준값에 도달하는 경우, 인카운터 게이지를 충분히 충족하였거나, 게임의 다음 단계로 넘어갈 수 있는 기준을 통과한 것으로 구현할 수 있다. 예를 들어 게임 시작시 인카운터 게이지를 100으로 하여, 인카운터 과정에서 20씩 줄여나가서 0이 될 경우, 인카운터 게이지가 충족된 것으로 판단할 수 도 있다. 이하, 본 명세서의 일 실시예에 의한 인카운터 게이지의 최대값, 일정 기준값, 또는 최소값에 대해서는 동일하게 적용될 수 있다.
상기 산출한 물고기 정보를 상기 클라이언트에 송신한다(S750). 이때, 해당 물고기가 입질을 하는 것을 클라이언트가 디스플레이 할 수 있도록 동영상 또는 이미지 정보를 함께 송신할 수 있다. 입질이 성공하였으므로, 파이팅 모드를 진행한다.
상기 파이팅 모드를 진행하기 위해, 상기 클라이언트로부터 파이팅 수행 정보를 수신한다(S760). 그리고 상기 수신한 파이팅 수행 정보에 따라 라인 부하를 판단한다(S770). 라인 부하의 판단에 대해서는 도 2, 3 및 도 6에서 살펴본 바와 같이 캐릭터가 낚시대를 제어하여 발생하는 로드 파워, 릴 파워와 물고기가 움직이면서 발생하는 힘 등을 종합하고, 라인의 특성을 고려하여 부하를 판단할 수 있다. 그리고 라인 부하 정보를 반영한 파이팅 수행 결과를 생성한다(S780). 이후 상기 파이팅 수행 결과를 상기 클라이언트에게 송신한다(S790). 파이팅 모드(S760~S790)은 반복하여 수행할 수 있다. 이 과정에서 파이팅 수행 정보가 후킹인 경우, 또는 라인 부하가 커져서 라인 브레이크가 발생하는 경우, 후킹 또는 라인 브레이크를 처리할 수 있다. 또한 상기 파이팅 수행 정보에는 외부 환경 정보를 더 포함할 수 있고, 상기 외부 환경 정보는 상기 파이팅 모드에서 제어되는 루어의 정보 또는 물고기의 정보를 포함할 수 있다. 물론, 외부 환경 정보에는 물살의 방향, 수심의 깊이, 다른 캐릭터 또는 다른 물고기의 등장과 같이 파이팅 수행 결과에 변화를 주는 정보가 포함될 수 있다.
파이팅 수행 정보는 낚시대의 이동 정보 또는 릴 조작 정보 역시 포함할 수 있으며, 이 경우, 라인 부하를 판단하기 위해 상기 이동 정보 또는 릴 조작 정보에 의해 상기 라인에 가해지는 힘의 변화를 연산할 수 있다.
한편, S730에서 상기 연산된 인카운터 게이지가 최대값 보다 작은 경우(또는 본 명세서의 다른 실시예에 의하여 일정 기준에 미치지 못할 경우), 상기 클라이언트에게 상기 인카운터 게이지에 해당하는 액션 수행 결과를 송신한다(S735). 이는 인카운터 게이지가 최대값에 도달하지 않았으므로, 최대값에 도달할 때까지 클라이언트로부터 액션 수행 정보를 수신한다(S710).
상기 액션 결과 정보는 루어의 움직임 정보 또는 물고기 움직임 정보를 디스플레이하는 정보를 포함하여, 인카운터 게이지를 연산한 후 루어가 어떻게 움직였는지 또는 물고기가 어떻게 움직였는지를 클라이언트에서 확인할 수 있도록 한다.
도 8은 본 명세서의 일 실시예에 의한 클라이언트에서 낚시 게임을 진행하는 과정을 보여주는 도면이다.
클라이언트는 마우스, 태블릿, 키보드, 터치 스크린 등의 입력 장치로부터 제어 신호를 수신한다(S810). 그리고 이를 액션 수행 정보로 변환한다(S820). 예를 들어, 특정 위치를 마우스로 클릭하거나, 터치스크린으로 접촉할 경우, 해당 위치를 게임 화면 내에서의 좌표 정보로 변환하거나, 해당 위치에 표시된 게임 구성 요소에 대한 정보를 제공하는 등으로 변환할 수 있다. 또한, 드래그를 하는 경우, 드래그가 발생한 궤적, 드래그가 종료된 위치 등의 정보로 변환할 수 있다. 예를 들어, 낚시대를 클릭하여 드래그하면 이동한 궤적이 나올 수 있고 이동한 속도가 나올 수 있다. 또한 릴 부분을 클릭하여 릴을 감는 경우, 릴 클릭한 횟수 등의 제어 신호를 이용하여 릴에 대해 어떤 액션을 수행하였는지 서버에 알려주기 위하여 액션 수행 정보로 변환할 수 있다. 그리고 이렇게 변환된 정보를 서버에 송신한다(S830). 이후 서버는 도 7에서 살펴본 바와 같이 액션 수행 정보를 이용하여 인카운터 게이지를 조절하여 인카운터 게이지가 최대값에 도달할 경우 파이팅 모드를 수행하게 된다. 클라이언트는 서버로부터 파이팅할 물고기 정보를 수신하게 된다(S840). 클라이언트는 파이팅 모드로 진입한 것을 확인하고, 외부 입력장치로부터 제어 신호를 수신하게 된다(S850). 그리고 제어 신호를 파이팅 수행 정보로 변환한다. 이는 앞서 살펴본 외부 입력장치로부터 파이팅을 수행하기 위한 제어 신호를 포함하며, 이들 제어정보를 캐릭터의 이동, 낚시대의 이동 정보 또는 릴 조작 정보 등의 파이팅 수행 정보로 변환할 수 있다. 변환한 파이팅 수행 정보를 상기 서버에 송신하고(S870), 서버에서 파이팅 수행 정보를 분석하여 산출한 파이팅 수행 결과를 서버로부터 수신한다(S870). 인카운터 게이지가 최대값으로 도달하는 것은 앞서 살펴본 바와 같이 본 명세서의 일 실시예이며, 인카운터 게이지의 일정 기준 값, 즉 미리 설정된 기준값에 도달할 경우에도 인카운터 게이지를 만족시키는 것으로 판단할 수 있다. 일정 기준이란 최대값, 최소값 뿐만 아니라 소정의 범위 내에 들어가는 값으로 인카운터 게이지의 변화시 비교할 수 있는 기준이 되는 값을 의미한다.
상기 파이팅 수행 정보에는 외부 환경 정보를 더 포함할 수 있으며, 본 명세서의 일 실시예에 의하면 상기 외부 환경 정보는 상기 파이팅 모드에서 제어되는 루어의 정보 또는 물고기의 정보를 포함할 수 있다.
S840 단계이전에 서버로부터 액션 결과 정보를 수신할 수 있다. 이는 서버에서 액션 수행 정보에 기반하여 인카운터 게이지를 산출한 결과, 최대값에 도달하지 못한 경우(또는 본 명세서의 다른 실시예에 의하여 인카운터 게이지의 일정 기준값에 도달하지 못한 경우), 계속 액션을 수행하여 최대값에 도달할 수 있도록 한다. 그리고 서버로부터 수신한 액션 결과 정보는 루어의 움직임 정보 또는 물고기 움직임 정보를 디스플레이하는 정보를 포함할 수 있다. 그 결과 클라이언트는 액션을 수행한 과정에서의 루어의 움직임 또는 물고기의 움직임을 LCD 디스플레이 장치와 같은 외부 출력 장치에 출력할 수 있다.
도 9는 본 명세서의 다른 실시예에 의한 서버의 구성을 보여주는 도면이다. 낚시 게임을 진행하며 인카운터 기능을 제공하며, 낚시 게임 전반에 대한 서비스를 제공할 수 있는 서버이다. 도 2의 인카운터 시스템을 포함할 수 있다. 전체 구성은 다음과 같다. 클라이언트와 정보를 송수신하는 송수신부(910), 인카운터 게이지를 조절하는 인카운터 조절부(930), 그리고 몰고기 정보를 저장하는 물고기 데이터베이스(940), 캐릭터의 정보를 저장하는 캐릭터 데이터베이스(960), 그리고 상기 인카운터 조절부(930) 및 송수신부(910)를 제어하는 제어부(920)를 포함한다. 부가적으로 라인 정보를 저장하는 라인 데이터베이스(950), 액션 정보를 저장하는 스킬 데이터베이스부(970)을 포함한다.
상기 제어부(920)는 상기 송수신부(910)가 수신한 액션 수행 정보 및 상기 액션을 수행한 캐릭터 정보를 상기 캐릭터 데이터베이스(960)에서 추출하여 상기 인카운터 조절부(930)에 제공한다. 또한, 상기 제어부(920)는 상기 인카운터 조절부(930)가 산출한 인카운터 게이지의 연산 결과가 최대값에 도달한 경우, 파이팅 모드를 수행하기 위하여, 입질할 물고기 정보를 상기 물고기 데이터베이스(940)에서 산출한다. 그리고 상기 송수신부(910)는 상기 산출한 물고기 정보를 상기 클라이언트에 송신하게 된다. 여기서 인카운터 게이지가 최대값으로 도달하는 것은 본 명세서의 일 실시예이며, 앞서 살펴본 바와 같이, 인카운터 게이지의 일정 기준 값, 즉 미리 설정된 기준값에 도달할 경우에도 인카운터 게이지를 만족시키는 것으로 판단할 수 있다.
상기 제어부(920)가 상기 물고기 정보를 물고기 데이터베이스(940)에서 산출하기 위하여, 상기 캐릭터 정보 및 상기 액션 수행 정보를 이용하여 물고기 데이터베이스(940)에서 물고기 리스트를 산출하고, 상기 산출한 물고기 리스트에서 각각의 물고기에 대한 입질 확률을 산출하여 상기 물고기 리스트에서 미리 설정된 기준 이상의 입질 확률을 가진 물고기 정보를 산출할 수 있다.
또한, 제어부(920)가 상기 물고기 정보를 물고기 데이터베이스(940)에서 산출하기 위하여, 액션 수행 정보에서 맵 식별 정보를 산출할 수 있는데, 이는 캐릭터가 액션을 수행한 위치에서 낚을 수 있는 물고기 리스트를 산출할 수 있도록 한다.
한편, 파이팅 모드에서 보다 상세히 살펴보면, 송수신부(910)가 클라이언트로부터 파이팅 수행 정보를 수신하게 되면, 상기 제어부(920)는 상기 수신한 파이팅 수행 정보에 따라 라인 부하를 판단하게 되며, 상기 라인 부하 정보를 반영한 파이팅 수행 결과를 생성한다. 송수신부(910)는 상기 파이팅 수행 결과를 상기 클라이언트에게 송신하게 된다. 이 과정에서 라인 데이터베이스(950)의 라인 정보를 이용할 수 있다. 본 명세서의 일 실시예에 의한 상기 제어부(920)는 파이팅 수행 정보에 포함된 외부 환경 정보를 이용할 수 있는데, 상기 외부 환경 정보는 상기 파이팅 모드에서 제어되는 루어의 정보 또는 물고기의 정보를 포함한다. 또한 상기 파이팅 수행 정보는 낚시대의 이동 정보 또는 릴 조작 정보를 포함하게 되며, 상기 제어부(920)는 상기 이동 정보 또는 릴 조작 정보에 의해 상기 라인에 가해지는 힘의 변화를 이용하여 라인 부하를 판단할 수 있다.
또한 제어부(920)는 인카운터 조절부(930)가 산출한 인카운터 게이지의 연산 결과가 최대값 보다 작은 경우, 상기 클라이언트에게 상기 인카운터 게이지에 해당하는 액션 결과 정보를 송신하도록 상기 송수신부(910)를 제어할 수 있다. 이때, 상기 액션 결과 정보는 루어의 움직임 정보 또는 물고기 움직임 정보를 디스플레이하는 정보를 포함한다.
도 10은 본 명세서의 일 실시예에 의한 클라이언트의 구성을 보여주는 도면이다. 루어 낚시에서의 인카운터 및 파이팅을 제어하기 위한 클라이언트의 구성을 보여주고 있다. 도 10의 클라이언트는 루어 낚시의 게임 진행 전체를 제어할 수도 있다.
클라이언트의 구성은 송수신부(1010), 제어부(1020), 저장부(1130), 외부 입력장치(1040), 외부 출력장치(1050)로 구성된다. 터치스크린, 태블릿 등의 경우에는 외부 입력장치(1040)와 외부 출력장치(1050)가 하나의 장치 내에 결합하여 존재할 수 있다.
송수신부(1010)는 서버와 정보를 송수신한다. 저장부(1030)는 상기 서버로부터 수신한 정보를 저장하게 된다. 이는 임시로 저장할 수도 있고, 일정 기간동안 지속하여 저장할 수 있다. 저장부(1030)는 RAM (Random Access Memory)과 같은 휘발성 저장 장치가 될 수도 있고, 하드디스크, 플래쉬 메모리와 같이 비휘발성 저장 장치가 될 수 있다.
외부 입력장치(1040)는 외부로부터 게임을 제어하는 제어신호를 입력받는데, 일 실시예로 마우스, 태블릿, 터치스크린, 키보드 등이 될 수 있다. 한편, 외부 출력장치(1150)는 게임 진행 과정 또는 진행 결과를 그래픽 정보로 출력하는 한다. 게임 진행 과정 또는 진행 결과를 그래픽 정보로 처리하기 위해 그래픽 처리 장치를 포함할 수 있다.
또한 클라이언트는 상기 구성요소들을 제어하는 제어부(1020)를 포함한다. 상기 제어부(1020)는 외부 입력장치로(1050)부터 제어 신호를 수신하여 액션 수행 정보로 변환하여 상기 변환한 액션 수행 정보를 상기 송수신부(1010)가 상기 서버에 송신하도록 상기 송수신부(1010)를 제어할 수 있다. 그리고 상기 송수신부(1010)가 상기 서버로부터 파이팅할 물고기 정보를 수신하는 경우, 상기 제어부(1020)는 상기 외부 입력장치(1050)로부터 제어 신호를 수신하여 파이팅 수행 정보로 변환하고, 상기 변환한 파이팅 수행 정보를 상기 송수신부(1010)가 상기 서버에 송신하도록 상기 송수신부(1010)를 제어할 수 있다. 그리고 상기 송수신부(1010)는 상기 서버로부터 파이팅 수행 결과를 수신할 수 있다.
본 명세서의 일 실시예에 의하면 상기 파이팅 수행 정보에는 외부 환경 정보를 더 포함하며, 상기 외부 환경 정보는 상기 파이팅 모드에서 제어되는 루어의 정보 또는 물고기의 정보를 포함하게 된다. 또한, 상기 파이팅 수행 정보는 낚시대의 이동 정보 또는 릴 조작 정보를 포함할 수 있다.
한편, 인카운터 게이지가 최대값에 도달할 때까지 액션을 수행할 수 있으며, 이 과정에서 송수신부(1010)는 상기 서버로부터 액션 결과 정보를 수신하게 된다. 이때, 액션 결과 정보에는 루어의 움직임 정보 또는 물고기 움직임 정보를 디스플레이하는 정보가 포함되어 있으며, 제어부(1020)는 이 정보를 이용하여 외부 출력장치(1050)에 루어 또는 물고기가 움직이는 것이 디스플레이되도록 제어할 수 있다. 여기서 인카운터 게이지가 최대값으로 도달하는 것은 본 명세서의 일 실시예이며, 앞서 살펴본 바와 같이, 인카운터 게이지의 일정 기준 값, 즉 미리 설정된 기준값에 도달할 경우에도 인카운터 게이지를 만족시키는 것으로 판단할 수 있다.
도 9, 10에서 살펴본 서버와 클라이언트는 하나의 장치 내에 구현되어 다운로드 형태로 게임을 제공할 수 있다.
이상에서, 본 발명의 실시예를 구성하는 모든 구성 요소들이 하나로 결합되거나 결합되어 동작하는 것으로 설명되었다고 해서, 본 발명이 반드시 이러한 실시예에 한정되는 것은 아니다. 즉, 본 발명의 목적 범위 안에서라면, 그 모든 구성 요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다. 또한, 그 모든 구성 요소들이 각각 하나의 독립적인 하드웨어로 구현될 수 있지만, 각 구성 요소들의 그 일부 또는 전부가 선택적으로 조합되어 하나 또는 복수 개의 하드웨어에서 조합된 일부 또는 전부의 기능을 수행하는 프로그램 모듈을 갖는 컴퓨터 프로그램으로서 구현될 수도 있다. 그 컴퓨터 프로그램을 구성하는 코드들 및 코드 세그먼트들은 본 발명의 기술 분야의 당업자에 의해 용이하게 추론될 수 있을 것이다. 이러한 컴퓨터 프로그램은 컴퓨터가 읽을 수 있는 저장매체(Computer Readable Media)에 저장되어 컴퓨터에 의하여 읽혀지고 실행됨으로써, 본 발명의 실시예를 구현할 수 있다. 컴퓨터 프로그램의 저장매체로서는 자기 기록매체, 광 기록매체, 캐리어 웨이브 매체 등이 포함될 수 있다.
또한, 이상에서 기재된 "포함하다", "구성하다" 또는 "가지다" 등의 용어는, 특별히 반대되는 기재가 없는 한, 해당 구성 요소가 내재될 수 있음을 의미하는 것이므로, 다른 구성 요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것으로 해석되어야 한다. 기술적이거나 과학적인 용어를 포함한 모든 용어들은, 다르게 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 사전에 정의된 용어와 같이 일반적으로 사용되는 용어들은 관련 기술의 문맥 상의 의미와 일치하는 것으로 해석되어야 하며, 본 발명에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
또한, 본 명세서에서 이해를 돕기 위해 최대값, 최소값 등으로 설명한 것은 본 명세서의 일 실시예에 해당하며, 상기 값을 어떻게 설정하느냐, 혹은 어떤 기준 값을 선택하느냐는 당업자가 본 명세서의 발명을 적용함에 있어 다양하게 변형되어 실시될 수 있다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.

Claims (11)

  1. 클라이언트로부터 액션 수행 정보를 수신하는 단계;
    상기 액션 수행 정보를 이용하여 인카운터 게이지를 연산하는 단계;
    상기 연산된 인카운터 게이지가 기준값에 도달한 경우, 상기 클라이언트에 송신할 물고기 정보를 산출하는 단계; 및
    상기 산출한 물고기 정보를 상기 클라이언트에 송신하고, 파이팅 모드를 진행하는 단계를 포함하는, 루어 낚시 게임에서 인카운터 기능을 구현하는 방법.
  2. 제 1항에 있어서,
    상기 물고기 정보를 산출하는 단계는
    상기 액션 수행 정보에 포함된 캐릭터 정보 및 상기 액션 수행 정보를 이용하여 물고기 데이터베이스에서 물고기 리스트를 산출하는 단계;
    상기 산출한 물고기 리스트에서 각각의 물고기에 대한 입질 확률을 산출하는 단계; 및
    상기 물고기 리스트에서 미리 설정된 기준 이상의 입질 확률을 가진 물고기 정보를 산출하는 단계를 더 포함하는, 루어 낚시 게임에서 인카운터 기능을 구현하는 방법.
  3. 제 2항에 있어서,
    상기 물고기 리스트를 산출하는 단계는
    상기 액션 수행 정보에서 맵 식별 정보를 산출하는 단계를 더 포함하는, 루어 낚시 게임에서 인카운터 기능을 구현하는 방법.
  4. 제 1항에 있어서,
    상기 파이팅 모드는
    상기 클라이언트로부터 파이팅 수행 정보를 수신하는 단계;
    상기 수신한 파이팅 수행 정보에 따라 라인 부하를 판단하는 단계;
    상기 라인 부하 정보를 반영한 파이팅 수행 결과를 생성하는 단계; 및
    상기 파이팅 수행 결과를 상기 클라이언트에게 송신하는 단계를 더 포함하는, 루어 낚시 게임에서 인카운터 기능을 구현하는 방법.
  5. 제 4항에 있어서,
    상기 파이팅 수행 정보는 낚시대의 이동 정보 또는 릴 조작 정보를 포함하며,
    상기 라인 부하를 판단하는 단계는 상기 이동 정보 또는 릴 조작 정보에 의해 상기 라인에 가해지는 힘의 변화를 연산하는 단계를 더 포함하는, 루어 낚시 게임에서 인카운터 기능을 구현하는 방법.
  6. 제 1항에 있어서,
    상기 인카운터 게이지를 연산하는 단계 이후에
    상기 연산된 인카운터 게이지가 기준값 보다 작은 경우, 상기 클라이언트에게 상기 인카운터 게이지에 해당하는 액션 결과 정보를 송신하는 단계를 더 포함하는, 루어 낚시 게임에서 인카운터 기능을 구현하는 방법.
  7. 외부 입력장치로부터 제어 신호를 수신하여 액션 수행 정보로 변환하는 단계;
    상기 변환한 액션 수행 정보를 상기 서버에 송신하는 단계;
    상기 서버로부터 파이팅할 물고기 정보를 수신하는 단계;
    외부 입력장치로부터 제어 신호를 수신하여 파이팅 수행 정보로 변환하는 단계;
    상기 변환한 파이팅 수행 정보를 상기 서버에 송신하는 단계; 및
    상기 서버로부터 파이팅 수행 결과를 수신하는 단계를 포함하는, 루어 낚시 게임에서 인카운터 기능을 구현하는 방법.
  8. 클라이언트와 정보를 송수신하는 송수신부;
    인카운터 게이지를 조절하는 인카운터 조절부;
    몰고기 정보를 저장하는 물고기 데이터베이스; 및
    상기 인카운터 조절부 및 송수신부를 제어하는 제어부를 포함하며;
    상기 제어부는 상기 송수신부가 수신한 액션 수행 정보를 상기 인카운터 조절부에 제공하고, 상기 인카운터 조절부가 산출한 인카운터 게이지의 연산 결과가 기준값에 도달한 경우, 물고기 정보를 상기 물고기 데이터베이스에서 산출하며,
    상기 송수신부는 상기 산출한 물고기 정보를 상기 클라이언트에 송신하는 것을 특징으로 하는, 루어 낚시 게임 서버 장치.
  9. 제 8항에 있어서,
    상기 서버 장치는 캐릭터의 정보를 저장하는 캐릭터 데이터베이스를 더 포함하며, 상기 제어부는 상기 액션을 수행한 캐릭터 정보를 상기 캐릭터 데이터베이스에서 추출하여 상기 인카운터 조절부에 제공하는 것을 특징으로 하는, 루어 낚시 게임 서버 장치.
  10. 서버와 정보를 송수신하는 송수신부;
    상기 서버로부터 수신한 정보를 저장하는 저장부;
    외부로부터 게임을 제어하는 제어신호를 입력받는 외부 입력 장치;
    게임 진행 과정 또는 진행 결과를 그래픽 정보로 출력하는 외부 출력 장치; 및
    상기 송수신부, 저장부, 외부 입력 장치 및 외부 출력 장치를 제어하는 제어부를 포함하며,
    상기 제어부는 외부 입력장치로부터 제어 신호를 수신하여 액션 수행 정보로 변환하여 상기 변환한 액션 수행 정보를 상기 송수신부가 상기 서버에 송신하도록 상기 송수신부를 제어하며;
    상기 송수신부가 상기 서버로부터 파이팅할 물고기 정보를 수신하는 경우, 상기 제어부는 상기 외부 입력장치로부터 제어 신호를 수신하여 파이팅 수행 정보로 변환하여 상기 변환한 파이팅 수행 정보를 상기 송수신부가 상기 서버에 송신하도록 상기 송수신부를 제어하며,
    상기 송수신부는 상기 서버로부터 파이팅 수행 결과를 수신하는 것을 특징으로 하는, 루어 낚시 게임 클라이언트 장치.
  11. 제1항 내지 제 7항 중 어느 한 항에 기재된 루어 낚시 게임에서 인카운터 기능을 구현하는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체.
KR1020100084580A 2010-08-24 2010-08-31 루어 낚시 게임에서 인카운터 기능을 구현하는 방법, 장치, 및 기록매체 KR101144390B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020100084580A KR101144390B1 (ko) 2010-08-31 2010-08-31 루어 낚시 게임에서 인카운터 기능을 구현하는 방법, 장치, 및 기록매체
PCT/KR2011/006189 WO2012026726A2 (ko) 2010-08-24 2011-08-22 루어 낚시 게임을 제공하는 방법, 장치, 및 기록매체

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100084580A KR101144390B1 (ko) 2010-08-31 2010-08-31 루어 낚시 게임에서 인카운터 기능을 구현하는 방법, 장치, 및 기록매체

Publications (2)

Publication Number Publication Date
KR20120022025A true KR20120022025A (ko) 2012-03-09
KR101144390B1 KR101144390B1 (ko) 2012-05-16

Family

ID=46130239

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100084580A KR101144390B1 (ko) 2010-08-24 2010-08-31 루어 낚시 게임에서 인카운터 기능을 구현하는 방법, 장치, 및 기록매체

Country Status (1)

Country Link
KR (1) KR101144390B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018225981A1 (ko) * 2017-06-08 2018-12-13 주식회사 뉴딘플렉스 스크린 낚시 제공 방법 및 이를 위한 시스템

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102351532B1 (ko) * 2020-01-21 2022-02-15 (주)디즈콘 가상 낚시체험 방법

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000167245A (ja) * 1998-12-04 2000-06-20 Namco Ltd ゲームシステムおよび情報記憶媒体

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018225981A1 (ko) * 2017-06-08 2018-12-13 주식회사 뉴딘플렉스 스크린 낚시 제공 방법 및 이를 위한 시스템

Also Published As

Publication number Publication date
KR101144390B1 (ko) 2012-05-16

Similar Documents

Publication Publication Date Title
US20120226369A1 (en) Game device, server device, game system, game control method, and information recording medium storing program
CN109499059B (zh) 对象的渲染方法和装置、存储介质、电子装置
EP1704903B1 (en) Message output device, message control method, program, and information recording medium
JP2013128583A (ja) プログラム、情報記憶媒体及びサーバ
US11395971B2 (en) Auto harassment monitoring system
US11559745B2 (en) Video modification and transmission using tokens
KR101144390B1 (ko) 루어 낚시 게임에서 인카운터 기능을 구현하는 방법, 장치, 및 기록매체
JP5385126B2 (ja) 画面操作システム、画面操作方法及びネットワークサービスの提供方法
KR102038978B1 (ko) 게임 공략 가이드 방법 및 게임 공략 가이드 장치
JP5017235B2 (ja) ゲームシステム、ゲーム装置、ゲーム制御方法、ならびに、プログラム
WO2024076819A1 (en) Text message or app fallback during network failure in a video game
KR101198505B1 (ko) 루어 낚시 게임을 제공하는 방법, 장치, 및 기록매체
KR101155275B1 (ko) 루어 낚시 게임에서 액션 스킬을 제어하는 방법, 장치, 및 기록매체
US11995233B2 (en) Biometric feedback captured during viewing of displayed content
US12042724B2 (en) Video modification and transmission
JP7273319B2 (ja) ゲームプログラム、ゲームシステム、及びサーバ装置
KR101154631B1 (ko) 루어 낚시 게임에서 캐스팅을 제어하는 방법, 장치, 및 기록매체
KR102611203B1 (ko) 트롤링 낚시 시뮬레이션 서비스 방법
JP2016187445A (ja) プログラム及びゲームシステム
US20230398455A1 (en) Method and system for providing game reimmersion
JP7323839B1 (ja) 情報処理装置、情報処理方法および情報処理プログラム
JP6736600B2 (ja) ゲームシステム、ゲームプログラム、及びゲーム装置
US20210252404A1 (en) Computer-readable recording medium, game system, and method for game control
KR101741100B1 (ko) 게임 서비스 방법 및 이를 수행하기 위한 장치
JP2020099706A (ja) ゲームシステム、ゲームプログラム、及びゲーム装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20150424

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160212

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee