KR20070048444A - 게임 프로그램에 대한 네트워크 멀티플레이 방법 - Google Patents

게임 프로그램에 대한 네트워크 멀티플레이 방법 Download PDF

Info

Publication number
KR20070048444A
KR20070048444A KR1020050105543A KR20050105543A KR20070048444A KR 20070048444 A KR20070048444 A KR 20070048444A KR 1020050105543 A KR1020050105543 A KR 1020050105543A KR 20050105543 A KR20050105543 A KR 20050105543A KR 20070048444 A KR20070048444 A KR 20070048444A
Authority
KR
South Korea
Prior art keywords
game
host
guest
server
program
Prior art date
Application number
KR1020050105543A
Other languages
English (en)
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 KR1020050105543A priority Critical patent/KR20070048444A/ko
Publication of KR20070048444A publication Critical patent/KR20070048444A/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/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/34Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using peer-to-peer connections
    • 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/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • 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/70Game security or game management aspects
    • A63F13/73Authorising game programs or game devices, e.g. checking authenticity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Security & Cryptography (AREA)
  • Health & Medical Sciences (AREA)
  • Child & Adolescent Psychology (AREA)
  • Software Systems (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

TCP/IP모드는 지원하나 자체적인 온라인 모드가 지원되지 않거나, 자체적인 온라인 모드는 지원하더라도 함께 멀티플레이를 즐길 유저를 찾기 어려운 게임에 대해 다수의 유저가 멀티플레이를 즐길 수 있도록 하는 게임 프로그램에 대한 네트워크 멀티플레이 방법이 개시된다. 이를 위해 본 발명은, 적어도 둘 이상의 클라이언트 단말기와 접속되고, 클라이언트 단말기에 네트워크 접속설정을 위한 클라이언트 프로그램을 제공하는 서버를 이용하며, 클라이언트 단말기에서 게임 프로그램이 구동된 후, 클라이언트 프로그램을 통해 게임 프로그램을 구동한 클라이언트 단말기의 네트워크 정보를 수신하는 단계, 및 서버에 수신된 각 클라이언트 단말기의 네트워크 정보를 접속된 클라이언트 프로그램을 통해 사용자에게 표시하고, 사용자들 중 멀티플레이를 원하는 사용자들에게 상대편 네트워크 정보를 제공하여 네트워크 접속을 중개하는 단계를 포함하며, 클라이언트 프로그램은 서버로부터 제공되는 상대편 네트워크 접속정보를 통해 상기 게임을 P2P(Peer To Peer)접속시켜 멀티플레이를 진행시킨다.
네트워크 멀티플레이, TCP/IP, 클라이언트 프로그램, P2P

Description

게임 프로그램에 대한 네트워크 멀티플레이 방법{Method for playing network multi-play game}
도 1은 본 발명에 따른 게임 프로그램에 대한 네트워크 멀티플레이 방법의 일 실시예에 따른 개념도,
도 2는 호스트가 게임서버에 방을 만들기 위한 인터페이스 화면의 일 예를 나타내는 도면,
도 3은 도 2를 통해 설정된 방의 일 예에 따른 인터페이스 화면,
도 4는 호스트와 클라이언트가 P2P 접속 후, 상호간의 게임 데이터 공유를 설명하기 위한 블록개념도,
도 5는 도 4에 도시된 클라이언트 프로그램과 게임서버 간 인터페이스를 개념적으로 설명하기 위한 도면,
도 6은 본 발명에 따른 게임 프로그램에 대한 네트워크 멀티플레이 방법의 일 실시예에 대한 흐름도,
도 7은 호스트와 게스트가 멀티플레이를 진행하는 단계에 대한 상세 흐름도, 그리고
도 8은 게임서버에 의해 호스트와 게스트가 P2P 접속되는 과정을 나타낸다.
본 발명은 게임 프로그램에 대한 네트워크 멀티플레이 방법에 관한 것으로, 특히 자체적인 온라인 모드를 지원하지 않거나, TCP/IP(Transmission Control Protocol/Internet Protocol)만을 지원하는 콘솔게임과 PC(Personal Computer)게임을 여러 사용자가 멀티플레이를 즐길 수 있도록 하는 네트워크 멀티플레이 방법에 관한 것이다.
전세계 게임시장의 90% 이상은 콘솔게임(우리나라에서는 통상 비디오 게임이라고 한다)이 점유하고 있으며, PC게임은 약 6% 정도를 점유하고 있다. 콘솔게임은 게임전용으로 설계되는 하드웨어에 콘솔게임용 메모리스틱(memory stick), 광디스크, 및 하드디스크 드라이브(HDD : Hard Disk Drive)와 같은 저장매체로부터 게임프로그램을 로드하여 실행시키는 게임으로, 멀티플레이가 가능한 온라인 게임이 널리 보급된 현재에도 사용자와 게임기간 1:1 플레이를 기준으로 만들어진다. 이에 따라, 게임 타이틀을 보급하는 측에서는 게임 타이틀을 각 개인이 구매토록 함으로써, 게임타이틀의 판매에 따른 이윤을 극대화 할 수 있으나, 사용자의 경우 타 사용자와의 멀티플레이가 어려운 측면이 있다. 물론, 현재 출시되는 게임 타이틀 중, 엑스박스(xbox)나 플레이스테이션(Playstation)의 경우 일부 게임 타이틀이 TCP/IP 접속을 통한 멀티 플레이를 지원하고 있으나, TCP/IP 접속에 의한 멀티플레이는 상대편 네트워크 정보를 알고 있는 경우에 한해서 멀티플레이가 가능하므로, 실제 사용자가 이를 이용하여 멀티플레이를 즐기는 경우는 매우 드물다. 또한, 일부 게임 타이틀의 경우 자체 온라인 모드, 즉 게임 타이틀을 보급하는 측에서 별도의 게임서버를 운용하여 멀티플레이를 즐길 수 있도록 배려하고 있으나, 이는 극소수 타이틀에 불과하며, 실제로 게임서버에 접속 시, 멀티플레이를 즐길만한 사용자가 극히 부족한 실정이다. 온라인을 통한 멀티플레이를 지원하지 않는 PC게임의 경우도 콘솔게임의 경우와 유사한 실정으로써, 온라인을 통해 다수의 사용자가 멀티플레이를 즐기고자 하는 욕구를 충족하지 못하고 있다. 이에 본 출원인은 자체적인 온라인 모드를 지원하지 않는 콘솔, 및 PC게임에 대해 다수의 사용자가 멀티플레이를 즐길 수 있도록 하는 게임 프로그램에 대한 네트워크 멀티플레이 방법을 제안하고자 한다.
상기한 바와 같이, 본 발명의 목적은 자체적인 온라인 모드를 지원하지 않는 콘솔게임, 및 PC게임을 즐기는 사용자들이 형태의 멀티플레이를 즐길 수 있도록 하는 데 있다. 또한, 본 발명의 다른 목적은 TCP/IP 접속을 지원하는 콘솔게임, 및 PC게임을 구동하는 콘솔게임기와 PC가 본 출원인이 제공하는 게임서버를 통해 상대편 네트워크 정보를 획득하고, 획득된 네트워크 정보를 통해 P2P 접속을 하도록 함으로써, 게임서버의 부하를 감소시킴과 동시에 멀티플레이를 즐길 수 있도록 하는 프로그램 매체를 제공함에 있다.
상기한 목적은 본 발명에 따라, 적어도 둘 이상의 클라이언트 단말기와 접속 되고, 상기 클라이언트 단말기에 네트워크 접속설정을 위한 클라이언트 프로그램을 제공하는 서버를 이용하며, 상기 클라이언트 단말기에서 게임 프로그램이 구동된 후, 상기 클라이언트 프로그램을 통해 상기 게임 프로그램을 구동한 클라이언트 단말기의 네트워크 정보를 수신하는 단계, 및 상기 서버에 수신된 각 클라이언트 단말기의 네트워크 정보를 상기 접속된 클라이언트 프로그램을 통해 사용자에게 표시하고, 상기 사용자들 중 멀티플레이를 원하는 사용자들에게 상대편 네트워크 정보를 제공하여 네트워크 접속을 중개하는 단계를 포함하며, 상기 클라이언트 프로그램은 상기 서버로부터 제공되는 상대편 네트워크 접속정보를 통해 상기 게임을 P2P(Peer To Peer)접속시켜 멀티플레이를 진행시키는 게임 프로그램에 대한 네트워크 멀티플레이 방법에 의해 달성된다.
상기 클라이언트 프로그램은, 상기 클라이언트 단말기의 메모리에 로드(load)되며, 상기 메모리에 로드된 상기 게임 프로그램의 게임데이터를 획득하고 이를 멀티플레이를 진행중인 상대편 클라이언트 단말기로 제공하는 것이 바람직하다.
상기 P2P 접속된 클라이언트 단말기들 중 어느 하나는 호스트(host)가 되고, 다른 하나는 게스트(guest)가 되며, 상기 호스트에는 상기 호스트와 상기 게스트 상호간 멀티플레이게임의 게임결과가 저장되고, 상기 멀티플레이게임의 게임결과는 상기 서버로 전송되어 기록된다.
상기 서버는, 상기 호스트로부터 전송되는 상기 게임결과를 저장하며, 상기 게임결과에는 승패, 승률, 디스커넥션(disconnection), 및 사용자 정보가 연계되어 저장되는 것이 바람직하다.
상기 호스트와 상기 게스트에 설치되는 상기 클라이언트 프로그램은, 상기 호스트와 상기 게스트 중 어느 일측에 의한 고의적인 디스커넥션 수행을 파악하고 이를 상기 서버로 통보하는 것이 바람직하다.
상기 클라이언트 프로그램은, 상기 호스트와 상기 게스트에 설치된 운영체제에서 상기 게임 프로그램에 해당하는 프로세스(process)의 수행 여부를 조회하여 상기 호스트와 상기 게스트 중 어느 일 측에 의한 디스커넥션을 파악할 수 있다.
상기 클라이언트 프로그램은, 상기 호스트와 상기 게스트 중 어느 일 측에 의한 디스커넥션이 발생 시, 타 측에 설치된 클라이언트 프로그램은 이를 상기 서버로 통보할 수 있다.
상기 서버는, 상기 호스트 및 상기 게스트 중 어느 일 측에서 통보된 디스커넥션 내역을 통보받고 이를 반영하여 상기 사용자에게 표시되는 네트워크 정보에 상기 디스커넥션 내역을 포함시켜 상기 각 사용자에게 통보하는 것이 바람직하다.
바람직하게는, 상기 서버가 상기 각 클라이언트에서 구동되는 상기 게임 프로그램에 대한 동일성을 판단하는 단계를 더 포함하며, 상기 동일성은, 상기 게임 프로그램의 패치 버전(patch version), 및 상기 게임데이터의 동일성 중 어느 하나이다.
상기 패치버전에 대한 동일성 판단은, 상기 서버에 상기 호스트와 게스트가 접속 시, 수행되는 것이 바람직하다.
상기 동일성을 판단하는 단계는, 상기 서버, 및 상기 클라이언트 프로그램 중 어느 일 측에 의해 수행되는 것이 바람직하다.
상기 클라이언트 프로그램은, 상기 호스트와 상기 게스트가 멀티플레이를 진행 시, 상기 호스트와 상기 게스트의 게임데이터를 상호 대조하여 상기 호스트와 상기 게스트 중 어느 일측에 의한 상기 게임데이터의 위변조 여부를 판단할 수 있다.
상기 네트워크 접속을 중개하는 단계는,
상기 서버에 의해 상기 게스트에게 상기 호스트의 IP를 제공하는 단계인 것이 바람직하다.
상기 네트워크 접속을 중개하는 단계는, 상기 서버가 상기 게스트에게 상대편 IP 정보를 디스플레이하고, 상기 게스트가 이를 참조하여 상기 호스트에게 접속하도록 하는 단계일 수 있다.
상기 네트워크 접속을 중개하는 단계는, 상기 서버가 상기 게스트에게 상기 호스트의 IP 정보에 대한 음성을 전송하는 단계일 수 있다.
상기 게임은, TCP/IP(Transmission Control Protocol/Internet Protocol) 모드를 지원하는 게임인 것이 바람직하다.
상기한 목적은 본 발명에 따라, 프로세서, 및 메모리를 구비하는 컴퓨터에서 수행 가능하며, 게임 프로그램이 구동 시, 상기 컴퓨터의 네트워크 정보를 획득하고 이를 적어도 둘 이상의 네트워크 정보를 수집하는 서버로 제공하는 단계, 상기 서버에서 수집된 상기 네트워크 정보를 수신하고 이를 디스플레이 하는 단계, 및 상기 컴퓨터의 사용자가 상기 디스플레이된 네트워크 정보를 참조하여 선택한 상대 편 컴퓨터와 P2P(Peer To Peer) 접속시켜 상기 게임 프로그램에 대한 멀티플레이를 진행하는 단계를 수행하는 프로그램을 포함하는 기록매체에 의해 달성된다.
상기 멀티플레이를 진행하는 단계는, 상기 게임 프로그램이 상기 메모리에 로드(load)되면 상기 메모리에서 처리되는 게임 데이터를 획득하고 이를 상기 상대편 컴퓨터로 전송하여 멀티 플레이를 진행하는 단계인 것이 바람직하다.
이하, 도면을 참조하여 본 발명을 상세히 설명하도록 한다.
도 1은 본 발명에 따른 게임 프로그램에 대한 네트워크 멀티플레이 방법의 일 실시예에 따른 개념도를 나타낸다.
먼저, 자체적인 온라인 모드를 통한 멀티플레이를 지원하지 않는 콘솔게임 또는 PC게임을 플레이 하는 사용자가 멀티플레이를 하고자 하면, 사용자는 사용자 단말기(10, 20)를 통해 본 출원인이 운용하는 게임서버(100)에 접속하여 클라이언트 프로그램을 다운로드 받고, 클라이언트 프로그램을 통해 서버(100)에 로그-인 한다. 이때, 멀티플레이를 지원하지 않는 콘솔게임이나 PC게임은 자체적인 온라인 모드를 지원하지는 않더라도 기본적인 멀티플레이를 수행 가능한 환경, 예컨데 TCP/IP(Transmission Control Protocol/Internet Protocol) 모드를 지원 가능하여야 한다. 클라이언트 프로그램은 게임서버(100)로부터 멀티플레이를 즐기고자하는 상대편 단말기(예컨데 참조부호 "10")의 네트워크 접속정보(예컨데 IP정보)를 수신하고, 수신된 네트워크 접속정보를 통해 상대편 단말기와 P2P(Peer To Peer) 접속하는 기능, P2P 접속을 통해 상호간 게임데이터를 전송하여 공유하는 기능, 및 게임결과를 게임서버(100)로 전송하는 기능을 구비한다. 이때, 멀티플레이를 위한 두대의 사용자 단말기(10, 20) 중 하나는 게임서버(100)에 방을 만들기 위한 호스트(host)가 되며, 호스트가 만든 방에 참여하여 멀티플레이를 즐기는 다른 하나는 게스트(guest)라 한다. 본 실시예에서는 참조부호 "10"을 호스트, 참조부호 "20"을 게스트로 하며, 이하, 도 2 ~ 도 8을 함께 참조하여 설명하도록 한다.
먼저, 도 2는 호스트가 게임서버에 방을 만들기 위한 인터페이스 화면을 나타낸다.
도시된 인터페이스 화면은 본 출원인이 사업화를 위해 준비한 인터페이스 화면을 나타내는 것으로서, 호스트(10)에 설치된 클라이언트 프로그램을 구동 시, 호스트(10)의 디스플레이장치에 표시되는 인터페이스 화면의 일 예를 도시한 것이다. 도면에 도시된 바와 같이, 호스트(10)는 고유의 아이디와 패스워드를 통해 게임서버(100)에 로그-인 한 후, 도시된 형태의 인터페이스 화면을 통해 방을 만들고 게임서버(100)에 이를 등록하게 된다. 호스트(10)가 방을 만들때는 방제목, 멀티플레이에 참여할 인원의 숫자 설정, 레벨설정, 및 경기구분을 설정하여 만들며, 게스트(20)는 호스트(10)가 설정한 조건에 따라 참여 여부를 선택하게 된다. 여기서, 방이란 멀티플레이를 원하는 호스트(10)가 타 사용자의 접속을 기다리는 세션(session)을 나타내며, 타 사용자(예컨데 게스트(20))가 방에 참여 시, 호스트(10)와 게스트(20) 양자 간에 네트워크 정보를 상호 교환하는 곳을 지칭한다.
도 3은 도 2를 통해 설정된 방의 일 예에 따른 인터페이스 화면을 나타낸다.
도시된 인터페이스 화면에는 호스트(10)에 의해 생성된 방과, 방에 참여하고자 하는 다수의 게스트에 대한 네트워크 정보가 표시된다. 호스트(10)에 의해 생 성된 방에는 멀티플레이 참여를 원하는 다수의 게스트의 아이디, 게스트 정보(유저정보), 및 참여를 원하는 각 게스트의 핑(ping)값이 나타난다. 핑값은 호스트(10)가 게스트(예컨데 참조부호 20)에게 신호를 보내서 되돌아오는 시간을 나타내며, 이 시간이 클수록 호스트(10)와 게스트(예컨데 참조부호 20) 양자 간의 데이터 전송이 느리다는 것을 나타낸다. 도면에서 핑값이 큰 게스트로는 아이디가 "[소림축구]공공의적", "티에리앙리"등이 있으며, 가장 낮은 게스트로는 아이디가 "기러기아빠", "netiyan"등이 있다. 호스트(10)가 생성한 방에 핑값이 높은 게스트가 참여 시, 호스트(10)는 핑값이 높은 게스트의 참여를 제한하여 원활한 멀티플레이를 즐기도록 함이 바람직하다.
한편, 도 2와 도 3에 도시된 과정을 통해 호스트(10)와 게스트가 설정되면, 호스트(10)에 설치된 클라이언트 프로그램은 게임서버(100)를 통해 획득한 게스트(20)의 IP 정보를 통해 게스트(20)와의 P2P 접속을 수행한다. 호스트(10)와 게스트(20)가 P2P 접속 시, 양자 간의 멀티플레이는 호스트(10)와 게스트(20)가 상호 게임 데이터를 교환하여 진행하게 되므로 게임서버(100)에는 부하(load)가 걸리지 않게 된다. 호스트(10)와 게스트(20)가 P2P 접속 후, 양자 간에는 게임 데이터를 공유하여야 하며, 이는 도 4를 함께 참조하여 설명하도록 한다.
도 4는 호스트(10)와 게스트(20)가 P2P 접속 후, 상호간의 게임 데이터 공유를 설명하기 위한 블록개념도를 나타낸다.
도시된 블록개념도는 멀티플레이를 진행할때 호스트(10)의 메모리(RAM) 구조를 도시한 것으로서, 호스트(10)가 게임 프로그램을 구동하면 메모리의 일 영역에 는 게임 프로그램이 로드(load)된다. 이때, 호스트(10)가 멀티 플레이를 즐기기 위해서는 게임 프로그램을 메모리에 로드 후, 클라이언트 프로그램을 실행하여야 하며, 클라이언트 프로그램을 실행 시, 클라이언트 프로그램은 게임 프로그램과 함께 메모리에 로드되어 구동된다. 호스트(10)와 게스트(20)가 멀티 플레이를 진행 시, 호스트(10)와 게스트(20)측 메모리에는 게임 데이터가 생성되며, 생성된 게임 데이터는 메모리에 상주하는 클라이언트 프로그램에 의해 상대편에게 제공된다. 즉, 호스트(10)에 설치된 클라이언트 프로그램은 호스트의 게임 프로그램 구동 시 생성되는 게임 데이터를 게스트(20)로 전송하고, 게스트(20)에 설치된 클라이언트 프로그램은 호스트(10)로 게임 데이터를 전송하게 된다. 예컨데, 호스트(10)와 게스트(20)가 위닝 일레븐(winning eleven : 일본 코나미(konami)社 축구 시뮬레이션 게임)을 멀티플레이 시, 호스트(10)측의 선수(게임상의 축구선수) 11명과 게스트(20)측 선수 11명의 위치정보의 교환이 요구된다. 클라이언트 프로그램은 호스트(10)가 게임패드(game pad), 마우스, 및 기타 입력장치를 통해 게임상의 각 선수들을 컨트롤 할때, 이를 게스트(20)로 제공함으로써, 게스트(20)와 호스트(10)가 동일한 게임 화면을 공유할 수 있도록 한다. 이때, 호스트(10)와 게스트(20)간 공유되는 게임데이터는 상호간의 위치정보 이외에도, 점수(score), 및 게임시간과 같은 데이터가 있을 수 있다. 게임 데이터는 호스트(10)와 게스트(20)가 진행중인 게임 프로그램에 따라 상이할 수 있으며, 호스트(10)와 게스트(20)가 위닝 일레븐과 같은 축구 시뮬레이션 게임을 멀티플레이로 즐기는 경우, 11명의 가상 선수외에 후보선수(로스터)에 대한 정보도 게임 데이터로서 공유될 수 있다.
한편, 본 실시예에 따른 네트워크 멀티플레이 방법은 호스트(10)와 게스트(20) 양자 간의 게임에 대해 게임서버(100)가 직접 개입하지 않는 바, 게임이 종료된 후, 게임결과가 게임서버(100)에 남아있지 않게 된다. 대다수의 호스트(10)나 게스트(20)는 자신들의 게임 결과를 기록으로 남기고 싶어하는 욕구를 가지며, 본 발명은 이를 위해 호스트(10)와 게스트(20)의 멀티플레이가 종료되면 호스트(10)측 클라이언트 프로그램이 게임결과를 게임서버(100)로 전송하여 게임서버(100)가 게임결과를 기록하도록 한다. 게임서버(100)에 기록된 게임결과는 추후 호스트(10)나 게스트(20)가 조회할 수 있도록 하며, 앞서 도 3에 도시된 바와 같이 "유저정보"에 나타나도록 할 수 있다. 또한, 클라이언트 프로그램은 호스트(10)와 게스트(20)가 멀티플레이를 진행 중, 또는 진행 후에 비 신사적인 행위를 하는지를 검출하여 이를 게임서버(100)로 전송하는 기능을 가진다. 예컨데, 비 신사적인 행위는 아래의 각 호에 해당하는 행위를 나타낸다.
1) 호스트와 게스트 중 어느 일 측이 멀티플레이를 진행 중 게임 프로그램의 실행을 중단시켜 멀티플레이를 중단시키는 행위.
2) 호스트와 게스트 중 어느 일 측이 멀티플레이를 진행 중 랜케이블의 플러그-오프(plug-off), 또는 파워-오프(power-off)를 통해 멀티플레이를 중단시키는 행위.
3) 호스트와 게스트 중 어느 일 측이 멀티플레이 진행중인 게임 프로그램의 실행을 일시 또는 주기적으로 중단시켜 원활한 멀티플레이를 방해하는 행위.
먼저, 1)의 경우는 호스트(10)와 게스트(20) 양측의 단말기(예컨데 컴퓨터) 가 구동중인 상태로, 메모리에는 클라이언트 프로그램이 설치되어 있다. 클라이언트 프로그램은 호스트(10)와 게스트(20) 측 단말기의 운영체제(예컨데 윈도우즈 운영체제)가 실행중인지의 여부, 게임 프로그램의 실행 여부를 판단하여 호스트(10)나 게스트(20) 중 어느 일 측이 게임 프로그램의 실행을 고의로 중단하였다고 판단되는 경우 이를 게임서버(100)로 통보한다. 게임서버(100)는 이를 디스커넥션(disconnection)으로 처리하고 기록으로 남겨, 비 신사적인 행위를 하는 사용자를 타 사용자에게 공지할 수 있다.
2)의 경우는 호스트(10)나 게스트(20) 측 단말기의 전원을 끄거나 랜케이블을 플러그-오프하여 멀티플레이의 진행을 중단시키는 행위로써, 호스트(10)나 게스트(20)에 설치되는 클라이언트 프로그램이 게임서버(100)에 접속하지 못하므로 사용자의 비 신사적인 행위를 즉각 게임서버(100)에 통보하지 못하게 된다. 이 경우, 클라이언트 프로그램은 사용자의 비 신사적인 행위를 기록해 두었다가 사용자가 게임서버(100)에 재 접속 시, 이를 게임서버(100)에 통보하게 된다.
3)의 경우는 호스트(10)나 게스트(20) 중 어느 일측이 게임을 일시 중단(pause)시키는 경우로써, 이 또한 클라이언트 프로그램이 메모리에 상주한 게임 데이터를 조회하여 사용자에 의한 고의적인 게임 중단 행위를 게임서버(100)로 통보하게 된다.
이 외에, 사용자 단말기가 윈도우즈 계열의 운영체제를 사용하는 경우, 사용자가 컨트롤(ctrl), 알트(alt), 및 딜리트(del)키를 함께 눌러 윈도우즈에서 구동되는 게임 프로그램의 수행을 일시 중단하는 비 신사적인 행위를 할 수 있으며, 이 경우, 클라이언트 프로그램은 운영체제에서 수행되는 프로세스(process)의 중단 여부를 통해 사용자의 비 신사적인 행위를 판단하고 이를 게임서버(100)로 통보할 수 있다.
도 5는 도 4에 도시된 클라이언트 프로그램과 게임서버(100) 간 인터페이스를 개념적으로 설명하기 위한 도면을 나타낸다.
호스트(10)측 단말기에 설치된 클라이언트 프로그램과 게스트(20)측 단말기에 설치된 클라이언트 프로그램은 각각 호스트(10)와 게스트(20)에서 구동되는 게임 프로그램(예컨데 위닝일레븐)이 메모리에 로드된 이후에 구동되며, 호스트(10)와 게스트(20)가 게임서버(100)에 접속 시, 메모리에 로드된 게임 프로그램의 패치정보와 게임데이터를 게임서버(100)로 전송한다. 이때, 게임데이터는 게임 프로그램에 대한 수정, 및 변경 여부를 판단하기 위해 전송된다. 게임서버(100)는 호스트(10)와 게스트(20)에서 전송된 게임데이터에서 호스트(10)와 게스트(20)간 멀티플레이에 참여하는 각각의 가상 유닛(unit)에 대한 능력치의 수정 여부, 및 변경 여부와, 게임에 대한 환경설정(예컨데 승패조건, 게임시간, 및 각 가상유닛에 대한 컨디션 설정 등)의 수정 여부를 확인하게 된다. 만일, 호스트(10)나 게스트(20) 중 어느 일 측이 가상유닛의 능력치를 높이거나 게임 조건을 유리하게 변경하는 경우, 호스트(10)와 게스트(20)는 공정치 못한 멀티플레이를 진행하게 된다. 이를 방지하기 위해 게임서버(100)는 멀티플레이가 진행되기 전, 호스트(10)와 게스트(20)에 설치된 클라이언트 프로그램을 통해 게임프로그램의 수정, 및 변경 여부를 확인하며, 확인결과 게임 프로그램이 수정된 사용자의 경우 로그-인을 제한하거나 멀티플레이를 제한하게 된다.
패치정보는 게임 프로그램에 오류가 있거나, 게임 프로그램의 기능 및 특징을 업그레이드 하기 위해 게임 개발사에서 엔드-유저(end-user)에게 제공되는 파일, 및 그에 대한 수정 정보를 나타낸다. 국민게임으로 널리 알려진 블리자드社의 스타크래프트(starcraft) 게임 프로그램의 경우, 이를 1.08, 1.09, 1.10과 같은 숫자로 패치정보를 표시하고 있다. 호스트(10)와 게스트(20)가 동일한 패치정보를 가지는 경우 호스트(10)와 게스트(20)는 게임서버(100)에 접속 가능하며, 멀티플레이를 진행할 수 있다. 여기서, 게임서버(100)는 호스트(10)와 게스트(20)에게 웹사이트를 제공하는 웹서버(130), 호스트(10)와 게스트(20)의 게임결과, 및 비매너 행위에 대한 기록을 담당하는 데이터베이스 서버(110), 및 호스트(10)와 게스트(20)가 네트워크 정보를 교환하고, 이를 통해 양자가 멀티플레이를 즐길 수 있도록 하는 클라이언트 서버(120)를 포함한다.
여기서, 클라이언트 서버(120)는 다음의 세 가지 방법에 의해 호스트(10)와 게스트(20)간 P2P 접속을 지원하게 된다.
4) 멀티플레이방을 개설한 호스트(10)의 IP정보를 클라이언트 서버(120)에서 게스트(20)측 단말기에 설치된 클라이언트 프로그램에 셋팅함으로써, 별도의 IP 셋팅을 필요로 하지 않도록 하는 방법.
5) 클라이언트 서버(120)에서 게스트(20)측 클라이언트 프로그램의 메뉴화면에 호스트(10)의 IP 정보를 표시하여 게스트(20)에게 통보하는 방법.
6) 클라이언트 서버(120)에서 게스트(20)측 클라이언트 프로그램을 통해 호 스트(10)의 IP를 불러주어 통보하는 방법, 이 경우 클라이언트 서버(120)에는 호스트(10)의 IP 숫자에 대응되는 음성 데이터가 마련되어야 한다.
한편, 호스트(10)가 클라이언트 서버(120)를 통해 개설된 방에 게스트(20)가 참여하면 호스트(10)와 게스트(20)는 P2P 접속을 통해 직접 멀티플레이를 진행하게 되며, 호스트(10)와 게스트(20)는 각각의 단말기에 설치된 클라이언트 프로그램을 통해 게임데이터를 주고 받게 된다. 이때, 호스트(10)와 게스트(20) 중 어느 일 측이 게임데이터 중 가상유닛의 능력치나 게임환경을 변경할 수 있으며, 이는 게임의 승패에 영향을 끼치게 된다. 이를 방지하기 위해 호스트(10)와 게스트(20)에 설치되는 클라이언트 프로그램은 상대편의 게임데이터와 자신의 게임데이터를 상호 대조하여 게임데이터의 변경 여부를 지속적으로 모니터링 하게 된다. 모니터링 결과는 게임서버(100)로 제공되며, 게임서버(100)는 게임데이터를 변조한 측을 비매너 행위자로 판단하여 추후 접속제한을 가하거나 타 유저에게 이 사실을 공지할 수 있다.
도 6은 본 발명에 따른 게임 프로그램에 대한 네트워크 멀티플레이 방법의 일 실시예에 대한 흐름도를 나타낸다.
먼저, TCP/IP 모드가 지원되는 게임프로그램을 소지한 사용자는 웹서버(130)를 통해 회원가입을 하고(S210), 회원가입 후, 웹서버(130)가 제공하는 클라이언트 프로그램을 다운로드 및 설치한다(S220). 다음으로, 회원가입한 사용자는 게임 프로그램을 구동 후, 클라이언트 프로그램을 수행하고(S230), 클라이언트 프로그램을 통해 게임서버(100)에 로그-인 한다. 이때, 사용자가 게임서버(100)에 멀티플레이 를 주관하는 호스트인 경우(S250), 호스트(10)는 게임서버(100)에 방을 개설하여 타 사용자의 참여를 기다리게 된다(S270). 반대의 경우, 사용자는 타 사용자가 개설한 방에 게스트(20)로써 참여할 수 있다(S260). 다음으로, 호스트(10)가 게임을 시작하면 게스트(20)는 게임서버(100)로부터 호스트(10)측 IP정보를 제공받아 호스트(10)와 P2P 접속을 수행 후, 멀티플레이를 진행하게 된다(S280). 이는 도 7을 함께 참조하여 설명하도록 한다.
도 7은 호스트(10)와 게스트(20)가 멀티플레이를 진행하는 단계(S280)에 대한 상세 흐름도를 나타낸다.
도시된 바와 같이, 호스트(10)가 개설한 방에 게스트(20)가 참여 후(S271), 게스트(20)는 호스트(10)에게 멀티플레이 게임을 진행할 준비가 되었음을 통보하게 되며(S282), 호스트(10)는 개설한 방에 마련되는 시작버튼(도 3의 참조부호 "A")을 눌러(S283) 멀티플레이를 시작하게 된다. 호스트(10)와 게스트(20)는 게임서버(100)의 중개에 의해 P2P 접속을 수행하게 된다. 이는 도 8을 함께 참조하여 설명하도록 한다. 도 8은 게임서버(100)에 의해 호스트(10)와 게스트(20)가 P2P 접속되는 과정을 나타낸다. 먼저, 게임서버(100)는 로그-인 한 호스트(10), 및 게스트(20)의 IP 정보를 가지고 있으므로 이를 이용하여 게스트(20)측 단말기에 설치된 클라이언트 프로그램으로 호스트(10)측 단말기의 IP 정보를 제공하여 호스트(10)와 게스트(20)에 설치된 클라이언트 프로그램에 의한 P2P 접속을 유도한다(S280a). 만일 네트워크 과부하, 및 게임서버(100)의 과부하나 오류로 인해 호스트(10)와 게스트(20) 양측에 설치된 클라이언트 프로그램에 의한 IP자동셋팅이 불가한 경우 (S280b), 게임서버(100)는 IP 드로잉(drawing)을 시도한다(S280c). IP 드로잉은 게스트(20)측 단말기에서 구동되는 클라이언트 프로그램의 실행화면에 상대편(호스트) IP 정보를 표시함으로써, 게스트(20) 단말기의 사용자가 이를 수동 입력하여 접속할 수 있도록 한다. 만일 IP 드로잉을 통한 P2P 접속이 불가한 경우(S280d), 게임서버(100)는 IP 스피킹(speaking)을 통해 게스트(20) 단말기에게 상대편(호스트) IP 정보를 제공하게 된다. IP 스피킹은 게임서버(100)에서 상대편(호스트)의 IP 정보를 음성으로 제공하는 것으로서, 게스트(20) 단말기의 사용자는 게임서버(100)를 통해 제공되는 호스트(10)의 IP 정보를 듣고 이를 타이핑 하여 수동으로 P2P 접속을 수행하게 된다.
상기한 바와 같이 본 발명은 TCP/IP 모드를 지원하지만 자체적인 온라인 모드를 지원하지 않는 콘솔게임이나 PC게임에 대해 다수의 사용자가 멀티플레이를 즐길 수 있도록 한다. 또한, 본 발명은 게임서버에서 제공되는 클라이언트 프로그램을 통해 호스트와 게스트 양자가 비 신사적인 행위를 하는 경우 이를 타 사용자에게 공지하여 비 신사적인 행위의 발생을 예방할 수 있도록 한다.

