KR100865072B1 - Method and system for controlling traffic car in multi-player online game - Google Patents

Method and system for controlling traffic car in multi-player online game Download PDF

Info

Publication number
KR100865072B1
KR100865072B1 KR1020060076383A KR20060076383A KR100865072B1 KR 100865072 B1 KR100865072 B1 KR 100865072B1 KR 1020060076383 A KR1020060076383 A KR 1020060076383A KR 20060076383 A KR20060076383 A KR 20060076383A KR 100865072 B1 KR100865072 B1 KR 100865072B1
Authority
KR
South Korea
Prior art keywords
traffic
car
list
path
traffic car
Prior art date
Application number
KR1020060076383A
Other languages
Korean (ko)
Other versions
KR20080014537A (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 KR1020060076383A priority Critical patent/KR100865072B1/en
Publication of KR20080014537A publication Critical patent/KR20080014537A/en
Application granted granted Critical
Publication of KR100865072B1 publication Critical patent/KR100865072B1/en

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/803Driving vehicles or craft, e.g. cars, airplanes, ships, robots or tanks
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/45Controlling the progress of the video game
    • 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

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

Abstract

본 발명은 다중 접속 온라인 게임에서의 트래픽카 제어 방법 및 시스템에 관한 것이다. 본 발명에 따르면, 사용자 클라이언트와 네트워크를 통해 연결된 게임 시스템에서 트래픽카를 제어하는 방법으로서, (a) 상기 트래픽카의 이동 경로에 상응하는 하나 이상의 패스 상에서 서로 영향을 받는 하나 이상의 트래픽카에 관한 리스트를 동적으로 생성하는 단계; (b) 상기 리스트에서 계산 시작 트래픽카를 결정하는 단계; (c) 상기 계산 시작 트래픽카를 기준으로 상기 리스트에 존재하는 트래픽카의 이동 정보를 순차적으로 계산하는 단계; 및 (d) 상기 계산된 이동 정보를 상기 사용자 클라이언트로 전송하는 단계를 포함하되, 상기 (a) 내지 (c) 단계는 미리 설정된 시간 주기로 수행되며, 상기 사용자 클라이언트에 설치된 게임 어플리케이션은 상기 이동 정보에 따라 상기 트래픽카를 시뮬레이션 하는 것을 특징으로 하는 트래픽카 제어 방법이 제공된다. 본 발명에 따른 많은 수의 트래픽카의 제어를 효율적으로 수행할 수 있는 장점이 있다.

Figure R1020060076383

트래픽카, 레이싱 게임, 리스트, 이벤트, 영향, 계산 시작 트래픽카

The present invention relates to a method and system for controlling a traffic car in a multiple access online game. According to the present invention, a method of controlling a traffic car in a game system connected through a network with a user client, the method comprising: (a) a list of one or more traffic cars influenced by each other on one or more paths corresponding to the movement path of the traffic car; Dynamically generating; (b) determining a calculation start traffic car from the list; (c) sequentially calculating movement information of traffic cars existing in the list on the basis of the calculation start traffic car; And (d) transmitting the calculated movement information to the user client, wherein steps (a) to (c) are performed at a predetermined time period, and a game application installed on the user client is included in the movement information. Accordingly, there is provided a traffic car control method, which simulates the traffic car. There is an advantage that can efficiently control a large number of traffic cars according to the present invention.

Figure R1020060076383

Traffic Cars, Racing Games, Lists, Events, Impact

Description

다중 접속 온라인 게임에서의 트래픽카 제어 방법 및 시스템{METHOD AND SYSTEM FOR CONTROLLING TRAFFIC CAR IN MULTI-PLAYER ONLINE GAME}METHOD AND SYSTEM FOR CONTROLLING TRAFFIC CAR IN MULTI-PLAYER ONLINE GAME}

도 1은 본 발명의 바람직한 일 실시예에 따른 다중 접속 온라인 게임 시스템의 구성을 도시한 도면. 1 is a diagram showing the configuration of a multi-access online game system according to an embodiment of the present invention.

도 2는 본 발명의 바람직한 일 실시예에 따른 게임 서버의 상세 구성을 도시한 도면. 2 is a diagram showing a detailed configuration of a game server according to an embodiment of the present invention.

도 3은 본 발명의 바람직한 일 실시예에 따른 트래픽카 제어부의 상세 구성을 도시한 도면. 3 is a diagram showing a detailed configuration of a traffic car control unit according to an embodiment of the present invention.

도 4는 본 발명의 바람직한 일 실시예에 따른 리스트 생성부의 상세 구성을 도시한 도면. 4 is a diagram showing the detailed configuration of the list generating unit according to an embodiment of the present invention.

도 5는 본 발명에 따른 게임 어플리케이션의 상세 구성을 도시한 도면. 5 is a diagram illustrating a detailed configuration of a game application according to the present invention.

도 6은 본 발명의 바람직한 일 실시예에 따른 기본 패스 생성 과정의 순서도. 6 is a flow chart of a basic path generation process according to an embodiment of the present invention.

도 7은 본 발명의 바람직한 일 실시예에 따른 기본 패스에서 트래픽카 제어 과정의 순서도. 7 is a flowchart of a traffic car control process in a basic pass according to an embodiment of the present invention.

도 8은 본 발명의 바람직한 일 실시예에 따른 교차로를 고려한 패스에서의 트래픽카 제어 과정의 순서도.8 is a flowchart of a traffic car control process in a path considering an intersection according to an exemplary embodiment of the present invention.

도 9는 본 발명의 바람직한 일 실시예에 따른 병목 지점에서의 트래픽카 제어 과정의 순서도. 9 is a flow chart of a traffic car control process at a bottleneck in accordance with one preferred embodiment of the present invention.

도 10은 본 발명의 바람직한 일 실시예에 따른 차선 변경 시 트래픽카 제어 과정의 순서도. 10 is a flowchart illustrating a traffic car control process when changing lanes according to an exemplary embodiment of the present invention.

도 11은 본 발명에 따른 신호 시간 변경 과정의 순서도. 11 is a flow chart of a signal time change process according to the present invention.

도 12는 본 발명에 따른 기본 패스의 일예를 도시한 도면. 12 is a diagram illustrating an example of a basic pass according to the present invention;

도 13은 본 발명에 따른 각 패스 상에서 신호등에 정지하는 화면의 일예를 도시한 도면. FIG. 13 shows an example of a screen for stopping at a traffic light on each pass according to the present invention; FIG.

도 14는 본 발명에 따른 교차로에서의 복수의 패스를 도시한 도면. 14 illustrates a plurality of passes at an intersection in accordance with the present invention.

본 발명은 다중 접속 온라인 게임에서의 트래픽카 제어 방법 및 시스템에 관한 것으로서 보다 상세하게는 다중 접속 레이싱 게임에서 게임의 중요한 요소가 되는 트래픽카를 효율적으로 제어할 수 있는 방법 및 시스템에 관한 것이다. The present invention relates to a method and system for controlling a traffic car in a multi-access online game, and more particularly, to a method and system for efficiently controlling a traffic car, which is an important element of a game, in a multi-access racing game.

최근, 네트워크 기술의 발달로 대용량 멀티미디어 데이터의 고속 전송이 가능해지고, 네트워크에 접속 가능한 사용자 단말기의 보편적인 보급에 따라 사용자에게 다양한 종류의 컨텐츠를 제공하는 컨텐츠 제공업체(Contents Provider: CP)가 급속도로 증가하고 있는 추세이다.Recently, with the development of network technology, high-speed transmission of large-capacity multimedia data becomes possible, and according to the universal spread of the user terminal which can be connected to the network, a contents provider (CP) that provides various kinds of contents to the user is rapidly developed. The trend is increasing.

컨텐츠 제공업체는 검색, 쇼핑, 게임 및 채팅 서비스와 같은 다양한 종류의 컨텐츠를 제공하고 있으며, 특히, 게임 서비스는 유료 서비스인 경우에도 많은 수요자 층을 확보할 수 있다는 점에서 컨텐츠 제공업체의 큰 수익원으로 자리 잡고 있다.Content providers offer a wide range of content, such as search, shopping, games, and chat services. In particular, game services are a great source of revenue for content providers, as they can attract a large audience of users, even for paid services. Perched.

이중 레이싱 게임은 실제의 레이싱 스포츠 등을 가상현실로 옮겨놓은 것으로서 다른 게임과 비교할 때 높은 속도감과 현실감을 제공할 수 있다는 점에서 사용자에게 크게 인기를 끌고 있는 실정이다. The dual racing game is a reality that has been replaced by the actual racing sports, such as virtual reality, compared to other games in the situation that is very popular with users in that it can provide a high speed and a sense of reality.

레이싱 게임은 다른 게임과 달리 그래픽의 질이 높을 것을 요구하기 때문에 과거에는 주로 콘솔용 게임으로만 제공되었으나 근래에는 그래픽 처리 기술의 발달로 온라인 상에서 다자간 게임이 가능하도록 제공되고 있다. Racing games, unlike other games, require high quality graphics, and in the past, they were mainly provided only for console games. However, in recent years, the development of graphics processing technology has made it possible to play multiplayer games online.

그러나 일반적인 다자간 레이싱 게임은 정해진 트랙을 하나 이상의 플레이어가 경주하는 방식으로 이루어졌으나, 이와 같은 단순 경주 방식은 사용자에게 오랜 기간동안 흥미를 갖도록 하지 못하는 문제점이 있었다. However, the general multi-party racing game is made by a method in which one or more players race a predetermined track, but such a simple racing method has a problem that does not make the user interested for a long time.

이에, 근래에는 레이싱 게임에도 어떠한 목적을 위해 주어진 역할을 수행하여 캐릭터를 성장시킬 수 있는 RPG(Role Playing Game) 형식을 가미하고자 하는 노력이 이루어지고 있으며, 이전과는 다른 다수의 사용자들이 함께 게임을 즐길 수 있도록 하는 MMORPG(Massively Multi-Player Online Role Playing Game) 형식으로 발전하고 있는 추세이다.In recent years, efforts have been made to add a RPG (Role Playing Game) format to grow a character by playing a given role in a racing game for any purpose. It is evolving into the MMORPG (Massively Multi-Player Online Role Playing Game) format.

이와 같은 MMORPG 레이싱 게임에서는 각 사용자가 소정 캐릭터(차량)를 선택하고, NPC(Non Player Character)가 제공한 퀘스트를 수행하거나 또는 일정 장소에서 경주를 하면서 경험치를 획득하여 자신의 플레이어 캐릭터를 성장시키게 된다. In this MMORPG racing game, each user selects a predetermined character (vehicle), performs a quest provided by NPC (Non Player Character), or acquires experience while racing in a certain place to grow his player character. .

MMORPG 레이싱 게임은 단순히 일정 트랙을 완주하는 경주 방식이 아니라 실제 세계와 유사한 환경에서 퀘스트 등을 수행하면서 경험치를 높이기 때문에 사용자에게 흥미를 높이기 위해서는 실제 도로 주행을 연상시킬 수 있어야 한다.MMORPG racing game is not just a race to complete a certain track, but increases the experience while performing quests in an environment similar to the real world.

이러한 이유로 MMORPG 레이싱 게임 상의 도로에는 사용자의 차량뿐만 아니라 다수의 트래픽카들이 존재한다. For this reason, there are many traffic cars as well as the user's vehicle on the road in the MMORPG racing game.

트래픽카는 게임 상에서 NPC로서 이용되기도 하며, 사용자의 도로 주행을 방해하는 요소로서 기능하기 때문에 MMORPG 레이싱 게임에서는 필수적인 요소가 된다. Traffic cars are often used as NPCs in games, and they are essential to MMORPG racing games because they function as an obstacle to users' road driving.

종래기술에 따르면, 각 사용자 컴퓨터 또는 게임 서버에서 퍼지 로직을 이용하여 트래픽카의 제어가 이루어졌다. According to the prior art, the control of the traffic car is performed using fuzzy logic in each user computer or game server.

퍼지 로직은 퍼지 규칙으로부터 퍼지 함의(fuzzy implication 또는 fuzzy relation)와 합성 추론 규칙(compositional rule of inference)의 두 개념을 적용해서 제어 환경에 적합한 추론 값을 출력하게 된다. Fuzzy logic applies two concepts from fuzzy rules (fuzzy implication or fuzzy relation) and compositional rule of inference to output inference values appropriate to the control environment.

그러나 종래기술과 같이 퍼지 로직을 이용하는 경우, 사용자 컴퓨터 또는 게임 서버는 각 트래픽카에 바로 극히 일부의 차량만을 고려하여 속도를 제어하게 되는데, 많은 수의 트래픽카가 존재하는 경우에는 일관된 제어가 이루어지지 못하는 문제점이 있었다. However, when using fuzzy logic as in the prior art, the user's computer or game server controls the speed by considering only a few vehicles in each traffic car. However, when there are a large number of traffic cars, there is no consistent control. There was a problem.

또한, 종래기술에 따르면, 초당 30번의 계산이 이루어지는데, 다른 방해 요소 없이 일정 트랙만을 경주하는 경우에는 문제가 발생하지 않을 수 있으나, 예를 들어, 도로 주행에서 트래픽카가 신호등에 의해 정지하여야 하는 경우, 또는 다른 차량과 충돌하는 경우에는 이를 시뮬레이션 하기 위해 급격하게 계산 횟수를 늘려야 하는 문제점이 있었다. In addition, according to the prior art, the calculation is made 30 times per second, the problem may not occur when racing only a certain track without other obstacles, for example, when the traffic car must be stopped by traffic lights during road driving In the case of collision with another vehicle or another vehicle, the number of calculations has to be increased drastically to simulate this.

한편, 종래에는 도로에 해당하는 패스(path) 상에서 2차원인 경우에는 트래픽카의 위치를 x, y 좌표, 3차원인 경우는 x, y, z 좌표와 같이 적어도 두 개 이상의 파라미터를 이용하여 표현하였기 때문에 패스 상에 트래픽카의 움직임을 나타내기 위한 계산이 복잡해지는 문제점이 있었다. On the other hand, in the prior art, the position of the traffic car is represented by using at least two parameters, such as x, y coordinates in the case of two-dimensional on the path corresponding to the road, x, y, z coordinates in the case of three-dimensional As a result, the calculation for representing the movement of the traffic car on the path has been complicated.

본 발명에서는 상기한 바와 같은 종래기술의 문제점을 해결하기 위해, 트래픽카의 제어를 효율적으로 수행할 수 있는 다중 접속 온라인 게임에서의 트래픽카 제어 방법 및 시스템을 제안하고자 한다. In order to solve the problems of the prior art as described above, the present invention proposes a traffic car control method and system in a multiple access online game that can efficiently control the traffic car.

