KR101355295B1 - 온라인 게임에서 메시지 송신 제어 방법 및 장치 - Google Patents

온라인 게임에서 메시지 송신 제어 방법 및 장치 Download PDF

Info

Publication number
KR101355295B1
KR101355295B1 KR1020060082376A KR20060082376A KR101355295B1 KR 101355295 B1 KR101355295 B1 KR 101355295B1 KR 1020060082376 A KR1020060082376 A KR 1020060082376A KR 20060082376 A KR20060082376 A KR 20060082376A KR 101355295 B1 KR101355295 B1 KR 101355295B1
Authority
KR
South Korea
Prior art keywords
message
game
transmitted
buffer
size
Prior art date
Application number
KR1020060082376A
Other languages
English (en)
Other versions
KR20080021196A (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 KR1020060082376A priority Critical patent/KR101355295B1/ko
Publication of KR20080021196A publication Critical patent/KR20080021196A/ko
Application granted granted Critical
Publication of KR101355295B1 publication Critical patent/KR101355295B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • 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/85Providing additional services to players
    • A63F13/87Communicating with other players during game play, e.g. by e-mail or chat

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명은 온라인 게임에서의 메시지 송신 제어 방법 및 장치에 관한 것으로서, 본 발명에 의한 장치는 사용자 클라이언트에 전송할 메시지가 즉시 전송되도록 미리 설정된 종류의 메시지인지 여부를 판단하는 적시성 판단부; 상기 적시성 판단부에서 상기 사용자 클라이언트에 즉시 전송되도록 미리 설정된 종류의 메시지가 아니라고 판단된 메시지를 저장하는 메시지 버퍼; 상기 메시지 버퍼에 저장된 메시지들을 결합하여 전송하는 메시지 전송부를 포함하되, 상기 적시성 판단부가 상기 사용자 클라이언트에 즉시 전송되도록 미리 설정된 종류의 메시지라고 판단할 경우, 상기 메시지 전송부는 해당 메시지를 상기 메시지 버퍼에 저장된 메시지들과 결합하여 즉시 전송하며, 상기 메시지 전송부는 상기 메시지 버퍼에 미리 설정된 사이즈 이상으로 메시지가 저장될 경우, 저장된 메시지들을 결합하여 전송한다. 본 발명에 의하면, 게임 서버에서 전송하는 메시지의 결합을 통해 게임 서버에서 전송하는 메시지의 수를 최소화하여 온라인 게임에서 게임 서버의 부하를 경감시킬 수 있는 장점이 있다.
Figure R1020060082376
메시지, 결합, 버퍼

Description

온라인 게임에서 메시지 송신 제어 방법 및 장치{Method and Device for Controlling Message Transmission in Online Game}
도 1은 본 발명의 일 실시예에 따른 메시지 송신 제어 방법이 적용되는 다중 접속 온라인 게임 시스템의 구성을 도시한 도면.
도 2는 본 발명의 바람직한 일 실시예에 따른 게임 서버의 모듈 구성을 도시한 블록도.
도 3은 본 발명의 바람직한 일 실시예에 따른 실시간성 메시지 처리 서버의 모듈 구성을 도시한 블록도.
도 4는 본 발명의 바람직한 일 실시예에 따른 사용자 클라이언트에 설치되는 게임 어플리케이션의 모듈 구성을 도시한 블록도.
도 5는 본 발명의 바람직한 일 실시예에 따른 메시지 송신 제어 방법 및 장치가 구현되는 플레이어 오브젝트의 모듈 구성을 도시한 블록도.
도 6은 본발명의 바람직한 일 실시예에 따른 메시지 버퍼에서의 버퍼링 정책을 도시한 도면.
도 7은 본 발명의 바람직한 일 실시예에 따른 메시지 사이즈를 조절하는 방법에 대한 순서도.
도 8은 본 발명의 바람직한 일 실시예에 따른 메시지의 적시성에 따라 메시지 송신을 제어하는 방법에 대한 순서도.
본 발명은 온라인 게임에 관한 것으로서, 더욱 상세하게는 온라인 게임에서의 게임 메시지 송신 제어 방법 및 장치에 관한 것이다.
온라인 게임은 차세대 성장 엔진으로 주목을 받고 있는 분야이며, 현재 전체 게임 시장에서 차지하는 비중이 그 성장 가능성과 함께, 매년 급격하게 상승하는 성장률을 보이고 있다. 이러한 흐름 속에 기존의 유수한 게임 관련 기업이 온라인 게임에 관심을 가지고 장기적인 전략을 수립하여 사업을 진행하고 있으며, 많은 기업들이 온라인 게임 시장에 참여하고 있다.
온라인 게임 중 다중 접속 온라인 롤플레잉 게임은 다수의 게이머들이 게임 개발자가 제공한 환경을 사용하고 변형함으로써 게임의 스토리와 구조를 창조해내는 특수한 형태의 게임이다.
이와 같은 종류의 게임으로, 블리자드사의 디아블로(Diablo), 월드 오브 워크래프트(World of Warcraft), NC소프트사의 리니지, 오리진사의 울티마 온라인 등이 있다.
이러한 다중 접속 온라인 롤플레잉 게임은 판타지 세계를 기초로 한 월드를 제공하는 것이 일반적이었으나, 근래에 들어 다중 접속 온라인 롤플레잉 게임의 월드는 일반 도시, 학교 등과 같이 다양화되고 있다.
다중 접속 온라인 롤플레잉 게임은 다른 플레이어들과의 상호작용에 의해 진행되는 게임으로 어느 한 사용자의 게임 커맨드 메시지를 다른 사용자들에게도 전달해야 한다. 이와 같은 게임 커맨드 메시지의 전달은 다중 접속 온라인 롤플레잉 게임 서버 부하의 주요한 요인으로 작용한다.
다중 접속 온라인 롤플레잉 게임 영역이 확대됨에 따라 레이싱 게임도 다중 접속 온라인 롤플레잉 형태로 제공되고 있는데, 이러한 레이싱 롤플레잉 게임에서의 캐릭터 카는 대단히 빠른 속도로 움직이거나 돌발적인 충돌이 빈번히 일어나는 바, 빠른 속도의 이동 정보 및 충돌 정보를 다른 사용자들에게 전달하는 경우, 게임 서버의 부하는 더욱 심화되는 문제점이 있었다.
본 발명에서는 상기한 바와 같은 종래기술의 문제점을 해결하기 위해, 다중 접속 온라인 게임에서 게임 서버의 부하를 경감시킬 수 있는 온라인 게임에서의 메시지 송신 제어 방법 및 장치를 제안하고자 한다.
본 발명의 다른 목적은 게임 서버에서 전송하는 메시지의 결합을 통해 게임 서버에서 전송하는 메시지의 수를 최소화할 수 있는 온라인 게임에서의 메시지 송신 제어 방법 및 장치를 제안하는 것이다 .
본 발명의 또 다른 목적은 게임 서버에서 전송하는 메시지의 사이즈를 유동 적으로 조절하여 메시지 사이즈로 인한 게이 서버의 부하를 최소화할 수 있는 온라인 게임에서의 메시지 송신 제어 방법 및 장치를 제안하는 것이다.
상기한 바와 같은 목적을 달성하기 위해, 본 발명의 바람직한 일 실시예에 따르면, 다수의 사용자 클라이언트들이 접속하여 게임을 수행하는 다중 접속 온라인 게임에서의 메시지 송신 제어 장치로서, 상기 사용자 클라이언트가 전송할 메시지의 적시성 여부를 판단하는 적시성 판단부; 상기 적시성 판단부에서 적시성이 낮은 메시지라도 판단된 메시지를 저장하는 메시지 버퍼; 상기 메시지 버퍼에 저장된 메시지들을 결합하여 전송하는 메시지 전송부를 포함하되, 상기 적시성 판단부가 상기 사용자 클라이언트에 전송할 메시지가 적시성이 높은 메시지라고 판단할 경우, 상기 메시지 전송부는 해당 메시지를 상기 메시지 버퍼에 저장된 메시지들과 결합하여 즉시 전송하며, 상기 메시지 전송부는 상기 메시지 버퍼에 미리 설정된 사이즈 이상으로 적시성이 낮은 메시지가 저장될 경우, 저장된 메시지들을 결합하여 전송하는 온라인 게임에서의 메시지 송신 제어 장치가 제공된다.
또한, 본 발명은 상기 사용자 클라이언트로 전송할 메시지 사이즈를 조절할지 여부를 판단하고, 판단 결과에 따라 메시지 사이즈를 조절하는 메시지 사이즈 조절부를 더 포함할 수 있다.
상기 적시성 판단부에서 적시성이 높은 메시지라고 판단하는 메시지는 사용자 클라이언트에 즉시 전송되도록 미리 설정된 종류의 메시지이다.
상기 온라인 게임이 레이싱 게임일 경우, 상기 사용자 클라이언트에 즉시 전송되도록 미리 설정된 종류의 메시지는 근거리 캐릭터로부터의 이동 메시지 및 변화가 큰 이동 메시지이다.
상기 메시지 전송부는 상기 메시지 버퍼에 저장된 메시지들의 사이즈에 관계 없이 미리 설정된 시간이 경과할 경우 메시지 버퍼에 저장된 메시지들을 결합하여 전송한다.
상기 메시지 사이즈 조절부는 상태 정보 메시지 중 기 설정된 거리 기준 이내에 위치한 근거리 캐릭터의 상태 정보 메시지인지 또는 기 설정된 거리 기준 이외에 위치한 원거리 캐릭터의 상태 정보 메시지인지에 따라 메시지 사이즈 조절 여부를 판단한다.
상기 메시지 사이즈 조절부는 메시지의 필드 중 미리 설정된 필드의 데이터를 삭제함으로써 메시지 사이즈를 조절한다.
본 발명의 다른 측면에 따르면, 온라인 게임에서의 메시지 송신 제어 방법에 있어서, 사용자 클라이언트에 전송할 메시지가 적시성이 높은 메시지인지 여부를 판단하는 단계(a); 상기 단계(a)에서 상기 사용자 클라이언트에 전송될 메시지가 적시성이 낮다고 판단될 경우 해당 메시지를 메시지 버퍼에 저장하는 단계(b); 상기 단계(a)에서 상기 사용자 클라이언트에 전송될 메시지가 적시성이 높다고 판단될 경우, 상기 메시지 버퍼에 저장된 메시지들과 결합하여 해당 메시지를 즉시 전송하는 단계(c); 상기 메시지 버퍼에 미리 설정된 사이즈 이상으로 메시지들이 저장될 경우, 상기 메시지 버퍼에 저장된 메시지를 결합하여 전송하는 단계(d)를 포함하는 온라인 게임에서의 메시지 송신 제어 방법이 제공된다.
본 발명의 또 다른 측면에 따르면, 상술한 방법을 수행하기 위한 프로그램이 유형적으로 구현되어 있으며 디지털 데이터 처리 장치에 의해 판독될 수 있는 프로그램을 기록한 기록 매체가 제공된다.
이하에서 첨부된 도면을 참조하여, 본 발명에 온라인 게임에서 메시지 송신 제어 방법 및 장치의 바람직한 실시예를 상세히 설명한다.
도 1은 본 발명의 일 실시예에 따른 메시지 송신 제어 방법이 적용되는 다중 접속 온라인 게임 시스템의 구성을 도시한 도면이다.
도 1을 참조하면, 본 발명에 의한 P2P 메시지 전송 시스템 및 방법이 적용되는 다중 접속 온라인 게임 시스템은 인증 서버(100), 게임 서버(102), 데이터베이스 서버(104) 및 다수의 실시간성 메시지 처리 서버(106)를 포함할 수 있다.
본 발명의 메시지 송신 제어 방법은 다양한 종류의 다중 접속 온라인 게임에 적용될 수 있으며, 도 1은 본 발명이 적용될 수 있는 다중 접속 온라인 게임 시스템의 일례를 도시한 도면이다.
본 발명은 다양한 종류의 다중 접속 온라인 게임에 적용될 수 있으나, 특히 플레이어 캐릭터가 빠른 속도로 이동하여 다수의 이동 메시지가 전송되는 다중 접속 온라인 롤플레잉 레이싱 게임에 적용될 때 그 효과가 극대화될 수 있다. 이하에서는 본 발명에 의한 메시지 송신 제어 방법이 다중 접속 온라인 롤플레잉 레이싱 게임에 적용되는 경우를 주요한 예로 하여 본 발명을 설명한다. 그러나, 본 발명이 이에 한정되는 것은 아니며, 본 발명은 게임 서버가 사용자 클라이언트에 게임 메 시지를 제공하는 다양한 종류의 온라인 게임에 적용될 수 있을 것이다.
도 1에서, 인증 서버(100)는 게임 시스템에 접속하려는 사용자가 게임 시스템에 접속할 수 있는 권한이 있는 사용자 인지 여부를 인증하는 기능을 한다.
인증 서버(100)는 사용자 클라이언트로부터 인증 요청 정보를 수신하며, 사용자 클라이언트로부터의 인증 요청이 유효한지 여부를 판단한다. 상기 인증 요청 정보는 사용자의 아이디 및 비밀번호 정보를 포함할 수 있으며, 인증 서버(100)는 인증 요청 정보에 포함된 아이디 및 비밀 번호가 유효한지 여부를 판단한다.
아이디 및 비밀 번호가 유효한지 여부를 판단하기 위해 인증 서버(100)는 데이터베이스 서버(104)와 통신을 할 수도 있으며, 인증 정보를 저장하고 있는 다른 데이터베이스(미도시)와 통신을 할 수도 있다.
사용자 클라이언트와 인증 서버(100) 사이의 인증은 아이디/비밀번호에 의한 인증뿐만 아니라 공지된 다양한 인증 방식들이 사용될 수 있을 것이다.
인증 서버(100)는 사용자 클라이언트로부터의 인증 요청 정보가 유효할 경우, 해당 사용자 클라이언트의 게임 서버(102)로의 접속을 허용한다.
게임 서버(102)는 사용자 클라이언트들로부터 전송되는 게임 메시지를 처리하고 게임 진행을 제어하는 기능을 한다. 게임 서버(102)는 플레이어 캐릭터의 이동, 공격 등과 같은 게임 커맨드 메시지, 사용자 클라이언트들간의 채팅 메시지, 퀘스트 수락 및 완료와 같은 퀘스트 메시지 및 플레이어 캐릭터의 레벨 업 및 아이템 획득과 같은 상태 정보 메시지 등 다양한 종류의 게임 메시지를 수신하며, 수신된 게임 메시지를 미리 설정된 게임 로직에 따라 처리한다.
예를 들어, 사용자 클라이언트로부터 특정 대상에 대한 공격 메시지를 수신할 경우, 게임 서버(102)는 해당 대상에 대한 공격 정보를 다른 사용자 클라이언트들에 전송한다. 또 다른 예로, 플레이어의 레벨 업과 같은 상태 정보 메시지가 수신될 경우, 게임 서버는 사용자의 레벨 업 정보를 데이터베이스 서버(104)에 전송하여 해당 사용자의 레벨 정보가 갱신되도록 한다.
다중 접속 온라인 롤플레잉 레이싱 게임의 경우, 게임 서버(102)는 게임 중 발생하는 상황에 대한 시뮬레이션 정보를 제공할 수도 있다. 예를 들어, 플레이어 캐릭터 자동차간의 충돌 또는 플레이어 자동차와 NPC(None Player Character) 자동차간의 충돌 상황이 발생할 경우, 충돌에 따른 시뮬레이션 정보를 연관된 사용자 클라이언트들에 제공한다.
특히, 게임 서버(102)는 게임 중에 발생하는 다양한 이벤트(예를 들어, 플레이어 캐릭터의 상태 변경, 공격, 충돌, 이동 등)들을 다수의 사용자들이 공유할 수 있도록 특정 사용자에게 발생한 이벤트 정보를 다른 사용자의 클라이언트들에 제공하는 기능을 한다.
예를 들어, 특정 지역에서 플레이어 캐릭터 자동차가 NPC 자동차와 충돌할 경우, 게임 서버(102)는 충돌에 따른 시뮬레이션을 연산하며, 시뮬레이션 연산 정보를 충돌한 플레이어 캐릭터 자동차의 사용자 클라이언트뿐만 아니라 충돌 상황을 볼 수 있는 주변의 플레이어 캐릭터 자동차의 사용자 클라이언트들에게도 전송한다.
즉, 게임 서버(102)는 특정 플레이어 캐릭터에게 발생하는 이벤트를 주변의 플레이어 캐릭터의 사용자 클라이언트들에게도 제공하여야 하는 바, 하나의 이벤트에 대해 N개의 사용자 클라이언트들에 이벤트 발생에 대한 메시지를 제공하며, 이는 게임 서버 부하의 주요한 요인 중 하나이다.
복수의 실시간성 메시지 처리 서버(106)는 사용자 클라이언트들로부터 전송되는 메시지 중 실시간 처리될 필요가 높은 메시지들을 처리한다
본 발명의 바람직한 실시예에 따르면, 캐릭터의 레벨 업과 같은 캐릭터 상태 정보, 퀘스트 정보와 같이 데이터베이스에 저장될 필요가 있으며 실시간으로 다른 사용자에게 제공될 필요가 높지 않은 정보는 게임 서버(102)에 의해 처리된다.
한편, 캐릭터의 이동 메시지와 같이 주변의 다른 사용자 캐릭터들에게 실시간으로 전송될 필요가 있는 메시지는 실시간성 메시지 처리 서버(106)에 의해 처리된다. 특히, 레이싱 게임과 같이 캐릭터 자동차가 빠르게 이동하고, 캐릭터 자동차간의 충돌이 빈번하게 발생하는 게임의 경우, 이동 메시지 및 충돌 메시지를 다수의 실시간성 메시지 처리 서버(106)에 의해 처리되도록 할 경우 메시지 처리 효율을 극대화할 수 있다.
즉, 메시지의 종류에 따라 게임 서버 또는 실시간성 메시지 처리 서버가 분담하여 메시지를 처리하도록 함으로써 효율적인 분산 처리가 이루어질 수 있다.
그러나, 본 발명의 다중 접속 온라인 게임에서의 메시지 송신 제어 방법이 도 1과 같은 메시지 분산 처리 시스템에만 적용되는 것은 아니며, 단일 게임 서버에 의해 메시지가 처리되는 시스템에도 적용될 수 있다.
데이터베이스 서버(104)는 게임과 관련된 정보를 저장하고, 저장된 정보를 게임 서버(102) 또는 사용자 클라이언트의 요청에 응답하여 제공하는 기능을 한다.
데이터베이스 서버(104)는 플레이어 캐릭터의 상태 정보, 아이템 정보, 퀘스트 정보 등을 저장할 수 있으며, 게임 서버(102)로부터 캐릭터 상태, 아이템, 퀘스트 등과 관련한 정보를 수신할 경우 해당 정보를 저장한다.
네트워크를 통해 게임 시스템에 접속하는 사용자 클라이언트들(108)에는 게임 실행을 위한 게임 어플리케이션이 설치된다. 사용자 클라이언트(108)는 네트워크를 통해 통신 가능하고 게임 어플리케이션의 실행이 가능한 어떠한 종류의 장치도 포함할 수 있다. 예를 들어, 사용자 클라이언트(108)는 일반적인 PC는 물론 노트북, PDA, 휴대폰과 같은 개인용 단말기를 포함할 수 있다.
전술한 바와 같이, 온라인 게임 발생하는 부하의 대부분은 서버(102, 106)에서 사용자 클라이언트(108)로 전송하는 메시지로 인해 발생한다. 서버(102, 106)에서 사용자 클라이언트(108)로 전송되는 메시지의 수 및 메시지의 사이즈 모두가 문제될 서버(102, 106) 부하의 문제가 될 수 있다. 특히 문제가 되는 것은 서버(102, 106)에서 사용자 클라이언트로 전송하는 메시지의 수이다.
본 발명은 서버(102, 106)에서 클라이언트(108)로 전송하는 메시지의 수를 최소화하는 메시지 송신 제어 방법을 제어한다. 본 발명의 바람직한 실시예에 따르면, 메시지를 적시성이 높은 메시지(실시간으로 즉시 전송될 필요성이 높은 메시지)와 적시성이 낮은 메시지로 구분하며, 적시성이 낮은 메시지는 버퍼에 저장하여 미리 설정된 사이즈가 채워질 경우 메시지를 전송하도록 하며, 적시성이 높은 메시지는 버퍼에 채워진 메시지 사이즈에 관계 없이 사용자 클라이언트(108)에 즉시 전 송하도록 한다.
즉, 본 발명은 적시성이 높은 메시지는 사용자 클라이언트(108)가 즉시 수신할 수 있도록 하여 게임 진행에 영향이 없도록 하는 반면, 적시성이 낮은 메시지는 메시지들을 결합하여 한번에 전송함으로써 서버(102, 106)에서 클라이언트(108)로 전송되는 메시지 수가 최소화되도록 한다.
여기서, 적시성이 높은 메시지는 가까이 있는 캐릭터로부터 전송되는 이동 메시지, 온라인 레이싱 게임의 경우 캐릭터 자동차간의 충돌 메시지 및 변화가 큰 이동 메시지를 포함할 수 있다.
메시지의 적시성 여부에 따라 메시지를 결합하여 전송하는 상세한 실시예는 별도의 도면을 통해 후술하기로 한다.
또한, 본 발명은 메시지의 종류에 따라 서버(102, 106)에서 클라이언트(108)로 전송되는 메시지의 사이즈를 조절하는 방법을 제안한다. 예를 들어, 레이싱 게임의 경우, 캐릭터 자동차의 상태 정보로 위치, 속도, 가시 이펙트(드리프트 여부, 사이렌 등), 아이템 정보 등을 제공한다. 이러한 상태 정보 메시지는 각 사용자 클라이언트에서 서버(102, 106)로 전송되며, 서버(102, 106)는 상태 정보 메시지를 수신할 클라이언트들에게 전송된 상태 정보 메시지를 중계한다.
사용자 클라이언트에서 서버(102, 106)로 전송되는 메시지는 서버 부하에 많은 영향을 미치지 않기 때문에 모든 상태 정보가 포함되도록 한다. 서버(102, 106)는 수신된 상태 정보 메시지를 다른 사용자 클라이언트들에 중계 시 상태 정보 메시지의 사이즈의 사이즈를 조절하여 전송한다.
예를 들어, 근접한 거리에 위치한 캐릭터의 상태 정보 메시지일 경우, 서버(102, 106)는 서버는 수신한 상태 정보 메시지를 그대로 전송한다. 그러나, 원거리에 위치한 캐릭터의 상태 정보 메시지일 경우, 캐릭터의 상세 정보에 대한 필요성이 높지 않으므로 위치, 속도, 가시 이펙트, 아이템 정보 중 위치와 속도 정보만을 전송하고 가시 이펙트 정보 및 아이템 정보는 포함시키지 않는다.
이와 같이, 근거리 캐릭터의 상태 정보 메시지인지 또는 원거리 캐릭터의 상태 정보 메시지인지 여부를 구분하고 메시지의 사이즈를 조절하여 전송함으로써 서버(102, 106)에서 사용자 클라이언트로 메시지 전송 시의 부하를 경감시킬 수 있다. 메시지의 종류에 따라 메시지 사이즈를 조절하는 보다 상세한 실시예는 별도의 도면을 참조하여 후술하기로 한다.
도 2는 본 발명의 바람직한 일 실시예에 따른 게임 서버의 모듈 구성을 도시한 블록도이다.
도 2를 참조하면, 본 발명의 일 실시예에 따른 게임 서버는 복수의 플레이어 오브젝트(200), 채널 관리부(202), 게임 로직 제어부(204), 메시지 제어부(206), 온라인 사용자 캐릭터 정보 관리부(208), NPC 관리부(210), 퀘스트 관리부(212), 아이템 관리부(214) 캐릭터 관리부(216) 및 길드 관리부(218)를 포함할 수 있다.
플레이어 오브젝트(200)는 게임 서버에 접속한 사용자 클라이언트들과의 메시지 송수신을 제어하는 기능을 한다. 플레이어 오브젝트(200)는 게임 서버에 사용자 클라이언트가 접속할 때 해당 사용자 클라이언트의 접속에 상응하여 생성되며, 사용자 클라이언트의 접속이 끊어진 경우 소멸된다.
플레이어 오브젝트(200)는 사용자 클라이언트로부터 전송되는 게임 메시지를 메시지 제어부(206)에 제공하며, 메시지 제어부(206)로부터 제공되는 게임 서버의 게임 메시지를 해당 사용자 클라이언트에 전송한다.
상술한 메시지의 적시성에 따른 메시지의 결합 및 메시지의 사이즈 조절은 플레이어 오브젝트(200)에 의해 수행될 수 있다.
플레이어 오브젝트(200)는 메시지 제어부(206)로부터 메시지 수신 시 적시성이 높은 메시지인지 또는 낮은 메시지인지 여부를 판단하여 메시지를 즉시 전송할지 또는 버퍼에 저장한 후 다른 메시지와 결합하여 전송할지 여부를 판단한다.
또한, 플레이어 오브젝트(200)는 메시지가 근거리 캐릭터로부터의 상태 정보 메시지인지 또는 원거리 캐릭터로부터의 상태 정보 메시지인지 여부를 판단하여 메시지의 사이즈를 조절하여 전송한다.
상술한 기능을 위한 플레이어 오브젝트(200)의 상세한 모듈 구성은 별도의 도면을 참조하여 설명하기로 한다.
메시지 제어부(206)는 사용자 클라이언트로부터 전송된 게임 관련 메시지들을 플레이어 오브젝트(200)로부터 수신하며, 수신된 메시지를 이를 처리할 구성 요소에 분배하는 기능을 한다. 예를 들어, 특정 사용자 캐릭터의 착용 아이템 변경 메시지가 플레이어 오브젝트(200)로부터 수신될 경우, 메시지 제어부(206)는 수신된 착용 아이템 변경 메시지를 아이템 관리부(204) 및 캐릭터 관리부(206)에 제공한다. 예를 들어, 수신된 메시지가 특정 사용자의 퀘스트 수락 메시지일 경우, 메시지 제어부(206)는 퀘스트 수락 메시지를 퀘스트 관리부(212)에 전송한다.
또한, 메시지 제어부(206)는 접속한 특정 사용자 클라이언트에 메시지를 전송하고자 할 경우, 해당 메시지를 해당 사용자 클라이언트와 연관된 플레이어 오브젝트에 제공한다. 예를 들어, 특정 사용자로의 채팅 메시지를 메시지 제어부(206)가 수신한 경우, 메시지 제어부(206)는 채팅 메시지의 수신자에 상응하는 사용자와 연관된 플레이어 오브젝트에 채팅 메시지를 전송하여 채팅 메시지가 해당 사용자의 클라이언트에 전송되도록 한다. 또 다른 예로, 특정 사용자 캐릭터 자동차의 충돌 메시지를 수신할 경우, 메시지 제어부(206)는 충돌을 볼 수 있는 지점에 위치한 캐릭터 자동차의 사용자들을 판단하고 해당 사용자들의 클라이언트들에 충돌 장면 및 충돌에 상응하는 시뮬레이션 정보를 제공하는 기능을 한다.
온라인 사용자 캐릭터 정보 관리부(208)는 게임 서버에 접속한 온라인 사용자 캐릭터의 정보를 관리한다. 온라인 사용자 캐릭터 정보는 온라인 사용자 캐릭터의 위치, 레벨, 아이템과 같은 캐릭터의 상태 정보를 포함할 수 있다.
온라인 사용자 캐릭터 정보 관리부(208)의 정보는 메시지 제어부에서 메시지를 전송할 수신자를 판단할 때 사용된다. 예를 들어, 특정 사용자가 캐릭터 착용 아이템을 변경할 경우, 착용 아이템 변경 정보를 주변의 사용자에게 제공할 필요가 있다. 이때, 메시지 제어부는 온라인 사용자 캐릭터 정보 관리부(208)에서 관리되는 정보를 이용하여 착용 아이템을 변경한 사용자 캐릭터의 주변에 있는 사용자 캐릭터들을 추출하고 해당 사용자 캐릭터들에 상응하는 플레이어 오브젝트에 착용 아이템 변경 메시지를 제공한다.
다른 예로, 특정 사용자의 캐릭터가 이동할 경우, 메시지 제어부는 온라인 사용자 캐릭터정보 관리부(208)로부터 이동한 캐릭터의 주변에 있는 사용자 캐릭터들을 추출하고 해당 사용자 캐릭터에 상응하는 플레이어 오브젝트에 이동 메시지를 제공한다.
메시지 제어부(208)는 특정 사용자 캐릭터의 상태 변경 메시지(예를 들어, 이동 메시지, 착용 아이템 변경 메시지, 충돌 메시지 등을 포함함)를 수신할 경우, 상태 변경 정보를 온라인 사용자 캐릭터 정보 관리부(208)에 제공하여 온라인 상태인 캐릭터의 상태 정보가 관리되도록 한다.
NPC(None Player Character) 관리부(210)는 게임상에 등장하는 NPC 정보를 관리하는 기능을 한다. 예를 들어, 레이싱 게임의 경우, NPC 관리부(210)는 퀘스트를 제공하는 NPC 정보, 게임상에 등장하는 트래픽 카에 대한 정보를 관리한다. 통상적인 다중 접속 온라인 롤플레잉의 경우, NPC 관리부는 각 지역에 출몰하는 몬스터에 대한 정보를 포함할 수도 있다.
퀘스트 관리부(212)는 다중 접속 온라인 게임에서 사용자들에게 제공되는 퀘스트에 대한 정보 및 퀘스트 수락 및 퀘스트 완료 여부에 대한 정보를 관리한다.
특정 사용자가 특정 퀘스트를 수락할 경우, 퀘스트 수락 메시지는 메시지 제어부(206)에 제공되며, 메시지 제어부(206)는 퀘스트 수락 메시지를 퀘스트 관리부(212)에 제공한다. 퀘스트 관리부(212)는 퀘스트 수락 정보를 데이터베이스 서버(104)에 전송하여 퀘스트 수락 정보가 반영되도록 한다. 퀘스트 완료 메시지의 경우에도, 상술한 퀘스트 수락 메시지와 동일하게 퀘스트 관리부에 의해 데이터베이스 서버(104)에 반영된다.
아이템 관리부(214)는 게임 중에 제공되는 아이템에 대한 정보 및 사용자 캐릭터의 아이템 변경 정보(아이템의 획득, 아이템 드랍 등을 포함함)를 관리한다. 특정 사용자 캐릭터가 아이템을 획득할 경우, 아이템 획득 메시지가 메시지 제어부(206)에 제공하며, 메시지 제어부(206)는 아이템 관리부(204)에 아이템 획득 메시지를 제공한다. 아이템 관리부(214)는 아이템 획득 정보를 데이터베이스 서버에 전송하여 아이템 획득 정보가 반영되도록 한다.
캐릭터 관리부(206)는 사용자들이 생성한 게임 캐릭터들의 정보를 관리하며, 캐릭터에 대한 상태 변경 메시지(캐릭터 레벨 업, 아이템 획득 정보 등을 포함함)를 수신하여 데이터베이스 서버(104)에 제공하는 기능을 한다.
길드 관리부(218) 다중 접속 온라인 게임 사용자들이 형성하는 길드 정보를 관리한다. 길드 관리부(218)는 길드원의 가입/탈퇴 메시지 및 길드원의 레벨 변경 메시지와 같은 길드 관련 메시지를 수신하며, 수신된 메시지에 포함된 길드 관련 정보를 데이터베이스 서버(104)에 제공한다. 또한, 길드 관리부(218)는 길드원 상태, 길드원 명단과 같은 길드 관련 요청 정보가 있을 경우, 데이터베이스 서버(104)와의 통신을 통해 길드 정보를 제공한다.
도 3은 본 발명의 바람직한 일 실시예에 따른 실시간성 메시지 처리 서버의 모듈 구성을 도시한 블록도이다.
도 3을 참조하면, 본 발명의 일 실시예에 따른 실시간성 메시지 처리 서버는 플레이어 오브젝트(300), 게임 로직 제어부(302), 메시지 제어부(304) 및 온라인 사용자 정보 관리부(306)를 포함할 수 있다.
전술한 바와 같이, 실시간성 메시지 처리 서버는 게임 서버의 역할을 분담하기 위한 서버로서 이동 메시지, 충돌 메시지와 같이 즉시 전송될 필요성이 높은 메시지를 처리한다. 따라서, 실시간성 메시지 처리 서버는 게임 서버의 구성 요소 중 일부의 구성 요소를 포함하되 데이터베이스 서버와 통신이 필요한 퀘스트 관리부, 아이템 관리부, 캐릭터 관리부 및 길드 관리부 등을 포함하고 있지 않다.
그러나, 필요에 따라 실시간성 메시지 처리 서버가 데이터베이스 서버에 반영되는 메시지를 처리할 수도 있으며, 이 경우 실시간성 메시지 처리 서버는 상술한 구성 요소 모두를 포함하여 게임 서버와 동일한 구성을 가질 수도 있다.
도 3에 도시된 실시간성 메시지 처리 서버의 각 구성 요소의 역할은 게임 서버의 구성 요소와 동일하므로 이에 대한 상세한 설명은 생략한다.
실시간 처리가 필요한 이동 메시지가 수신될 경우, 메시지 제어부(304)는 온라인 사용자 캐릭터 정보 관리부(306)의 정보를 이용하여 이동 메시지를 수신할 온라인 사용자 캐릭터 정보를 추출한다. 메시지 제어부(304)는 이동 메시지를 수신할 온라인 사용자에 상응하는 플레이어 오브젝트에 이동 메시지를 전달하며, 플레이어 오브젝트는 해당 사용자에게 이동 메시지를 전송한다.
도 4는 본 발명의 바람직한 일 실시예에 따른 사용자 클라이언트에 설치되는 게임 어플리케이션의 모듈 구성을 도시한 블록도이다.
도 4를 참조하면, 본 발명의 일 실시예에 따른 게임 어플리케이션은 커맨드 해석부(400), 게임 로직 처리부(402) 서버 통신부(404) 및 게임 데이터 추출부(406)를 포함할 수 있다.
커맨드 해석부(400)는 사용자가 입력하는 게임 커맨드 정보를 수신하고 게임 커맨드를 해석하여 해석된 정보를 게임 로직 처리부(402)에 제공한다. 예를 들어, 게임 커맨드 해석부(400)는 사용자가 입력한 게임 커맨드가 퀘스트 수락 커맨드인지 또는 이동 커맨드인지 여부 등을 해석하고 해석된 정보를 게임 로직 처리부(402)에 제공한다.
게임 로직 처리부(402)는 사용자의 게임 커맨드 입력에 상응하여 미리 설정된 게임 로직을 실행하는 기능을 한다. 게임 환경 설정 커맨드와 같이 서버로 전송할 필요가 없는 커맨드일 경우 게임 로직 처리부(402)는 클라이언트 내부에서 게임 환경 설정 프로세스를 수행한다. 사용자 캐릭터의 이동 메시지와 같이 서버로 전송할 필요가 있는 커맨드일 경우, 게임 로직 처리부(402)는 이동 커맨드에 상응하는 이동 메시지를 생성하여 서버 통신부(404)에 제공한다.
서버 통신부(404)는 게임 로직 처리부(402)에서 생성되는 게임 메시지를 게임 서버 또는 실시간성 메시지 처리 서버에 전송하며, 게임 서버 또는 실시간성 메시지 처리서버에서 전송되는 게임 메시지를 게임 로직 처리부(402)에 제공하는 기능을 한다.
서버 통신부(404)는 게임 로직 처리부에서 생성된 메시지가 게임 서버로 전송할 메시지인지 또는 실시간성 메시지 처리 서버로 전송할 메시지인지 여부를 판단하여 해당 서버로 게임 메시지를 전송한다.
게임 데이터 추출부(408)는 게임 실행을 위해 필요한 게임 데이터를 추출하는 기능을 한다. 예를 들어, 사용자의 게임 커맨드에 상응하여 게임 로직 처리부의 제어에 따라 게임 데이터 추출부(408)는 맵 데이터, 캐릭터 정보 데이터 등을 추출하여 게임 로직 처리부(402)에 제공한다.
도 5는 본 발명의 바람직한 일 실시예에 따른 메시지 송신 제어 방법 및 장치가 구현되는 플레이어 오브젝트의 모듈 구성을 도시한 블록도이다.
도 5를 참조하면, 본 발명의 일 실시예에 따른 플레이어 오브젝트는 메시지 사이즈 조절부(500), 적시성 판단부(502), 메시지 버퍼(504) 및 메시지 전송부(506)를 포함할 수 있다.
메시지 사이즈 조절부(500)는 플레이어 오브젝트를 통해 송신할 메시지의 사이즈를 조절하는 기능을 한다. 메시지 사이즈 조절부(500)는 메시지 제어부(506)로부터 제공되는 메시지가 사이즈 조절이 가능한 상태 정보 메시지인지 여부를 판단한다.
또한, 메시지 사이즈 조절부(500)는 플레이어 오브젝트에 상응하는 캐릭터와 근거리에 위치한 캐릭터의 상태 정보 메시지인지 또는 원거리에 위치한 캐릭터의 상태 정보 메시지인지 여부를 판단한다. 근거리인지 또는 원거리인지 여부를 판단하기 위한 기준 거리 정보는 미리 설정되어 있을 수도 있으며, 시스템 부하에 따라 동적으로 설정될 수도 있을 것이다.
메시지 사이즈 조절부(500)는 원거리에 위치한 캐릭터의 상태 정보 메시지일 경우, 메시지 필드 중 미리 설정된 필드의 데이터를 삭제한다. 예를 들어, 상태 정보 메시지 필드가 캐릭터 자동차의 위치, 속도, 가시 이펙트, 아이템 필드로 이루어져 있을 경우, 메시지 사이즈 조절부(500)는 가시 이펙트 필드 및 아이템 필드를 삭제하는 방식으로 메시지 사이즈를 조절할 수 있을 것이다.
상기에서는 메시지 사이즈 조절부(500)가 상태 정보 메시지에 대해서 메시지 사이즈를 조절하고, 캐릭터의 거리 정보에 기초하여 사이즈 조절 여부를 판단하는 실시예를 설명하였다.
그러나, 사이즈 조절의 대상이 되는 메시지가 상태 정보 메시지에 한정되는 것은 아니며, 사이즈 조절 여부를 판단하는 정보 역시 거리 정보에 한정되지 않으며 게임의 종류 및 특성에 따라 다양하게 설정될 수 있다는 점은 당업자에게 있어 자명할 것이다.
적시성 판단부(502)는 메시지 제어부(206)로부터 제공된 메시지가 적시성이 높은 메시지인지 또는 낮은 메시지인지 여부를 판단한다. 원거리에 위치한 캐릭터의 이동 메시지, 변화가 작은 이동 메시지와 적시성이 낮은 메시지일 경우, 메시지 버퍼(504)에 메시지를 제공한다.
근거리에 위치한 캐릭터의 이동 메시지, 변화가 큰 이동 메시지, 충돌 메시지와 같이 적시성이 높은 메시지일 경우, 적시성 판단부(502)는 메시지를 메시지 전송부(506)에 제공하며 메시지의 즉시 전송을 요청한다.
메시지 버퍼(504)는 적시성 판단부(502)로부터 제공되는 메시지를 일시적으로 저장하는 기능을 한다. 메시지 버퍼(504)는 미리 설정된 사이즈 이상으로 버퍼에 메시지가 저장될 경우, 메시지 전송부(506)에 버퍼에 전송된 메시지의 전송을 요청한다. 메시지 버퍼(504)는 미리 설정된 사이즈 이상으로 버퍼에 메시지가 저장되지 않더라도 미리 설정된 시간이 경과하면 버퍼에 저장된 메시지의 전송을 메시 지 전송부(504)에 제공한다.
메시지 전송부(504)는 메시지 버퍼(504) 또는 적시성 판단부(502)로부터의 제어 신호에 따라 메시지를 사용자 클라이언트에 전송하는 기능을 한다. 적시성이 높은 메시지가 수신될 경우, 적시성 판단부(502)에 제어 신호에 응답하여 메시지 전송부(504)는 메시지 버퍼(504)에 저장되어 있는 메시지와 적시성이 높은 메시지를 결합하여 즉시 사용자 클라이언트에 전송한다.
적시성이 낮은 메시지의 경우, 메시지 버퍼(504)에 미리 설정된 사이즈 이상으로 메시지가 채워지거나 미리 설정된 시간 간격이 경과할 경우, 메시지 버퍼에서의 제어 신호에 따라 메시지 전송부(504)는 버퍼에 저장된 메시지를 결합하여 전송한다.
도 6은 본발명의 바람직한 일 실시예에 따른 메시지 버퍼에서의 버퍼링 정책을 도시한 도면이다.
도 6의 (a)는 적시성이 낮은 메시지가 플레이어 오브젝트에 제공될 경우의 버퍼링 정책을 도시한 것이고, 도 6의 (b)는 적시성이 높은 메시지가 플레이어 오브젝트에 제공될 경우의 버퍼링 정책을 도시한 것이다.
도 6의 (a)와 같이, 메시지가 적시성이 낮은 경우, 메시지 버퍼는 메시지 저장 슬롯을 모두 채운 후에 메시지가 결합되어 전송되도록 한다. 전술한 바와 같이, 메시지가 모든 슬롯을 채우지 않더라도 미리 설정된 시간이 경과하면 메시지들이 결합되어 전송되도록 할 수 있다.
도 6의 (b)와 같이, 적시성이 높은 메시지가 제공될 경우, 메시지 버퍼는 메 시지 버퍼의 슬롯이 모두 채워져 있지 않은 경우에도 메시지 버퍼에 저장된 메시지들을 즉시 메시지 전송부에 제공한다.
도 7은 본 발명의 바람직한 일 실시예에 따른 메시지 사이즈를 조절하는 방법에 대한 순서도이다.
도 7을 참조하면, 플레이어 오브젝트는 메시지 제어부로부터 게임 메시지를 수신한다(S700).
게임 메시지가 수신되면, 수신된 메시지에 포함된 모든 정보가 사용자 클라이언트에 저장될 필요가 있는지 여부를 판단한다(S702). 전술한 바와 같이, 원거리에 위치한 캐릭터에 대한 상태 정보 메시지의 경우, 메시지의 모든 정보가 필요하지 않다고 판단한다.
메시지의 모든 정보가 필요하다고 판단될 경우, 해당 메시지는 사이즈가 조절되지 않고 메시지 제어부로부터 전송된 상태 그래도 전송되거나 메시지 버퍼에 저장된다(S704).
메시지의 모든 정보가 필요하지 않다고 판단되는 경우, 해당 메시지의 필드 중 미리 설정된 필드의 메시지 데이터를 삭제한다(S706). 전술한 바와 같이, 예를 들어, 원거리 캐릭터의 가시 이펙트 필드 및 아이템 필드의 데이터가 삭제될 수 있을 것이다.
메시지 데이터의 미리 설정된 필트의 데이터가 삭제되면, 해당 메시지를 버퍼에 저장하거나 전송한다(S708).
도 8은 본 발명의 바람직한 일 실시예에 따른 메시지의 적시성에 따라 메시 지 송신을 제어하는 방법에 대한 순서도이다.
도 8을 참조하면, 플레이어 오브젝트는 메시지 제어부로부터 게임 메시지를 수신한다(S800).
플레이어 오브젝트는 수신된 메시지가 적시성이 높은 메시지인지 여부를 판단한다(S802). 전술한 바와 같이, 예를 들어, 적시성이 높은 메시지는 근거리에 위치한 캐릭터의 이동 메시지, 변화가 큰 이동 메시지를 포함할 수 있다.
메시지가 적시성이 높은 메시지일 경우, 플레이어 오브젝트는 메시지 버퍼에 미리 저장되어 있는 메시지와 결합하여 사용자 클라이어언트에 즉시 전송한다(S804).
플레이어 오브젝트에 제공된 메시지가 적시성이 낮은 메시지일 경우, 메시지 버퍼에 메시지를 저장할 여유가 있는지 여부를 판단한다(S806). 메시지 버퍼에 여유가 없을 경우, 플레이어 오브젝트는 메시지 버퍼에 저장된 메시지와 결합하여 해당 메시지를 전송한다(S808).
메시지 버퍼에 여유가 있을 경우, 플레이어 오브젝트는 해당 메시지를 메시지 버퍼에 저장한다(S810). 메시지 버퍼에 메시지를 저장한 후 다른 메시지가 버퍼에 저장되지 않고 미리 설정된 시간이 경과하면 버퍼에 저장된 메시지들을 결합하여 전송한다(S812).
상기한 본 발명의 바람직한 실시예는 예시의 목적을 위해 개시된 것이고, 본 발명에 대해 통상의 지식을 가진 당업자라면 본 발명의 사상과 범위 안에서 다양한 수정, 변경, 부가가 가능할 것이며, 이러한 수정, 변경 및 부가는 하기의 특허청구 범위에 속하는 것으로 보아야 할 것이다.
이상에서 설명한 바와 같이, 본 발명의 바람직한 실시예에 따르면 게임 서버에서 전송하는 메시지의 결합을 통해 게임 서버에서 전송하는 메시지의 수를 최소화하여 온라인 게임에서 게임 서버의 부하를 경감시킬 수 있는 장점이 있다.
또한, 본 발명의 바람직한 실시예에 따르면, 게임 서버에서 전송하는 메시지의 사이즈를 유동적으로 조절하여 메시지 사이즈로 인한 게임 서버의 부하를 최소화할 수 있는 장점이 있다.

Claims (15)

  1. 다수의 사용자 클라이언트들이 접속하여 게임을 수행하는 다중 접속 온라인 게임에서의 메시지 송신 제어 장치로서,
    상기 사용자 클라이언트에 전송할 메시지가 즉시 전송되도록 미리 설정된 종류의 메시지인지 여부를 판단하는 적시성 판단부;
    상기 적시성 판단부에서 상기 사용자 클라이언트에 즉시 전송되도록 미리 설정된 종류의 메시지가 아니라고 판단된 메시지를 저장하는 메시지 버퍼;
    상기 메시지 버퍼에 저장된 메시지들을 결합하여 전송하는 메시지 전송부; 및
    상기 사용자 클라이언트로 전송할 메시지 사이즈를 조절할지 여부를 판단하고, 판단 결과에 따라 메시지 사이즈를 조절하는 메시지 사이즈 조절부를 포함하되,
    상기 적시성 판단부가 상기 사용자 클라이언트에 즉시 전송되도록 미리 설정된 종류의 메시지라고 판단할 경우, 상기 메시지 전송부는 해당 메시지를 상기 메시지 버퍼에 저장된 메시지들과 결합하여 즉시 전송하며,
    상기 메시지 전송부는 상기 메시지 버퍼에 미리 설정된 사이즈 이상으로 메시지들이 저장될 경우, 저장된 메시지들을 결합하여 전송하고,
    상기 메시지 사이즈 조절부는 상태 정보 메시지 중 기 설정된 거리 기준 이내에 위치한 근거리 캐릭터의 상태 정보 메시지인지 또는 기 설정된 거리 기준 이외에 위치한 원거리 캐릭터의 상태 정보 메시지인지에 따라 메시지 사이즈 조절 여부를 판단하는 것을 특징으로 하는 온라인 게임에서의 메시지 송신 제어 장치.
  2. 삭제
  3. 삭제
  4. 제1항에 있어서,
    상기 온라인 게임이 레이싱 게임일 경우, 상기 사용자 클라이언트에 즉시 전송되도록 미리 설정된 종류의 메시지는 근거리 캐릭터로부터의 이동 메시지 및 변화가 큰 이동 메시지인 것을 특징으로 하는 온라인 게임에서의 메시지 송신 제어 장치.
  5. 제1항에 있어서,
    상기 메시지 전송부는 상기 메시지 버퍼에 저장된 메시지들의 사이즈에 관계 없이 미리 설정된 시간이 경과할 경우 메시지 버퍼에 저장된 메시지들을 결합하여 전송하는 것을 특징으로 하는 온라인 게임에서의 메시지 송신 제어 장치.
  6. 삭제
  7. 제1항에 있어서,
    상기 메시지 사이즈 조절부는 메시지의 필드 중 미리 설정된 필드의 데이터를 삭제함으로써 메시지 사이즈를 조절하는 것을 특징으로 하는 온라인 게임에서의 메시지 송신 제어 장치.
  8. 온라인 게임에서의 메시지 송신 제어 방법에 있어서,
    사용자 클라이언트에 전송할 메시지가 즉시 전송되도록 미리 설정된 종류의 메시지인지 여부를 판단하는 단계(a);
    상기 단계(a)에서 상기 사용자 클라이언트에 전송될 메시지가 즉시 전송되도록 미리 설정된 종류의 메시지가 아니라고 판단될 경우 해당 메시지를 메시지 버퍼에 저장하는 단계(b);
    상기 단계(a)에서 상기 사용자 클라이언트에 전송될 메시지가 즉시 전송되도록 미리 설정된 종류의 메시지라고 판단될 경우, 상기 메시지 버퍼에 저장된 메시지들과 결합하여 해당 메시지를 즉시 전송하는 단계(c);
    상기 메시지 버퍼에 미리 설정된 사이즈 이상으로 메시지들이 저장될 경우, 상기 메시지 버퍼에 저장된 메시지를 결합하여 전송하는 단계(d); 및
    상기 사용자 클라이언트로 전송할 메시지 사이즈를 조절할지 여부를 판단하고, 판단 결과에 따라 메시지 사이즈를 조절하는 단계를 포함하고,
    상기 메시지 사이즈를 조절하는 단계에서, 상태 정보 메시지 중 기 설정된 거리 기준 이내에 위치한 근거리 캐릭터의 상태 정보 메시지인지 또는 기 설정된 거리 기준 이외에 위치한 원거리 캐릭터의 상태 정보 메시지인지에 따라 메시지 사이즈 조절 여부를 판단하는 것을 특징으로 하는 온라인 게임에서의 메시지 송신 제어 방법.
  9. 삭제
  10. 제8항에 있어서,
    상기 온라인 게임이 레이싱 게임일 경우, 상기 사용자 클라이언트에 즉시 전송되도록 미리 설정된 종류의 메시지는 근거리 캐릭터로부터의 이동 메시지 및 변화가 큰 이동 메시지인 것을 특징으로 하는 온라인 게임에서의 메시지 송신 제어 방법.
  11. 제8항에 있어서,
    상기 메시지 버퍼에 저장된 메시지들이 미리 설정된 시간 간격이상 전송되지 않을 경우, 저장된 메시지들을 결합하여 전송하는 단계를 더 포함하는 것을 특징으로 하는 온라인 게임에서 메시지 송신 제어 방법.
  12. 삭제
  13. 삭제
  14. 제8항에 있어서,
    상기 메시지 사이즈를 조절하는 단계에서, 메시지의 필드 중 미리 설정된 필드의 데이터를 삭제함으로써 메시지 사이즈를 조절하는 것을 특징으로 하는 온라인 게임에서의 메시지 송신 제어 방법.
  15. 제8항, 제10항, 제11항 또는 제14항 중 어느 한 항의 방법을 수행하기 위한 프로그램이 구현되어 있으며 디지털 데이터 처리 장치에 의해 판독될 수 있는 프로그램을 기록한 기록 매체.
KR1020060082376A 2006-08-29 2006-08-29 온라인 게임에서 메시지 송신 제어 방법 및 장치 KR101355295B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020060082376A KR101355295B1 (ko) 2006-08-29 2006-08-29 온라인 게임에서 메시지 송신 제어 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060082376A KR101355295B1 (ko) 2006-08-29 2006-08-29 온라인 게임에서 메시지 송신 제어 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20080021196A KR20080021196A (ko) 2008-03-07
KR101355295B1 true KR101355295B1 (ko) 2014-02-07

Family

ID=39395737

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060082376A KR101355295B1 (ko) 2006-08-29 2006-08-29 온라인 게임에서 메시지 송신 제어 방법 및 장치

Country Status (1)

Country Link
KR (1) KR101355295B1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR960004812B1 (ko) * 1989-10-23 1996-04-13 모토로라 인코포레이티드 적응 메시지 처리 특성을 가진 중앙 제어기
KR20000064491A (ko) * 1995-12-19 2000-11-06 에를링 블로메, 타게 뢰브그렌 명령처리기용작업스케줄링
KR20030012672A (ko) * 2001-08-03 2003-02-12 (주)혁성정보시스템 다중 사용자 네트워크 레이싱 게임을 위한 메시지 처리 방법
KR20040018488A (ko) * 2001-07-19 2004-03-03 톰슨 라이센싱 에스.에이. 페이드 내성 디지탈 송신 및 수신 시스템

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR960004812B1 (ko) * 1989-10-23 1996-04-13 모토로라 인코포레이티드 적응 메시지 처리 특성을 가진 중앙 제어기
KR20000064491A (ko) * 1995-12-19 2000-11-06 에를링 블로메, 타게 뢰브그렌 명령처리기용작업스케줄링
KR20040018488A (ko) * 2001-07-19 2004-03-03 톰슨 라이센싱 에스.에이. 페이드 내성 디지탈 송신 및 수신 시스템
KR20030012672A (ko) * 2001-08-03 2003-02-12 (주)혁성정보시스템 다중 사용자 네트워크 레이싱 게임을 위한 메시지 처리 방법

Also Published As

Publication number Publication date
KR20080021196A (ko) 2008-03-07

Similar Documents

Publication Publication Date Title
KR100883907B1 (ko) 다중 접속 온라인 게임에서의 분산 서버를 통한 게임 제어방법 및 시스템
US11478703B2 (en) Game system, game controlling method, and game controlling program
US10307673B2 (en) Network game system for executing event in network game
US8821288B2 (en) Method of determining gifts of each friend user
KR100821722B1 (ko) 다중 접속 온라인 게임에서 p2p 메시지 전송 시스템 방법
US9242174B2 (en) System and method for dynamically distributing game data
KR100783830B1 (ko) 공간 위치 공유 시스템
US7934996B2 (en) Online video game control server and a method of controlling an online video game
US20050086301A1 (en) Systems and methods for facilitating multi-user interaction over a network
US20070099702A1 (en) Network-based gaming system
US7927217B2 (en) Network game system, game server system, client system, network game processing method, and recording medium
KR20050044752A (ko) 동적 대역폭 제어
KR100829810B1 (ko) 온라인 게임에서 게임 캐릭터 정보 동기화 방법 및 시스템
EP1206955A2 (en) Information terminal, information providing server, online game method and recording medium
KR101355295B1 (ko) 온라인 게임에서 메시지 송신 제어 방법 및 장치
US20100093439A1 (en) Interactive network game and methods thereof
US20030114225A1 (en) Network game system, server system, client system, network game processing method and recording medium
KR100733138B1 (ko) 논플레이어블캐릭터 제어방법
KR20070112492A (ko) 멀티플레이어 온라인 게임 서비스 시스템 및 방법
KR102374592B1 (ko) 온라인 게임상에서의 캐릭터 애니메이션을 구현하는 방법 및 이를 위한 서버
KR20030012672A (ko) 다중 사용자 네트워크 레이싱 게임을 위한 메시지 처리 방법
KR101248419B1 (ko) 게임 서버에 접속된 단말 간 직접통신을 통한 멀티캐스팅 방법
KR100834090B1 (ko) 게임 유저의 행동 반영 시스템 및 그 방법

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
J121 Written withdrawal of request for trial
J201 Request for trial against refusal decision
E902 Notification of reason for refusal
N231 Notification of change of applicant
B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20161227

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20181226

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20200102

Year of fee payment: 7