Claims (18)

  1. 적어도 둘 이상의 클라이언트 단말기와 접속되고, 상기 클라이언트 단말기에 네트워크 접속설정을 위한 클라이언트 프로그램을 제공하는 서버를 이용하며,
    상기 클라이언트 단말기에서 게임 프로그램이 구동된 후, 상기 클라이언트 프로그램을 통해 상기 게임 프로그램을 구동한 클라이언트 단말기의 네트워크 정보를 수신하는 단계; 및
    상기 서버에 수신된 각 클라이언트 단말기의 네트워크 정보를 상기 접속된 클라이언트 프로그램을 통해 사용자에게 표시하고, 상기 사용자들 중 멀티플레이를 원하는 사용자들에게 상대편 네트워크 정보를 제공하여 네트워크 접속을 중개하는 단계;를 포함하며,
    상기 클라이언트 프로그램은 상기 서버로부터 제공되는 상대편 네트워크 접속정보를 통해 상기 게임을 P2P(Peer To Peer)접속시켜 멀티플레이를 진행시키는 것을 특징으로 하는 게임 프로그램에 대한 네트워크 멀티플레이 방법.
  2. 제1항에 있어서,
    상기 클라이언트 프로그램은,
    상기 클라이언트 단말기의 메모리에 로드(load)되며,
    상기 메모리에 로드된 상기 게임 프로그램의 게임데이터를 획득하고 이를 멀티플레이를 진행중인 상대편 클라이언트 단말기로 제공하는 것을 특징으로 하는 게 임 프로그램에 대한 네트워크 멀티플레이 방법.
  3. 제2항에 있어서,
    상기 P2P 접속된 클라이언트 단말기들 중 어느 하나는 호스트(host)가 되고, 다른 하나는 게스트(guest)가 되며,
    상기 호스트에는 상기 호스트와 상기 게스트 상호간 멀티플레이게임의 게임결과가 저장되고, 상기 멀티플레이게임의 게임결과는 상기 서버로 전송되어 기록되는 것을 특징으로 하는 게임 프로그램에 대한 네트워크 멀티플레이 방법.
  4. 제3항에 있어서,
    상기 서버는,
    상기 호스트로부터 전송되는 상기 게임결과를 저장하며, 상기 게임결과에는 승패, 승률, 디스커넥션(disconnection), 및 사용자 정보가 연계되어 저장되는 것을 특징으로 하는 게임 프로그램에 대한 네트워크 멀티플레이 방법.
  5. 제3항에 있어서,
    상기 호스트와 상기 게스트에 설치되는 상기 클라이언트 프로그램은,
    상기 호스트와 상기 게스트 중 어느 일측에 의한 고의적인 디스커넥션 수행을 파악하고 이를 상기 서버로 통보하는 것을 특징으로 하는 게임 프로그램에 대한 네트워크 멀티플레이 방법.
  6. 제5항에 있어서,
    상기 클라이언트 프로그램은,
    상기 호스트와 상기 게스트에 설치된 운영체제에서 상기 게임 프로그램에 해당하는 프로세스(process)의 수행 여부를 조회하여 상기 호스트와 상기 게스트 중 어느 일 측에 의한 디스커넥션을 파악하는 것을 특징으로 하는 게임 프로그램에 대한 네트워크 멀티플레이 방법.
  7. 제5항에 있어서,
    상기 클라이언트 프로그램은,
    상기 호스트와 상기 게스트 중 어느 일 측에 의한 디스커넥션이 발생 시,
    타 측에 설치된 클라이언트 프로그램은 이를 상기 서버로 통보하는 것을 특징으로 하는 게임 프로그램에 대한 네트워크 멀티플레이 방법.
  8. 제7항에 있어서,
    상기 서버는,
    상기 호스트 및 상기 게스트 중 어느 일 측에서 통보된 디스커넥션 내역을 통보받고 이를 반영하여 상기 사용자에게 표시되는 네트워크 정보에 상기 디스커넥션 내역을 포함시켜 상기 각 사용자에게 통보하는 것을 특징으로 하는 게임 프로그램에 대한 네트워크 멀티플레이 방법.
  9. 제3항에 있어서,
    상기 서버가 상기 각 클라이언트에서 구동되는 상기 게임 프로그램에 대한 동일성을 판단하는 단계;를 더 포함하며,
    상기 동일성은,
    상기 게임 프로그램의 패치 버전(patch version), 및 상기 게임데이터의 동일성 중 어느 하나인 것을 특징으로 하는 게임 프로그램에 대한 네트워크 멀티플레이 방법.
  10. 제9항에 있어서,
    상기 패치버전에 대한 동일성 판단은,
    상기 서버에 상기 호스트와 게스트가 접속 시, 수행되는 것을 특징으로 하는 게임 프로그램에 대한 네트워크 멀티플레이 방법.
  11. 제9항에 있어서,
    상기 동일성을 판단하는 단계는,
    상기 서버, 및 상기 클라이언트 프로그램 중 어느 일 측에 의해 수행되는 것을 특징으로 하는 게임 프로그램에 대한 네트워크 멀티플레이 방법.
  12. 제11항에 있어서,
    상기 클라이언트 프로그램은,
    상기 호스트와 상기 게스트가 멀티플레이를 진행 시, 상기 호스트와 상기 게스트의 게임데이터를 상호 대조하여 상기 호스트와 상기 게스트 중 어느 일측에 의한 상기 게임데이터의 위변조 여부를 판단하는 것을 특징으로 하는 게임 프로그램에 대한 네트워크 멀티플레이 방법.
  13. 제3항에 있어서,
    상기 네트워크 접속을 중개하는 단계는,
    상기 서버에 의해 상기 게스트에게 상기 호스트의 IP를 제공하는 단계인 것을 특징으로 하는 게임 프로그램에 대한 네트워크 멀티플레이 방법.
  14. 제3항에 있어서,
    상기 네트워크 접속을 중개하는 단계는,
    상기 서버가 상기 게스트에게 상대편 IP 정보를 디스플레이하고, 상기 게스트가 이를 참조하여 상기 호스트에게 접속하도록 하는 단계;인 것을 특징으로 하는 게임 프로그램에 대한 네트워크 멀티플레이 방법.
  15. 제3항에 있어서,
    상기 네트워크 접속을 중개하는 단계는,
    상기 서버가 상기 게스트에게 상기 호스트의 IP 정보에 대한 음성을 전송하 는 단계;인 것을 특징으로 하는 게임 프로그램에 대한 네트워크 멀티플레이 방법.
  16. 제1항에 있어서,
    상기 게임은,
    TCP/IP(Transmission Control Protocol/Internet Protocol) 모드를 지원하는 게임인 것을 특징으로 하는 게임 프로그램에 대한 네트워크 멀티 플레이 방법.
  17. 프로세서, 및 메모리를 구비하는 컴퓨터에서 수행 가능하며,
    게임 프로그램이 구동 시, 상기 컴퓨터의 네트워크 정보를 획득하고 이를 적어도 둘 이상의 네트워크 정보를 수집하는 서버로 제공하는 단계;
    상기 서버에서 수집된 상기 네트워크 정보를 수신하고 이를 디스플레이 하는 단계; 및
    상기 컴퓨터의 사용자가 상기 디스플레이된 네트워크 정보를 참조하여 선택한 상대편 컴퓨터와 P2P(Peer To Peer) 접속시켜 상기 게임 프로그램에 대한 멀티플레이를 진행하는 단계;를 수행하는 프로그램을 포함하는 기록매체.
  18. 제17항에 있어서,
    상기 멀티플레이를 진행하는 단계는,
    상기 게임 프로그램이 상기 메모리에 로드(load)되면 상기 메모리에서 처리되는 게임 데이터를 획득하고 이를 상기 상대편 컴퓨터로 전송하여 멀티 플레이를 진행하는 단계;인 것을 특징으로 하는 프로그램을 포함하는 기록매체.