본 발명의 다른 목적은 MMORPG 레이싱 게임에서 많은 수의 트래픽카의 이동에 관한 계산 횟수를 줄일 수 있는 다중 접속 온라인 게임에서의 트래픽카 제어 방법 및 시스템을 제공하는 것이다. It is another object of the present invention to provide a traffic car control method and system in a multi-access online game that can reduce the number of calculations related to the movement of a large number of traffic cars in an MMORPG racing game.

본 발명의 다른 목적은 패스 상에서의 트래픽카 위치를 적은 파라미터를 이용하여 표현할 수 있는 다중 접속 온라인 게임에서의 트래픽카 제어 방법 및 시스템을 제공하는 것이다. It is another object of the present invention to provide a traffic car control method and system in a multi-access online game that can express the traffic car location on a path using fewer parameters.

본 발명의 다른 목적은 서로 영향을 미칠 수 있는 모든 트래픽카를 고려하여 제어를 수행할 수 있는 다중 접속 온라인 게임에서의 트래픽카 제어 방법 및 시스템을 제공하는 것이다. Another object of the present invention is to provide a method and system for controlling a traffic car in a multi-access online game that can perform control in consideration of all traffic cars that may affect each other.

상기한 바와 같은 목적을 달성하기 위해, 본 발명의 바람직한 일 실시예에 따르면, 사용자 클라이언트와 네트워크를 통해 연결된 게임 시스템에서 트래픽카를 제어하는 방법으로서, (a) 상기 트래픽카의 이동 경로에 상응하는 하나 이상의 패스 상에서 서로 영향을 받는 하나 이상의 트래픽카에 관한 리스트를 동적으로 생성하는 단계; (b) 상기 리스트에서 계산 시작 트래픽카를 결정하는 단계; (c) 상기 계산 시작 트래픽카를 기준으로 상기 리스트에 존재하는 트래픽카의 이동 정보를 순차적으로 계산하는 단계; 및 (d) 상기 계산된 이동 정보를 상기 사용자 클라이언트로 전송하는 단계를 포함하되, 상기 (a) 내지 (c) 단계는 미리 설정된 시간 주기로 수행되며, 상기 사용자 클라이언트에 설치된 게임 어플리케이션은 상기 이동 정보에 따라 상기 트래픽카를 시뮬레이션 하는 것을 특징으로 하는 트래픽카 제어 방법이 제공된다.In order to achieve the above object, according to a preferred embodiment of the present invention, a method for controlling a traffic car in a game system connected through a network with a user client, (a) one corresponding to the movement path of the traffic car Dynamically generating a list of one or more traffic cars affected by each other on the at least one pass; (b) determining a calculation start traffic car from the list; (c) sequentially calculating movement information of traffic cars existing in the list on the basis of the calculation start traffic car; And (d) transmitting the calculated movement information to the user client, wherein steps (a) to (c) are performed at a predetermined time period, and a game application installed on the user client is included in the movement information. Accordingly, there is provided a traffic car control method, which simulates the traffic car.

본 발명의 다른 측면에 따르면, 상기한 방법을 수행하는 컴퓨터 판독 가능한 기록매체가 제공된다.According to another aspect of the present invention, a computer readable recording medium for performing the above method is provided.

본 발명의 다른 측면에 따르면, 사용자 클라이언트와 네트워크를 통해 연결되어 트래픽카의 제어를 수행하는 장치로서, 상기 트래픽카의 이동 경로에 상응하는 하나 이상의 패스 상에서 서로 영향을 받는 하나 이상의 트래픽카에 관한 리스트를 동적으로 생성하는 리스트 생성부; 상기 리스트에서 계산 시작 트래픽카를 결정하며, 상기 계산 시작 트래픽카를 기준으로 상기 리스트에 존재하는 트래픽카의 이동 정보를 순차적으로 계산하는 이동 정보 계산부; 및 미리 설정된 시간이 경과하는지 여부를 판단하는 타이머부를 더 포함하되, 상기 이동 정보의 계산은 미리 설정된 주기로 수행되며, 상기 사용자 클라이언트에 설치된 게임 어플리케이션은 상기 이동 정보에 따라 상기 트래픽카를 시뮬레이션 하는 것을 특징으로 하는 트래픽카 제어 장치가 제공된다.According to another aspect of the present invention, a device connected to a user client through a network to perform control of a traffic car, comprising: a list of one or more traffic cars influenced by each other on one or more paths corresponding to the movement path of the traffic car; A list generation unit for dynamically generating a; A movement information calculation unit for determining a calculation start traffic car from the list and sequentially calculating movement information of traffic cars existing in the list based on the calculation start traffic car; And a timer unit for determining whether a preset time has elapsed, wherein the calculation of the movement information is performed at a predetermined period, and a game application installed in the user client simulates the traffic car according to the movement information. A traffic car control device is provided.

상술한 목적, 특징들 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이다. 우선 각 도면의 구성요소들에 참조 번호를 부가함에 있어서, 동일한 구성요소들에 한해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 번호를 가지도록 하고 있음에 유의하여야 한다. 이하에서, 본 발명에 따른 다중 접속 온라인 게임에서의 트래픽카 제어 방법 및 시스템에 관한 바람직한 실시예를 상세하게 설명한다. The above objects, features and advantages will become more apparent from the following detailed description taken in conjunction with the accompanying drawings. First of all, in adding reference numerals to the components of each drawing, it should be noted that the same components have the same number as much as possible even if displayed on different drawings. Hereinafter, a preferred embodiment of a method and system for controlling a traffic car in a multiple access online game according to the present invention will be described in detail.

도 1은 본 발명의 바람직한 일 실시예에 따른 다중 접속 온라인 게임 시스템의 구성을 도시한 도면이다. 1 is a diagram showing the configuration of a multi-access online game system according to a preferred embodiment of the present invention.

도 1을 참조하면, 본 발명에 의한 다중 접속 온라인 게임 시스템은 인증 서버(100), 게임 서버(102), 데이터베이스 서버(104) 및 다수의 실시간성 메시지 처리 서버(106)를 포함할 수 있다. Referring to FIG. 1, a multi-access online game system according to the present invention may include an authentication server 100, a game server 102, a database server 104, and a plurality of real-time message processing servers 106.

본 발명에 따른 다중 접속 온라인 게임 시스템은 네트워크를 통해 사용자 클라이언트(108)와 연결된다. The multiple access online game system according to the present invention is connected with the user client 108 via a network.

여기서 네트워크는 인터넷, 전용선을 포함하는 유선 네트워크와 무선 인터넷, 이동 통신망 및 위성 통신망을 포함하는 무선 네트워크를 모두 포함할 수 있다.The network may include both the Internet, a wired network including a dedicated line, and a wireless network including a wireless Internet, a mobile communication network, and a satellite communication network.

사용자 클라이언트(108)는 네트워크에 연결되어 다중 접속 온라인 게임 서비스를 제공받을 수 있는 게임 어플리케이션(110)이 설치된 복수의 단말 장치로서, 데스크탑 PC, 노트북, 이동 전화기, PDA 및 MBS(Mobile Broadcast System)폰 등을 모두 포함할 수 있다.The user client 108 is a plurality of terminal devices equipped with a game application 110 that can be connected to a network and receive a multi-access online game service. The user client 108 includes a desktop PC, a notebook computer, a mobile phone, a PDA, and a mobile broadcast system (MBS) phone. And the like.

본 발명은 다양한 종류의 다중 접속 온라인 게임에 적용될 수 있으나, 특히 플레이어 캐릭터(차량)와 함께 도로 상에서 움직이는 트래픽카가 존재하는 다중 접속 온라인 롤 플레잉 레이싱 게임에 적용될 수 있을 것이다. 이하에서는 본 발명에 의한 다중 접속 온라인 게임 시스템이 MMORPG 레이싱 게임에 적용되는 경우를 예로 하여 설명한다. The present invention may be applied to various types of multiplayer online games, but may be particularly applied to a multiplayer online role playing racing game in which a traffic car moving on a road with a player character (vehicle) is present. Hereinafter, a case where the multi-access online game system according to the present invention is applied to an MMORPG racing game will be described as an example.

도 1에서, 인증 서버(100)는 게임 시스템에 접속하려는 사용자가 게임 시스템에 접속할 수 있는 권한이 있는 사용자인지 여부를 인증하는 기능을 한다. In FIG. 1, the authentication server 100 performs a function of authenticating whether a user who wants to access a game system is a user who has authority to access a game system.

인증 서버(100)는 사용자 클라이언트(108)로부터 인증 요청 정보를 수신하며, 사용자 클라이언트(108)로부터의 인증 요청이 유효한지 여부를 판단한다. 상기 인증 요청 정보는 사용자의 아이디 및 비밀번호 정보를 포함할 수 있으며, 인증 서버(100)는 인증 요청 정보에 포함된 아이디 및 비밀 번호가 유효한지 여부를 판단한다. The authentication server 100 receives authentication request information from the user client 108 and determines whether the authentication request from the user client 108 is valid. The authentication request information may include user ID and password information, and the authentication server 100 determines whether the ID and password included in the authentication request information are valid.

아이디 및 비밀 번호가 유효한지 여부를 판단하기 위해 인증 서버(100)는 데이터베이스 서버(104)와 통신을 할 수도 있으며, 인증 정보를 저장하고 있는 다른 데이터베이스(미도시)와 통신을 할 수도 있다. In order to determine whether the ID and password are valid, the authentication server 100 may communicate with the database server 104, or may communicate with another database (not shown) that stores authentication information.

사용자 클라이언트(108)와 인증 서버(100) 사이의 인증은 아이디/비밀번호에 의한 인증뿐만 아니라 공지된 다양한 인증 방식들이 사용될 수 있을 것이다. Authentication between the user client 108 and the authentication server 100 may be used in a variety of known authentication methods as well as authentication by ID / password.

인증 서버(100)는 사용자 클라이언트(108)로부터의 인증 요청 정보가 유효할 경우, 해당 사용자 클라이언트의 게임 서버(102)로의 접속을 허용한다. If the authentication request information from the user client 108 is valid, the authentication server 100 allows the user server to access the game server 102.

게임 서버(102)는 사용자 클라이언트(108)들로부터 전송되는 게임 메시지를 처리하고 게임 진행을 제어하는 기능을 한다. 게임 서버(102)는 플레이어 캐릭터의 공격 등과 같은 게임 커맨드 메시지, 사용자 클라이언트들간의 채팅 메시지, NPC(None Player Character)로부터의 퀘스트 수락 및 완료와 같은 퀘스트 메시지 및 플레이어 캐릭터의 레벨 업 및 아이템 획득과 같은 상태 정보 메시지 등 다양한 종류의 게임 메시지를 수신하며, 수신된 게임 메시지를 미리 설정된 게임 로직에 따라 처리한다. Game server 102 functions to process game messages sent from user clients 108 and to control game progress. The game server 102 may include game command messages such as attacking player characters, chat messages between user clients, quest messages such as accepting and completing quests from a non-player character (NPC), and leveling up player items and obtaining items. It receives various types of game messages such as status information messages and processes the received game messages according to preset game logic.

예를 들어, 사용자 클라이언트(108)로부터 특정 대상에 대한 공격 메시지를 수신할 경우, 게임 서버(102)는 해당 대상에 공격을 받는 것으로 처리하며, 또 다른 예로, 플레이어의 레벨 업과 같은 상태 정보 메시지가 수신될 경우, 게임 서버(102)는 사용자의 레벨 업 정보를 데이터베이스 서버(104)에 전송하여 해당 사용자의 레벨 정보가 갱신되도록 한다. For example, when receiving an attack message for a specific target from the user client 108, the game server 102 treats the target as being attacked, and in another example, a status information message such as a player's level up is displayed. When received, the game server 102 sends the user's level up information to the database server 104 so that the user's level information is updated.

특히, 게임 서버(102)는 게임 중에 발생하는 다양한 이벤트(예를 들어, 플레이어 캐릭터의 상태 변경 등)들을 다수의 사용자들이 공유할 수 있도록 특정 사용자에게 발생한 이벤트 정보를 다른 사용자의 클라이언트들에 제공하는 기능을 한다. In particular, the game server 102 provides the client's clients with event information that occurred to a specific user so that a plurality of users can share various events that occur during the game (eg, the state of the player character). Function

본 발명의 바람직한 실시예에 따르면, 캐릭터의 레벨 업과 같은 캐릭터 상태 정보, 퀘스트 정보와 같이 데이터베이스에 저장될 필요가 있으며 실시간으로 다른 사용자에게 제공될 필요가 높지 않은 정보는 게임 서버(102)에 의해 처리된다. According to a preferred embodiment of the present invention, information that needs to be stored in a database, such as character status information, such as character level up, and quest information, and which is not necessary to be provided to other users in real time, is processed by the game server 102. do.

한편, 본 발명에 따른 게임 서버(102)는 레이싱 게임의 NPC 또는 방해 요소로 기능하는 트래픽카의 제어 기능을 수행할 수 있다. On the other hand, the game server 102 according to the present invention may perform a control function of the traffic car, which serves as NPC or obstruction of the racing game.

본 발명의 바람직한 일 실시예에 따르면, 게임 서버(102)는 트래픽카의 이동 경로에 상응하는 하나 이상의 패스 상에서 서로 영향을 줄 수 있는 트래픽카에 관한 리스트를 동적으로 생성하며, 해당 리스트를 기준으로 각 트래픽카에 관한 이동 정보 계산 과정을 수행한다. According to one preferred embodiment of the present invention, the game server 102 dynamically generates a list of traffic cars that can affect each other on one or more passes corresponding to the movement path of the traffic cars, based on the list. The mobile information calculation process for each traffic car is performed.

트래픽카는 복수의 패스(path) 상에서 이동하는데, 각 패스는 시작 위치가 종료 위치가 존재한다. The traffic car travels on a plurality of paths, each of which has a starting position and an ending position.

본 발명에서 패스는 레이싱 게임에서 도로의 한 차선에 해당하는 것일 수 있으며, 도로가 교차로 등으로 서로 구분되는 경우, 교차로 내에서의 직진 차선, 우회전 또는 좌회전 차선 등이 각각 별개의 패스로 존재할 수도 있다. 그러나 이에 한정됨이 없이 트래픽카가 이동을 논리적으로 구분할 수 각 경로를 패스라고 정의할 수도 있을 것이다. In the present invention, a pass may correspond to one lane of a road in a racing game, and when the roads are divided into intersections or the like, a straight lane, a right turning lane, or a left turning lane in the intersection may exist as separate passes. . However, the present invention may not be limited to this, and each path may be defined as a path in which traffic cars can logically distinguish movement.

