KR101383542B1 - 골프 게임의 퍼팅 진행 방법, 이를 이용한 골프 게임 서비스 시스템, 및 이를 이용한 골프 게임 프로그램을 저장하는 컴퓨터로 읽을 수 있는 기록 매체 - Google Patents

골프 게임의 퍼팅 진행 방법, 이를 이용한 골프 게임 서비스 시스템, 및 이를 이용한 골프 게임 프로그램을 저장하는 컴퓨터로 읽을 수 있는 기록 매체 Download PDF

Info

Publication number
KR101383542B1
KR101383542B1 KR1020120096632A KR20120096632A KR101383542B1 KR 101383542 B1 KR101383542 B1 KR 101383542B1 KR 1020120096632 A KR1020120096632 A KR 1020120096632A KR 20120096632 A KR20120096632 A KR 20120096632A KR 101383542 B1 KR101383542 B1 KR 101383542B1
Authority
KR
South Korea
Prior art keywords
game
ball
golf
green
putting
Prior art date
Application number
KR1020120096632A
Other languages
English (en)
Other versions
KR20140029030A (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 KR1020120096632A priority Critical patent/KR101383542B1/ko
Publication of KR20140029030A publication Critical patent/KR20140029030A/ko
Application granted granted Critical
Publication of KR101383542B1 publication Critical patent/KR101383542B1/ko

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B71/00Games or sports accessories not covered in groups A63B1/00 - A63B69/00
    • A63B71/06Indicating or scoring devices for games or players, or for other sports activities
    • A63B71/0619Displays, user interfaces and indicating devices, specially adapted for sport equipment, e.g. display mounted on treadmills
    • A63B71/0622Visual, audio or audio-visual systems for entertaining, instructing or motivating the user
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B71/00Games or sports accessories not covered in groups A63B1/00 - A63B69/00
    • A63B71/06Indicating or scoring devices for games or players, or for other sports activities
    • A63B2071/0691Maps, e.g. yardage maps or electronic maps
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B2225/00Miscellaneous features of sport apparatus, devices or equipment
    • A63B2225/20Miscellaneous features of sport apparatus, devices or equipment with means for remote communication, e.g. internet or the like
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B2225/00Miscellaneous features of sport apparatus, devices or equipment
    • A63B2225/50Wireless data transmission, e.g. by radio transmitters or telemetry

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Physical Education & Sports Medicine (AREA)
  • Processing Or Creating Images (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

골프 게임 퍼팅 진행 방법이 개시된다. 본 발명의 실시예에 따른 골프 게임의 퍼팅 진행 방법은 골프공의 최초 진행 방향을 결정하는 단계, 상기 최초 진행 방향을 따라 이동하는 이미지 볼의 위치를 결정하는 단계 및 상기 최초 진행 방향, 상기 골프공과 상기 이미지 볼의 거리, 그린의 경사 및 상기 그린의 마찰력을 기초로 상기 골프공의 이동 경로를 계산하는 단계를 포함하며, 상기 이미지볼의 위치는 상기 그린의 경사를 고려하지 않을 경우 상기 골프공의 최종 위치의 중심에 해당한다. 본 발명의 실시예에 따른 골프 게임의 퍼팅 진행 방법에 의하면, 이미지볼을 이용한 퍼팅 인터페이스를 제공함으로써 유저가 실제로 퍼팅을 하는 듯한 사실성 및 현장감과 함께 높은 난이도를 느낄 수 있다.

Description

골프 게임의 퍼팅 진행 방법, 이를 이용한 골프 게임 서비스 시스템, 및 이를 이용한 골프 게임 프로그램을 저장하는 컴퓨터로 읽을 수 있는 기록 매체{A putting progress method for golf game, golf game service system using thereof and computer readable recording medium storing golf game programs using thereof}
본 발명은 골프 게임의 퍼팅 진행 방법에 관한 것으로서, 보다 상세하게는 이미지볼을 이용한 퍼팅 인터페이스를 제공하는 골프 게임의 퍼팅 진행 방법, 이를 이용한 골프 게임 서비스 시스템, 및 이를 이용한 골프 게임 프로그램을 저장하는 컴퓨터로 읽을 수 있는 기록 매체에 관한 것이다.
최근 급속도로 발전된 IT 기술에 따라 PC(Personal Computer), 노트북(notebook) 및 스마트폰(smart phone) 등의 전자 기기들이 광범위하게 보급되었다. 이에 따라 전자 기기들의 활용도가 높아짐에 따라 컨텐츠(contents)의 중요성 역시 높아지고 있다. 이러한 컨텐츠들 중 쉽게 여가 생활을 즐기고 스트레스 해소에 도움이 되는 게임(game)에 대한 개발이 활발히 이루어지고 있다.
게임 중에서도 스포츠(sports) 게임은 높은 게임성과 적절한 난이도와 함께, 모바일(mobile) 환경이나 PC 환경 등의 제약에 불구하고 유저(user)가 실제로 게임을 진행하는 듯한 사실성과 현장감이 요구된다.
본 발명이 이루고자 하는 과제는 높은 사실성과 현장감을 전달하기 위해 이미지볼을 이용한 퍼팅 인터페이스를 제공하는 골프 게임의 퍼팅 진행 방법, 이를 이용한 골프 게임 서비스 시스템, 및 이를 이용한 골프 게임 프로그램을 저장하는 컴퓨터로 읽을 수 있는 기록 매체를 제공하는데 있다.
본 발명의 실시예에 따른 골프 게임의 퍼팅 진행 방법은 골프공의 최초 진행 방향을 결정하는 단계, 상기 최초 진행 방향을 따라 이동하는 이미지 볼의 위치를 결정하는 단계 및 상기 최초 진행 방향, 상기 골프공과 상기 이미지 볼의 거리, 그린의 경사 및 상기 그린의 마찰력을 기초로 상기 골프공의 이동 경로를 계산하는 단계를 포함하며, 상기 이미지볼은 상기 골프공의 이동 경로를 결정하기 위한 가상의 공이다.
실시예에 따라 상기 최초 진행 방향을 결정하는 단계는 키보드 상의 제1 키 또는 마우스의 제1 버튼을 이용해 화면의 방향을 전환하는 단계 및 상기 키보드 상의 제1 키 또는 상기 마우스의 제1 버튼을 누른 상태를 해지하여 상기 최초 진행 방향을 결정하는 단계를 포함한다.
실시예에 따라 상기 이미지볼의 위치를 결정하는 단계는 키보드 상의 제2 키 또는 마우스의 제1 버튼을 이용해 상기 이미지볼의 방향을 따라 상기 이미지볼을 이동시키는 단계 및 상기 키보드 상의 제2 키 또는 상기 마우스의 제1 버튼을 누른 상태를 해지하여 상기 이미지볼의 위치를 결정하는 단계를 포함한다.
실시예에 따라 상기 그린의 경사를 표시하는 단계를 더 포함하고, 상기 이미지볼의 위치는 상기 그린의 경사를 고려하지 않을 경우 상기 골프공의 최종 위치의 중심에 해당한다.
실시예에 따라 상기 그린의 경사를 표시하는 단계는 상기 그린의 경사를 미니 맵 또는 모자이크 형태의 다수의 사각형들의 모양을 이용해 표시하는 단계를 포함한다.
실시예에 따라 상기 미니 맵은 상기 그린의 경사가 높을수록 붉은 색에 가깝게 표시하고 상기 그린의 경사가 낮을수록 푸른 색에 가깝게 표시한다.
실시예에 따른 컴퓨터로 읽을 수 있는 기록 매체는 상기 골프 게임의 퍼팅 방법을 실행하기 위한 프로그램을 저장한다.
본 발명의 실시예에 따른 골프 게임 서비스 시스템은 사용자의 요청에 따라 게임 컨트롤러를 포함하는 설치 데이터를 사용자 컴퓨터로 전송하는 웹 서버 및 상기 사용자 컴퓨터가 상기 게임 컨트롤러를 통해 생성한 게임 진행 데이터 및 정해진 게임 규칙에 따라 골프 게임을 진행한 결과를 생성하는 게임 서버를 포함하며, 상기 게임 컨트롤러는 골프공의 이동 경로를 결정하기 위한 가상의 공인 이미지볼을 이용한 퍼팅 인터페이스를 제공한다.
실시예에 따라 상기 게임 컨트롤러는 상기 사용자가 상기 퍼팅 인터페이스 상에서 화면의 전환 및 이미지볼의 이동을 통해 이미지볼의 위치를 결정할 수 있도록 하고, 상기 결정된 이미지볼의 위치를 기초로 상기 골프공의 이동 경로를 계산한다.
실시예에 따라 상기 이미지볼의 위치는 그린의 경사를 고려하지 않을 경우 골프공의 최종 위치의 중심에 해당하고, 상기 골프공의 최초 진행 방향 및 상기 골프공의 초기 속도를 결정한다.
실시예에 따라 상기 그린의 경사는 상기 퍼팅 인터페이스 상에서 미니 맵 또는 모자이크 형태의 다수의 사각형들의 모양을 이용해 표시된다.
본 발명의 실시예에 따른 골프 게임 프로그램을 저장하는 컴퓨터로 읽을 수 있는 기록 매체는 퍼팅 인터페이스를 제공하고, 상기 퍼팅 인터페이스를 통해 게임 진행 데이터를 생성하는 게임 컨트롤러 및 상기 게임 진행 데이터를 서버 영역으로 전송하는 채널 컨트롤러를 포함하며, 상기 퍼팅 인터페이스는 골프공의 이동 경로를 결정하기 위한 가상의 공인 이미지볼을 이용한 퍼팅 인터페이스이다.
실시예에 따라 상기 게임 컨트롤러는 사용자가 상기 퍼팅 인터페이스 상에서 화면의 전환 및 이미지볼의 이동을 통해 이미지볼의 위치를 결정할 수 있도록 하고, 상기 결정된 이미지볼의 위치를 기초로 상기 골프공의 이동 경로를 계산한다.
실시예에 따라 상기 이미지볼의 위치는 그린의 경사를 고려하지 않을 경우 골프공의 최종 위치의 중심에 해당하고, 상기 골프공의 최초 진행 방향 및 상기 골프공의 초기 속도를 결정하다.
실시예에 따라 상기 그린의 경사는 상기 퍼팅 인터페이스 상에서 미니 맵 또는 모자이크 형태의 다수의 사각형들의 모양을 이용해 표시된다.
본 발명의 실시예에 따른 골프 게임의 퍼팅 진행 방법은 골프공, 홀 컵 및 그린의 경사를 표시하는 단계, 상기 골프공의 이동 경로를 결정하기 위한 가상의 공인 이미지볼을 표시하는 단계 및 상기 이미지볼의 위치 및 상기 그린의 경사를 기초로 상기 골프공의 이동을 표시하는 단계를 포함한다.
본 발명의 실시예에 따른 골프 게임의 퍼팅 진행 방법, 이를 이용한 골프 게임 서비스 시스템, 및 이를 이용한 골프 게임 프로그램을 저장하는 컴퓨터로 읽을 수 있는 기록 매체에 의하면, 이미지볼을 이용한 퍼팅 인터페이스를 제공함으로써 유저가 실제로 퍼팅을 하는 듯한 사실성 및 현장감과 함께 높은 난이도를 느낄 수 있다.
도 1은 본 발명의 실시예에 따른 골프 게임 서비스 시스템의 블록도이다.
도 2는 도 1에 도시된 사용자 컴퓨터를 상세히 설명하기 위한 블록도이다.
도 3은 본 발명의 실시예에 따른 골프 게임의 퍼팅 인터페이스를 간략히 나타내는 도면이다.
도 4는 본 발명의 실시예에 따른 골프 게임의 퍼팅 진행 방법을 나타내는 흐름도이다.
도 5a 내지 도 5c는 도 3에 도시된 본 발명의 실시예에 따른 골프 게임의 퍼팅 인터페이스의 적용예를 나타내는 도면이다.
도 6a 내지 도 6d는 도 4에 도시된 본 발명의 실시예에 따른 골프 게임의 퍼팅 진행 방법에 의해 표시되는 화면의 적용예를 나타내는 도면이다.
본 명세서 또는 출원에 개시되어 있는 본 발명의 실시 예들에 대해서 특정한 구조적 내지 기능적 설명들은 단지 본 발명에 따른 실시 예를 설명하기 위한 목적으로 예시된 것으로, 본 발명에 따른 실시 예들은 다양한 형태로 실시될 수 있으며 본 명세서 또는 출원에 설명된 실시예들에 한정되는 것으로 해석되어서는 아니 된다.
본 발명에 따른 실시예는 다양한 변경을 가할 수 있고 여러가지 형태를 가질 수 있으므로 특정실시 예들을 도면에 예시하고 본 명세서 또는 출원에 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시 예를 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1 및/또는 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만, 예컨대 본 발명의 개념에 따른 권리 범위로부터 이탈되지 않은 채, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
본 명세서에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시 예를 설명함으로써, 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.
도 1은 본 발명의 실시예에 따른 골프 게임 서비스 시스템의 블록도이다.
도 1을 참조하면, 본 발명의 실시예에 따른 골프 게임 서비스 시스템(10)은 클라이언트 영역, 네트워크 영역 및 서버 영역을 포함할 수 있다.
클라이언트 영역은 온라인으로 골프 게임 서비스를 제공받아 골프 게임을 플레이할 수 있는 다수의 사용자 컴퓨터들(100)을 포함할 수 있다. 각각의 사용자 컴퓨터(100)는 PC(Personal Computer), 노트북(notebook), 이동 전화기(cellular phone), 스마트 폰(smart phone), 태블릿(tablet) PC, PDA(Personal Digital Assistant) 또는 무선 통신 장치로 구현될 수 있다.
사용자 컴퓨터(100)는 네트워크 영역을 통해 서버 영역과 필요한 데이터를 송수신할 수 있다. 또한, 각각의 사용자 컴퓨터(100)에는 네트워크 영역에 접속하여 특정 웹 페이지(web page)를 출력할 수 있는 웹 브라우저(web browser) 프로그램이 설치될 수 있다. 실시예에 따라 각각의 사용자 컴퓨터(100)가 이동 전화기, 스마트폰 등의 휴대용 기기일 경우, 상기 웹 브라우저는 전용 어플리케이션 프로그램으로 대체될 수 있다. 본 발명의 실시예에 따른 골프 게임 서비스를 이용하고자 하는 사용자는 사용자 컴퓨터(100)에 설치된 웹 브라우저 프로그램을 실행시켜 웹 서버(310)의 통합 자원 탐색기(URL: Uniform Resource Locator) 주소(예컨대, http://www.facebook.com/?ref=logo#!/appcenter/category/games/?platform=web)를 입력하여 웹 사이트의 화면에서 다양한 게임 서비스 중에 골프 게임을 선택할 수 있다.
한편, 사용자 컴퓨터(100)는 골프 게임을 진행하기 위한 소프트웨어(software)인 채널 컨트롤러(110) 및 게임 컨트롤러(120)를 웹 서버(310)로부터 전송받아 저장부(미도시)에 설치할 수 있다. 상기 저장부(미도시)는 전원 공급 여부에 관계없이 데이터를 저장할 수 있는 하드 디스크(hard disk), SSD(Solid State Disk) 또는 비휘발성 메모리(nonvolatile memory)로 구현될 수 있다.
채널 컨트롤러(110)는 각종 게임의 채널을 관리하는 소정의 프로그램을 말한다. 채널이란 게임마다 개설된 게임방의 목록 및 개설된 각각의 게임방에 위치하고 있는 사용자의 목록으로 구성되는 단위를 말한다.
게임 컨트롤러(120)는 각종 게임을 진행하기 위한 다수의 기능 및 조작 버튼, 골프 캐릭터 이미지, 골프장의 이미지영역 등으로 이루어지는 게임 화면을 제공하여 골프 게임의 진행을 가능하게 하는 소정의 프로그램이다. 사용자가 서버 영역에서 제공하는 골프 게임을 이용하기 위해서는 사용자 컴퓨터(100)가 골프 게임에 해당하는 채널 컨트롤러(110)와 게임 컨트롤러(120)를 웹 서버(310)로부터 전송받아 설치해야 한다.
또한, 게임 컨트롤러(120)는 게임 화면상에서 골프 게임의 진행을 위한 드라이버 샷(driver shot), 아이언 샷(iron shot), 퍼터 샷(putter shot) 등의 모든 입력 신호를 사용자가 조작하는 입력 장치(미도시, 예컨대 키보드, 마우스, 터치패드 등)를 통해 수신할 수 있다. 게임 컨트롤러(120)는 다수의 골프장의 각 홀마다의 유저 인터페이스(user interface)를 제공하고, 입력 장치(미도시)의 조작에 의하여 생성된 이벤트에 대응하는 게임 진행 데이터를 생성하여 상대방의 사용자 컴퓨터(100) 또는 게임 서버(340)로 전송할 수 있다.
즉, 게임 컨트롤러(120)는 유저 인터페이스를 제공하여, 사용자로부터 입력받은 게임 진행 데이터(사용자의 조작에 따른 골프 게임상에서 골프공의 움직임 등)를 상대방의 컴퓨터로 전송하여 상기 게임 진행 데이터가 반영된 결과를 상대방에게 출력하도록 하고, 상대방으로부터 전송되는 게임 진행 데이터(상대방의 조작에 따른 골프 게임상에서 골프공의 움직임 등)를 수신하여 사용자 컴퓨터(100)의 게임 화면상에 출력할 수 있다.
예컨대, 사용자가 퍼팅을 할 경우, 사용자가 퍼팅을 위한 조작을 함과 동시에 사용자의 게임 화면에서 퍼팅이 이루어지며, 상대방은 사용자의 퍼팅 게임 화면을 볼 수 있다. 이와 반대로 상대방이 퍼팅을 할 경우, 상대방이 퍼팅을 위한 조작을 함과 동시에 상대방의 게임 화면에서 퍼팅이 이루어지며, 사용자는 상대방의 퍼팅 게임 화면을 볼 수 있다.
채널 컨트롤러(110)와 게임 컨트롤러(120)의 상세한 동작은 도 2를 참조하여 후술하기로 한다.
네트워크 영역은 서버 영역과 클라이언트 영역 사이에서 데이터의 전송이 일어나는 영역이다. 예컨대, 네트워크 영역은 TCP/IP(Transmission Control Protocol/Internet Protocol) 기반의 인터넷 망(300)으로 구현될 수 있다. 또한, 클라이언트 영역의 복수의 사용자 컴퓨터(100) 사이에서의 UDP 기반의 P2P 데이터 전송이 네트워크 영역에서 일어날 수 있다. 이로 인해, 복수의 사용자 컴퓨터(100) 사이의 데이터 전송에 있어 딜레이 타임(delay time)이 최소화될 수 있다.
서버 영역은 웹 서버(web server, 310), 설치 정보 데이터베이스(installation information database, 320), 채널 서버(channel server, 330), 게임 서버(game server, 340) 및 게임 정보 데이터베이스(game information database, 350)를 포함할 수 있다.
웹 서버(310)는 본 발명의 실시예에 따른 골프 게임 서비스를 포함하는 복수의 게임들뿐만 아니라 동호회, 메시지, 쇼핑몰 등의 각종 서비스를 제공하는 포털 사이트(Portal Site)를 운영하는 서버이다. 웹 서버(310)는 각 사용자 컴퓨터(100)로부터 웹 페이지로의 접속 요구 신호를 수신하여 상기 접속 요구 신호에 해당하는 HTML(Hyper-Text Markup Language) 문서를 각 사용자 컴퓨터(100)로 전송할 수 있다.
실시예에 따라 사용자 컴퓨터(100)가 이동 전화기 또는 스마트폰 등의 모바일 장치일 경우, 웹 서버(310)는 전용 어플리케이션 프로그램을 제공하는 콘텐츠 다운로드 서버(contents download server)에 해당할 수 있다.
한편, 사용자가 본 발명의 실시예에 따른 골프 게임 서비스를 이용하기 위해서는 웹 서버(310)에 회원으로 등록해야 한다. 사용자는 웹 서버(310)에서 제공하는 회원 등록 화면에서 성명, 이메일 주소(e-mail address), ID(Identification), 별명, 비밀번호, 전화 번호, 거주 지역 및 직업 등의 신상 정보를 입력하고, 입력한 신상 정보의 공개, 비공개 및 친구에게만 공개 등의 여부를 선택하여 웹 서버(310)에 회원으로 등록할 수 있다.
설치 정보 데이터베이스(320)는 골프 게임 서비스를 위한 설치 데이터를 저장할 수 있다. 상기 설치 데이터는 채널 컨트롤러(110) 및 게임 컨트롤러(120)를 포함하고 사용자 컴퓨터(100)에 자동으로 설치되도록 프로그래밍된 데이터일 수 있다. 또한, 상기 설치 데이터는 버전 별로 관리될 수 있으며, 최신 버전의 설치 데이터는 이전보다 버그 수정, 새로운 기능 추가 등이 이루어진 설치 데이터일 수 있다.
예컨대, 사용자 컴퓨터(100)가 네트워크 영역을 통해 웹 서버(310)에 접속한 후 웹 서버(310)에서 제공하는 게임 관련 웹 페이지에서 골프 게임을 선택하면, 사용자 컴퓨터(100)는 골프 게임 서비스를 위한 설치 데이터를 웹 서버(310)로부터 수신하여 채널 컨트롤러(110)와 게임 컨트롤러(120)를 설치할 수 있다.
채널 서버(330)는 사용자의 실력차에 따른 채널 등급 구분에 따른 채널 목록과 다양한 게임방식의 구분에 따른 게임방의 목록을 갱신 및 관리하고, 상기 채널 목록 및 상기 게임방의 목록 즉, 채널 데이터를 각 사용자 컴퓨터(100)에 제공할 수 있다.
게임 서버(340)는 각 사용자 컴퓨터(100)에 설치되어 있는 채널 컨트롤러(110) 및 게임 컨트롤러(120)와 게임 정보 데이터베이스(350)의 사이에서 송수신 되는 데이터를 처리할 수 있다.
게임 서버(340)는 정해진 게임 규칙에 따라 게임을 진행하고, 게임 내의 게임 결과를 산출하고, 산출된 게임 결과를 각 사용자 컴퓨터(100)로 전달할 수 있다. 게임 서버(340)는 골프 게임의 규칙을 소정의 프로그램 언어 형태로 저장할 수 있다.
게임 서버(340)는 네트워크 영역을 통해 사용자와 상대방으로부터 게임 진행 데이터를 수신하고, 이를 이용하여 사용자와 상대방 간에 유저 인터페이스를 통해 골프 게임을 진행하는 중 발생하는 게임 기록 데이터, 즉, 각 홀 스코어, 종합 스코어, 그린 적중률, 벙커 세이브율, 평균 드라이브 거리, 사용자와 상대방 간의 순서인 턴(turn) 등의 데이터를 산출할 수 있다. 상기 게임 기록 데이터는 네트워크 영역을 통해 사용자와 상대방에게 제공될 수 있다.
즉, 게임 서버(340)는 각 사용자 컴퓨터(100)로부터의 게임 진행 데이터, 산출된 게임 기록 데이터 및 상기 정해진 게임 규칙에 따라 골프 게임의 각종 화면의 생성에 필요한 정보를 각 사용자 컴퓨터(100)로 전송할 수 있다.
또한, 게임 서버(340)는 사용자 컴퓨터(100)의 요청에 따라 게임 정보 데이터베이스(350)에 저장된 데이터를 사용자 컴퓨터(100)로 전송할 수 있다. 게임 서버(340)가 각 사용자 컴퓨터(100)로 전송하는 데이터를 게임 데이터로 정의할 수 있다.
게임 정보 데이터베이스(350)는 게임 서버(340)에 접속한 회원들의 신상 정보를 저장할 수 있다. 즉, 게임 서버(340)에 처음 접속한 회원들의 신상 정보와 회원 관리부에 의해서 수정되거나 갱신되는 사용자 정보 등을 저장할 수 있다.
또한, 게임 정보 데이터베이스(350)는 골프 게임과 관련하여 사용자가 생성한 팀 또는 캐릭터, 사용자의 승률 및 게임 중 접속의 끊김 등의 게임 정보를 함께 저장할 수 있다. 즉, 게임 정보 데이터베이스(350)는 골프 게임의 팀 종류 및 각 팀에 포함된 캐릭터, 각 캐릭터의 능력치 등의 게임 정보와 사용자의 승패에 따른 게임 기록 정보를 저장할 수 있다.
도 2는 도 1에 도시된 사용자 컴퓨터를 상세히 설명하기 위한 블록도이다.
도 1 및 도 2를 참조하면, 사용자 컴퓨터(100)는 하드웨어 영역(hardware area)과 소프트웨어 영역(software area)을 포함할 수 있다.
하드웨어 영역은 중앙 처리부(CPU:Central Processing Unit, 102), 입력 장치(input device, 104), 디스플레이부(display unit, 106) 및 네트워크 인터페이스(Network interface, 108)를 포함할 수 있다.
중앙 처리부(102)는 사용자 컴퓨터(100)의 전반적인 동작을 제어할 수 있다. 중앙 처리부(102)는 입력 장치(104)를 통해 입력되는 사용자의 명령에 따라 채널 컨트롤러(110) 및 게임 컨트롤러(120)의 설치, 골프 게임의 실행, 진행 등의 동작을 처리할 수 있다.
디스플레이부(106)는 중앙 처리부(102)로부터 데이터를 전송받아 채널 화면 및 게임 화면을 디스플레이할 수 있다.
네트워크 인터페이스(108)는 사용자 컴퓨터(100)가 네트워크 영역을 통해 다른 사용자 컴퓨터(미도시) 또는 서버 영역과의 데이터 송수신을 담당할 수 있다.
소프트웨어 영역은 중앙 처리부(102)에 의해 실행될 수 있는 프로그램의 형태로 사용자 컴퓨터(100)에 포함된 하드 디스크 또는 SSD 등에 저장될 수 있다 또한, 소프트웨어 영역은 필요에 따라 사용자 컴퓨터(100)에 포함된 DRAM(Dynimic Random Access Memory) 또는 SRAM(Static Random Access Memory) 등의 비휘발성 메모리에 저장될 수 있다.
소프트웨어 영역은 채널 컨트롤러(110) 및 게임 컨트롤러(120)를 포함할 수 있다.
채널 컨트롤러(110)는 데이터 처리부(112), 게임 자원 검사부(114) 및 채널 화면 제공부(116)를 포함할 수 있다.
데이터 처리부(112)는 사용자가 웹 서버(310)의 웹 페이지에서 특정 게임방으로 입장 등을 선택했을 때 이와 관련된 데이터를 전송받거나 사용자가 게임 컨트롤러(120)를 이용해 입력한 데이터를 게임 서버(340)로 전송할 수 있다. 즉, 데이터 처리부(112)는 소프트웨어 영역의 외부와의 데이터 입출력을 제어할 수 있다.
한편, 웹 서버(310)로부터 전송되는 데이터는 세션(Session)이라는 데이터 송수신 프로그램을 통해 데이터 처리부(112)로 전송될 수 있다. 상기 세션은 웹 서버(310)로부터 전송된 데이터를 수신하여 사용자 컴퓨터(100)에 설치된 채널 컨트롤러(110)가 실행되어 있지 않다면 채널 컨트롤러(110)를 실행시킨 후 채널 컨트롤러(110)에서 처리하는 포맷(Format)으로 데이터를 변환하여 채널 컨트롤러(110)에 전달할 수 있다.
게임 자원 검사부(114)는 사용자 컴퓨터(100)에 설치된 채널 컨트롤러(110)와 게임 컨트롤러(120)의 버전(Version)을 현재 웹 서버(310)에서 제공하는 채널 컨트롤러(110)와 게임 컨트롤러(120)의 버전과 비교하여 버전이 상이한 경우 웹 서버(310)로부터 새로운 채널 컨트롤러(110)와 게임 컨트롤러(120)를 수신하여 갱신할 수 있다.
채널 화면 제공부(116)는 디스플레이부(106)에 해당 게임에서 현재 존재하는 채널 및 게임방의 목록 화면을 제공할 수 있다. 사용자의 컴퓨터로 채널 컨트롤러(110)나 게임 컨트롤러(120)가 최초로 설치되거나 갱신된 후에는 채널 컨트롤러(110)는 채널 서버(330)에 접속하여 채널 및 게임방의 목록을 제공받고, 채널 화면 제공부(116)가 상기 채널 및 게임방 목록을 이용하여 채널 화면을 생성할 수 있다.
한편, 채널 컨트롤러(110)가 채널 서버(330)에 접속하여 사용자에게 채널 화면을 제공하는 중 사용자는 채널 화면에서 새로운 게임방을 개설하거나 기존에 개설된 게임방에 입장할 수 있다. 이 경우 채널 컨트롤러(110)는 채널 서버(330)와의 접속을 해제하고, 게임 서버(340)에 접속할 수 있다. 여기서, 채널 컨트롤러(110)가 채널 서버(330)나 게임 서버(340)와 접속하거나 접속을 해제하는 걸로 설명되고 있지만, 실질적으로 사용자 컴퓨터(100)가 채널 서버(330)나 게임 서버(340)와 접속하거나 접속을 해제한다.
게임 서버(340)에 접속된 채널 컨트롤러(110)는 사용자가 선택한 게임(예컨대, 골프 게임)에 해당하는 게임 컨트롤러(120)를 실행시킨다. 채널 컨트롤러(110)에 의해 실행된 게임 컨트롤러(120)는 해당 게임 화면을 사용자 컴퓨터(100)에 제공하며 사용자로부터 입력된 게임 내의 게임 관련 데이터를 채널 컨트롤러(110)로 전달할 수 있다. 채널 컨트롤러(110)는 게임컨트롤러로부터 수신한 게임 관련 데이터를 게임 서버(340)로 전송할 수 있다.
게임 컨트롤러(120)는 게임 정보 저장부(130) 및 사용자 게임 데이터 생성부(150)를 포함할 수 있다. 도 2에서는 게임 컨트롤러(120)가 골프 게임의 실행을 위한 골프 게임 컨트롤러임을 전제로 설명하기로 한다.
게임 정보 저장부(130)는 지형 정보 데이터베이스(132) 및 캐릭터 정보 데이터베이스(134)를 포함할 수 있다.
지형 정보 데이터베이스(132)는 지형 정보를 저장할 수 있고, 상기 지형 정보는 각 골프장의 각 홀마다의 지형 정보, 즉 전체적인 맵(map) 정보, 페어웨이(fairway), 러프(rough), 벙커(bunker) 또는 그린(green) 등의 위치, 경사, 지면의 마찰계수 등의 정보를 말한다.
캐릭터 정보 데이터베이스(134)는 캐릭터 정보를 저장할 수 있고, 상기 캐릭터 정보는 디폴트(default)로 제공되거나 사용자가 새로 생성할 수 있는 캐릭터들의 외모, 능력치 등의 정보를 말한다.
사용자 게임 데이터 생성부(150)는 이미지볼 인터페이스 처리부(152), 지형 정보 추출부(154), 캐릭터 정보 추출부(156) 및 데이터 생성부(158)를 포함할 수 있다.
이미지볼 인터페이스 처리부(152)는 골프 게임의 퍼팅 시 사용자에 의해 이미지볼의 위치, 즉 이미지볼의 최초 진행 방향(방향 데이터) 및 골프공과 이미지볼의 상대적인 거리(이동 데이터)를 추출하여 데이터 생성부(158)에 제공할 수 있다.
상기 이미지볼은 골프공의 이동 경로를 결정하기 위한 골프공과 동일 또는 유사한 크기를 갖는 가상의 공을 말하며, 그린의 경사를 고려하지 않을 경우 골프공의 최종 위치의 중심에 해당하는 위치를 가질 수 있다. 즉, 상기 이미지볼의 위치는 그린의 경사를 고려하지 않고 골프공을 퍼팅하였을 때의 최종 위치의 중심에 해당한다. 즉, 그린의 경사가 없는 경우 상기 이미지볼의 위치를 골프공의 위치와 홀컵 위치의 중심에 두었을 때 골프공은 초기 속도와 관성에 의해 홀컵까지 이동할 수 있다. 사용자는 그린의 경사를 퍼팅 화면을 통해 확인하고, 상기 그린의 경사와 이미지볼의 위치에 기초하여 골프공을 홀 인(hall-in)시키기 위한 최적의 이미지볼의 위치를 선정할 수 있다. 사용자가 상기 이미지볼의 위치를 선정하는 방법은 도 3 및 도 4를 참조하여 상세히 설명된다.
지형 정보 추출부(154)는 지형 정보 데이터베이스(132)로부터 필요한 지형 정보를 데이터 생성부(158)에 제공할 수 있다.
캐릭터 정보 추출부(156)는 캐릭터 정보 데이터베이스(134)로부터 필요한 캐릭터 정보를 데이터 생성부(158)에 제공할 수 있다.
데이터 생성부(158)는 골프 게임의 진행 중의 각종 게임 화면과 기록 데이터를 생성할 수 있다. 즉, 데이터 생성부(158)는 사용자의 입력에 따라 필요한 게임 화면을 생성하여 디스플레이부(106)에 제공할 수 있다.
퍼팅 게임에서의 데이터 생성부(158)의 상세한 동작은 도 3 및 도 4를 참조하여 상세히 설명하기로 한다.
도 3은 본 발명의 실시예에 따른 골프 게임의 퍼팅 인터페이스를 간략히 나타내는 도면이다.
도 1 내지 도 3을 참조하면, 사용자가 사용자 컴퓨터(100)를 이용해 골프 게임의 퍼팅을 진행할 때의 퍼팅 인터페이스(400)가 나타나 있다.
현재 사용자에 의해 선택된 캐릭터(410)가 그린(420) 위에 올려진 골프공(430)을 퍼팅하는 모습이 도시되어 있다. 또한, 기록표(440)는 현재 골프 게임의 진행 기록(예컨대, 현재 순위, 스코어, 골프공(430)과 홀 컵(450) 사이의 거리 등)을 표시할 수 있으며, 사용자가 입력 장치(104)를 통한 조작으로 기록표(440)를 숨기거나 표시할 것을 선택할 수 있다.
미니 맵(mini map, 460)은 화면의 일부에 나타낼 수 있고, 기록표(440)와 마찬가지로 사용자의 선택에 따라 표시하거나 숨길 수 있다. 미니 맵(460)은 현재 캐릭터(410)와 홀 컵(450)의 위치, 그린(420)의 수평적인 형태, 그린(420)의 경사 등을 나타낼 수 있다.
사용자는 그린(420)의 경사, 골프공(430)과 홀 컵(450) 사이의 거리 및 골프공(430)의 관성을 고려하여 이미지볼(470)의 위치를 결정할 수 있다. 상기 그린(420)의 경사는 사용자의 선택에 따라 다수의 방법으로 나타낼 수 있다. 예컨대, 그린(420)에 모자이크 형태의 사각형의 모양, 다수의 점들, 화살표 방향, 3D 형태의 경사, 상이한 색(예컨대, 높은 곳은 붉은 색, 낮은 곳은 푸른 색), 미니 맵(460) 상의 음영 또는 색 등으로 그린(420)의 경사를 나타낼 수 있다.
이미지볼(470)의 위치는 사용자가 입력 장치(104)를 조작하여 결정할 수 있다. 이미지볼(470)은 골프공(430)과 구분이 되도록 색상이나 무늬가 다를 수 있다.
사용자는 키보드 상의 제1 키(예컨대, 화살표 좌우 키) 또는 마우스 제1 버튼(예컨대, 퍼팅 인터페이스(400)의 방향 전환 아이콘(480)에 커서를 대고 마우스 왼쪽 버튼을 누른 상태로 좌우로 드래그(drag))을 이용해 이미지볼(470)의 방향을 전환할 수 있다. 사용자는 키보드 상의 제1 키 또는 마우스 제1 버튼을 누른 상태를 해지함으로써 이미지볼(470)의 방향을 결정할 수 있다.
사용자는 키보드 상의 제2 키(예컨대, 화살표 상하 키) 또는 마우스 제1 버튼(예컨대, 퍼팅 인터페이스(400)의 캐릭터(410)에 커서를 대고 마우스 왼쪽 버튼을 누른 상태를 유지)을 이용해 이미지볼(470)의 방향을 따라 이미지볼(470)을 이동시킬 수 있다. 사용자는 키보드 상의 제2 키 또는 마우스 제1 버튼을 누른 상태를 해지함으로써 이미지볼(470)과 골프공(430) 사이의 거리를 결정할 수 있다.
예컨대, 도 3에 도시된 이미지볼(470)의 위치는 A 방향으로 갈수록 그린(420)의 높이가 높아지고, B 방향으로 갈수록 그린(420)의 높이가 높아지는 경우에 적합한 위치일 수 있다. 즉, 사용자는 A 방향에서 홀 컵(450)과 골프공(430)을 잇는 선분의 중점을 지나고 상기 선분에 수직하는 직선의 상단에, B 방향에서 홀 컵(450)과 골프공(430)을 잇는 직선의 우측에 이미지볼(470)을 위치시켜야 그린(420)의 경사, 골프공(430)과 홀 컵(450) 사이의 거리 및 골프공(430)의 관성을 고려해 골프공(430)을 홀인시킬 수 있다. 이러한 이미지볼(470)을 이용한 퍼팅 인터페이스(400)로 인해 골프 게임에 있어서 사용자가 실제 퍼팅 게임을 진행하는 것과 흡사한 게임성과 난이도를 제공할 수 있다.
도 4는 본 발명의 실시예에 따른 골프 게임의 퍼팅 진행 방법을 나타내는 흐름도이다.
도 1 내지 도 4를 참조하면, 사용자는 키보드 상의 제1 키(예컨대, 화살표 좌우 키) 또는 마우스 제1 버튼(예컨대, 퍼팅 인터페이스(400)의 방향 전환 아이콘(480)에 커서를 대고 마우스 왼쪽 버튼을 누른 상태로 좌우로 드래그(drag))을 이용해 화면의 방향 즉, 이미지볼(470)의 방향을 전환할 수 있다(S400).
이때, 이미지볼 인터페이스 처리부(152)는 사용자의 입력에 따른 이미지볼(470)의 방향 데이터를 데이터 생성부(158)에 제공할 수 있다. 데이터 생성부(158)는 상기 이미지볼(470)의 방향 데이터에 대응하는 화면을 생성하여 디스플레이부(106)로 전송할 수 있다. 디스플레이부(106)는 상기 화면을 사용자에게 디스플레이할 수 있으며, 상기 화면은 골프공(430)의 최초 진행방향에 대응한다(S405).
사용자는 상기 키보드 상의 제1 키 또는 상기 마우스 제1 버튼을 누른 상태를 해지함으로써 이미지볼(470)의 방향 즉, 골프공(430)의 최초 진행 방향을 결정할 수 있다(S410, S420).
사용자는 키보드 상의 제2 키(예컨대, 화살표 상하 키) 또는 마우스 제1 버튼(예컨대, 퍼팅 인터페이스(400)의 캐릭터(410)에 커서를 대고 마우스 왼쪽 버튼을 누른 상태를 유지)을 이용해 이미지볼(470)의 방향 예컨대, 골프공(430)을 지나는 화면 중앙의 수직 라인을 따라 이미지볼(470)을 이동시킬 수 있다(S430).
이때, 이미지볼 인터페이스 처리부(152)는 사용자의 입력에 따른 이미지볼(470)의 이동 데이터를 데이터 생성부(158)에 제공할 수 있다. 데이터 생성부(158)는 상기 이미지볼(470)의 이동 데이터에 대응하는 화면을 생성하여 디스플레이부(106)로 전송할 수 있다. 상기 화면 상에서 골프공(430)에서 출발한 이미지볼(470)이 골프공(430)의 최초 진행 방향을 따라 상하로 왕복 이동한다. 디스플레이부(106)는 상기 화면을 사용자에게 디스플레이할 수 있다(S435).
사용자는 상기 키보드 상의 제2 키 또는 상기 마우스 제1 버튼을 누른 상태를 해지하여 이미지볼(470)의 위치를 결정할 수 있다(S440).
상기 키보드 상의 제2 키 또는 상기 마우스 제1 버튼을 누른 상태를 해지함에 대응하여 디스플레이부(106)는 이미지볼(470)이 정지한 상태의 화면을 디스플레이할 수 있다(S445).
이미지볼 인터페이스 처리부(152)는 정지 상태에서의 이미지볼(470)과 골프공(430) 사이의 거리에 따라 골프공(430)의 초기 속도를 결정할 수 있다(S450).
예컨대, 평지일 경우 그린의 마찰력과 관성을 고려하면 이미지볼(470)을 골프공과 홀 컵 사이의 정확히 중간에 위치시켰을 때 가장 안정적으로 골프공이 홀 컵으로 홀 인될 수 있도록 초기 속도가 결정될 수 있다.
상기 초기 속도는 다음의 수학식 1에 의해 결정될 수 있다.
Figure 112012070606714-pat00001
Vo는 초기 속도, Vmax는 이미지볼(470)과 골프공(430) 사이의 거리가 최대가 될 때의 속도이다. Ratio는 최대 이미지볼(470)과 골프공(430) 사이의 거리와 사용자에 의해 결정된 이미지볼(470)과 골프공(430) 사이의 거리의 비이다. 상기 Vmax는 각 홀마다 또는 각 골프장마다 달리 설정될 수 있다. 예컨대, Vmax는 6.52 m/s로 설정된 경우, Ratio가 0.5일 때 Vo는 4.61 m/s로 결정될 수 있다.
데이터 생성부(158)는 이미지볼 인터페이스 처리부(152)가 제공한 상기 이미지볼(470)의 위치(상기 골프공(430)의 최초 진행 방향과 상기 골프공(430)의 초기 속도) 및 지형 정보 데이터베이스(132)가 제공한 그린(420)의 마찰력과 그린(420)의 경사를 기초로 골프공(430)의 이동 경로를 계산할 수 있다(S460).
데이터 생성부(158)는 상기 골프공(430)의 이동 경로를 반영한 화면을 생성하여 디스플레이부(106)로 전송할 수 있다. 디스플레이부(106)는 상기 화면을 골프공(430)의 속도가 0이 될 때까지 정해진 프레임 레이트(frame rate)에 맞추어 디스플레이할 수 있다(S465).
도 5a 내지 도 5c는 도 3에 도시된 본 발명의 실시예에 따른 골프 게임의 퍼팅 인터페이스의 적용예를 나타내는 도면이다.
도 3 및 도 5a 내지 도 5C를 참조하면, 본 발명의 실시예에 따른 골프 게임의 퍼팅 인터페이스의 적용예에는 도 3의 기록표(440)가 사용자의 조작에 의해 숨겨져 있다.
캐릭터(410)의 앞에 골프공(430)이 놓여져 있고, 홀 컵(450)과 골프공(430) 사이에는 이미지볼(470)이 위치하고 있다. 그린(420)의 경사는 모자이크 형태의 다수의 사각형들(425)의 모양으로 표현될 수 있다.
또한, 그린(420)의 경사는 미니 맵(460) 상의 그린(420)의 형태 내부의 색으로 표현될 수 있다. 예컨대, 붉은 색은 높은 곳, 푸른 색은 낮은 곳, 그리고 녹 색은 중간 높이를 가지는 곳으로 정의될 수 있다. 즉, 도 5a의 그린(420)의 경사는 미니 맵(460) 전체가 녹 색으로 표현되어 있는바, 그린(420) 전체가 중간 높이를 가지는 평지로 구성되어 있음을 알 수 있다. 도 5b의 그린(420)의 경사는 미니 맵(460)의 상부로 갈수록 붉은 색으로, 하부로 갈수록 푸른 색으로 표현되어 있는바, 하부에서 상부로 갈수록 높이가 상승하는 오르막 경사로 구성되어 있음을 알 수 있다. 도 5c의 그린(420)의 경사는 미니 맵(460)의 상부로 갈수록 푸른 색으로, 하부로 갈수록 붉은 색으로 표현되어 있는바, 하부에서 상부로 갈수록 높이가 감소하는 내리막 경사로 구성되어 있음을 알 수 있다.
그린(420)의 높이를 나타내는 색은 임의로 선택될 수 있으며, 본 발명의 범위는 이에 한정되지 않는다.
도 5a 내지 도 5c에는 각각의 그린(420)의 경사마다의 바람직한 이미지볼(470)의 위치가 나타나 있다.
도 5a의 그린(420)의 경사와 같이 평지인 경우, 이미지볼(470)이 홀 컵(450)과 골프공(430)의 중간에 위치할 때 골프공(430)이 홀 컵(450)으로 안정적으로 홀 인할 수 있다. 즉, 골프공(430)의 관성, 그린(420)의 마찰력 및 경사를 고려할 때 평지인 경우, 이미지볼(470)이 홀 컵(450)과 골프공(430)의 중간에 위치하는 것이 가장 적절할 수 있다. 따라서, 도 5b 또는 도 5c와 같이 평지가 아닌 경우에 이미지볼(470)의 위치를 결정함에 있어서, 상기 중간 위치가 기준이 될 수 있다.
도 5b의 그린(420)의 경사와 같이 오르막 경사인 경우, 이미지볼(470)이 홀 컵(450)과 골프공(430)의 중간보다 홀 컵(450)에 가깝게 위치할 때 골프공(430)이 홀 컵(450)으로 안정적으로 홀 인할 수 있다. 즉, 오르막 경사인 경우 골프공(430)이 도 5a의 경우보다 높은 초기 속도를 가지도록 이미지볼(470)을 위치시켜야 한다.
도 5c의 그린(420)의 경사와 같이 내리막 경사인 경우, 이미지볼(470)이 홀 컵(450)과 골프공(430)의 중간보다 골프공(430)에 가깝게 위치할 때 골프공(430)이 홀 컵(450)으로 안정적으로 홀 인할 수 있다. 즉, 내리막 경사인 경우 골프공(430)이 도 5a의 경우보다 낮은 초기 속도를 가지도록 이미지볼(470)을 위치시켜야 한다.
도 6a 내지 도 6d는 도 4에 도시된 본 발명의 실시예에 따른 골프 게임의 퍼팅 진행 방법에 의해 표시되는 화면의 적용예를 나타내는 도면이다.
도 1 내지 도 4 및 도 6a 내지 도 6d를 참조하면, 도 6a에서 사용자가 본 발명의 실시예에 따른 골프 게임을 진행하는 도중 골프공(430)을 그린(420) 위에 올려 퍼팅 게임이 시작되는 화면이 나타나 있다.
도 6a에서는 미니 맵(460)에 나타나 있듯 그린(420)의 경사가 캐릭터(410)를 중심으로 왼쪽에서 오른쪽으로 갈수록 높아지는 형태로 나타나 있다. 방향 전환 아이콘(480)은 캐릭터(410)의 머리 부분에 위치하고 있으며, 본 발명의 범위는 이에 한정되지 않는다.
도 6b에서는 사용자가 키보드 상의 제1 키(예컨대, 화살표 우측 키) 또는 마우스 제1 버튼(예컨대, 퍼팅 인터페이스(400)의 방향 전환 아이콘(480)에 커서를 대고 마우스 왼쪽 버튼을 누른 상태로 우측으로 드래그(drag))을 이용해 화면의 방향 즉, 이미지볼(470)의 방향을 오른쪽으로 전환할 수 있다. 이러한 사용자의 조작에 대응하는 화면이 디스플레이부(106)에 의해 표시된다(S405).
도 6c에서는 사용자에 의해 결정된 방향의 화면에서 사용자가 키보드 상의 제2 키(예컨대, 화살표 상하 키) 또는 마우스 제1 버튼(예컨대, 퍼팅 인터페이스(400)의 캐릭터(410)에 커서를 대고 마우스 왼쪽 버튼을 누른 상태를 유지)을 이용해 이미지볼(470)의 방향을 따라 이미지볼(470)을 이동시킬 수 있다. 이러한 사용자의 조작에 대응하는 화면이 디스플레이부(106)에 의해 표시된다 (S435).
도 6d에서는 데이터 생성부(158)에 의해 계산된 골프공(430)의 이동 경로(430-1 내지 430-5, 도 6d에서는 설명의 편의상 홀 컵(450)으로 이동하는 중 순차적으로 표시되는 이동 경로를 한 화면에 표시하였으며 실제 게임에서는 골프공(430)은 이동 경로를 따라 순차적으로 표시된다)에 따라 이동하는 골프공(430)에 대응하는 화면이 디스플레이부(106)에 의해 표시된다(S465).
본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다.
컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장장치 등이 있으며, 또한 본 발명에 따른 객체 정보 추정 방법을 수행하기 위한 프로그램 코드는 캐리어 웨이브(예를 들어, 인터넷을 통한 전송)의 형태로 전송될 수도 있다.
또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.
본 발명은 도면에 도시된 일 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.
골프 게임 서비스 시스템(10)
사용자 컴퓨터(100)
채널 컨트롤러(110)
게임 컨트롤러(120)
웹 서버(310)
채널 서버(330)
게임 서버(340)
이미지볼(470)

Claims (16)

  1. 골프공의 최초 진행 방향을 결정하는 단계;
    상기 최초 진행 방향을 따라 이동하는 이미지 볼의 위치를 결정하는 단계; 및
    상기 최초 진행 방향, 상기 골프공과 상기 이미지 볼의 거리, 그린의 경사 및 상기 그린의 마찰력을 기초로 상기 골프공의 이동 경로를 계산하는 단계를 포함하며,
    상기 이미지볼은 상기 골프공의 이동 경로를 결정하기 위한 가상의 공인 골프 게임의 퍼팅 진행 방법.
  2. 제1항에 있어서,
    상기 최초 진행 방향을 결정하는 단계는
    키보드 상의 제1 키 또는 마우스의 제1 버튼을 이용해 화면의 방향을 전환하는 단계; 및
    상기 키보드 상의 제1 키 또는 상기 마우스의 제1 버튼을 누른 상태를 해지하여 상기 최초 진행 방향을 결정하는 단계를 포함하는 골프 게임의 퍼팅 진행 방법.
  3. 제1항에 있어서,
    상기 이미지볼의 위치를 결정하는 단계는
    키보드 상의 제2 키 또는 마우스의 제1 버튼을 이용해 상기 이미지볼의 방향을 따라 상기 이미지볼을 이동시키는 단계; 및
    상기 키보드 상의 제2 키 또는 상기 마우스의 제1 버튼을 누른 상태를 해지하여 상기 이미지볼의 위치를 결정하는 단계를 포함하는 골프 게임의 퍼팅 진행 방법.
  4. 제1항에 있어서,
    상기 그린의 경사를 표시하는 단계를 더 포함하고,
    상기 이미지볼의 위치는 상기 그린의 경사를 고려하지 않을 경우 상기 골프공의 최종 위치의 중심에 해당하는 골프 게임의 퍼팅 진행 방법.
  5. 제4항에 있어서,
    상기 그린의 경사를 표시하는 단계는
    상기 그린의 경사를 미니 맵(mini map) 또는 모자이크 형태의 다수의 사각형들의 모양을 이용해 표시하는 단계를 포함하는 골프 게임의 퍼팅 진행 방법.
  6. 제5항에 있어서,
    상기 미니 맵은 상기 그린의 경사가 높을수록 붉은 색에 가깝게 표시하고 상기 그린의 경사가 낮을수록 푸른 색에 가깝게 표시하는 골프 게임의 퍼팅 진행 방법.
  7. 제1항 내지 제6항 중 어느 한 항에 기재된 골프 게임의 퍼팅 방법을 실행하기 위한 프로그램을 저장하는 컴퓨터로 읽을 수 있는 기록 매체.
  8. 사용자의 요청에 따라 게임 컨트롤러를 포함하는 설치 데이터를 사용자 컴퓨터로 전송하는 웹 서버; 및
    상기 사용자 컴퓨터가 상기 게임 컨트롤러를 통해 생성한 게임 진행 데이터 및 정해진 게임 규칙에 따라 골프 게임을 진행한 결과를 생성하는 게임 서버를 포함하며,
    상기 게임 컨트롤러는 골프공의 이동 경로를 결정하기 위한 가상의 공인 이미지볼을 이용한 퍼팅 인터페이스를 제공하는 골프 게임 서비스 시스템.
  9. 제8항에 있어서,
    상기 게임 컨트롤러는 상기 사용자가 상기 퍼팅 인터페이스 상에서 화면의 전환 및 이미지볼의 이동을 통해 이미지볼의 위치를 결정할 수 있도록 하고,
    상기 결정된 이미지볼의 위치를 기초로 상기 골프공의 이동 경로를 계산하는 골프 게임 서비스 시스템.
  10. 제9항에 있어서,
    상기 이미지볼의 위치는 그린의 경사를 고려하지 않을 경우 골프공의 최종 위치의 중심에 해당하고, 상기 골프공의 최초 진행 방향 및 상기 골프공의 초기 속도를 결정하는 골프 게임 서비스 시스템.
  11. 제10항에 있어서,
    상기 그린의 경사는 상기 퍼팅 인터페이스 상에서 미니 맵 또는 모자이크 형태의 다수의 사각형들의 모양을 이용해 표시되는 골프 게임 서비스 시스템.
  12. 퍼팅 인터페이스를 제공하고, 상기 퍼팅 인터페이스를 통해 게임 진행 데이터를 생성하는 게임 컨트롤러; 및
    상기 게임 진행 데이터를 서버 영역으로 전송하는 채널 컨트롤러를 포함하며,
    상기 퍼팅 인터페이스는 골프공의 이동 경로를 결정하기 위한 가상의 공인 이미지볼을 이용한 퍼팅 인터페이스인 골프 게임 프로그램을 저장하는 컴퓨터로 읽을 수 있는 기록 매체.
  13. 제12항에 있어서,
    상기 게임 컨트롤러는 사용자가 상기 퍼팅 인터페이스 상에서 화면의 전환 및 이미지볼의 이동을 통해 이미지볼의 위치를 결정할 수 있도록 하고,
    상기 결정된 이미지볼의 위치를 기초로 상기 골프공의 이동 경로를 계산하는 골프 게임 프로그램을 저장하는 컴퓨터로 읽을 수 있는 기록 매체.
  14. 제13항에 있어서,
    상기 이미지볼의 위치는 그린의 경사를 고려하지 않을 경우 골프공의 최종 위치의 중심에 해당하고, 상기 골프공의 최초 진행 방향 및 상기 골프공의 초기 속도를 결정하는 골프 게임 프로그램을 저장하는 컴퓨터로 읽을 수 있는 기록 매체.
  15. 제14항에 있어서,
    상기 그린의 경사는 상기 퍼팅 인터페이스 상에서 미니 맵 또는 모자이크 형태의 다수의 사각형들의 모양을 이용해 표시되는 골프 게임 프로그램을 저장하는 컴퓨터로 읽을 수 있는 기록 매체.
  16. 골프공, 홀 컵 및 그린의 경사를 표시하는 단계;
    상기 골프공의 이동 경로를 결정하기 위한 가상의 공인 이미지볼을 표시하는 단계; 및
    상기 이미지볼의 위치 및 상기 그린의 경사를 기초로 상기 골프공의 이동을 표시하는 단계를 포함하는 골프 게임의 퍼팅 진행 방법.
KR1020120096632A 2012-08-31 2012-08-31 골프 게임의 퍼팅 진행 방법, 이를 이용한 골프 게임 서비스 시스템, 및 이를 이용한 골프 게임 프로그램을 저장하는 컴퓨터로 읽을 수 있는 기록 매체 KR101383542B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120096632A KR101383542B1 (ko) 2012-08-31 2012-08-31 골프 게임의 퍼팅 진행 방법, 이를 이용한 골프 게임 서비스 시스템, 및 이를 이용한 골프 게임 프로그램을 저장하는 컴퓨터로 읽을 수 있는 기록 매체

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120096632A KR101383542B1 (ko) 2012-08-31 2012-08-31 골프 게임의 퍼팅 진행 방법, 이를 이용한 골프 게임 서비스 시스템, 및 이를 이용한 골프 게임 프로그램을 저장하는 컴퓨터로 읽을 수 있는 기록 매체

Publications (2)

Publication Number Publication Date
KR20140029030A KR20140029030A (ko) 2014-03-10
KR101383542B1 true KR101383542B1 (ko) 2014-04-09

Family

ID=50642296

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120096632A KR101383542B1 (ko) 2012-08-31 2012-08-31 골프 게임의 퍼팅 진행 방법, 이를 이용한 골프 게임 서비스 시스템, 및 이를 이용한 골프 게임 프로그램을 저장하는 컴퓨터로 읽을 수 있는 기록 매체

Country Status (1)

Country Link
KR (1) KR101383542B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230101324A (ko) * 2021-12-29 2023-07-06 주식회사 브이씨 골프 시뮬레이션 방법 및 이를 제공하는 전자 장치 및 서버

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002052245A (ja) 2000-08-11 2002-02-19 Konami Co Ltd ゴルフゲームシステム及びそれに用いる記憶媒体
KR100856929B1 (ko) 2004-06-18 2008-10-01 주식회사 엔트리브소프트 컴퓨터용 골프게임에서 타격영역을 표시하는 방법 및 장치와 그 방법을 실행시킬 수 있는 프로그램을 기록한 컴퓨터 판독가능 기록매체
KR20090039320A (ko) * 2007-10-18 2009-04-22 주식회사 컴투스 골프 게임의 퍼팅가이드 제공 장치 및 방법, 그리고 이를위한 프로그램을 기록한 컴퓨터로 판독 가능한 기록매체
KR100970677B1 (ko) 2009-12-31 2010-07-15 (주) 골프존 퍼팅가이드를 제공하는 가상 골프 시뮬레이션 장치

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002052245A (ja) 2000-08-11 2002-02-19 Konami Co Ltd ゴルフゲームシステム及びそれに用いる記憶媒体
KR100856929B1 (ko) 2004-06-18 2008-10-01 주식회사 엔트리브소프트 컴퓨터용 골프게임에서 타격영역을 표시하는 방법 및 장치와 그 방법을 실행시킬 수 있는 프로그램을 기록한 컴퓨터 판독가능 기록매체
KR20090039320A (ko) * 2007-10-18 2009-04-22 주식회사 컴투스 골프 게임의 퍼팅가이드 제공 장치 및 방법, 그리고 이를위한 프로그램을 기록한 컴퓨터로 판독 가능한 기록매체
KR100970677B1 (ko) 2009-12-31 2010-07-15 (주) 골프존 퍼팅가이드를 제공하는 가상 골프 시뮬레이션 장치

Also Published As

Publication number Publication date
KR20140029030A (ko) 2014-03-10

Similar Documents

Publication Publication Date Title
KR101398086B1 (ko) 온라인 게임에서의 유저 제스처 입력 처리 방법
JP5255716B1 (ja) ゲーム管理装置、ゲームシステム、ゲーム管理方法及びプログラム
WO2008016064A1 (fr) dispositif de jeu, procédé d'affichage d'objet dans un dispositif de jeu et programme d'affichage
KR101190434B1 (ko) 온라인 게임의 팀 운용 방법 및 장치
JP6450485B1 (ja) ゲームプログラム、方法、及び情報処理装置
KR101056271B1 (ko) 블록 퍼즐 게임 방법과 이를 수행하기 위한 프로그램이 기록된 기록매체 및 블록 퍼즐 게임 시스템
KR101383542B1 (ko) 골프 게임의 퍼팅 진행 방법, 이를 이용한 골프 게임 서비스 시스템, 및 이를 이용한 골프 게임 프로그램을 저장하는 컴퓨터로 읽을 수 있는 기록 매체
KR101478576B1 (ko) 게임 진행 정보 제공을 위한 시스템, 이를 위한 서버, 이를 위한 단말, 이를 위한 방법 및 이 방법이 기록된 컴퓨터로 판독 가능한 기록 매체
JP5250132B1 (ja) ゲーム管理装置、ゲームシステム、ゲーム管理方法及びプログラム
KR20190004016A (ko) 터치스크린을 이용하는 리듬 게임 제공 방법 및 장치
JP6328839B1 (ja) ゲームサーバ、方法、プログラム、プログラム記録媒体、及び端末装置
JP5628851B2 (ja) ゲーム制御装置、プログラム、ゲームシステム
JP2020162754A (ja) ゲームプログラム、方法、および情報処理装置
JP6570727B1 (ja) プログラム、方法及びゲーム装置
KR101483754B1 (ko) 복수의 미션들을 완수하는 것을 목적으로 하는 온라인 게임을 수행하는 방법 및 시스템
KR101425920B1 (ko) 위치에 기반하여 플랫폼을 생성하는 방법, 장치, 시스템 및 플랫폼을 이용하여 온라인 게임을 실행하는 방법.
KR101182564B1 (ko) 메시지 방송 아이템을 적용한 축구 게임 제공 방법, 축구 게임 서버, 축구 게임 제공 시스템 및 기록 매체
JP5576419B2 (ja) ゲームサーバシステム
JP2020110352A (ja) ゲームプログラム、ゲーム方法、および情報処理装置
KR101855902B1 (ko) 이동통신단말기로 온라인 게임을 제공하는 시스템 및 그 방법
KR20130083080A (ko) 온라인 게임에서 사용자의 상세 정보를 상세 정보 비교창에 표시하기 위한 방법 및 서버
JP7164646B2 (ja) プログラム、方法及びゲーム装置
TW201321051A (zh) 棒球遊戲的投球方法及系統
KR101182034B1 (ko) 게임 캐릭터의 이미지를 변경하기 위한 방법, 시스템 및 컴퓨터 판독 가능한 기록 매체
JP5629347B2 (ja) ゲーム管理装置、ゲームシステム及びプログラム

Legal Events

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