KR1020050105543A 2005-11-04 2005-11-04 게임 프로그램에 대한 네트워크 멀티플레이 방법 KR20070048444A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020050105543A KR20070048444A (ko) 2005-11-04 2005-11-04 게임 프로그램에 대한 네트워크 멀티플레이 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050105543A KR20070048444A (ko) 2005-11-04 2005-11-04 게임 프로그램에 대한 네트워크 멀티플레이 방법

Publications (1)

Publication Number Publication Date
KR20070048444A true KR20070048444A (ko) 2007-05-09

Family

ID=38272889

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050105543A KR20070048444A (ko) 2005-11-04 2005-11-04 게임 프로그램에 대한 네트워크 멀티플레이 방법

Country Status (1)

Country Link
KR (1) KR20070048444A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013085175A1 (ko) * 2011-12-09 2013-06-13 (주)네오위즈게임즈 Pc방 친구 관리 서비스를 제공하는 게임 제공 서버, 및 pc방에서의 친구 관리 서비스 제공 시스템 및 그 방법
WO2015093638A1 (ko) * 2013-12-16 2015-06-25 삼성전자 주식회사 호스트 단말 장치, 클라이언트 단말 장치 및 그들의 p2p(peer to peer) 게임 수행 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013085175A1 (ko) * 2011-12-09 2013-06-13 (주)네오위즈게임즈 Pc방 친구 관리 서비스를 제공하는 게임 제공 서버, 및 pc방에서의 친구 관리 서비스 제공 시스템 및 그 방법
WO2015093638A1 (ko) * 2013-12-16 2015-06-25 삼성전자 주식회사 호스트 단말 장치, 클라이언트 단말 장치 및 그들의 p2p(peer to peer) 게임 수행 방법