본 발명의 바람직한 일 실시예에 따르면, 각 패스는 미리 설정된 속도를 기준으로 한 시간 정보로써 표현된다. According to one preferred embodiment of the present invention, each pass is represented by time information based on a preset speed.

예를 들어, 전체 길이가 1000m인 패스에 대해 본 발명은 해당 패스의 시작 위치와 종료 위치를 100km/h로 이동했을 때의 시간으로 표현하며, 이러한 경우, 시작 위치는 0초, 종료 위치는 1000*3600/100=36초로 표현될 수 있으며, 시작과 종료 위치 사이에 존재하는 위치도 역시 시간으로 표현될 수 있다. For example, for a path having a total length of 1000 m, the present invention is expressed as a time when the start position and the end position of the path are moved to 100 km / h, in which case, the start position is 0 seconds and the end position is 1000 3600/100 = 36 seconds, and the position between the start and end positions may also be expressed in time.

이러한 방법으로 패스를 생성하는 경우, 각 트래픽카의 위치를 시간 정보와 같이 하나의 파라미터를 이용하여 표현할 수 있기 때문에 트래픽카의 위치 계산 과정 등이 간단하게 수행될 수 있다.When the path is generated in this manner, since the location of each traffic car can be expressed using a single parameter such as time information, the location calculation process of the traffic car can be easily performed.

상기와 같이 생성된 복수의 패스 상에 트래픽카가 시간 순으로 배치되며, 각 트래픽카는 각 패스에 상응하는 리스트에서 독립적으로 관리된다.Traffic cars are arranged in chronological order on the plurality of passes generated as described above, and each traffic car is independently managed in a list corresponding to each pass.

리스트로서 관리되는 과정에 대해서는 하기에서 상세하게 설명할 것이다. Processes managed as a list will be described in detail below.

한편, MMORPG 레이싱 게임에서는 실제 도로와 유사한 환경이 제공되기 때문에 도로 상에는 신호등, 교차로 또는 병목 지점 등이 존재할 수 있다. Meanwhile, in an MMORPG racing game, since an environment similar to a real road is provided, there may be a traffic light, an intersection, or a bottleneck on the road.

이처럼 실제 세계와 유사한 환경에서 트래픽카가 이동하는 경우에는 다른 레이싱 게임과 달리 트래픽카가 가속, 감속 또는 정지해야 하는 상황이 빈번하게 발생할 수 있다. When a traffic car moves in an environment similar to the real world, a situation in which a traffic car must accelerate, decelerate, or stop may occur frequently unlike other racing games.

본 발명에 따르면, 상기와 같은 트래픽카의 이동을 효율적으로 제어하기 위해 게임 서버(102)는 미리 설정된 시간 간격(예를 들어, 1초 간격)으로 트래픽카의 이동 정보를 계산하는 과정을 수행한다. According to the present invention, in order to efficiently control the movement of the traffic car as described above, the game server 102 performs a process of calculating the movement information of the traffic car at a predetermined time interval (for example, one second interval). .

전술한 바와 같이, 이동 정보의 계산은 서로 영향을 미치는 트래픽카를 기준으로 수행될 수 있다.As described above, the calculation of the movement information may be performed based on traffic cars affecting each other.

여기서 트래픽카의 이동 정보는 사용자 클라이언트(108)에서 트래픽카의 시뮬레이션을 위한 정보일 수 있으며, 예를 들어, 트래픽카의 가속 또는 감속을 위한 가속도일 수 있다.The movement information of the traffic car may be information for simulation of the traffic car in the user client 108, for example, acceleration for acceleration or deceleration of the traffic car.

게임 서버(102)는 게임 상에서 정지 이벤트가 발생하는 경우(예를 들어, 신호등이 정지 신호가 되거나 또는 충돌이 발생하는 경우), 정지 이벤트가 발생한 패스에 대해 서로 영향을 미치는 트래픽카를 탐색하며, 미리 설정된 알고리즘에 따라 탐색된 트래픽카의 이동 정보 계산을 순차적으로 수행한다. When a stop event occurs in the game (for example, when a traffic light becomes a stop signal or a collision occurs), the game server 102 searches for traffic cars that affect each other on the path where the stop event occurs, and According to the set algorithm, the movement information of the found traffic car is sequentially calculated.

트래픽카의 이동 정보 계산 과정은 하기에서 보다 상세하게 설명될 것이다. The process of calculating the movement information of the traffic car will be described in more detail below.

한편, 복수의 실시간성 메시지 처리 서버(106)는 사용자 클라이언트(108)에서 전송되는 메시지 중 실시간성이 중시되는 메시지를 전담 처리한다. On the other hand, the plurality of real-time message processing server 106 is dedicated to process the message of the real-time importance of the message transmitted from the user client 108.

레이싱 게임은 다른 게임과는 달리 플레이어 캐릭터의 이동 속도가 매우 빠르며, 충돌이 빈번하게 일어나기 때문에 각 플레이어 캐릭터의 이동 또는 충돌 메시지를 실시간으로 처리하는 것이 중요하다. Unlike other games, racing games have a very fast movement of player characters, and collisions occur frequently, so it is important to process each player character's movement or collision messages in real time.

N개의 플레이어 캐릭터에 대해 이동 메시지와 같은 실시간성 메시지를 게임 서버(102)에서 처리하는 경우, 한 개의 플레이어 캐릭터에 대해 N개의 사용자 클라이언트들에 이벤트 정보를 제공해야 하기 때문에 부하가 커질 수 있다. When the game server 102 processes a real-time message such as a moving message for N player characters, the load may be increased because event information should be provided to N user clients for one player character.

이에, 게임 서버(102)와 별개로 실시간성 메시지 처리 서버(106)를 제공하여 플레이어 캐릭터의 이동 또는 충돌 메시지와 같은 실시간성 메시지를 수신하고, 다른 사용자 클라이언트에 전송할 수 있도록 한다.Accordingly, a real-time message processing server 106 is provided separately from the game server 102 to receive a real-time message such as a player character's movement or collision message, and transmit it to another user client.

바람직하게, 실시간성 메시지 처리 서버(106)는 단순히 실시간성 메시지를 수신 및 전송하는 것이 아니라, 이동 또는 충돌 메시지를 전송한 플레이어 캐릭터를 중심으로 소정 거리에 존재하는 플레이어 캐릭터를 판단하는 과정을 수행한다. Preferably, the real-time message processing server 106 does not simply receive and transmit the real-time message, but performs a process of determining a player character existing at a predetermined distance with respect to the player character that has transmitted the movement or collision message. .

예를 들어, 제1 플레이어 캐릭터의 이동 메시지가 전송된 경우, 실시간성 메 시지 처리 서버(106)는 제1 플레이어 캐릭터와 소정 거리 이내에 존재하는 플레이어 캐릭터를 판단한 후, 해당 캐릭터의 사용자 클라이언트(108)에게만 선택적으로 제1 플레이어 캐릭터의 이동 정보를 전송하게 된다. For example, when a movement message of the first player character is transmitted, the real-time message processing server 106 determines a player character existing within a predetermined distance from the first player character, and then the user client 108 of the character. Selectively transmits movement information of the first player character.

이에 따라 플레이어 캐릭터의 이동 정보를 무조건적으로 다른 사용자 클라이언트에 전송하는 것보다 시스템 부하가 한층 경감될 수 있다.Accordingly, the system load can be further reduced than unconditionally transmitting the movement information of the player character to other user clients.

상기한 과정은 단지 이동 메시지 뿐만 아니라 동일 공간에 존재하는 다른 사용자에게 보내는 채팅 메시지 등에 대해서도 동일하게 적용될 수 있을 것이다. The above process may be equally applied to not only mobile messages but also chat messages sent to other users in the same space.

한편, 상기에서는 트래픽카의 제어를 게임 서버(102)가 수행하는 것으로 설명하였으나 이와 달리 트래픽카의 제어 과정을 실시간성 메시지 처리 서버(106)에 수행될 수 있다는 점은 당업자에게 있어 자명할 것이며 또한 부하가 문제되지 않는 경우, 게임 서버(102)에서 처리할 수 있다는 것 역시 당업자에게 있어 자명할 것이다. Meanwhile, in the above description, the game server 102 controls the traffic car. However, it will be apparent to those skilled in the art that the traffic car control process may be performed on the real-time message processing server 106. It will also be apparent to those skilled in the art that if the load is not an issue, the game server 102 can handle it.

데이터베이스 서버(104)는 게임과 관련된 정보를 저장하고, 저장된 정보를 게임 서버(102) 또는 사용자 클라이언트의 요청에 응답하여 제공하는 기능을 한다. The database server 104 stores information related to a game and provides the stored information in response to a request of the game server 102 or a user client.

데이터베이스 서버(104)는 플레이어 캐릭터의 상태 정보, 아이템 정보, 퀘스트 정보 등을 저장할 수 있으며, 게임 서버(102)로부터 캐릭터 상태, 아이템, 퀘스트 등과 관련한 갱신 정보를 수신할 경우 해당 정보를 갱신한다. The database server 104 may store state information, item information, quest information, and the like of the player character, and update the corresponding information when receiving update information related to the character status, items, quests, and the like from the game server 102.

도 2는 본 발명의 바람직한 일 실시예에 따른 게임 서버의 모듈 구성을 도시한 블록도이다. 2 is a block diagram showing the module configuration of a game server according to an embodiment of the present invention.

도 2를 참조하면, 본 발명의 일 실시예에 따른 게임 서버는 복수의 플레이어 오브젝트(200), 채널 관리부(202), 게임 로직 제어부(204), 트래픽카 제어부(205), 메시지 제어부(206), 온라인 플레이어 캐릭터 관리부(208), NPC 관리부(210), 퀘스트 관리부(212), 아이템 관리부(214) 캐릭터 관리부(216) 및 길드 관리부(218)를 포함할 수 있다. 2, a game server according to an embodiment of the present invention includes a plurality of player objects 200, a channel manager 202, a game logic controller 204, a traffic car controller 205, and a message controller 206. , An online player character manager 208, an NPC manager 210, a quest manager 212, an item manager 214, a character manager 216, and a guild manager 218.

플레이어 오브젝트(200)는 게임 서버에 접속한 사용자 클라이언트(108)들과의 메시지 송수신을 제어하는 기능을 한다. 플레이어 오브젝트(200)는 게임 서버(102)에 사용자 클라이언트가 접속할 때 해당 사용자 클라이언트의 접속에 상응하여 생성되며, 사용자 클라이언트의 접속이 끊어진 경우 소멸된다. The player object 200 functions to control message transmission and reception with the user clients 108 connected to the game server. The player object 200 is created corresponding to the connection of the user client when the user client connects to the game server 102, and is destroyed when the user client is disconnected.

채널 관리부(202)는 레이싱 게임에서 다양하게 존재할 수 있는 게임 영역을 관리한다. 여기서 게임 영역은 퀘스트 수행 영역, 경주 영역 및 상점 영역과 같이 게임 상에서 서로 구분될 수 영역을 의미한다. The channel manager 202 manages a game area that can exist in various ways in the racing game. Here, the game area means an area that can be distinguished from each other in the game, such as a quest execution area, a race area, and a shop area.

게임 로직 제어부(204)는 게임상에서 플레이어 캐릭터의 퀘스트 완료 여부, 경주 우승자 결정과 같이 게임 진행에 필요한 제어 과정을 수행한다. The game logic control unit 204 performs a control process necessary for game progression such as determining whether a player character completes a quest or a race winner in the game.

트래픽카 제어부(205)는 게임 상에 존재하는 트래픽카를 제어한다. The traffic car control unit 205 controls the traffic car existing on the game.

본 발명에 따른 트래픽카 제어부(205)는 패스 생성, 트래픽카의 감속 또는 가속을 위한 이동 정보 계산, 병목 지점에서의 처리, 트래픽카의 차선 변경을 위한 제어 과정을 수행하며, 이에 대한 상세 구성은 하기에서 설명한다.The traffic car controller 205 according to the present invention performs a control process for generating a path, calculating movement information for deceleration or acceleration of a traffic car, processing at a bottleneck point, and changing lanes of the traffic car. It demonstrates below.

상기한 플레이어 오브젝트(200)는 사용자 클라이언트(108)로부터 전송되는 게임 관련 메시지를 메시지 제어부(206)에 제공하며, 메시지 제어부(206)로부터 제공되는 게임 서버의 게임 관련 메시지를 해당 사용자 클라이언트에 전송한다. The player object 200 provides a game related message transmitted from the user client 108 to the message controller 206 and transmits a game related message of the game server provided from the message controller 206 to the user client. .

메시지 제어부(206)는 사용자 클라이언트로부터 전송된 게임 관련 메시지들을 플레이어 오브젝트(200)로부터 수신하며, 수신된 메시지를 이를 처리할 구성 요소에 분배하는 기능을 한다. 예를 들어, 특정 플레이어 캐릭터의 착용 아이템 변경 메시지가 수신될 경우, 메시지 제어부(206)는 수신된 착용 아이템 변경 메시지를 아이템 관리부(214) 및 캐릭터 관리부(216)에 제공한다. 또한, 메시지 제어부(206)는 수신된 메시지가 특정 사용자의 퀘스트 수락 메시지일 경우, 퀘스트 수락 메시지를 퀘스트 관리부(212)에 전송한다. The message control unit 206 receives game-related messages transmitted from the user client from the player object 200 and distributes the received message to the component to process it. For example, when a wear item change message of a specific player character is received, the message controller 206 provides the received wear item change message to the item manager 214 and the character manager 216. In addition, when the received message is a quest acceptance message of a specific user, the message controller 206 transmits the quest acceptance message to the quest manager 212.

또한, 메시지 제어부(206)는 접속한 특정 사용자 클라이언트에 메시지를 전송하고자 할 경우, 해당 메시지를 해당 사용자 클라이언트와 연관된 플레이어 오브젝트에 제공한다. 예를 들어, 특정 사용자로의 채팅 메시지를 메시지 제어부(206)가 수신한 경우, 메시지 제어부(206)는 채팅 메시지의 수신자에 상응하는 사용자와 연관된 플레이어 오브젝트에 채팅 메시지를 전송하여 채팅 메시지가 해당 사용자의 클라이언트에 전송되도록 한다. 또 다른 예로, 특정 플레이어 캐릭터의 충돌 메시지를 수신할 경우, 메시지 제어부(206)는 충돌을 볼 수 있는 지점에 근접 위치한 캐릭터의 사용자들을 판단하고 해당 사용자들의 클라이언트들에 충돌 장면 및 충돌에 상응하는 시뮬레이션을 위한 정보를 제공하는 기능을 한다. In addition, when the message controller 206 wants to transmit a message to a specific connected user client, the message controller 206 provides the message to a player object associated with the corresponding user client. For example, if the message controller 206 receives a chat message to a specific user, the message controller 206 sends the chat message to a player object associated with the user corresponding to the receiver of the chat message, so that the chat message is sent to that user. To be sent to the client. As another example, when receiving a collision message of a specific player character, the message controller 206 determines the users of the character located close to the point where the collision can be seen, and simulates the collision scene and the collision corresponding to the clients of the users. Provides information for

