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 PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 90
- 238000004364 calculation method Methods 0.000 claims abstract description 67
- 230000008859 change Effects 0.000 claims description 45
- 230000001133 acceleration Effects 0.000 claims description 38
- 230000008901 benefit Effects 0.000 abstract description 5
- 230000008569 process Effects 0.000 description 46
- 238000012545 processing Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 10
- 238000004088 simulation Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 4
- 239000000284 extract Substances 0.000 description 3
- 238000007792 addition Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000013075 data extraction Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 210000005155 neural progenitor cell Anatomy 0.000 description 1
Images
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/80—Special adaptations for executing a specific game genre or game mode
- A63F13/803—Driving vehicles or craft, e.g. cars, airplanes, ships, robots or tanks
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/45—Controlling the progress of the video game
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
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) 단계는 미리 설정된 시간 주기로 수행되며, 상기 사용자 클라이언트에 설치된 게임 어플리케이션은 상기 이동 정보에 따라 상기 트래픽카를 시뮬레이션 하는 것을 특징으로 하는 트래픽카 제어 방법이 제공된다. 본 발명에 따른 많은 수의 트래픽카의 제어를 효율적으로 수행할 수 있는 장점이 있다.
트래픽카, 레이싱 게임, 리스트, 이벤트, 영향, 계산 시작 트래픽카
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.
Traffic Cars, Racing Games, Lists, Events, Impact
Description
도 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
본 발명에 따른 다중 접속 온라인 게임 시스템은 네트워크를 통해 사용자 클라이언트(108)와 연결된다. The multiple access online game system according to the present invention is connected with the
여기서 네트워크는 인터넷, 전용선을 포함하는 유선 네트워크와 무선 인터넷, 이동 통신망 및 위성 통신망을 포함하는 무선 네트워크를 모두 포함할 수 있다.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
본 발명은 다양한 종류의 다중 접속 온라인 게임에 적용될 수 있으나, 특히 플레이어 캐릭터(차량)와 함께 도로 상에서 움직이는 트래픽카가 존재하는 다중 접속 온라인 롤 플레잉 레이싱 게임에 적용될 수 있을 것이다. 이하에서는 본 발명에 의한 다중 접속 온라인 게임 시스템이 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
인증 서버(100)는 사용자 클라이언트(108)로부터 인증 요청 정보를 수신하며, 사용자 클라이언트(108)로부터의 인증 요청이 유효한지 여부를 판단한다. 상기 인증 요청 정보는 사용자의 아이디 및 비밀번호 정보를 포함할 수 있으며, 인증 서버(100)는 인증 요청 정보에 포함된 아이디 및 비밀 번호가 유효한지 여부를 판단한다. The
아이디 및 비밀 번호가 유효한지 여부를 판단하기 위해 인증 서버(100)는 데이터베이스 서버(104)와 통신을 할 수도 있으며, 인증 정보를 저장하고 있는 다른 데이터베이스(미도시)와 통신을 할 수도 있다. In order to determine whether the ID and password are valid, the
사용자 클라이언트(108)와 인증 서버(100) 사이의 인증은 아이디/비밀번호에 의한 인증뿐만 아니라 공지된 다양한 인증 방식들이 사용될 수 있을 것이다. Authentication between the
인증 서버(100)는 사용자 클라이언트(108)로부터의 인증 요청 정보가 유효할 경우, 해당 사용자 클라이언트의 게임 서버(102)로의 접속을 허용한다. If the authentication request information from the
게임 서버(102)는 사용자 클라이언트(108)들로부터 전송되는 게임 메시지를 처리하고 게임 진행을 제어하는 기능을 한다. 게임 서버(102)는 플레이어 캐릭터의 공격 등과 같은 게임 커맨드 메시지, 사용자 클라이언트들간의 채팅 메시지, NPC(None Player Character)로부터의 퀘스트 수락 및 완료와 같은 퀘스트 메시지 및 플레이어 캐릭터의 레벨 업 및 아이템 획득과 같은 상태 정보 메시지 등 다양한 종류의 게임 메시지를 수신하며, 수신된 게임 메시지를 미리 설정된 게임 로직에 따라 처리한다.
예를 들어, 사용자 클라이언트(108)로부터 특정 대상에 대한 공격 메시지를 수신할 경우, 게임 서버(102)는 해당 대상에 공격을 받는 것으로 처리하며, 또 다른 예로, 플레이어의 레벨 업과 같은 상태 정보 메시지가 수신될 경우, 게임 서버(102)는 사용자의 레벨 업 정보를 데이터베이스 서버(104)에 전송하여 해당 사용자의 레벨 정보가 갱신되도록 한다. For example, when receiving an attack message for a specific target from the
특히, 게임 서버(102)는 게임 중에 발생하는 다양한 이벤트(예를 들어, 플레이어 캐릭터의 상태 변경 등)들을 다수의 사용자들이 공유할 수 있도록 특정 사용자에게 발생한 이벤트 정보를 다른 사용자의 클라이언트들에 제공하는 기능을 한다. In particular, the
본 발명의 바람직한 실시예에 따르면, 캐릭터의 레벨 업과 같은 캐릭터 상태 정보, 퀘스트 정보와 같이 데이터베이스에 저장될 필요가 있으며 실시간으로 다른 사용자에게 제공될 필요가 높지 않은 정보는 게임 서버(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
한편, 본 발명에 따른 게임 서버(102)는 레이싱 게임의 NPC 또는 방해 요소로 기능하는 트래픽카의 제어 기능을 수행할 수 있다. On the other hand, the
본 발명의 바람직한 일 실시예에 따르면, 게임 서버(102)는 트래픽카의 이동 경로에 상응하는 하나 이상의 패스 상에서 서로 영향을 줄 수 있는 트래픽카에 관한 리스트를 동적으로 생성하며, 해당 리스트를 기준으로 각 트래픽카에 관한 이동 정보 계산 과정을 수행한다. According to one preferred embodiment of the present invention, the
트래픽카는 복수의 패스(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
전술한 바와 같이, 이동 정보의 계산은 서로 영향을 미치는 트래픽카를 기준으로 수행될 수 있다.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
게임 서버(102)는 게임 상에서 정지 이벤트가 발생하는 경우(예를 들어, 신호등이 정지 신호가 되거나 또는 충돌이 발생하는 경우), 정지 이벤트가 발생한 패스에 대해 서로 영향을 미치는 트래픽카를 탐색하며, 미리 설정된 알고리즘에 따라 탐색된 트래픽카의 이동 정보 계산을 순차적으로 수행한다. When a stop event occurs in the game (for example, when a traffic light becomes a stop signal or a collision occurs), the
트래픽카의 이동 정보 계산 과정은 하기에서 보다 상세하게 설명될 것이다. 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
레이싱 게임은 다른 게임과는 달리 플레이어 캐릭터의 이동 속도가 매우 빠르며, 충돌이 빈번하게 일어나기 때문에 각 플레이어 캐릭터의 이동 또는 충돌 메시지를 실시간으로 처리하는 것이 중요하다. 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
이에, 게임 서버(102)와 별개로 실시간성 메시지 처리 서버(106)를 제공하여 플레이어 캐릭터의 이동 또는 충돌 메시지와 같은 실시간성 메시지를 수신하고, 다른 사용자 클라이언트에 전송할 수 있도록 한다.Accordingly, a real-time
바람직하게, 실시간성 메시지 처리 서버(106)는 단순히 실시간성 메시지를 수신 및 전송하는 것이 아니라, 이동 또는 충돌 메시지를 전송한 플레이어 캐릭터를 중심으로 소정 거리에 존재하는 플레이어 캐릭터를 판단하는 과정을 수행한다. Preferably, the real-time
예를 들어, 제1 플레이어 캐릭터의 이동 메시지가 전송된 경우, 실시간성 메 시지 처리 서버(106)는 제1 플레이어 캐릭터와 소정 거리 이내에 존재하는 플레이어 캐릭터를 판단한 후, 해당 캐릭터의 사용자 클라이언트(108)에게만 선택적으로 제1 플레이어 캐릭터의 이동 정보를 전송하게 된다. For example, when a movement message of the first player character is transmitted, the real-time
이에 따라 플레이어 캐릭터의 이동 정보를 무조건적으로 다른 사용자 클라이언트에 전송하는 것보다 시스템 부하가 한층 경감될 수 있다.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
데이터베이스 서버(104)는 게임과 관련된 정보를 저장하고, 저장된 정보를 게임 서버(102) 또는 사용자 클라이언트의 요청에 응답하여 제공하는 기능을 한다. The
데이터베이스 서버(104)는 플레이어 캐릭터의 상태 정보, 아이템 정보, 퀘스트 정보 등을 저장할 수 있으며, 게임 서버(102)로부터 캐릭터 상태, 아이템, 퀘스트 등과 관련한 갱신 정보를 수신할 경우 해당 정보를 갱신한다. The
도 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
플레이어 오브젝트(200)는 게임 서버에 접속한 사용자 클라이언트(108)들과의 메시지 송수신을 제어하는 기능을 한다. 플레이어 오브젝트(200)는 게임 서버(102)에 사용자 클라이언트가 접속할 때 해당 사용자 클라이언트의 접속에 상응하여 생성되며, 사용자 클라이언트의 접속이 끊어진 경우 소멸된다. The
채널 관리부(202)는 레이싱 게임에서 다양하게 존재할 수 있는 게임 영역을 관리한다. 여기서 게임 영역은 퀘스트 수행 영역, 경주 영역 및 상점 영역과 같이 게임 상에서 서로 구분될 수 영역을 의미한다. The
게임 로직 제어부(204)는 게임상에서 플레이어 캐릭터의 퀘스트 완료 여부, 경주 우승자 결정과 같이 게임 진행에 필요한 제어 과정을 수행한다. The game
트래픽카 제어부(205)는 게임 상에 존재하는 트래픽카를 제어한다. The traffic
본 발명에 따른 트래픽카 제어부(205)는 패스 생성, 트래픽카의 감속 또는 가속을 위한 이동 정보 계산, 병목 지점에서의 처리, 트래픽카의 차선 변경을 위한 제어 과정을 수행하며, 이에 대한 상세 구성은 하기에서 설명한다.The
상기한 플레이어 오브젝트(200)는 사용자 클라이언트(108)로부터 전송되는 게임 관련 메시지를 메시지 제어부(206)에 제공하며, 메시지 제어부(206)로부터 제공되는 게임 서버의 게임 관련 메시지를 해당 사용자 클라이언트에 전송한다. The
메시지 제어부(206)는 사용자 클라이언트로부터 전송된 게임 관련 메시지들을 플레이어 오브젝트(200)로부터 수신하며, 수신된 메시지를 이를 처리할 구성 요소에 분배하는 기능을 한다. 예를 들어, 특정 플레이어 캐릭터의 착용 아이템 변경 메시지가 수신될 경우, 메시지 제어부(206)는 수신된 착용 아이템 변경 메시지를 아이템 관리부(214) 및 캐릭터 관리부(216)에 제공한다. 또한, 메시지 제어부(206)는 수신된 메시지가 특정 사용자의 퀘스트 수락 메시지일 경우, 퀘스트 수락 메시지를 퀘스트 관리부(212)에 전송한다. The
또한, 메시지 제어부(206)는 접속한 특정 사용자 클라이언트에 메시지를 전송하고자 할 경우, 해당 메시지를 해당 사용자 클라이언트와 연관된 플레이어 오브젝트에 제공한다. 예를 들어, 특정 사용자로의 채팅 메시지를 메시지 제어부(206)가 수신한 경우, 메시지 제어부(206)는 채팅 메시지의 수신자에 상응하는 사용자와 연관된 플레이어 오브젝트에 채팅 메시지를 전송하여 채팅 메시지가 해당 사용자의 클라이언트에 전송되도록 한다. 또 다른 예로, 특정 플레이어 캐릭터의 충돌 메시지를 수신할 경우, 메시지 제어부(206)는 충돌을 볼 수 있는 지점에 근접 위치한 캐릭터의 사용자들을 판단하고 해당 사용자들의 클라이언트들에 충돌 장면 및 충돌에 상응하는 시뮬레이션을 위한 정보를 제공하는 기능을 한다. In addition, when the
온라인 플레이어 캐릭터 정보 관리부(208)는 게임 서버에 접속한 온라인 플레이어 캐릭터에 관한 정보를 관리한다.The online player character
온라인 플레이어 캐릭터 정보 관리부(208)는 게임 서버에 접속한 온라인 사용자의 정보를 관리한다. 플레이어 캐릭터 정보는 온라인 상에 존재하는 플레이어 캐릭터의 식별자, 위치, 레벨, 아이템과 같은 캐릭터의 상태 정보를 포함할 수 있다. The online player character
온라인 플레이어 캐릭터 정보 관리부(208)의 정보는 메시지 제어부(206)에서 메시지를 전송할 수신자를 판단할 때 사용된다. 예를 들어, 특정 사용자의 캐릭터 착용 아이템을 변경할 경우, 착용 아이템 변경 정보를 주변의 사용자에게 제공할 필요가 있다. 이때, 메시지 제어부(206)는 온라인 플레이어 캐릭터 정보 관리부(208)에서 관리되는 정보를 이용하여 착용 아이템을 변경한 플레이어 캐릭터의 주변에 있는 플레이어 캐릭터들을 추출하고 해당 플레이어 캐릭터들에 상응하는 플레이어 오브젝트에 착용 아이템 변경 메시지를 제공한다. The information of the online player character
다른 예로, 특정 플레이어 캐릭터가 이동할 경우, 메시지 제어부(206)는 온라인 플레이어 캐릭터 정보 관리부(208)로부터 이동한 캐릭터의 주변에 있는 플레이어 캐릭터들을 추출하고 해당 플레이어 캐릭터에 상응하는 플레이어 오브젝트에 이동 메시지를 제공한다. As another example, when a specific player character moves, the
메시지 제어부(206)는 특정 플레이어 캐릭터의 상태 변경 메시지(예를 들어, 이동 메시지, 착용 아이템 변경 메시지, 충돌 메시지 등을 포함함)를 수신할 경우, 상태 변경 정보가 온라인 플레이어 캐릭터 정보 관리부(208)에 제공하여 온라인 상태인 플레이어 캐릭터의 상태 정보가 관리되도록 한다. When the
NPC(None Player Character) 관리부(210)는 게임상에 등장하는 NPC 정보를 관리하는 기능을 한다. 예를 들어, 레이싱 게임의 경우, NPC 관리부(210)는 퀘스트를 제공하는 NPC 정보, 게임상에 등장하는 트래픽 카에 대한 정보를 관리한다. The NPC (None Player Character)
퀘스트 관리부(212)는 다중 접속 온라인 게임에서 사용자들에게 제공되는 퀘스트에 대한 정보 및 퀘스트 수락 및 퀘스트 완료 여부에 대한 정보를 관리한다. The
특정 사용자가 특정 퀘스트를 수락할 경우, 퀘스트 수락 메시지는 메시지 제어부(206)에 제공되며, 메시지 제어부(206)는 퀘스트 수락 메시지를 퀘스트 관리부(212)에 제공한다. 퀘스트 관리부(212)는 퀘스트 수락 정보를 데이터베이스 서버(104)에 전송하여 퀘스트 수락 정보가 반영되도록 한다. 퀘스트 완료 메시지의 경우에도, 상술한 퀘스트 수락 메시지와 동일하게 퀘스트 관리부(212)에 의해 데이터베이스 서버(104)에 반영된다. When a specific user accepts a specific quest, the quest accept message is provided to the
아이템 관리부(214)는 게임 중에 제공되는 아이템에 대한 정보 및 플레이어 캐릭터의 아이템 변경 정보(아이템의 획득, 아이템 드랍 등을 포함함)를 관리한다. 특정 플레이어 캐릭터가 아이템을 획득할 경우, 아이템 획득 메시지가 메시지 제어부(206)에 제공하며, 메시지 제어부(206)는 아이템 관리부(214)에 아이템 획득 메시지를 제공한다. 아이템 관리부(214)는 아이템 획득 정보를 데이터베이스 서버(104)에 전송하여 아이템 획득 정보가 반영되도록 한다. The
캐릭터 관리부(216)는 사용자들이 생성한 플레이어 캐릭터들의 정보를 관리하며, 캐릭터에 대한 상태 변경 메시지(캐릭터 레벨 업, 아이템 획득 정보 등을 포함함)를 수신하여 데이터베이스 서버(104)에 제공하는 기능을 한다. The
길드 관리부(218) 다중 접속 온라인 게임 사용자들이 형성하는 길드 정보를 관리한다. 길드 관리부(218)는 길드 구성원의 가입/탈퇴 메시지 및 길드 구성원의 레벨 변경 메시지와 같은 길드 관련 메시지를 수신하며, 수신된 메시지에 포함된 길드 관련 정보를 데이터베이스 서버(104)에 제공한다. 또한, 길드 관리부(218)는 길드 구성원 상태, 길드 구성원 명단과 같은 길드 관련 요청 정보가 있을 경우, 데이터베이스 서버(104)와의 통신을 통해 길드 정보를 제공한다. The
도 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
패스 생성부(300)는 트래픽카의 이동 경로에 상응하는 패스를 생성한다.The
전술한 바와 같이, 본 발명에 따른 패스는 시작 위치와 종료 위치를 가지며, 패스 상의 각 위치는 미리 설정된 속도를 기준으로 한 위치 시간으로 표현된다.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
이와 같이, 신호등이 배치된 패스가 생성된 후, 패스 생성부(300)는 각 패스 상에 트래픽카를 시간 순으로 배치한다. 상기한 바와 같이, 본 발명에 따른 패스의 각 위치는 시간으로 표현되기 때문에 트래픽카 역시 시간 정보에 따라 배치할 수 있다. In this way, after the path where the traffic lights are arranged is generated, the
한편, 본 발명에 따른 레이싱 게임은 실제 세계를 반영하기 위해 복수의 차선(직진 차선, 좌회전 및 우회전 차선)으로 이루어진 교차로 등을 포함할 수 있다. 도 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
이때, 교차로에서 끝나는 패스에는 교차로 신호등이 배치되며, 교차로 안의 패스에는 신호등이 배치되지 않는다. 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
도 4는 본 발명에 따른 리스트 생성부(302)의 상세 도면을 도시한 것으로서, 도 4에 도시된 바와 같이, 리스트 생성부(302)는 차량 리스트 생성부(400), 후보 리스트 생성부(402), 예상 패스 리스트 생성부(404) 및 정지 신호등 리스트 생성부(406)를 포함할 수 있다. 4 is a detailed view of the
차량 리스트 생성부(400)는 패스 상에서 발생하는 이벤트에 관계 없이 각 패스 상에 존재하는 모든 트래픽카에 관한 리스트를 생성한다. The
여기서, 차량 리스트는 각 패스에 존재하는 모든 트래픽카의 위치를 순차적으로 기록한 것으로서, 패스 식별자 필드, 트래픽카 식별자 필드, 위치 필드 및 트래픽카의 이동 정보 필드를 포함할 수 있다. 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
한편, 정지 신호등 리스트 생성부(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
후보 리스트 생성부(402), 예상 패스 리스트 생성부(404) 및 정지 신호 리스트(406)에 대해서는 하기에서 보다 상세하게 설명할 것이다. The
타이머부(304)는 트래픽카의 제어를 위한 계산 시간에 도달하였는지 여부를 판단할 수 있도록 한다. The
예를 들어, 트래픽카의 이동 정보 계산이 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
컨트롤러(306)는 시간 경과 신호가 수신되는 경우에 이동 정보 계산부(308)에 계산 개시 신호를 출력할 수 있다. The
이동 정보 계산부(308)는 상기와 같이 미리 설정된 시간 단위로 트래픽카의 이동을 제어하기 위한 계산 과정을 수행한다.The
여기서 이동 정보의 계산은 미리 설정된 시간(예를 들어, 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
예를 들어, 하나의 패스에 대해 신호등의 정지 신호로의 변경 또는 충돌과 같은 정지 이벤트가 발생한 경우, 이동 정보 계산부(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
여기서 후보 리스트는 상기한 후보 리스트 생성부(402)에 의해 동적으로 생성된 것으로서, 정지 이벤트에 의해 정지하여야 하는 트래픽카의 리스트이다. Here, the candidate list is dynamically generated by the candidate
예를 들어, 신호 변경의 경우에 후보 리스트에는 정지 신호로 바뀐 신호등을 통과하지 못하고, 정지 신호등에 의해 감속되어야 하는 복수의 트래픽카에 관한 정보가 포함될 수 있지만, 현재 트래픽카의 속도를 고려할 때 신호등을 통과할 수 있을 것으로 예상되는 트래픽카와 신호등과의 거리가 멀어 정지를 요구하지 않는 트래픽카는 제외될 수 있다. 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
계산 시작 트래픽카에 대한 가속도 계산이 완료된 후, 이동 정보 계산부(308)는 k 번째(k는 1이상의 자연수) 트래픽카의 가속도를 계산하고, 후행하는 k+1번째 트래픽카에 대해 k번째 트래픽카의 가속도를 이용하여 가속도를 계산한다. After the acceleration calculation for the calculation start traffic car is completed, the movement
계산된 가속도 정보는 사용자 클라이언트(108)에 전송되며, 각 사용자 클라이언트에 설치된 게임 어플리케이션(110)은 미리 설정된 시간동안, 즉 트래픽카의 다음 제어 정보가 오기 전까지의 시간 동안 가속도 정보를 이용하여 도 13과 같이, 각 트래픽카가 계산된 가속도에 따라 이동할 수 있도록 시뮬레이션할 수 있다. The calculated acceleration information is transmitted to the
이에 따라 단순히 앞차만을 고려하여 트래픽카의 이동 정보가 계산되는 것이 아니라 서로 영향을 미칠 수 있는 복수의 트래픽카에 대해 순차적으로 가속도 계산이 수행되기 때문에 계산 횟수를 증가시킬 필요가 없으며, 단순히 앞차만을 고려하는 것에 비해 계산의 정확성을 높일 수 있다. 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
전술한 바와 같이, 도 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
또한, 그래프는 단지 교차로에 대해서만 생성되는 것이 아니며, 서로 연결되어 있는 패스에 대해 별개로 생성될 수 있다. 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
예상 패스 리스트를 기준으로 현재 각 트래픽카에 대해 선행하는 트래픽카와의 거리가 계산될 수 있다. 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
이동 정보 계산부(308)는 각 정지 신호등에 의해 가장 먼저 정지하여야 하는 계산 시작 트래픽카를 결정한다. The
이후, 이동 정보 계산부(308)는 각 패스에 대해 계산 시작 트래픽카부터 가속도를 계산하는 과정을 수행하며, 정지해야 하는 다른 트래픽카에 대해 선행하는 트래픽카의 가속도를 이용하여 순차적으로 가속도를 계산한다. Then, the movement
이동 정보 계산부(308)는 그래프를 순회하면서 각 그래프에 포함된 트래픽카의 가속도를 계산하는데, 각 그래프는 동일한 패스를 포함할 수 있다. 따라서, 이동 정보 계산부(308)는 계산을 하는 중에 이미 계산된 패스를 만나는 경우에는 계산을 중단한다. The
한편, 트래픽카가 이동하는 중에 차선의 감소 등으로 병목 지점에 존재할 수 있는데, 본 발명에 따르면, 병목 지점 탐색부(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
예를 들어, 병목 지점 탐색부(310)는 각 트래픽카에 대한 예상 패스 리스트에서 교차로 통과 등에 의해 차선이 감소하는 도로가 존재하는지 여부를 판단할 수 있다. For example, the bottleneck
병목 지점 탐색부(310)에 의해 병목 현상을 일으킬 수 있는 모든 패스가 탐 색된 후에 이동 정보 계산부(308)는 해당 패스에서 병목 지점을 벗어날 수 있는 트래픽카를 제외하고, 제외된 트래픽카의 뒤에 위치한 트래픽카에 대해 감속을 위한 가속도 계산을 수행한다. After all the paths that may cause the bottleneck are detected by the bottleneck
차선 변경부(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
예를 들어, 신호등 변경부(314)는 신호등이 직진 도로에 존재하는 경우, 미리 설정된 주기와 미리 설정된 시간 동안 신호를 변경한다.For example, when the traffic light is present on the straight road, the traffic
그러나 많은 트래픽카가 몰려 정체 구역이 발생하는 경우, 신호등 변경부(314)는 신호 변경 주기와 신호 시간을 조정할 수 있다.However, when a lot of traffic cars are crowded to generate a congestion zone, the traffic
예를 들어, 교차로 상에 신호등에 대해 신호등 변경부(314) 좌회전 후 직진 신호로 변경하려고 할 때 좌회전 하고 있는 트래픽카가 모두 교차로를 통과할 수 있는 시간동안 좌회전 신호 시간을 늘리게 된다. For example, when the
즉, 본 발명에 따른 신호등 변경부(314)는 진행 방향 별로 트래픽카의 수를 검색하고, 정체가 심화되는 구간에 상응하는 패스에 대해 신호 시간을 증가시킬 수 있다. That is, the traffic
도 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
커맨드 해석부(500)는 사용자가 입력하는 게임 커맨드 정보를 수신하고 게임 커맨드를 해석하여 해석된 정보를 게임 로직 처리부(502)에 제공한다. 예를 들어, 게임 커맨드 해석부(500)는 사용자가 입력한 게임 커맨드가 퀘스트 수락 커맨드인지 또는 이동 커맨드인지 여부 등을 해석하고 해석된 정보를 게임 로직 처리부(502)에 제공한다. The
게임 로직 처리부(502)는 사용자의 게임 커맨드 입력에 상응하여 미리 설정된 게임 로직을 실행하는 기능을 한다. 게임 환경 설정 커맨드와 같이 서버로 전송할 필요가 없는 커맨드일 경우 게임 로직 처리부(502)는 클라이언트 내부에서 게임 환경 설정 프로세스를 수행한다. 플레이어 캐릭터의 이동 메시지와 같이 서버로 전송할 필요가 있는 커맨드일 경우, 게임 로직 처리부(502)는 이동 커맨드에 상응하는 이동 메시지를 생성하여 서버 통신부(504)에 제공한다. The
서버 통신부(504)는 게임 로직 처리부(502)에서 생성되는 게임 메시지를 게임 서버(102) 또는 실시간성 메시지 처리 서버(106)에 전송하며, 게임 서버 또는 실시간성 메시지 처리 서버에서 전송되는 게임 메시지를 게임 로직 처리부(502)에 제공하는 기능을 한다. The
시뮬레이션부(506)는 사용자의 커맨드에 따라 플레이어 캐릭터의 시뮬레이션을 수행하며, 트래픽카에 관한 이동 정보가 수신된 경우, 이동 정보에 따라 트래픽카에 대한 시뮬레이션을 수행한다. The
예를 들어, 정지 이벤트에 의해 트래픽카의 감속을 위한 가속도 정보가 수신되는 경우, 시뮬레이션부(506)는 해당 가속도에 상응하게 트래픽카를 시뮬레이션하며, 이에 따라 사용자가 화면 상에서 감속하고 있는 트래픽카를 확인할 수 있도록 한다. For example, when acceleration information for deceleration of the traffic car is received by the stop event, the
또한, 트래픽카의 차선 변경 정보가 수신되는 경우, 시뮬레이션부(506)는 차선 변경 라인을 생성하여 트래픽카가 차선을 변경하는 것을 표현할 수 있다. In addition, when the lane change information of the traffic car is received, the
시뮬레이션부(506)는 이전 차선과 변경된 차선의 진행 방향과 양 차선에서의 위치 정보를 이용하여 보간 과정을 통해 S자 형태의 차선 변경 라인을 생성할 수 있으며, 이때 보간은 베지어 스플라인 보간이 이용될 수 있다.The
게임 데이터 추출부(508)는 게임 실행을 위해 필요한 게임 데이터를 추출하는 기능을 한다. 예를 들어, 게임 로직 처리부(502)의 제어에 따라 게임 데이터 추출부(508)는 맵 데이터, 캐릭터 정보 데이터 등을 추출한다.The game
이하에서는 트래픽카 제어부의 수행 과정을 순서도를 통해 상세하게 설명한 다. 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
전술한 바와 같이, 본 발명에 따른 패스는 각 위치가 미리 설정된 속도로 이동할 경우에 걸리는 시간으로 표현될 수 있다.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
신호등 배치 후, 패스 상에 시간 순서대로 트래픽카를 배치하며(단계 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
미리 설정된 시간이 경과한 경우, 트래픽카 제어부(205)는 해당 패스에서 정지 이벤트가 발생하였는지 여부를 판단하며(단계 702), 정지 이벤트가 발생한 경우, 정지해야 하는 트래픽카에 대한 후보 리스트를 생성한다(단계 704).When the preset time has elapsed, the
전술한 바와 같이, 현재 상태에서 정지 이벤트가 발생한 지점(예를 들어, 신호등) 이전에 위치한 트래픽카라 하더라도 후보 리스트에는 다음 시점(예를 들어, 사용자 클라이언트에서 트래픽카의 움직임이 표시되는 시점)에 상기한 지점을 통과할 수 있는 트래픽카는 제외한다. 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
가속도의 계산은 정지 위치 또는 앞서는 트래픽카와의 거리와의 거리, 현재 속도 등을 이용하여 이루어진다. 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
단계 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
다음으로, 예상 패스 리스트를 기준으로 현재 각 트래픽카에 대해 앞서는 트래픽카와의 거리를 계산한다(단계 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
계산 시작 트래픽카의 결정은 상기한 단계 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
이때, 트래픽카 제어부(205)는 그래프에 대해 계산이 누락된 트래픽카 별로 그래프를 순회하면서 각 트래픽카에 영향을 미칠 수 있는 앞서는 트래픽카의 리스트를 작성하며, 상기 단계 814와 같은 가속도 계산 과정을 수행할 수 있다. At this time, the
도 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
전술한 바와 같이, 병목 지점의 탐색은 예상 패스 리스트에서 차선이 감소하는 도로가 있는지 확인하는 과정이다. 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
이에 따라 병목 탈출 지점에 근접한 트래픽카는 감속 없이 병목 지점을 통과할 수 있다. 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
트래픽카 제어부(205)는 차량 리스트를 검색한 후에 차선 변경 조건을 만족하는지 여부를 판단한다(단계 1002).The
전술한 바와 같이, 차선 변경 조건은 인접 차선에 위치한 트래픽카가 안전 거리 이상으로 위치하는지 여부를 통해 판단될 수 있다.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
트래픽카의 차선 변경 정보는 사용자 클라이언트(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
정해진 신호 시간 동안 트래픽카가 교차로를 통과하지 못할 것으로 예상되는 경우에 트래픽카 제어부(205)는 신호 시간을 갱신(연장)하며(단계 1116), 그렇지 않은 경우에는 신호등을 변경한다(단계 1104).If it is expected that the traffic car will not cross the intersection for a predetermined signal time, the traffic
한편, 트래픽카 제어부(205)는 교차로와 별도로 진행 방향별 트래픽수를 탐색할 수 있으며, 이를 통해 정체 구간을 결정하고, 해당 구간에서의 신호 시간을 탄력적으로 변경할 수 있다. On the other hand, the traffic
상기한 본 발명의 바람직한 실시예는 예시의 목적을 위해 개시된 것이고, 본 발명에 대해 통상의 지식을 가진 당업자라면 본 발명의 사상과 범위 안에서 다양한 수정, 변경, 부가가 가능할 것이며, 이러한 수정, 변경 및 부가는 하기의 특허청구범위에 속하는 것으로 보아야 할 것이다. 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)
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)
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)
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 |
-
2006
- 2006-08-11 KR KR1020060076383A patent/KR100865072B1/en active IP Right Grant
Patent Citations (2)
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)
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 | |
US10406438B2 (en) | Controlling behavior of entities in funnel sections of a computer-represented environment | |
KR20110069824A (en) | System and method for simulating events in a real 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 |