Similar Documents

Publication Publication Date Title
JP7461174B2 (ja) 共有インターフェースを介してアクセスされるミニゲーム
US11759707B2 (en) Methods and systems for scheduling game play of a video game
US10071315B2 (en) Content providing method, content providing server, and content providing system
US8303413B2 (en) Live hosting toolset
CA2698546C (en) Method of providing player status and ability to join games
US11896909B2 (en) Experience-based peer recommendations
US20090286604A1 (en) Adaptive live commentary in hosted game
US20170128835A1 (en) Massively single-playing online game
US11857871B2 (en) Game control method, server device, game system, and computer-readable recording medium
EP4022455A1 (en) Context-based action suggestions
JP4611035B2 (ja) ネットワークゲームシステム
JP2002224452A (ja) サーバ接続制御プログラム、サーバ接続制御プログラムを記録した記録媒体、サーバ接続制御方法及びサーバ
KR20070048444A (ko) 게임 프로그램에 대한 네트워크 멀티플레이 방법
JP2022546491A (ja) マルチユーザセッションの開始
US20190291004A1 (en) Activity search method and apparatus
JP7185172B1 (ja) 情報処理装置、情報処理方法および情報処理プログラム
JP7368731B2 (ja) ゲームプログラム、サーバ装置およびゲームシステム
JP7174913B2 (ja) ゲームプログラム、サーバ装置およびゲームシステム
JP2022125598A (ja) ゲームシステム及びプログラム
KR100798259B1 (ko) 온라인 게임 시스템 및 방법
KR101357918B1 (ko) 온라인 게임의 협력플레이 제공 시스템 및 그 방법
JP2011143010A (ja) プログラム及びサーバ装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application