온라인 플레이어 캐릭터 정보 관리부(208)는 게임 서버에 접속한 온라인 플레이어 캐릭터에 관한 정보를 관리한다.The online player character information management unit 208 manages information about the online player character connected to the game server.

온라인 플레이어 캐릭터 정보 관리부(208)는 게임 서버에 접속한 온라인 사용자의 정보를 관리한다. 플레이어 캐릭터 정보는 온라인 상에 존재하는 플레이어 캐릭터의 식별자, 위치, 레벨, 아이템과 같은 캐릭터의 상태 정보를 포함할 수 있다. The online player character information management unit 208 manages the information of the online user connected to the game server. The player character information may include state information of a character such as an identifier, a location, a level, and an item of a player character existing online.

온라인 플레이어 캐릭터 정보 관리부(208)의 정보는 메시지 제어부(206)에서 메시지를 전송할 수신자를 판단할 때 사용된다. 예를 들어, 특정 사용자의 캐릭터 착용 아이템을 변경할 경우, 착용 아이템 변경 정보를 주변의 사용자에게 제공할 필요가 있다. 이때, 메시지 제어부(206)는 온라인 플레이어 캐릭터 정보 관리부(208)에서 관리되는 정보를 이용하여 착용 아이템을 변경한 플레이어 캐릭터의 주변에 있는 플레이어 캐릭터들을 추출하고 해당 플레이어 캐릭터들에 상응하는 플레이어 오브젝트에 착용 아이템 변경 메시지를 제공한다. The information of the online player character information management unit 208 is used when the message control unit 206 determines the receiver to which the message is to be sent. For example, when changing a character wearing item of a specific user, it is necessary to provide worn item change information to nearby users. At this time, the message controller 206 extracts player characters in the vicinity of the player character that has changed the worn item by using the information managed by the online player character information management unit 208 and wears the player characters corresponding to the corresponding player characters. Provide an item change message.

다른 예로, 특정 플레이어 캐릭터가 이동할 경우, 메시지 제어부(206)는 온라인 플레이어 캐릭터 정보 관리부(208)로부터 이동한 캐릭터의 주변에 있는 플레이어 캐릭터들을 추출하고 해당 플레이어 캐릭터에 상응하는 플레이어 오브젝트에 이동 메시지를 제공한다. As another example, when a specific player character moves, the message controller 206 extracts player characters in the vicinity of the character moved from the online player character information management unit 208 and provides a movement message to a player object corresponding to the player character. do.

메시지 제어부(206)는 특정 플레이어 캐릭터의 상태 변경 메시지(예를 들어, 이동 메시지, 착용 아이템 변경 메시지, 충돌 메시지 등을 포함함)를 수신할 경우, 상태 변경 정보가 온라인 플레이어 캐릭터 정보 관리부(208)에 제공하여 온라인 상태인 플레이어 캐릭터의 상태 정보가 관리되도록 한다. When the message control unit 206 receives a state change message (eg, including a moving message, a worn item change message, a conflict message, etc.) of a specific player character, the state change information is transmitted to the online player character information management unit 208. To provide the status information of the player character that is online.

NPC(None Player Character) 관리부(210)는 게임상에 등장하는 NPC 정보를 관리하는 기능을 한다. 예를 들어, 레이싱 게임의 경우, NPC 관리부(210)는 퀘스트를 제공하는 NPC 정보, 게임상에 등장하는 트래픽 카에 대한 정보를 관리한다. The NPC (None Player Character) management unit 210 functions to manage NPC information appearing in the game. For example, in the case of a racing game, the NPC management unit 210 manages NPC information providing quests and information on traffic cars appearing on the game.

퀘스트 관리부(212)는 다중 접속 온라인 게임에서 사용자들에게 제공되는 퀘스트에 대한 정보 및 퀘스트 수락 및 퀘스트 완료 여부에 대한 정보를 관리한다. The quest manager 212 manages information about quests provided to users in a multi-access online game, and information about quest acceptance and quest completion.

특정 사용자가 특정 퀘스트를 수락할 경우, 퀘스트 수락 메시지는 메시지 제어부(206)에 제공되며, 메시지 제어부(206)는 퀘스트 수락 메시지를 퀘스트 관리부(212)에 제공한다. 퀘스트 관리부(212)는 퀘스트 수락 정보를 데이터베이스 서버(104)에 전송하여 퀘스트 수락 정보가 반영되도록 한다. 퀘스트 완료 메시지의 경우에도, 상술한 퀘스트 수락 메시지와 동일하게 퀘스트 관리부(212)에 의해 데이터베이스 서버(104)에 반영된다. When a specific user accepts a specific quest, the quest accept message is provided to the message controller 206, and the message controller 206 provides the quest accept message to the quest manager 212. The quest manager 212 transmits the quest acceptance information to the database server 104 so that the quest acceptance information is reflected. Also in the case of the quest completion message, the quest management unit 212 is reflected to the database server 104 in the same manner as the quest acceptance message described above.

아이템 관리부(214)는 게임 중에 제공되는 아이템에 대한 정보 및 플레이어 캐릭터의 아이템 변경 정보(아이템의 획득, 아이템 드랍 등을 포함함)를 관리한다. 특정 플레이어 캐릭터가 아이템을 획득할 경우, 아이템 획득 메시지가 메시지 제어부(206)에 제공하며, 메시지 제어부(206)는 아이템 관리부(214)에 아이템 획득 메시지를 제공한다. 아이템 관리부(214)는 아이템 획득 정보를 데이터베이스 서버(104)에 전송하여 아이템 획득 정보가 반영되도록 한다. The item manager 214 manages information on items provided during the game and item change information (including item acquisition, item drop, etc.) of the player character. When a specific player character acquires an item, an item acquisition message is provided to the message controller 206, and the message controller 206 provides an item acquisition message to the item manager 214. The item manager 214 transmits the item acquisition information to the database server 104 so that the item acquisition information is reflected.

캐릭터 관리부(216)는 사용자들이 생성한 플레이어 캐릭터들의 정보를 관리하며, 캐릭터에 대한 상태 변경 메시지(캐릭터 레벨 업, 아이템 획득 정보 등을 포함함)를 수신하여 데이터베이스 서버(104)에 제공하는 기능을 한다. The character manager 216 manages the information of the player characters generated by the user, and receives a state change message (including character level up, item acquisition information, etc.) for the character and provides the function to the database server 104. do.

길드 관리부(218) 다중 접속 온라인 게임 사용자들이 형성하는 길드 정보를 관리한다. 길드 관리부(218)는 길드 구성원의 가입/탈퇴 메시지 및 길드 구성원의 레벨 변경 메시지와 같은 길드 관련 메시지를 수신하며, 수신된 메시지에 포함된 길드 관련 정보를 데이터베이스 서버(104)에 제공한다. 또한, 길드 관리부(218)는 길드 구성원 상태, 길드 구성원 명단과 같은 길드 관련 요청 정보가 있을 경우, 데이터베이스 서버(104)와의 통신을 통해 길드 정보를 제공한다. The guild manager 218 manages guild information formed by the multi-access online game users. The guild manager 218 receives a guild related message such as a guild member's join / leave message and a guild member's level change message, and provides the guild related information included in the received message to the database server 104. In addition, the guild manager 218 provides guild information through communication with the database server 104 when there is guild related request information such as a guild member status and a guild member list.

도 3은 본 발명의 바람직한 일 실시예에 따른 트래픽카 제어부의 상세 구성을 도시한 도면이다. 3 is a diagram showing a detailed configuration of a traffic car control unit according to an embodiment of the present invention.

도 3에 도시된 바와 같이, 본 발명에 따른 트래픽카 제어부는 패스 생성부(300), 리스트 생성부(302), 타이머부(304), 컨트롤러(306), 이동 정보 계산부(308), 병목 지점 탐색부(310), 차선 변경부(312) 및 신호등 변경부(314)를 포함할 수 있다. As shown in FIG. 3, the traffic car controller according to the present invention includes a path generator 300, a list generator 302, a timer 304, a controller 306, a movement information calculator 308, and a bottleneck. The point search unit 310 may include a lane change unit 312 and a traffic light change unit 314.

패스 생성부(300)는 트래픽카의 이동 경로에 상응하는 패스를 생성한다.The path generation unit 300 generates a path corresponding to the moving path of the traffic car.

전술한 바와 같이, 본 발명에 따른 패스는 시작 위치와 종료 위치를 가지며, 패스 상의 각 위치는 미리 설정된 속도를 기준으로 한 위치 시간으로 표현된다.As described above, a path according to the present invention has a start position and an end position, and each position on the path is represented by a position time based on a preset speed.

또한 패스 생성부(300)는 패스 상의 특정 위치에 신호등을 위치시킨다. 이때 신호등은 시작 위치에서의 거리 순으로 소팅(sorting)되어 배치될 수 있다. In addition, the path generation unit 300 locates the traffic light at a specific position on the path. At this time, the traffic lights may be arranged sorted in the order of distance from the start position.

이와 같이, 신호등이 배치된 패스가 생성된 후, 패스 생성부(300)는 각 패스 상에 트래픽카를 시간 순으로 배치한다. 상기한 바와 같이, 본 발명에 따른 패스의 각 위치는 시간으로 표현되기 때문에 트래픽카 역시 시간 정보에 따라 배치할 수 있다. In this way, after the path where the traffic lights are arranged is generated, the path generation unit 300 arranges the traffic cars on each path in chronological order. As described above, since each position of the path according to the present invention is represented by time, traffic cars can also be arranged according to time information.

한편, 본 발명에 따른 레이싱 게임은 실제 세계를 반영하기 위해 복수의 차선(직진 차선, 좌회전 및 우회전 차선)으로 이루어진 교차로 등을 포함할 수 있다. 도 14에 도시된 바와 같이, 본 발명에 따른 패스 생성부(300)는 교차로 안과 밖이 구별되는 패스를 생성할 수 있다. On the other hand, the racing game according to the present invention may include an intersection consisting of a plurality of lanes (straight lane, left turn and right turn lane) to reflect the real world. As shown in FIG. 14, the path generation unit 300 according to the present invention may generate a path that is distinguished from an intersection.

이때, 교차로에서 끝나는 패스에는 교차로 신호등이 배치되며, 교차로 안의 패스에는 신호등이 배치되지 않는다. At this time, an intersection traffic light is disposed at the path ending at the intersection, and no traffic light is disposed at the path inside the intersection.

리스트 생성부(302)는 각 패스 상에 존재하는 트래픽카에 관한 리스트를 동적으로 생성한다. The list generator 302 dynamically generates a list of traffic cars existing on each path.

도 4는 본 발명에 따른 리스트 생성부(302)의 상세 도면을 도시한 것으로서, 도 4에 도시된 바와 같이, 리스트 생성부(302)는 차량 리스트 생성부(400), 후보 리스트 생성부(402), 예상 패스 리스트 생성부(404) 및 정지 신호등 리스트 생성부(406)를 포함할 수 있다. 4 is a detailed view of the list generating unit 302 according to the present invention. As shown in FIG. 4, the list generating unit 302 includes a vehicle list generating unit 400 and a candidate list generating unit 402. ), The expected path list generator 404 and the stop light list generator 406.

차량 리스트 생성부(400)는 패스 상에서 발생하는 이벤트에 관계 없이 각 패스 상에 존재하는 모든 트래픽카에 관한 리스트를 생성한다. The vehicle list generator 400 generates a list of all traffic cars existing on each path, regardless of events occurring on the path.

여기서, 차량 리스트는 각 패스에 존재하는 모든 트래픽카의 위치를 순차적으로 기록한 것으로서, 패스 식별자 필드, 트래픽카 식별자 필드, 위치 필드 및 트래픽카의 이동 정보 필드를 포함할 수 있다. Here, the vehicle list sequentially records the positions of all traffic cars existing in each pass, and may include a path identifier field, a traffic car identifier field, a location field, and a traffic information field of the traffic car.

패스 식별자 필드에는 복수의 패스를 식별할 수 있도록 하는 정보가 기록될 수 있으며, 트래픽카 식별자 필드는 복수의 트래픽카를 식별하기 위한 정보가 기록된다. Information for identifying a plurality of paths may be recorded in the path identifier field, and information for identifying a plurality of traffic cars is recorded in the traffic car identifier field.

위치 필드에는 특정 패스 상에서의 각 트래픽카의 위치가 기록되는 것으로서, 해당 위치는 패스 상에서의 시간 정보로서 기록될 수 있다. The location field records the location of each traffic car on a specific path, and the location may be recorded as time information on the path.

트래픽카의 이동 정보 필드에는 각 트래픽카에 대해 동일 패스 상에 존재하는 앞선 트래픽카와의 거리 정보, 현재 속도 정보, 가속도 정보가 기록될 수 있다. In the movement information field of the traffic car, distance information, current speed information, and acceleration information of the preceding traffic car existing on the same path may be recorded for each traffic car.

도 4에서 후보 리스트 생성부(402) 및 예상 패스 리스트 생성부(404)는 실제 게임이 진행되는 동안 특정 상황이 발생하는 경우(예를 들어, 트래픽카의 가감속이 요구되는 경우이며, 정지 이벤트, 교차로 통과 이벤트 시를 포함함) 동적으로 트래픽카 리스트를 생성하는 것으로서, 이 역시 패스 식별자 필드, 트래픽카 식별자 필드, 위치 시간 필드 및 이동 정보 필드 등을 포함할 수 있다.In FIG. 4, the candidate list generating unit 402 and the expected path list generating unit 404 are cases in which a specific situation occurs while the actual game is in progress (for example, when acceleration / deceleration of a traffic car is required, a stop event, The traffic car list is dynamically generated, which may include a pass identifier field, a traffic car identifier field, a location time field, a movement information field, and the like.

한편, 정지 신호등 리스트 생성부(406)는 상기한 바와 같이, 각 패스에 상응하여 배치된 신호등 중 정지 신호로 변경된 신호등이 복수 개로 존재하는 경우, 정지 신호등에 관한 리스트를 동적으로 생성한다. On the other hand, as described above, when there are a plurality of traffic lights changed to stop signals among the traffic lights arranged corresponding to each path, the stop traffic light list generating unit 406 dynamically generates a list regarding the stop traffic lights.

후보 리스트 생성부(402), 예상 패스 리스트 생성부(404) 및 정지 신호 리스트(406)에 대해서는 하기에서 보다 상세하게 설명할 것이다. The candidate list generator 402, the expected path list generator 404, and the stop signal list 406 will be described in more detail below.

타이머부(304)는 트래픽카의 제어를 위한 계산 시간에 도달하였는지 여부를 판단할 수 있도록 한다. The timer unit 304 may determine whether the calculation time for controlling the traffic car has been reached.

예를 들어, 트래픽카의 이동 정보 계산이 1초 단위로 수행되는 것으로 설정된 경우, 타이머부(304)는 시간의 경과를 카운트할 수 있으며, 1초 경과 후 컨트롤러(306)에 시간 경과 신호를 출력할 수 있다. For example, when the movement information of the traffic car is set to be performed in units of 1 second, the timer unit 304 may count the elapsed time, and output a time elapsed signal to the controller 306 after 1 second elapses. can do.

컨트롤러(306)는 시간 경과 신호가 수신되는 경우에 이동 정보 계산부(308)에 계산 개시 신호를 출력할 수 있다. The controller 306 may output the calculation start signal to the movement information calculator 308 when the time elapsed signal is received.

이동 정보 계산부(308)는 상기와 같이 미리 설정된 시간 단위로 트래픽카의 이동을 제어하기 위한 계산 과정을 수행한다.The movement information calculator 308 performs a calculation process for controlling the movement of the traffic car on a predetermined time basis as described above.

여기서 이동 정보의 계산은 미리 설정된 시간(예를 들어, 1초) 동안 각 트래픽카가 갖는 가속도를 계산하는 과정일 수 있으며, 예를 들어, 앞차와의 거리를 고려하여 가속 또는 감속해야 가속도 정보를 계산하는 과정일 수 있다. Here, the calculation of the movement information may be a process of calculating the acceleration of each traffic car for a preset time (for example, 1 second). For example, the acceleration information should be accelerated or decelerated in consideration of the distance to the vehicle ahead. It can be a process.

특히, 본 발명에 따른 이동 정보 계산부(308)는 복수의 트래픽카가 도로 사정(정지, 충돌, 병목 지점 출현 등)에 의해 가감속해야만 하는 상황에서 필요한 계산 과정을 수행한다. In particular, the movement information calculation unit 308 according to the present invention performs a calculation process required in a situation where a plurality of traffic cars must accelerate and decelerate due to road conditions (stopping, collision, occurrence of bottlenecks, etc.).

예를 들어, 하나의 패스에 대해 신호등의 정지 신호로의 변경 또는 충돌과 같은 정지 이벤트가 발생한 경우, 이동 정보 계산부(308)는 후보 리스트를 참조하여 계산 시작 트래픽카를 결정한다. For example, when a stop event such as a change or a collision to a stop signal of a traffic light occurs in one pass, the movement information calculator 308 determines the calculation start traffic car with reference to the candidate list.

여기서 후보 리스트는 상기한 후보 리스트 생성부(402)에 의해 동적으로 생성된 것으로서, 정지 이벤트에 의해 정지하여야 하는 트래픽카의 리스트이다. Here, the candidate list is dynamically generated by the candidate list generation unit 402 described above and is a list of traffic cars to be stopped by the stop event.

예를 들어, 신호 변경의 경우에 후보 리스트에는 정지 신호로 바뀐 신호등을 통과하지 못하고, 정지 신호등에 의해 감속되어야 하는 복수의 트래픽카에 관한 정보가 포함될 수 있지만, 현재 트래픽카의 속도를 고려할 때 신호등을 통과할 수 있을 것으로 예상되는 트래픽카와 신호등과의 거리가 멀어 정지를 요구하지 않는 트래픽카는 제외될 수 있다. For example, in the case of a signal change, the candidate list may include information about a plurality of traffic cars that cannot pass through the traffic light converted to the stop signal and must be decelerated by the stop light, but the traffic light is considered when considering the speed of the current traffic car. Traffic cars that are expected to be able to pass through are far from traffic lights and do not require a stop.

한편, 계산 시작 트래픽카는 후보 리스트에 존재하는 트래픽카 중에서 가장 먼저 정지하여야 하는 트래픽카를 의미하며, 예를 들어, 신호등을 통과하지 못한 것 중 신호등에 가장 가까이 위치한 트래픽카가 계산 시작 트래픽카로 결정될 수 있다. On the other hand, the calculation start traffic car means a traffic car that must be stopped first among the traffic cars existing in the candidate list. For example, the traffic car located closest to the traffic light among those that do not pass the traffic light may be determined as the calculation start traffic car. .

이동 정보 계산부(308)는 계산 시작 트래픽카에 대해 현재 속도, 현재 위치 및 정지선과의 거리 등에 관한 데이터를 이용하여 트래픽카의 가속도를 계산한다.The movement information calculation unit 308 calculates the acceleration of the traffic car using data on the current speed, the current position, the distance to the stop line, and the like for the calculation start traffic car.

계산 시작 트래픽카에 대한 가속도 계산이 완료된 후, 이동 정보 계산부(308)는 k 번째(k는 1이상의 자연수) 트래픽카의 가속도를 계산하고, 후행하는 k+1번째 트래픽카에 대해 k번째 트래픽카의 가속도를 이용하여 가속도를 계산한다. After the acceleration calculation for the calculation start traffic car is completed, the movement information calculation unit 308 calculates the acceleration of the k th (k is a natural number of 1 or more) traffic car, and the k th traffic for the following k + 1 th traffic car. The acceleration is calculated using the car's acceleration.

계산된 가속도 정보는 사용자 클라이언트(108)에 전송되며, 각 사용자 클라이언트에 설치된 게임 어플리케이션(110)은 미리 설정된 시간동안, 즉 트래픽카의 다음 제어 정보가 오기 전까지의 시간 동안 가속도 정보를 이용하여 도 13과 같이, 각 트래픽카가 계산된 가속도에 따라 이동할 수 있도록 시뮬레이션할 수 있다. The calculated acceleration information is transmitted to the user client 108, and the game application 110 installed in each user client uses the acceleration information for a predetermined time, that is, for a time until the next control information of the traffic car comes. As shown, each traffic car can be simulated to move according to the calculated acceleration.

이에 따라 단순히 앞차만을 고려하여 트래픽카의 이동 정보가 계산되는 것이 아니라 서로 영향을 미칠 수 있는 복수의 트래픽카에 대해 순차적으로 가속도 계산이 수행되기 때문에 계산 횟수를 증가시킬 필요가 없으며, 단순히 앞차만을 고려하는 것에 비해 계산의 정확성을 높일 수 있다. As a result, the acceleration information is sequentially calculated for traffic cars that may affect each other instead of simply considering the front vehicle, and there is no need to increase the number of calculations. It can improve the accuracy of the calculation compared to

상기한 계산은 모든 패스에 대해 계산이 끝날 때까지 반복 수행된다. The above calculation is repeated for all the passes until the calculation is completed.

상기에서 이동 정보의 계산은 트래픽카의 가속도를 계산하는 것으로 설명하였으나, 반드시 이에 한정되지는 않으며, 이동 정보는 점진적인 위치 변화 또는 속도 변화에 관한 정보일 수 있다.Although the above calculation of the movement information is described as calculating the acceleration of the traffic car, the present invention is not limited thereto, and the movement information may be information about a gradual position change or a speed change.

만일 게임 중 플레이어 캐릭터와 트래픽카가 충돌하는 경우에도 충돌한 트래픽카는 상기한 신호등과 동일한 역할을 수행하며, 충돌한 트래픽카를 정지선으로 하여 상기와 동일한 계산 과정이 수행될 수 있다. If the player character and the traffic car collide during the game, the crashed traffic car plays the same role as the traffic light and the same calculation process can be performed using the crashed traffic car as the stop line.

한편, 본 발명에 따른 이동 정보 계산부(308)는 도 14와 같이, 복수의 패스가 서로 교차하는 것을 고려하여 트래픽카의 이동 정보를 계산할 수 있다.Meanwhile, the movement information calculator 308 according to the present invention may calculate movement information of the traffic car in consideration of a plurality of paths crossing each other as shown in FIG. 14.

전술한 바와 같이, 도 14에 도시된 교차로를 참조할 때, 본 발명에 따른 패스는 교차로의 안과 밖 그리고, 차선 별로 별개로 생성될 수 있다.As described above, when referring to the intersection shown in FIG. 14, a path according to the present invention may be generated separately in and out of the intersection and for each lane.

본 발명에 따른 패스 생성부(300)는 교차로에 대해 패스의 노드(시작과 끝)를 연결하는 그래프를 생성하는데, 도 14를 참조할 때, 본 발명에 따른 그래프는 직진 차선에 상응하는 복수의 패스(1400,1402,1404)를 연결한 그래프, 좌회전 차선에 상응하는 복수의 패스(1406,1408,1404)를 연결하는 그래프 및 우회전 차선에 상응하는 복수의 패스(1400,1410,1412)를 연결하는 그래프 등을 포함할 수 있다. The path generation unit 300 according to the present invention generates a graph connecting the nodes (start and end) of the path with respect to the intersection. Referring to FIG. 14, the graph according to the present invention includes a plurality of graphs corresponding to straight lanes. Graph connecting paths 1400, 1402, 1404, graph connecting a plurality of paths 1406, 1408, 1404 corresponding to left turn lanes, and connecting a plurality of paths 1400, 1410, 1412 corresponding to right turn lanes. It may include a graph or the like.

또한, 그래프는 단지 교차로에 대해서만 생성되는 것이 아니며, 서로 연결되어 있는 패스에 대해 별개로 생성될 수 있다. Also, the graph is not only generated for intersections, but may be generated separately for paths connected to each other.

이와 같이 복수의 패스를 연결한 그래프가 생성되는 경우, 예상 패스 리스트 생성부(404)는 각 트래픽카 별로 다음 계산 시간(예를 들어, 1초)까지 트래픽카의 이동 경로에 해당하는 패스에 대한 예상 패스 리스트를 생성한다. When a graph in which a plurality of paths are connected as described above is generated, the predicted path list generation unit 404 may calculate a path corresponding to a moving path of the traffic car until the next calculation time (for example, 1 second) for each traffic car. Generate a list of expected paths.

예상 패스 리스트를 기준으로 현재 각 트래픽카에 대해 선행하는 트래픽카와의 거리가 계산될 수 있다. Based on the expected path list, the distance to the preceding traffic car can be calculated for each traffic car.

본 발명에 따르면, 복수의 패스가 연결된 상태에서 정지 이벤트가 발생하는 경우에 있어서도 상기한 것과 유사한 방법으로 트래픽카의 이동 정보를 계산한다. According to the present invention, even when a stop event occurs in a state where a plurality of passes are connected, the traffic information of the traffic car is calculated in a similar manner to the above.

하기에서는 복수의 신호등에 의해 정지 이벤트가 발생하는 경우에 대해 설명 한다. Hereinafter, a case in which a stop event occurs by a plurality of traffic lights will be described.

정지 이벤트가 발생하는 경우, 정지 신호 리스트 생성부(406)는 전체 패스를 순회하여 정지 신호등 리스트를 작성하며, 후보 리스트 생성부(402)는 각 정지 신호등에 대해 정지하여야 하는 후보 리스트를 동시에 생성한다. When a stop event occurs, the stop signal list generator 406 traverses the entire path to create a stop light list, and the candidate list generator 402 simultaneously generates a candidate list that should stop for each stop signal. .

이동 정보 계산부(308)는 각 정지 신호등에 의해 가장 먼저 정지하여야 하는 계산 시작 트래픽카를 결정한다. The movement information calculator 308 determines the calculation start traffic car that should be stopped first by each stop light.

이후, 이동 정보 계산부(308)는 각 패스에 대해 계산 시작 트래픽카부터 가속도를 계산하는 과정을 수행하며, 정지해야 하는 다른 트래픽카에 대해 선행하는 트래픽카의 가속도를 이용하여 순차적으로 가속도를 계산한다. Then, the movement information calculation unit 308 calculates the acceleration from the calculation start traffic car for each pass, and sequentially calculates the acceleration using the acceleration of the preceding traffic car for the other traffic car to be stopped. do.

이동 정보 계산부(308)는 그래프를 순회하면서 각 그래프에 포함된 트래픽카의 가속도를 계산하는데, 각 그래프는 동일한 패스를 포함할 수 있다. 따라서, 이동 정보 계산부(308)는 계산을 하는 중에 이미 계산된 패스를 만나는 경우에는 계산을 중단한다. The movement information calculator 308 calculates the acceleration of the traffic cars included in each graph while traversing the graph, and each graph may include the same path. Thus, the movement information calculation unit 308 stops the calculation when it encounters a path that has already been calculated during the calculation.

한편, 트래픽카가 이동하는 중에 차선의 감소 등으로 병목 지점에 존재할 수 있는데, 본 발명에 따르면, 병목 지점 탐색부(310)는 트래픽카의 이동 경로 중 병목 지점이 존재하는지 여부를 탐색한다. Meanwhile, while the traffic car is moving, the bottleneck may exist at a bottleneck point due to a decrease in lanes, etc. According to the present invention, the bottleneck point search unit 310 detects whether a bottleneck point exists in the movement path of the traffic car.

예를 들어, 병목 지점 탐색부(310)는 각 트래픽카에 대한 예상 패스 리스트에서 교차로 통과 등에 의해 차선이 감소하는 도로가 존재하는지 여부를 판단할 수 있다. For example, the bottleneck point search unit 310 may determine whether there is a road in which the lane decreases due to the crossing of an intersection in the expected path list for each traffic car.

병목 지점 탐색부(310)에 의해 병목 현상을 일으킬 수 있는 모든 패스가 탐 색된 후에 이동 정보 계산부(308)는 해당 패스에서 병목 지점을 벗어날 수 있는 트래픽카를 제외하고, 제외된 트래픽카의 뒤에 위치한 트래픽카에 대해 감속을 위한 가속도 계산을 수행한다. After all the paths that may cause the bottleneck are detected by the bottleneck point search unit 310, the movement information calculator 308 is located behind the excluded traffic car, except for the traffic car that may escape the bottleneck in the path. The acceleration calculation for deceleration is performed on the traffic car.

차선 변경부(312)는 트래픽카가 옆 차선에 상응하는 패스에 존재하는 트래픽카를 고려하여 차선을 변경할 수 있도록 제어하는 기능을 수행한다. The lane change unit 312 performs a function of controlling the traffic car to change the lane in consideration of the traffic car existing in the path corresponding to the next lane.

예를 들어, 도로가 하나 이상의 차선으로 이루어진 경우, 차선 변경부(312)는 특정 트래픽카의 옆 차선에 상응하는 패스의 차량 리스트를 검색하며, 트래픽카가 차선을 변경할 수 있는 조건을 만족하는 경우에 트래픽카의 차선을 변경한다. For example, if the road consists of one or more lanes, the lane change unit 312 retrieves a vehicle list of a pass corresponding to the lane next to a specific traffic car, and when the traffic car satisfies the conditions for changing lanes. Change lanes for traffic cars.

여기서, 차선을 변경할 수 있는 조건을 만족하는지 여부는 차선을 변경하고자 하는 트래픽카의 옆 차선에 위치한 트래픽카가 미리 설정된 안전 거리 이상에 위치하는지 여부를 통해 판단될 수 있다. Here, whether or not the condition for changing the lane is satisfied may be determined based on whether the traffic car located in the lane next to the traffic car to change the lane is located at a predetermined safety distance or more.

차선 변경부(312)는 차선 변경이 이루어진 경우, 해당 트래픽카를 이전 패스의 차량 리스트에서 제외하고, 변경된 패스의 차량 리스트에 추가한다.When the lane change is made, the lane change unit 312 removes the corresponding traffic car from the vehicle list of the previous pass and adds it to the vehicle list of the changed path.

신호등 변경부(314)는 신호등의 변경 주기와 신호 시간을 제어한다. The traffic light changing unit 314 controls the change cycle and signal time of the traffic light.

예를 들어, 신호등 변경부(314)는 신호등이 직진 도로에 존재하는 경우, 미리 설정된 주기와 미리 설정된 시간 동안 신호를 변경한다.For example, when the traffic light is present on the straight road, the traffic light changing unit 314 changes the signal for a preset period and a preset time.

그러나 많은 트래픽카가 몰려 정체 구역이 발생하는 경우, 신호등 변경부(314)는 신호 변경 주기와 신호 시간을 조정할 수 있다.However, when a lot of traffic cars are crowded to generate a congestion zone, the traffic light changing unit 314 may adjust the signal change period and the signal time.

예를 들어, 교차로 상에 신호등에 대해 신호등 변경부(314) 좌회전 후 직진 신호로 변경하려고 할 때 좌회전 하고 있는 트래픽카가 모두 교차로를 통과할 수 있는 시간동안 좌회전 신호 시간을 늘리게 된다. For example, when the traffic light changer 314 turns to the straight signal after turning left to the traffic light on the intersection, the left turn signal time is increased while the traffic cars that are turning left can pass through the intersection.

즉, 본 발명에 따른 신호등 변경부(314)는 진행 방향 별로 트래픽카의 수를 검색하고, 정체가 심화되는 구간에 상응하는 패스에 대해 신호 시간을 증가시킬 수 있다. That is, the traffic light changing unit 314 according to the present invention may search the number of traffic cars in each direction and increase the signal time for a path corresponding to a section where congestion is intensified.

도 5는 본 발명의 바람직한 일 실시예에 따른 사용자 클라이언트에 설치되는 게임 어플리케이션의 모듈 구성을 도시한 블록도이다. 5 is a block diagram illustrating a module configuration of a game application installed in a user client according to an exemplary embodiment of the present invention.

도 5를 참조하면, 본 발명의 일 실시예에 따른 게임 어플리케이션은 커맨드 해석부(500), 게임 로직 처리부(502), 서버 통신부(504), 시뮬레이션부(506) 및 게임 데이터 추출부(508)를 포함할 수 있다. Referring to FIG. 5, a game application according to an embodiment of the present invention may include a command interpreter 500, a game logic processor 502, a server communicator 504, a simulation unit 506, and a game data extractor 508. It may include.

커맨드 해석부(500)는 사용자가 입력하는 게임 커맨드 정보를 수신하고 게임 커맨드를 해석하여 해석된 정보를 게임 로직 처리부(502)에 제공한다. 예를 들어, 게임 커맨드 해석부(500)는 사용자가 입력한 게임 커맨드가 퀘스트 수락 커맨드인지 또는 이동 커맨드인지 여부 등을 해석하고 해석된 정보를 게임 로직 처리부(502)에 제공한다. The command interpreter 500 receives game command information input by a user, interprets the game command, and provides the interpreted information to the game logic processor 502. For example, the game command interpreter 500 analyzes whether the game command input by the user is a quest accept command or a move command, and provides the interpreted information to the game logic processor 502.

게임 로직 처리부(502)는 사용자의 게임 커맨드 입력에 상응하여 미리 설정된 게임 로직을 실행하는 기능을 한다. 게임 환경 설정 커맨드와 같이 서버로 전송할 필요가 없는 커맨드일 경우 게임 로직 처리부(502)는 클라이언트 내부에서 게임 환경 설정 프로세스를 수행한다. 플레이어 캐릭터의 이동 메시지와 같이 서버로 전송할 필요가 있는 커맨드일 경우, 게임 로직 처리부(502)는 이동 커맨드에 상응하는 이동 메시지를 생성하여 서버 통신부(504)에 제공한다. The game logic processor 502 functions to execute game logic preset in response to a user's game command input. If the command does not need to be transmitted to the server such as a game environment setting command, the game logic processing unit 502 performs a game environment setting process inside the client. In the case of a command that needs to be transmitted to the server, such as a player character's movement message, the game logic processing unit 502 generates a movement message corresponding to the movement command and provides it to the server communication unit 504.

서버 통신부(504)는 게임 로직 처리부(502)에서 생성되는 게임 메시지를 게임 서버(102) 또는 실시간성 메시지 처리 서버(106)에 전송하며, 게임 서버 또는 실시간성 메시지 처리 서버에서 전송되는 게임 메시지를 게임 로직 처리부(502)에 제공하는 기능을 한다. The server communication unit 504 transmits a game message generated by the game logic processing unit 502 to the game server 102 or the real-time message processing server 106, and transmits a game message transmitted from the game server or the real-time message processing server. Functions to provide to the game logic processing unit 502.

시뮬레이션부(506)는 사용자의 커맨드에 따라 플레이어 캐릭터의 시뮬레이션을 수행하며, 트래픽카에 관한 이동 정보가 수신된 경우, 이동 정보에 따라 트래픽카에 대한 시뮬레이션을 수행한다. The simulation unit 506 performs a simulation of the player character according to the user's command. When the movement information about the traffic car is received, the simulation unit 506 performs the simulation on the traffic car according to the movement information.

예를 들어, 정지 이벤트에 의해 트래픽카의 감속을 위한 가속도 정보가 수신되는 경우, 시뮬레이션부(506)는 해당 가속도에 상응하게 트래픽카를 시뮬레이션하며, 이에 따라 사용자가 화면 상에서 감속하고 있는 트래픽카를 확인할 수 있도록 한다. For example, when acceleration information for deceleration of the traffic car is received by the stop event, the simulation unit 506 simulates the traffic car corresponding to the acceleration, and thus the user may check the traffic car decelerating on the screen. Make sure

또한, 트래픽카의 차선 변경 정보가 수신되는 경우, 시뮬레이션부(506)는 차선 변경 라인을 생성하여 트래픽카가 차선을 변경하는 것을 표현할 수 있다. In addition, when the lane change information of the traffic car is received, the simulation unit 506 may generate a lane change line to express that the traffic car changes lanes.

시뮬레이션부(506)는 이전 차선과 변경된 차선의 진행 방향과 양 차선에서의 위치 정보를 이용하여 보간 과정을 통해 S자 형태의 차선 변경 라인을 생성할 수 있으며, 이때 보간은 베지어 스플라인 보간이 이용될 수 있다.The simulation unit 506 may generate an S-shaped lane change line through an interpolation process by using the progress direction of the previous lane and the changed lane and the position information of both lanes, and interpolation uses Bezier spline interpolation. Can be.

게임 데이터 추출부(508)는 게임 실행을 위해 필요한 게임 데이터를 추출하는 기능을 한다. 예를 들어, 게임 로직 처리부(502)의 제어에 따라 게임 데이터 추출부(508)는 맵 데이터, 캐릭터 정보 데이터 등을 추출한다.The game data extraction unit 508 functions to extract game data necessary for game execution. For example, under the control of the game logic processor 502, the game data extractor 508 extracts map data, character information data, and the like.

이하에서는 트래픽카 제어부의 수행 과정을 순서도를 통해 상세하게 설명한 다. Hereinafter, a process of performing a traffic car controller will be described in detail with a flowchart.

도 6은 본 발명의 바람직한 일 실시예에 따른 기본 패스 생성 과정의 순서도이다. 6 is a flowchart illustrating a basic path generation process according to an exemplary embodiment of the present invention.

도 6은 하나의 패스를 생성하는 과정을 도시한 것으로서, 도 6을 참조하면, 트래픽카 제어부(205)는 위치 시간을 갖는 패스를 생성한다(단계 600).FIG. 6 illustrates a process of generating one path. Referring to FIG. 6, the traffic car controller 205 generates a path having a location time (step 600).

전술한 바와 같이, 본 발명에 따른 패스는 각 위치가 미리 설정된 속도로 이동할 경우에 걸리는 시간으로 표현될 수 있다.As described above, the path according to the present invention may be expressed as a time taken when each position moves at a preset speed.

패스 생성 후, 트래픽카 제어부(205)는 패스 상에 신호등을 배치한다(단계 602). 여기서 신호등은 패스의 시작 위치에서의 거리 순(위치 시간 순)으로 소팅되어 배치될 수 있다. After the path is generated, the traffic car control unit 205 places a traffic light on the path (step 602). In this case, the traffic lights may be arranged in a sorted order (distance order) at a distance from the start of the path.

신호등 배치 후, 패스 상에 시간 순서대로 트래픽카를 배치하며(단계 604), 배치된 트래픽카에 대한 차량 리스트를 생성한다(단계 606).After arranging the traffic lights, traffic cars are placed on the path in chronological order (step 604), and a vehicle list for the placed traffic cars is generated (step 606).

전술한 바와 같이, 차량 리스트에는 패스에 존재하는 모든 트래픽카의 식별 정보, 위치 및 이동 정보(가속도, 앞선 트래픽카와의 거리, 속도 등)가 기록될 수 있다. As described above, the identification information, the location and the movement information (acceleration, distance from the preceding traffic car, speed, etc.) of all traffic cars existing in the path may be recorded in the vehicle list.

도 7은 본 발명의 바람직한 일 실시예에 따른 기본 패스에서 트래픽카 제어 과정의 순서도로서, 하나의 패스 상에서 정지 이벤트가 발생한 경우의 트래픽카 제어 과정을 도시한 도면이다.FIG. 7 is a flowchart illustrating a traffic car control process in a basic path according to an exemplary embodiment of the present invention, and illustrates a traffic car control process when a stop event occurs in one path. Referring to FIG.

도 7을 참조하면, 본 발명에 따른 트래픽카 제어부(205)는 미리 설정된 시간이 경과하였는지 여부를 판단한다(단계 700). 여기서 미리 설정된 시간은 계산 시 간에 도달하였는지 여부를 판단하기 위한 시간이며, 예를 들어, 1초일 수 있다. Referring to FIG. 7, the traffic car controller 205 according to the present invention determines whether a predetermined time has elapsed (step 700). Herein, the preset time is a time for determining whether the calculation time has been reached, for example, 1 second.

미리 설정된 시간이 경과한 경우, 트래픽카 제어부(205)는 해당 패스에서 정지 이벤트가 발생하였는지 여부를 판단하며(단계 702), 정지 이벤트가 발생한 경우, 정지해야 하는 트래픽카에 대한 후보 리스트를 생성한다(단계 704).When the preset time has elapsed, the traffic car controller 205 determines whether a stop event has occurred in the corresponding path (step 702), and generates a candidate list for the traffic car that should be stopped when the stop event occurs. (Step 704).

전술한 바와 같이, 현재 상태에서 정지 이벤트가 발생한 지점(예를 들어, 신호등) 이전에 위치한 트래픽카라 하더라도 후보 리스트에는 다음 시점(예를 들어, 사용자 클라이언트에서 트래픽카의 움직임이 표시되는 시점)에 상기한 지점을 통과할 수 있는 트래픽카는 제외한다. As described above, even if a traffic car is located before a stop event (for example, a traffic light) in the current state, the candidate list may be displayed at a next time point (for example, when the traffic of the traffic is displayed in the user client). Excludes traffic cars that can pass through a point.

트래픽카 제어부(205)는 후보 리스트 상에서 정지 이벤트 지점에 가장 먼저 정지해야 하는 트래픽카를 계산 시작 트래픽카로 결정하며(단계 706), 계산 시작 트래픽카에서부터 뒤에 위치한 트래픽카에 대한 가속도를 계산한다(단계 708). The traffic car control unit 205 determines the traffic car that should first stop at the stop event point on the candidate list as the calculation start traffic car (step 706), and calculates the acceleration for the traffic car located later from the calculation start traffic car (step 708). ).

가속도의 계산은 정지 위치 또는 앞서는 트래픽카와의 거리와의 거리, 현재 속도 등을 이용하여 이루어진다. The acceleration is calculated using the stop position or the distance from the preceding traffic car, the current speed, and the like.

도 8은 본 발명의 바람직한 일 실시예에 따른 교차로를 고려한 패스에서의 트래픽카 제어 과정의 순서도이다.8 is a flowchart illustrating a traffic car control process in a path considering an intersection according to an exemplary embodiment of the present invention.

도 8은 교차로를 포함하여 복수의 패스로 이루어지는 도로 상에서 정지 신호등이 존재하는 경우에 트래픽카 제어 과정을 도시한 것이다. FIG. 8 illustrates a traffic car control process when a stop light is present on a road including a crossroad.

도 8을 참조하면, 트래픽카 제어부(205)는 교차로를 기준으로 패스를 생성한다(단계 800).Referring to FIG. 8, the traffic car controller 205 generates a path based on the intersection (step 800).

단계 800은 교차로의 안과 밖을 구분하여 각 차선에 상응하는 패스를 생성하 는 단계이다. Step 800 is a step of generating a path corresponding to each lane by dividing the inside and the outside of the intersection.

패스 생성 후, 각 패스의 노드를 연결하여 그래프를 생성하며(단계 802), 트래픽카 주행 시 그래프를 초기화한다(단계 804).After the path is generated, nodes of each path are connected to generate a graph (step 802), and the graph is initialized when driving the traffic car (step 804).

이후, 트래픽카 제어부(205)는 각 트래픽카 별로 다음 계산 시간(예를 들어, 1초)까지 갈 수 있는 예상 패스 리스트를 작성한다(단계 806).Thereafter, the traffic car control unit 205 creates an expected path list for each traffic car that can go to the next calculation time (for example, 1 second) (step 806).

다음으로, 예상 패스 리스트를 기준으로 현재 각 트래픽카에 대해 앞서는 트래픽카와의 거리를 계산한다(단계 808).Next, based on the expected path list, the distance with the preceding traffic car is calculated for each traffic car (step 808).

계산 시점에서 복수의 패스에서 정지 신호등이 존재하는 경우, 트래픽카 제어부(205)는 전체 패스를 순회하면서 정지 신호등 리스트를 작성하며(단계 810), 정지 신호등 리스트를 순회하면서 각 계산 시작 트래픽카를 결정한다(단계 812). If there are stop lights in a plurality of passes at the time of calculation, the traffic car controller 205 creates a stop light list while traversing the entire path (step 810), and determines each calculation start traffic car while traversing the stop light list. (Step 812).

계산 시작 트래픽카의 결정은 상기한 단계 706과 동일한 과정으로 수행될 수 있다. The determination of the calculation start traffic car may be performed in the same process as in step 706 described above.

계산 시작 트래픽카 결정 후 각 정지 신호등 리스트에 포함된 패스 상에서 트래픽카의 가속도 계산 과정을 수행된다(단계 814).After the calculation start traffic car is determined, an acceleration calculation process of the traffic car is performed on a path included in each stop light list (step 814).

트래픽카 제어부(205)는 가속도 계산 중 이전에 계산된 패스가 존재하는 경우, 해당 패스에서의 가속도 계산 과정을 중단한다(단계 818).If there is a previously calculated path during the acceleration calculation, the traffic car controller 205 stops the acceleration calculation process in the corresponding path (step 818).

이때, 트래픽카 제어부(205)는 그래프에 대해 계산이 누락된 트래픽카 별로 그래프를 순회하면서 각 트래픽카에 영향을 미칠 수 있는 앞서는 트래픽카의 리스트를 작성하며, 상기 단계 814와 같은 가속도 계산 과정을 수행할 수 있다. At this time, the traffic car controller 205 traverses the graph for each traffic car whose calculation is missing for the graph, and creates a list of advanced traffic cars that may affect each traffic car, and performs the acceleration calculation process as in step 814. Can be done.

도 9는 본 발명의 바람직한 일 실시예에 따른 병목 지점에서의 트래픽카 제 어 과정의 순서도이다. 9 is a flow chart of a traffic car control process at the bottleneck in accordance with one preferred embodiment of the present invention.

도 9는 상기 단계 806에서 예상 패스 리스트를 생성한 후에 수행될 수 있는 것으로서, 도 9를 참조하면, 트래픽카 제어부(205)는 각 예상 패스 리스트에 대해 병목 지점을 탐색한다(단계 900).9 may be performed after generating the expected path list in step 806. Referring to FIG. 9, the traffic car controller 205 searches for a bottleneck point for each expected path list (step 900).

전술한 바와 같이, 병목 지점의 탐색은 예상 패스 리스트에서 차선이 감소하는 도로가 있는지 확인하는 과정이다. As described above, the search for the bottleneck is a process of checking whether there are roads with decreasing lanes in the expected path list.

병목 지점이 존재하는 경우, 트래픽카 제어부(205)는 병목 탈출 지점을 결정하고(단계 902), 병목 탈출 지점 이전에 위치한 트래픽카에 대한 가속도를 계산한다(단계 904). If there is a bottleneck, the traffic car controller 205 determines the bottleneck escape point (step 902) and calculates the acceleration for the traffic car located before the bottleneck escape point (step 904).

이에 따라 병목 탈출 지점에 근접한 트래픽카는 감속 없이 병목 지점을 통과할 수 있다. As a result, traffic cars close to the bottleneck escape point may pass through the bottleneck point without deceleration.

이후, 모든 각 트래픽카의 모든 예상 패스 리스트에 대해 계산 과정이 완료되었는지 여부를 판단한다(단계 906).Then, it is determined whether or not the calculation process is completed for all the expected pass lists of all the traffic cars (step 906).

상기에서 계산된 트래픽카의 가속도 정보는 사용자 클라이언트로 전송되며, 이에 따라 사용자는 정지 이벤트 발생 시 또는 병목 지점 구간에서 트래픽카가 감속하는 것을 확인할 수 있다.The acceleration information of the traffic car calculated above is transmitted to the user client. Accordingly, the user may confirm that the traffic car decelerates when a stop event occurs or in a bottleneck point section.

도 10은 본 발명의 바람직한 일 실시예에 따른 차선 변경 시 트래픽카 제어 과정의 순서도이다. 10 is a flowchart illustrating a traffic car control process when changing lanes according to an exemplary embodiment of the present invention.

도 10을 참조하면, 트래픽카 제어부(205)는 특정 트래픽카의 동일 방향 차선에 대해 인접 패스(차선)의 차량 리스트를 검색한다(단계 1000).Referring to FIG. 10, the traffic car control unit 205 searches a vehicle list of adjacent paths (lanes) for the same direction lane of a specific traffic car (step 1000).

트래픽카 제어부(205)는 차량 리스트를 검색한 후에 차선 변경 조건을 만족하는지 여부를 판단한다(단계 1002).The traffic car controller 205 determines whether the lane change condition is satisfied after searching the vehicle list (step 1002).

전술한 바와 같이, 차선 변경 조건은 인접 차선에 위치한 트래픽카가 안전 거리 이상으로 위치하는지 여부를 통해 판단될 수 있다.As described above, the lane change condition may be determined based on whether or not the traffic cars located in the adjacent lanes are located beyond the safety distance.

차선 변경 조건을 만족하는 경우, 트래픽카 제어부(205)는 변경 전후의 패스에서 차량 리스트를 갱신한다(단계 1004).If the lane change condition is satisfied, the traffic car control unit 205 updates the vehicle list in passes before and after the change (step 1004).

트래픽카의 차선 변경 정보는 사용자 클라이언트(108)로 전송되며(단계 1006), 사용자 클라이언트에 설치된 게임 어플리케이션(110)은 미리 설정된 알고리즘에 따라 해당 트래픽카의 위치를 보간하며(단계 1008), 이를 통해 차선이 변경된 트래픽카에 대한 S자 차선 변경 라인을 생성한다(단계 1010).The lane change information of the traffic car is transmitted to the user client 108 (step 1006), and the game application 110 installed in the user client interpolates the location of the traffic car according to a preset algorithm (step 1008). A S-lane change line is generated for the traffic car with the changed lane (step 1010).

이에 따라 사용자는 트래픽카가 S자 형태로 차선을 변경하는 것을 확인할 수 있다. Accordingly, the user can confirm that the traffic car changes lanes in the S-shape.

도 11은 본 발명에 따른 신호 시간 변경 과정의 순서도이다. 11 is a flowchart of a signal time change process according to the present invention.

도 11은 교차로 상에서의 신호 시간 변경을 도시한 것으로서, 교차로 아닌 정체 구간에 대해서도 신호 시간을 변경하는 과정을 도시한 것이다. FIG. 11 illustrates a signal time change on an intersection, and illustrates a process of changing the signal time even for a congestion section that is not an intersection.

도 11을 참조하면, 트래픽카 제어부(205)는 교차로를 기준으로 트래픽카의 수를 탐색하며(단계 1100), 이를 통해 교차로 안의 패스 상에서 트래픽카가 존재할 것으로 예상되는지 여부를 판단한다(단계 1102).Referring to FIG. 11, the traffic car controller 205 searches for the number of traffic cars based on the intersection (step 1100), and determines whether the traffic car is expected to exist on the path in the intersection (step 1102).

정해진 신호 시간 동안 트래픽카가 교차로를 통과하지 못할 것으로 예상되는 경우에 트래픽카 제어부(205)는 신호 시간을 갱신(연장)하며(단계 1116), 그렇지 않은 경우에는 신호등을 변경한다(단계 1104).If it is expected that the traffic car will not cross the intersection for a predetermined signal time, the traffic car control unit 205 updates (extends) the signal time (step 1116), otherwise changes the traffic light (step 1104).

한편, 트래픽카 제어부(205)는 교차로와 별도로 진행 방향별 트래픽수를 탐색할 수 있으며, 이를 통해 정체 구간을 결정하고, 해당 구간에서의 신호 시간을 탄력적으로 변경할 수 있다. On the other hand, the traffic car control unit 205 can search the traffic number for each direction separately from the intersection, thereby determining the congestion section, it is possible to flexibly change the signal time in the section.

상기한 본 발명의 바람직한 실시예는 예시의 목적을 위해 개시된 것이고, 본 발명에 대해 통상의 지식을 가진 당업자라면 본 발명의 사상과 범위 안에서 다양한 수정, 변경, 부가가 가능할 것이며, 이러한 수정, 변경 및 부가는 하기의 특허청구범위에 속하는 것으로 보아야 할 것이다. Preferred embodiments of the present invention described above are disclosed for purposes of illustration, and those skilled in the art will be able to make various modifications, changes, and additions within the spirit and scope of the present invention. Additions should be considered to be within the scope of the following claims.

이상에서 설명한 바와 같이, 본 발명에 따르면, 레이싱 게임 상에 필수적으로 존재하는 트래픽카의 제어를 효율적으로 수행할 수 있는 장점이 있다. As described above, according to the present invention, there is an advantage that it is possible to efficiently control the traffic car that is essentially present on the racing game.

또한 본 발명에 따르면, 트래픽카의 제어를 미리 설정된 시간 간격으로 수행하기 때문에 서버의 부하를 경감시킬 수 있는 장점이 있다. In addition, according to the present invention, since the control of the traffic car is performed at a predetermined time interval, there is an advantage that can reduce the load on the server.

또한 본 발명에 따르면, 패스를 시간으로 표현하기 때문에 트래픽카의 위치를 1차원 변수로 용이하게 표현할 수 있으며, 이를 통해 계산 시간을 단축시킬 수 있는 장점이 있다. In addition, according to the present invention, since the path is expressed in time, the position of the traffic car can be easily expressed by a one-dimensional variable, and thus, the calculation time can be shortened.

또한 본 발명에 따르면, 서로 영향을 미칠 수 있는 트래픽카를 리스트로서 관리함으로써 트래픽카 제어를 효율적으로 수행할 수 있는 장점이 있다. In addition, according to the present invention, there is an advantage that the traffic car control can be efficiently performed by managing the traffic cars that may affect each other as a list.

Claims (22)

사용자 클라이언트와 네트워크를 통해 연결된 게임 시스템에서 트래픽카를 제어하는 방법으로서, A method of controlling traffic cars in a game system connected with a user client via a network. (a) 상기 트래픽카의 이동 경로에 상응하는 하나 이상의 패스 상에서 서로 영향을 받는 하나 이상의 트래픽카에 관한 리스트를 동적으로 생성하는 단계;(a) dynamically generating a list of one or more traffic cars affected by each other on one or more paths corresponding to the movement path of the traffic car; (b) 상기 리스트에서 계산 시작 트래픽카를 결정하는 단계; 및(b) determining a calculation start traffic car from the list; And (c) 상기 계산 시작 트래픽카를 기준으로 상기 리스트에 존재하는 트래픽카의 이동 정보를 순차적으로 계산하는 단계; 및(c) sequentially calculating movement information of traffic cars existing in the list on the basis of the calculation start traffic car; And (d) 상기 계산된 이동 정보를 상기 사용자 클라이언트로 전송하는 단계를 포함하되,(d) transmitting the calculated movement information to the user client, 상기 (a) 내지 (c) 단계는 미리 설정된 시간 주기로 수행되며, 상기 사용자 클라이언트에 설치된 게임 어플리케이션은 상기 이동 정보에 따라 상기 트래픽카를 시뮬레이션 하는 것을 특징으로 하는 트래픽카 제어 방법. The steps (a) to (c) are performed at a predetermined time period, and the game application installed in the user client simulates the traffic car according to the movement information. 제1항에 있어서, The method of claim 1, 상기 (a) 단계 이전에 Before step (a) above 미리 설정된 속도를 기준으로 한 위치 시간을 갖는 패스를 생성하는 단계; Generating a path having a position time based on a preset speed; 상기 패스의 시작 위치와 종료 위치에서의 거리 순으로 신호등을 소팅하는 단계; 및Sorting traffic lights in order of distance from the start and end positions of the path; And 상기 패스 상에 미리 설정된 시간 순으로 하나 이상의 트래픽카를 배치하는 단계를 더 포함하는 것을 특징으로 하는 트래픽카 제어 방법. And placing at least one traffic car on the pass in a predetermined time sequence. 제1항에 있어서,The method of claim 1, 상기 하나 이상의 패스에 정지 이벤트가 발생하는지 여부를 판단하는 단계를 더 포함하되, Determining whether a stop event occurs in the one or more passes; 상기 (a) 단계는 상기 정지 이벤트가 발생한 패스 상에서 정지해야 하는 트래픽카의 후보 리스트를 생성하는 것을 특징으로 하는 트래픽카 제어 방법. The step (a) is a traffic car control method, characterized in that for generating a candidate list of traffic cars to be stopped on the path where the stop event occurs. 제1항에 있어서,The method of claim 1, 상기 (c) 단계는, In step (c), 상기 계산 시작 트래픽카를 시작으로, 상기 리스트 상에 위치한 k번째(k는 1이상의 자연수) 트래픽카에 대해 계산된 가속도를 이용하여 k+1번째 트래픽카의 가속도를 계산하는 단계를 포함하는 것을 특징으로 하는 트래픽카 제어 방법. Starting with the calculation start traffic car, calculating the acceleration of the k + 1 th traffic car using the acceleration calculated for the k th (k is a natural number of 1 or more) traffic cars located on the list. Traffic car control method. 제1항에 있어서,The method of claim 1, 상기 (a)단계 이전에, Before step (a) above, 직진 차선, 우회전 차선 및 좌회전 차선 중 적어도 하나에 속하는 패스를 생성하는 단계; 및Generating a pass belonging to at least one of a straight lane, a right turn lane, and a left turn lane; And 상기 트래픽카에 대해 미리 설정된 시간동안 이동할 수 있는 예상 패스 리스트를 생성하는 단계를 더 포함하는 것을 특징으로 하는 트래픽카 제어 방법. And generating an expected pass list that can move for a predetermined time for the traffic car. 제1항에 있어서,The method of claim 1, 정지 신호등 이벤트가 복수로 발생하는 경우, 상기 하나 이상의 패스를 순회하면서 정지 신호등 리스트를 생성하는 단계를 더 포함하되, Generating a stop light list while traversing the one or more passes if a plurality of stop light events occur; 상기 (a) 단계는 각 정리 신호등 리스트를 순회하면서 정지해야 하는 트래픽카에 관한 리스트를 생성하는 것을 특징으로 하는 트래픽카 제어 방법.The step (a) is a traffic car control method, characterized in that for generating a list of traffic cars that should be stopped while traversing the list of each traffic light. 제1항에 있어서, The method of claim 1, 상기 (a)단계 이후 상기 (b)단계 이전에, After step (a) and before step (b), 상기 패스 중 병목 지점이 존재하는지 여부를 판단하는 단계; 및Determining whether a bottleneck exists in the pass; And 병목 지점이 존재하는 경우, 병목 탈출 지점을 결정하는 단계를 더 포함하되, If a bottleneck exists, further comprising determining a bottleneck escape point, 상기 병목 탈출 지점 이전에 위치한 트래픽카에 대해 상기 (b) 내지 (c) 단계가 수행되는 것을 특징으로 하는 트래픽카 제어 방법. And (b) to (c) the traffic car located before the bottleneck escape point. 제1항에 있어서, The method of claim 1, 상기 (a)단계 이후 상기 (b)단계 이전에, After step (a) and before step (b), 상기 하나 이상의 패스 상에 존재하는 각 트래픽카에 관한 차량 리스트를 생성하는 단계; Generating a vehicle list for each traffic car present on the one or more passes; 소정 트래픽카가 차선을 변경하고자 하는 경우, 차선 변경 조건을 만족하는지 여부를 판단하는 단계; 및Determining whether a predetermined traffic car satisfies a lane change condition when a lane is to be changed; And 상기 트래픽카가 차선을 변경하는 경우, 이전 패스 및 변경된 패스에서의 차량 리스트를 갱신하는 단계를 더 포함하는 것을 특징으로 하는 트래픽카 제어 방법. If the traffic car changes lanes, updating the list of vehicles in previous and changed paths. 제8항에 있어서, The method of claim 8, 상기 차선 변경 조건은 인접 차선에 상응하는 패스 상의 트래픽카가 미리 설정된 안전 거리 이상에 위치하는지 여부를 통해 판단되는 것을 특징으로 하는 트래픽카 제어 방법. The lane change condition is determined based on whether the traffic car on a path corresponding to the adjacent lane is located above a preset safety distance. 제8항에 있어서, The method of claim 8, 상기 게임 어플리케이션은 상기 트래픽카의 차선 변경 정보가 수신되는 경우, 이전 패스와 변경된 패스의 진행 방향과 각각의 위치 정보를 이용하여 트래픽카의 위치를 보간하는 것을 특징으로 하는 트래픽카 제어 방법.The game application, when the lane change information of the traffic car is received, traffic car control method, characterized in that to interpolate the position of the traffic car using the direction of the previous path and the changed path and the respective position information. 제1항에 있어서, The method of claim 1, 상기 (a)단계 이전에, 소정 주기로 미리 설정된 시간 동안 상기 패스 상에 배치된 신호등을 변경하는 단계를 포함하되, 상기 (a) 내지 (c) 단계는 상기 신호등이 정지 신호로 변경되는 경우에 수행되는 것을 특징으로 하는 트래픽카 제어 방법. Before the step (a), the step of changing the traffic light disposed on the path for a predetermined time in a predetermined period, wherein the steps (a) to (c) is performed when the traffic light is changed to a stop signal Traffic car control method, characterized in that. 제11항에 있어서, 상기 신호등을 변경하는 단계 이후 상기 (a)단계 이전에, The method of claim 11, wherein after the step of changing the traffic light, before the step (a), 진행 방향 별로 각 패스 상에 위치한 트래픽카의 수를 검색하여 정체 구간을 결정하는 단계; 및Determining a congestion section by searching the number of traffic cars located on each path for each travel direction; And 상기 결정된 정체 구간에 대해 진행 신호 시간을 연장하는 단계를 더 포함하는 것을 특징으로 하는 트래픽카 제어 방법. And extending the progress signal time for the determined congestion section. 제1항 내지 제12항 중 어느 한 항에 따른 방법을 수행하는 프로그램이 기록된 컴퓨터 판독 가능한 기록매체.A computer-readable recording medium having recorded thereon a program for performing the method according to any one of claims 1 to 12. 사용자 클라이언트와 네트워크를 통해 연결되어 트래픽카의 제어를 수행하는 장치로서, A device connected to a user client through a network to control traffic cars. 상기 트래픽카의 이동 경로에 상응하는 하나 이상의 패스 상에서 서로 영향을 받는 하나 이상의 트래픽카에 관한 리스트를 동적으로 생성하는 리스트 생성부; A list generator for dynamically generating a list of one or more traffic cars affected by each other on one or more paths corresponding to the movement path of the traffic car; 상기 리스트에서 계산 시작 트래픽카를 결정하며, 상기 계산 시작 트래픽카를 기준으로 상기 리스트에 존재하는 트래픽카의 이동 정보를 순차적으로 계산하는 이동 정보 계산부; 및A movement information calculation unit for determining a calculation start traffic car from the list and sequentially calculating movement information of traffic cars existing in the list based on the calculation start traffic car; And 미리 설정된 시간이 경과하는지 여부를 판단하는 타이머부를 더 포함하되, Further comprising a timer for determining whether a predetermined time has elapsed, 상기 이동 정보의 계산은 미리 설정된 주기로 수행되며, 상기 사용자 클라이언트에 설치된 게임 어플리케이션은 상기 이동 정보에 따라 상기 트래픽카를 시뮬레이션 하는 것을 특징으로 하는 트래픽카 제어 장치. The calculation of the movement information is performed at a predetermined period, the game application installed in the user client is a traffic car control apparatus, characterized in that for simulating the traffic car according to the movement information. 제14항에 있어서, The method of claim 14, 미리 설정된 속도를 기준으로 한 위치 시간을 가지며, 직진 차선, 우회전 차 선 및 좌회전 차선 중 적어도 하나에 속하는 패스를 생성하며, 상기 패스의 시작 위치와 종료 위치에서의 거리 순으로 신호등을 소팅하고, 상기 패스 상에 미리 설정된 시간 순으로 하나 이상의 트래픽카를 배치하는 패스 생성부를 더 포함하는 것을 특징으로 하는 트래픽카 제어 장치.Generate a path belonging to at least one of a straight lane, a right-turn lane and a left-turn lane with a position time based on a preset speed, and sort the traffic lights in order of distance from the start position and the end position of the pass, And a path generation unit for arranging one or more traffic cars in a predetermined time sequence on the path. 제14항에 있어서,The method of claim 14, 상기 리스트 생성부는,The list generation unit, 상기 트래픽카에 대해 미리 설정된 시간동안 이동할 수 있는 예상 패스 리스트 생성하는 예상 패스 리스트 생성부;An expected path list generation unit generating an expected path list that can move for a predetermined time with respect to the traffic car; 상기 하나 이상의 패스를 순회하면서 정지 신호등 리스트를 생성하는 정지 신호등 리스트 생성부; A stop light list generator for generating a stop light list while circulating the one or more passes; 각 정리 신호등 리스트를 순회하면서 정지해야 하는 트래픽카의 리스트를 생성하는 후보 리스트 생성부; 및A candidate list generation unit for generating a list of traffic cars that should be stopped while traversing the list of the traffic lights; And 하나 이상의 패스 상에 존재하는 각 트래픽카에 관한 차량 리스트를 생성하는 차량 리스트 생성부를 더 포함하는 것을 특징으로 하는 트래픽카 제어 장치.And a vehicle list generator for generating a vehicle list for each traffic car existing on at least one path. 제14항에 있어서,The method of claim 14, 상기 하나 이상의 패스에서 정지 이벤트가 발생하는 경우, 상기 리스트 생성부는 상기 정지 이벤트가 발생한 패스 상에서 정지해야 하는 트래픽카에 관한 리스트를 생성하는 것을 포함하는 것을 특징으로 하는 트래픽카 제어 장치. And when the stop event occurs in the one or more paths, the list generator generates a list of traffic cars that should stop on the path where the stop event occurred. 제14항에 있어서,The method of claim 14, 상기 이동 정보 계산부는, The movement information calculation unit, 상기 계산 시작 트래픽카를 시작으로, 상기 리스트 상에 위치한 k번째(k는 1이상의 자연수) 트래픽카에 대해 계산된 가속도를 이용하여 k+1번째 트래픽카의 가속도를 계산하는 것을 특징으로 하는 트래픽카 제어 장치. Starting with the calculation start traffic car, the acceleration of the k + 1th traffic car is calculated using the acceleration calculated for the k th (k is a natural number of 1 or more) traffic cars located on the list. Device. 제14항에 있어서, The method of claim 14, 상기 패스 중 병목 지점이 존재하는지 여부를 판단하고, 병목 지점이 존재하는 경우, 병목 탈출 지점을 결정하는 병목 지점 탐색부를 더 포함하되, Further comprising a bottleneck point search unit for determining whether there is a bottleneck point in the pass, and, if there is a bottleneck point, determine a bottleneck escape point, 상기 이동 정보 계산부는 병목 탈출 지점 이전에 위치한 트리픽카에 대해 감속을 위한 가속도를 계산하는 것을 특징으로 하는 트래픽카 제어 장치. And the movement information calculator calculates an acceleration for deceleration with respect to a tropic car located before the bottleneck escape point. 제14항에 있어서, The method of claim 14, 소정 트래픽카가 차선을 변경하고자 하는 경우, 차선 변경 조건을 만족하는지 여부를 판단하고, 상기 트래픽카가 차선을 변경하는 경우, 이전 패스 및 변경된 패스에서의 차량 리스트를 갱신하는 차선 변경부를 더 포함하는 것을 특징으로 하는 트래픽카 제어 장치. If the predetermined traffic car is to change lanes, it is determined whether the lane change condition is satisfied, and if the traffic car changes lanes, further comprising a lane change unit for updating the list of vehicles in the previous pass and the changed path. Traffic car control device. 제20항에 있어서, The method of claim 20, 상기 게임 어플리케이션은 상기 트래픽카의 차선 변경 정보가 수신되는 경우, 이전 패스와 변경된 패스의 진행 방향과 각각의 위치 정보를 이용하여 트래픽카의 위치를 보간하는 것을 특징으로 하는 트래픽카 제어 장치.The game application, when the lane change information of the traffic car is received, the traffic car control device, characterized in that to interpolate the position of the traffic car by using the progress direction and the respective position information of the previous path and the changed path. 제14항에 있어서, The method of claim 14, 소정 주기로 미리 설정된 시간 동안 상기 패스 상에 배치된 신호등을 변경하는 신호등 변경부를 더 포함하되, Further comprising a traffic light changing unit for changing the traffic lights arranged on the path for a predetermined time at a predetermined period, 상기 신호등 변경부는 진행 방향 별로 각 패스 상에 위치한 트래픽카의 수를 검색하여 정체 구간을 결정하고, 상기 결정된 정체 구간에 대해 진행 신호 시간을 연장하는 것을 특징으로 하는 트래픽카 제어 장치. The traffic light changing unit determines a traffic congestion section by searching the number of traffic cars located on each path for each travel direction, and extends a traffic signal time for the determined traffic congestion section.
KR1020060076383A 2006-08-11 2006-08-11 Method and system for controlling traffic car in multi-player online game KR100865072B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020060076383A KR100865072B1 (en) 2006-08-11 2006-08-11 Method and system for controlling traffic car in multi-player online game

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060076383A KR100865072B1 (en) 2006-08-11 2006-08-11 Method and system for controlling traffic car in multi-player online game

Publications (2)

Publication Number Publication Date
KR20080014537A KR20080014537A (en) 2008-02-14
KR100865072B1 true KR100865072B1 (en) 2008-10-24

Family

ID=39341805

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060076383A KR100865072B1 (en) 2006-08-11 2006-08-11 Method and system for controlling traffic car in multi-player online game

Country Status (1)

Country Link
KR (1) KR100865072B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220128105A (en) 2021-03-12 2022-09-20 한국과학기술원 Method and apparatus for monitoring fine dust concentration

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000153069A (en) 1998-11-20 2000-06-06 Namco Ltd Game system and information storage medium
JP2002318526A (en) 2001-04-23 2002-10-31 Honda Motor Co Ltd Speed controller for mobile object, drive simulator and software for controlling speed of mobile object

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000153069A (en) 1998-11-20 2000-06-06 Namco Ltd Game system and information storage medium
JP2002318526A (en) 2001-04-23 2002-10-31 Honda Motor Co Ltd Speed controller for mobile object, drive simulator and software for controlling speed of mobile object

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220128105A (en) 2021-03-12 2022-09-20 한국과학기술원 Method and apparatus for monitoring fine dust concentration

Also Published As

Publication number Publication date
KR20080014537A (en) 2008-02-14

Similar Documents

Publication Publication Date Title
KR100883907B1 (en) Method and system for controlling game using in multi-player online game
KR20110069824A (en) System and method for simulating events in a real environment
US10406438B2 (en) Controlling behavior of entities in funnel sections of a computer-represented environment
CN108654087A (en) Information indicating method and device, road condition advisory method and device
CN106422330B (en) The method for searching and device of unit
KR100865072B1 (en) Method and system for controlling traffic car in multi-player online game
KR100685058B1 (en) System and Method for Controlling Game of Moving Path, Game Control Devices and Recording Medium
KR100719387B1 (en) System and Method for Controlling Game of Moving Path, Game Control Devices and Recording Medium
KR100719391B1 (en) System and Method for Controlling Game of Moving Path, Game Control Devices and Recording Medium
KR100685055B1 (en) System and Method for Controlling Game of Moving Path, Game Control Devices and Recording Medium
KR100685053B1 (en) System and Method for Controlling Game of Moving Path, Game Control Devices and Recording Medium
KR100685057B1 (en) System and Method for Controlling Game of Moving Path, Game Control Devices and Recording Medium
KR100685056B1 (en) System and Method for Controlling Game of Moving Path, Game Control Devices and Recording Medium
KR100685054B1 (en) System and Method for Controlling Game of Moving Path, Game Control Devices and Recording Medium
Anderson Innovative navigation artificial intelligence for motor racing games
KR20060100359A (en) System and method for controlling game of moving path, game control devices and recording medium
KR20060101378A (en) System and method for controlling game of moving path, game control devices and recording medium
KR20060102313A (en) System and method for controlling game of moving path, game control devices and recording medium
KR20060101446A (en) System and method for controlling game of moving path, game control devices and recording medium
KR20060101443A (en) System and method for controlling game of moving path, game control devices and recording medium
KR20060102312A (en) System and method for controlling game of moving path, game control devices and recording medium
KR20060102314A (en) System and method for controlling game of moving path, game control devices and recording medium
KR20060101433A (en) System and method for controlling game of moving path, game control devices and recording medium
KR20060101434A (en) System and method for controlling game of moving path, game control devices and recording medium
KR20060101445A (en) System and method for controlling game of moving path, game control devices and recording medium

Legal Events

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

Payment date: 20111010

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20131001

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20140925

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20150924

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20160928

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20170928

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20181001

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20190925

Year of fee payment: 12