KR20220119945A - Game balance analysis system for turn based battle game character development - Google Patents
Game balance analysis system for turn based battle game character development Download PDFInfo
- Publication number
- KR20220119945A KR20220119945A KR1020210023447A KR20210023447A KR20220119945A KR 20220119945 A KR20220119945 A KR 20220119945A KR 1020210023447 A KR1020210023447 A KR 1020210023447A KR 20210023447 A KR20210023447 A KR 20210023447A KR 20220119945 A KR20220119945 A KR 20220119945A
- Authority
- KR
- South Korea
- Prior art keywords
- character
- battle
- information
- simulation
- simulator
- Prior art date
Links
- 238000004458 analytical method Methods 0.000 title claims abstract description 32
- 238000011161 development Methods 0.000 title claims abstract description 13
- 238000004088 simulation Methods 0.000 claims abstract description 150
- 238000012795 verification Methods 0.000 claims description 51
- 238000000034 method Methods 0.000 claims description 18
- 238000007726 management method Methods 0.000 claims description 17
- 238000009826 distribution Methods 0.000 claims description 14
- 238000005516 engineering process Methods 0.000 claims description 8
- 238000012545 processing Methods 0.000 claims description 6
- 230000004044 response Effects 0.000 claims description 5
- 238000012896 Statistical algorithm Methods 0.000 claims description 3
- 238000013459 approach Methods 0.000 claims description 2
- 230000000694 effects Effects 0.000 abstract description 4
- 238000012790 confirmation Methods 0.000 abstract description 2
- 238000004891 communication Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 10
- 238000012360 testing method Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 7
- 230000008859 change Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000002776 aggregation Effects 0.000 description 2
- 238000004220 aggregation Methods 0.000 description 2
- 230000007123 defense Effects 0.000 description 2
- 230000001934 delay Effects 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 210000005155 neural progenitor cell Anatomy 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- QVFWZNCVPCJQOP-UHFFFAOYSA-N chloralodol Chemical compound CC(O)(C)CC(C)OC(O)C(Cl)(Cl)Cl QVFWZNCVPCJQOP-UHFFFAOYSA-N 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 239000012530 fluid Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011112 process operation Methods 0.000 description 1
- 230000002250 progressing effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000002604 ultrasonography Methods 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/60—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
-
- 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/55—Controlling game characters or game objects based on the game progress
-
- 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/60—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
- A63F13/63—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor by the player, e.g. authoring using a level editor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
Abstract
Description
본 발명은 턴제 대전게임 캐릭터 개발을 위한 밸런스 분석 시스템에 관한 것으로, 조합 가능성이 대단히 많은 턴제 대전게임의 캐릭터 밸런스 확인을 위하여 미리 설정된 환경에 대한 수 많은 조합을 생성하고 생성된 조합에 의한 병렬적 전투 시뮬레이션을 통해 개발하고자 하는 캐릭터의 게임 내 밸런스를 객관적으로 확인할 수 있도록 한 턴제 대전게임 캐릭터 개발을 위한 밸런스 분석 시스템에 관한 것이다.The present invention relates to a balance analysis system for developing a character in a turn-based fighting game, and to create a number of combinations for a preset environment in order to check the character balance of a turn-based fighting game with a lot of combination possibilities, and parallel battle by the generated combinations It relates to a balance analysis system for character development in a turn-based fighting game that can objectively check the in-game balance of a character to be developed through simulation.
항상 휴대하는 스마트폰을 포함하여 다양한 종류의 게임 실행 단말들이 보급되면서 여러 장르의 게임들이 등장하고 있으며, 이러한 게임들 중에서 자신이 선택한 캐릭터를 포함한 집단을 기준으로 상대방 집단이나 적 집단과 대전을 벌이되 순서에 맞추어 공격을 수행하는 소위 턴(turn)제 대전 게임에 대한 관심도 높다.As various types of game execution terminals, including always-carrying smartphones, have been spread, games of various genres are emerging. Interest in so-called turn-based fighting games in which attacks are performed in order is also high.
대표적인 게임으로 본 출원인이 개발하여 서비스 하고 있는 '에픽 세븐' 역시 이와 같은 턴제 대전 게임의 일종으로서, 사용자가 직접 플레이할 수 있는 캐릭터인 '영웅'과 사용자가 직접 플레이하지는 않는 비사용자 캐릭터(NPC) 및 적 캐릭터들이 1명~4명의 조합으로 이루어진 그룹으로 교번하여 전투를 진행하는 구성을 가진다. 'Epic Seven', developed and serviced by the present applicant as a representative game, is also a type of turn-based fighting game. The 'hero', a character that the user can directly play, and a non-user character (NPC) that the user does not directly play. And the enemy characters have a configuration in which the battle proceeds alternately in a group consisting of a combination of 1 to 4 people.
도시된 도 1은 예시적인 게임의 캐릭터 선택 창을 보인 것으로, 도시된 바와 같이 캐릭터 조합으로 특정 맵(스테이지, 단계)에 대한 전투를 진행하기 위하여 4명의 캐릭터들을 선택한 화면의 예시이다.1 is a view showing a character selection window of an exemplary game, and is an example of a screen in which four characters are selected to advance a battle on a specific map (stage, step) with a character combination as shown.
각 캐릭터는 다양한 기술(능력치)과 장비를 보유함으로써 서로 다른 특징을 가질 수 있으며, 조합 캐릭터의 상성에 따라 집단의 상대적 전투력이 달라지며, 상대하는 적들이나 다른 사용자 집단과의 전투력과 상성에 따라 대전 결과가 달라진다.Each character can have different characteristics by possessing various skills (stats) and equipment, and the relative combat power of the group varies according to the compatibility of the combination character, and the battle is based on the fighting power and compatibility with the opponents or other user groups. The result will be different.
도 2는 예시적인 턴제 대전 게임의 전투 화면을 보인 것으로, 도시된 바와 같이 4명의 사용자 캐릭터(이들 중 일부는 NPC 일수도 있음) 집단과 적 집단이 순차적으로 공격을 주고 받아 전투의 승패를 가르는 예시이다. 도시된 바와 같이 캐릭터 집단 중 하나의 캐릭터가 특정 기술을 전개하여 적에게 타격을 가하고, 다음에는 적 캐릭터 들중 하나가 기술을 전개하여 사용자 캐릭터 집단에게 타격을 가하는 방식이다.2 is a view showing a battle screen of an exemplary turn-based fighting game. As shown, a group of four user characters (some of them may be NPCs) and an enemy group sequentially exchange attacks to determine the outcome of the battle. to be. As shown, one character of the character group deploys a specific skill to apply a blow to the enemy, and then one of the enemy characters deploys a skill to apply a blow to the user character group.
이러한 경우 사용자 캐릭터와 장비, 능력의 조합을 통해서 적 집단과의 대전 결과가 달라지게 되므로 특정한 적에 대해서 상성 우위를 가지는 사용자 캐릭터나 장비, 기술(능력)이 존재하게 되는데, 이와 같은 게임 내 캐릭터(및 장비와 기술) 조합에 의해 특정한 적이나 상대방에 대한 예상 이상의 우위를 가지는 경우가 발생할 수 있다. In this case, the result of the battle with the enemy group is different through the combination of the user character, equipment, and ability, so there is a user character, equipment, and skill (ability) that has a superiority over a specific enemy, such in-game characters (and Equipment and technology) combinations may result in a higher-than-expected advantage over a specific enemy or opponent.
이와 같이 특정 캐릭터에 따른 게임 밸런스 유지는 여러 사용자가 동시에 접속하여 경쟁하거나 상호 전투를 수행하는 게임에서 대단히 중요하다. 이와 같은 밸런스는 게임 개발자가 조정할 수 있으나, 이와 같은 캐릭터 특성이나 능력치의 변경은 실질적으로 해당 캐릭터를 소유한 사용자의 재화에 영향을 줄 수 있으므로, 사용자들은 해당 조정에 대해 객관적이지 않거나 보상이 없다면 해당 게임에 추가적인 자금을 소모하려고 하지 않아 게임 운영에 부정적 영향을 미치게 된다.As such, maintaining game balance according to a specific character is very important in a game in which multiple users access and compete or engage in a mutual battle at the same time. Such a balance can be adjusted by the game developer, but such a change in character characteristics or stats can actually affect the goods of the user who owns the character, so users may not be objective about the adjustment or if there is no compensation It does not intend to spend additional funds on the game, which will have a negative impact on the operation of the game.
따라서, 통상적인 경우 전투 수행 시 해당 전투에 대한 로그 정보를 저장한 후 이를 분석하여 사용율이 너무 저조한(즉, 특정 대상이나 조합에 대한 상성이 좋지 않아 사용자들이 사용하지 않는 것으로 밸런스 상 과소 성능) 사용자 캐릭터나 사용율이 과다하게 높은(즉, 특정 대상이나 조합에 대한 상성이 좋아 사용자들이 선호하는 것으로 밸런스 상 과도 성능) 캐릭터를 확인하고, 사용자 커뮤니티에 매니저를 배치하여 사용자 의견을 종합하여 다음 밸런스 패치에 대한 방향성을 조정하는 등의 절차를 진행하고 있다. Therefore, in a normal case, when performing a battle, log information about the battle is stored and then analyzed for users whose usage rate is too low (that is, users do not use it due to poor compatibility with a specific target or combination, underperforming the balance in terms of balance) Identify characters or characters with excessively high usage (that is, over-performance in balance as users prefer them because they have good compatibility with a specific target or combination), and assign a manager to the user community to synthesize user opinions and apply for the next balance patch We are in the process of adjusting the direction.
하지만, 신규 캐릭터의 경우 사용량 데이터를 확인할 수 없고 커뮤니티에 대한 의견도 청취할 수 없기 때문에 개발자의 주관적 데이터를 기반으로 테스트를 진행하여 제한된 조건에서의 밸런스 조정만 진행하므로 실제 서비스 시 게임 밸런스에 좋지 않은 영향을 미치는 캐릭터를 추후 발견하게 된다.However, in the case of new characters, usage data cannot be checked and opinions from the community cannot be heard. Therefore, the test is conducted based on the developer's subjective data and only balance adjustments under limited conditions are performed, which is not good for game balance in actual service. You will discover the characters that influence it later.
예컨대 현재 제공되고 있는 '에픽 세븐'의 경우 신규 캐릭터를 제작하여 적용하고자 할 경우 해당 신규 캐릭터가 포함되는 예상 조합은 수~수십만 가지에 이르기 때문에 개발자가 직접 유저와 동일한 인터페이스로 진입하여 해당 캐릭터로 게임을 진행해 보면서 밸런스를 조절하는 데 과도한 시간이 소요되고, 과도한 시간을 소모하더라도 모든 조합을 테스트 할 수 없기 때문에 실제 서비스 중 예상할 수 없었던 밸런스 붕괴가 발생하는 경우도 존재하였다. For example, in the case of 'Epic Seven', which is currently provided, if a new character is created and applied, the expected combination of the new character is tens to hundreds of thousands, so the developer directly enters the same interface as the user and plays a game with the character. It takes an excessive amount of time to adjust the balance while progressing, and since it is not possible to test all combinations even if excessive time is consumed, unexpected balance collapse occurred during actual service.
나아가 이러한 개발자의 주관적 데이터를 기반으로 캐릭터를 테스트하기 때문에 테스트 내용에 대한 객관성이나 신뢰성을 담보하기도 쉽지 않아 밸런스 조정에 대한 균일성을 확보하기도 어려운 문제가 있다.Furthermore, since the character is tested based on the developer's subjective data, it is not easy to guarantee objectivity or reliability of the test content, so it is difficult to secure uniformity in the balance adjustment.
상기와 같은 문제점을 해결하기 위한 본 발명의 목적은 복수 캐릭터 조합으로 이루어진 그룹들 간 턴제 대전을 수행하는 게임에서 신규 캐릭터와 조합 가능한 모든 종류의 조합 정보를 설정 환경에 맞추어 생성하고, 이를 복수의 시뮬레이션 서버에 할당하며, 각 시뮬레이션 서버에 구성된 전투 시뮬레이션부가 생성되는 조합에 대한 가상 전투를 병렬 방식으로 수행한 후 그 결과를 수집하여 해당 신규 캐릭터에 대한 밸런스 분석 정보를 제공하도록 함으로써, 객관적이면서 신속한 캐릭터 밸런스 정보 확인이 가능하도록 한 턴제 대전게임 캐릭터 개발을 위한 밸런스 분석 시스템을 제공하는 것이다. An object of the present invention to solve the above problems is to generate all kinds of combination information that can be combined with a new character according to a setting environment in a game in which a turn-based match is performed between groups consisting of a plurality of character combinations according to a setting environment, and a plurality of simulations are performed. Objective and rapid character balance by allocating to the server and providing balance analysis information for the new character by collecting the results after performing virtual battles for the combinations created by the battle simulation unit configured in each simulation server in a parallel manner It is to provide a balance analysis system for development of turn-based fighting game characters that enables information confirmation.
본 발명의 다른 목적은 개발자 단말이 제공하는 캐릭터 정보와 시뮬레이션 환경 정보를 토대로 가능한 조합을 생성하여 복수의 전투 시뮬레이터부에 분배하고 전투 시뮬레이터부로부터 조합별 전투 결과를 수집하여 밸런스에 관련된 분석 결과를 생성하는 캐릭터 밸런스 검증 서버를 구성하고, 다양한 운영체제와 플랫폼에서 동작하는 전투 시뮬레이터부가 설치된 복수의 시뮬레이션 서버를 별도로 구분하여 구성한 후 캐랙터 밸런스 검증 서버가 SSH 접속 주소를 통해 시뮬레이션 서버에 구성된 전투 시뮬레이터부를 기동시키고, 각 전투 시뮬레이터부는 내부적으로 전투 실행이 가능한 시뮬레이터 컨테이너 모듈을 독립된 컴퓨터 스레드로 병렬적으로 실행하도록 하며 역시 별도의 독립된 스레드로 동작하며 복수의 시뮬레이터 컨테이터 모듈을 관리하는 시뮬레이터 스케줄러 모듈을 하나 이상 실행하도록 함으로써 병렬적으로 전투 시뮬레이션이 가능하도록 함으로써 테스트 시간을 줄일 수 있도록 한 턴제 대전게임 캐릭터 개발을 위한 밸런스 분석 시스템을 제공하는 것이다. Another object of the present invention is to generate a possible combination based on the character information and simulation environment information provided by the developer terminal, distribute it to a plurality of battle simulator units, collect the battle results for each combination from the battle simulator unit, and generate an analysis result related to balance After configuring the character balance verification server to separately configure a plurality of simulation servers installed with the battle simulator unit operating on various operating systems and platforms, the character balance verification server starts the battle simulator unit configured in the simulation server through the SSH connection address, Each battle simulator unit executes the simulator container module capable of internally combat execution in parallel as an independent computer thread, and also operates as a separate independent thread and executes one or more simulator scheduler modules that manage multiple simulator container modules. It is to provide a balance analysis system for character development of a turn-based fighting game that can reduce test time by enabling parallel combat simulation.
나아가, 본 발명의 또 다른 목적은 수~수십만개에 이르는 테스트 대상 조합을 생성하는데 오랜 시간이 걸리기 때문에 개발자로부터 캐릭터 밸런스 검증을 위한 환경 설정이 완료되면 가능한 조합 정보를 생성하여 저장하면서 곧바로 시뮬레이션 수행을 시작할 수 있도록 하며, 할당된 전투 시뮬레이터부는 생성중인 조합 정보를 순차적으로 수집하면서 곧바로 복수의 시뮬레이터 컨테이터 모듈들에 조합을 분산 할당하여 병렬적으로 전투를 모의하도록 함으로써 지연 발생을 최소화하여 최소 정보만 준비되면 곧바로 전투 시뮬레이션을 진행하여 테스트 시간을 최소화함과 아울러 복수 개발자들이 복수 캐릭터에 대한 밸런스 검증을 수행할 수 있도록 시뮬레이션 서버의 자원을 최적 활용할 수 있도록 한 턴제 대전게임 캐릭터 개발을 위한 밸런스 분석 시스템을 제공하는 것이다. Furthermore, another object of the present invention is that it takes a long time to generate tens to hundreds of thousands of test target combinations, so when the environment setting for character balance verification is completed by the developer, simulation can be performed immediately while generating and storing possible combination information. The assigned battle simulator unit collects information on the combination being created in sequence and immediately distributes and allocates combinations to a plurality of simulator container modules to simulate battles in parallel, minimizing delays and preparing only minimum information. Provide a balance analysis system for character development in a turn-based fighting game that minimizes test time by conducting a battle simulation immediately upon completion, and optimizes the use of simulation server resources so that multiple developers can perform balance verification for multiple characters will do
본 발명의 일 실시예에 따른 턴제 대전게임 캐릭터 개발을 위한 밸런스 분석 시스템은 복수의 캐릭터들이 집단을 이루어 상대 집단과 턴제 대전을 수행하는 게임의 캐릭터 밸런스 검증을 위해 개발자 단말과 캐릭터 밸런스 검증 서버 및 시뮬레이션 서버로 구성된 캐릭터 밸런스 분석 시스템으로서, 캐릭터 밸런스 검증 서버는 개발자 단말로부터 검증 대상 캐릭터와 환경 정보를 수신하여 해당 캐릭터를 포함하는 모든 가능한 종류의 조합을 생성하고, 복수의 시뮬레이션 서버에 구성되는 복수의 전투 시뮬레이터부에 대한 접속 주소를 기반으로 시뮬레이션에 사용할 전투 시뮬레이터부를 할당한 후 할당된 전투 시뮬레이터부에 생성된 조합 정보를 제공하며, 상기 전투 시뮬레이터부로부터 결과 정보를 수집 및 분석하여 밸런스 조정을 위한 정보로서 개발자 단말에 제공하고, 시뮬레이션 서버는 캐릭터 밸런스 검증 서버의 주소 기반 접속에 의해 실행되는 복수의 전투 시뮬레이터부를 구비하며, 각 전투 시뮬레이터부는 캐릭터 밸런스 검증 서버로부터 생성된 조합에 대한 정보를 수신하여 각 조합에 대한 독립된 전투를 병렬적으로 수행한 후 그 결과를 수집하여 캐릭터 밸런스 검증 서버에 결과 정보로 제공한다.Balance analysis system for character development of a turn-based battle game according to an embodiment of the present invention is a developer terminal and a character balance verification server and simulation for character balance verification of a game in which a plurality of characters form a group and perform a turn-based battle with an opponent group As a character balance analysis system composed of a server, the character balance verification server receives the character and environment information to be verified from the developer terminal, generates all possible combinations of the characters including the corresponding character, and a plurality of battles configured in a plurality of simulation servers After allocating the battle simulator unit to be used for simulation based on the access address to the simulator unit, the combination information generated in the assigned battle simulator unit is provided, and the result information is collected and analyzed from the battle simulator unit as information for balance adjustment. Provided to the developer terminal, the simulation server has a plurality of battle simulator units that are executed by address-based access of the character balance verification server, and each battle simulator unit receives information about the combinations generated from the character balance verification server and applies them to each combination. After performing independent battles in parallel, the results are collected and provided as result information to the character balance verification server.
일례로서, 캐릭터 밸런스 검증 서버는 전투 시뮬레이터부 할당을 위해 전투 시뮬레이터부에 대한 접속 정보를 구비한 게임 시뮬레이터 접속 정보 데이터베이스와, 조합 정보 생성을 위하여 조합 가능한 캐릭터, 장비, 기술, 캐릭터에 적용할 스테이터스 보너스, 검증 대상 캐릭터, 전투 대상 맵 정보를 포함하는 시뮬레이션 환경 데이터베이스를 포함할 수 있다.As an example, the character balance verification server includes a game simulator access information database having access information to the battle simulator unit for allocating the battle simulator unit, and a character, equipment, technology, and status bonus to be applied to characters that can be combined to generate combination information. , a character to be verified, and a simulation environment database including battle target map information.
또한, 캐릭터 밸런스 검증 서버는 개발자 단말과 시뮬레이션 서버의 전투 시뮬레이터부와 연동하는 부하 분산부를 포함하며, 이러한 부하 분산부는 개발자 단말로부터 검증 대상 캐릭터와 환경 정보를 수신하여 시뮬레이션 식별자를 생성한 후 상기 시뮬레이션 환경 데이터베이스를 기반으로 가능한 모든 종류의 조합 정보를 생성하는 조합 생성 모듈과, 게임 시뮬레이터 접속 정보 데이터베이스에서 선택된 전투 시뮬레이터부를 주소 정보를 통해 접근하여 실행시킨 후 시뮬레이션 식별자 정보를 제공하는 시뮬레이터 분배 모듈과, 조합 생성 모듈에서 생성되는 조합 정보를 시뮬레이션 식별자에 대응하여 저장하고, 선택된 게임 시뮬레이터부의 시뮬레이션 식별자 기반 요청에 따라 생성된 조합 정보를 제공하는 생성 조합 관리 모듈과, 선택된 게임 시뮬레이터부로부터 시뮬레이션 식별자와 결과 정보를 수신하여 해당 시뮬레이션 식별자에 대응하여 저장하는 전투 결과 수집 모듈과, 전투 결과 수집 모듈의 누적된 결과 정보를 통계 방식으로 분석하여 밸런스 정보를 생성한 후 상기 개발자 단말에 제공하는 통계 생성 모듈을 포함할 수 있다.In addition, the character balance verification server includes a load balancer that interworks with the developer terminal and the battle simulator unit of the simulation server, and this load balancer receives the verification target character and environment information from the developer terminal to generate a simulation identifier and then generates the simulation environment A combination creation module that generates all possible types of combination information based on a database, a simulator distribution module that provides simulation identifier information after accessing and executing the battle simulator unit selected from the game simulator access information database through address information, and combination creation A generation combination management module that stores the combination information generated in the module corresponding to the simulation identifier and provides combination information generated in response to a request based on the simulation identifier of the selected game simulator unit, and receives the simulation identifier and result information from the selected game simulator unit It may include a battle result collection module that stores in response to the simulation identifier, and a statistics generation module that analyzes the accumulated result information of the battle result collection module in a statistical manner to generate balance information and then provides it to the developer terminal. .
특히, 조합 생성 모듈은 조합 정보를 생성하여 생성 조합 관리 모듈에 제공하되, 조합 정보가 모두 생성되기 이전에 시뮬레이터 분배 모듈을 동작시키고 개발자 단말에 캐릭터 밸런스 검증의 시작을 알릴 수 있다. 또한, 전투 시뮬레이터부는 생성 조합 관리 모듈로부터 더 이상 조합 정보가 없을 때까지 반복적으로 조합 정보를 일부씩 수신하면서 동시에 병렬적으로 조합 정보 별 전투를 수행할 수 있다.In particular, the combination generation module generates combination information and provides it to the generation combination management module, but operates the simulator distribution module before all combination information is generated and may notify the developer terminal of the start of character balance verification. In addition, the battle simulator unit may repeatedly receive combination information partly from the generation combination management module until there is no more combination information, and simultaneously perform a battle for each combination information in parallel.
일례로서, 전투 시뮬레이터부는 시뮬레이터 분배 모듈의 접근에 따라 시뮬레이션 서버에서 실행되어 시뮬레이션 서버의 자원을 확보하고, 수신되는 시뮬레이션 식별자를 수신하며, 미리 설정된 최신의 게임 설정 정보로 데이터를 초기한 후 시뮬레이션을 시작하고 시뮬레이션 종료 시 시뮬레이션 서버의 자원을 반환한 후 실행을 종료하는 데이터 초기화 모듈과, 부하 분산부의 생성 조합 관리 모듈과 시뮬레이션 식별자를 기반으로 연동하여 조합 정보를 분산 수신하고 전투 시뮬레이션 결과를 수집하여 부하 분산부의 전투 결과 수집 모듈에 제공하는 부하 분산부 연동 모듈과, 시뮬레이션 서버의 연산 자원 중 가용 스레드에 대응 생성되어 수신되는 조합 정보에 대한 실제 전투를 수행한 후 그 결과를 반환하는 복수의 시뮬레이터 컨테이너 모듈과, 부하 분산부 연동 모듈로부터 조합 정보를 수신하여 복수의 시뮬레이터 컨테이너 모듈에 분배하고 각 시뮬레이터 컨테이너 모듈의 전투 수행 결과를 수신하여 부하 분산부 연동 모듈에 제공하는 시뮬레이터 스케줄러 모듈을 포함할 수 있다.As an example, the battle simulator unit is executed on the simulation server according to the approach of the simulator distribution module to secure the resources of the simulation server, receive the received simulation identifier, initialize the data with the latest preset game setting information, and then start the simulation. When the simulation ends, the data initialization module returns the resources of the simulation server and ends the execution, and the load balancer receives the combination information distributed based on the combination management module and the simulation identifier generated by the load balancer, and collects the battle simulation results to distribute the load. A load balancer interworking module provided to the negative battle result collection module, a plurality of simulator container modules that return the results after performing an actual battle on the combination information generated and received corresponding to the available threads among the computational resources of the simulation server; , it may include a simulator scheduler module that receives combination information from the load balancer interworking module and distributes it to a plurality of simulator container modules, receives the battle performance results of each simulator container module, and provides it to the load balancer interworking module.
일례로서, 부하 분산부의 통계 생성 모듈은 결과 정보로부터 조합된 캐릭터, 적용한 장비, 사용한 기술, 캐릭터에 적용된 스테이터스 보너스, 검증 대상 캐릭터 정보, 전투 대상 맵 정보를 확인하고, 전투의 승패, 검증 대상 캐릭터가 행동한 횟수, 턴의 횟수, 사용한 기술, 검증 대상 캐릭터의 기여도에 대한 정보를 생성하여 미리 설정된 통계 알고리즘을 통해 처리한 후 그 결과를 개발자 단말에 제공할 수 있다.As an example, the statistics generation module of the load balancer checks the combined character, the applied equipment, the technology used, the status bonus applied to the character, the verification target character information, and the battle target map information from the result information. Information on the number of actions, the number of turns, the skills used, and the contribution of the character to be verified can be generated and processed through a preset statistical algorithm, and then the results can be provided to the developer terminal.
본 발명의 실시예에 따른 턴제 대전게임 캐릭터 개발을 위한 밸런스 분석 시스템은 복수 캐릭터 조합으로 이루어진 그룹들 간 턴제 대전을 수행하는 게임에서 신규 캐릭터와 조합 가능한 모든 종류의 조합 정보를 설정 환경에 맞추어 생성하고, 이를 복수의 시뮬레이션 서버에 할당하며, 각 시뮬레이션 서버에 구성된 전투 시뮬레이션부가 생성되는 조합에 대한 가상 전투를 병렬 방식으로 수행한 후 그 결과를 수집하여 해당 신규 캐릭터에 대한 밸런스 분석 정보를 제공하도록 함으로써, 객관적이면서 신속한 캐릭터 밸런스 정보 확인을 통해 게임의 밸런스를 안정적으로 유지하면서 새로운 신규 캐릭터를 신속하게 제공할 수 있는 효과가 있다. The balance analysis system for developing a character in a turn-based fighting game according to an embodiment of the present invention generates all kinds of combination information that can be combined with a new character in a game that performs turn-based battle between groups consisting of a plurality of character combinations according to the setting environment, and , allocating it to a plurality of simulation servers, performing virtual battles for combinations generated by the battle simulation unit configured in each simulation server in a parallel manner, and collecting the results to provide balance analysis information for the new character, It has the effect of quickly providing new characters while maintaining stable game balance by objectively and quickly checking character balance information.
또한, 개발자 단말과 연동하여 가능 조합을 생성하여 복수의 전투 시뮬레이터부에 분배하고 전투 시뮬레이터부로부터 조합별 전투 결과를 수집하여 밸런스에 관련된 분석 결과를 생성하는 캐릭터 밸런스 검증 서버를 구성하고, 다양한 운영체제와 플랫폼에서 동작하는 전투 시뮬레이터부가 설치된 복수의 시뮬레이션 서버를 별도로 구분하여 구성한 후 캐랙터 밸런스 검증 서버가 SSH(secure shell) 접속 주소를 통해 시뮬레이션 서버에 구성된 전투 시뮬레이터부를 기동시키고, 각 전투 시뮬레이터부는 내부적으로 전투 실행이 가능한 시뮬레이터 컨테이너 모듈을 독립된 컴퓨터 스레드로 병렬적으로 실행하도록 하며 역시 별도의 독립된 스레드로 동작하며 복수의 시뮬레이터 컨테이터 모듈을 관리하는 시뮬레이터 스케줄러 모듈을 하나 이상 실행하도록 함으로써 병렬적으로 전투 시뮬레이션이 가능하도록 하여 테스트 시간을 크게 줄일 수 있도록 하는 효과가 있다.In addition, in conjunction with the developer terminal, a possible combination is created and distributed to a plurality of battle simulator units, and a character balance verification server that collects battle results for each combination from the battle simulator unit and generates an analysis result related to balance is constructed, and various operating systems and After separately configuring a plurality of simulation servers where the battle simulator unit operating on the platform is installed, the character balance verification server activates the battle simulator unit configured in the simulation server through the SSH (secure shell) access address, and each battle simulator unit internally executes battles. In order to enable parallel combat simulation by executing this possible simulator container module in parallel as an independent computer thread, and by executing one or more simulator scheduler modules that also operate as separate independent threads and manage multiple simulator container modules. This has the effect of greatly reducing the test time.
나아가, 수~수십만개에 이르는 테스트 대상 조합을 생성하기 위한 지연을 줄이기 위하여 캐릭터 밸런스 검증을 위한 환경 설정이 완료되면 가능한 조합 정보를 생성하여 저장하면서 곧바로 시뮬레이션 수행을 시작할 수 있도록 하며, 할당된 전투 시뮬레이터부는 생성중인 조합 정보를 순차적으로 수집하면서 곧바로 복수의 시뮬레이터 컨테이터 모듈들에 조합을 분산 할당하여 병렬적으로 전투를 모의하도록 함으로써 지연 발생을 최소화하여 최소 정보만 준비되면 곧바로 전투 시뮬레이션을 진행하여 테스트 시간을 최소화함과 아울러 복수 개발자들이 복수 캐릭터에 대한 밸런스 검증을 수행할 수 있도록 시뮬레이션 서버의 자원을 최적 활용할 수 있도록 하는 효과가 있다.Furthermore, in order to reduce the delay for generating tens to hundreds of thousands of test target combinations, when the environment setting for character balance verification is completed, it creates and saves possible combination information so that simulation can be started immediately, and the assigned battle simulator The department collects the combination information being created in sequence and immediately distributes and allocates combinations to multiple simulator container modules to simulate battles in parallel to minimize delays. In addition to minimizing the number of characters, it has the effect of optimally utilizing the resources of the simulation server so that multiple developers can perform balance verification for multiple characters.
도 1은 턴제 대전 게임의 캐릭터 조합의 예.
도 2는 턴제 대전 게임의 전투 상황을 보인 예.
도 3은 본 발명의 실시예에 따른 밸런스 분석 시스템의 구성도.
도 4는 본 발명의 실시예에 따른 캐릭터 밸런스 검증 서버의 구성도.
도 5는 본 발명의 실시예에 따른 전투 시뮬레이터부의 구성도.
도 6은 본 발명의 실시예에 따른 캐릭터 밸런스 분석 시스템의 동작 과정을 보인 순서도.
도 7은 본 발명의 실시예에 따른 개발자 단말의 환경 설정 화면의 예시도.
도 8은 본 발명의 실시예에 따른 시뮬레이션 결과 화면의 예시도.
도 9는 본 발명의 실시예에 따른 통계적 밸런스 정보의 예시도.
도 10은 본 발명의 실시예에 따른 결과 정보를 이용한 개발자 단말의 표현 예시도.1 is an example of a character combination in a turn-based fighting game.
2 is an example showing a battle situation of a turn-based fighting game.
3 is a block diagram of a balance analysis system according to an embodiment of the present invention.
4 is a block diagram of a character balance verification server according to an embodiment of the present invention.
5 is a configuration diagram of a battle simulator unit according to an embodiment of the present invention.
Figure 6 is a flowchart showing the operation process of the character balance analysis system according to an embodiment of the present invention.
7 is an exemplary diagram of an environment setting screen of a developer terminal according to an embodiment of the present invention.
8 is an exemplary view of a simulation result screen according to an embodiment of the present invention.
9 is an exemplary diagram of statistical balance information according to an embodiment of the present invention.
10 is an exemplary representation of a developer terminal using result information according to an embodiment of the present invention.
본 발명에서 사용되는 기술적 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아님을 유의해야 한다. 또한, 본 발명에서 사용되는 기술적 용어는 본 발명에서 특별히 다른 의미로 정의되지 않는 한 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 의미로 해석되어야 하며, 과도하게 포괄적인 의미로 해석되거나 과도하게 축소된 의미로 해석되지 않아야 한다. 또한, 본 발명에서 사용되는 기술적인 용어가 본 발명의 사상을 정확하게 표현하지 못하는 잘못된 기술적 용어일 때에는 당업자가 올바르게 이해할 수 있는 기술적 용어로 대체되어 이해되어야 할 것이다. 또한, 본 발명에서 사용되는 일반적인 용어는 사전에 정의되어 있는 바에 따라 또는 전후 문맥상에 따라 해석되어야 하며, 과도하게 축소된 의미로 해석되지 않아야 한다.It should be noted that the technical terms used in the present invention are only used to describe specific embodiments, and are not intended to limit the present invention. In addition, the technical terms used in the present invention should be interpreted as meanings generally understood by those of ordinary skill in the art to which the present invention belongs, unless otherwise specifically defined in the present invention. It should not be construed as meaning or in an excessively reduced meaning. In addition, when the technical term used in the present invention is an incorrect technical term that does not accurately express the spirit of the present invention, it should be understood by being replaced with a technical term that can be correctly understood by those skilled in the art. In addition, the general terms used in the present invention should be interpreted as defined in the dictionary or according to the context before and after, and should not be interpreted in an excessively reduced meaning.
또한, 본 발명에서 사용되는 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한 복수의 표현을 포함한다. 본 발명에서 "구성된다" 또는 "포함한다" 등의 용어는 발명에 기재된 여러 구성 요소들 또는 여러 단계를 반드시 모두 포함하는 것으로 해석되지 않아야 하며, 그 중 일부 구성 요소들 또는 일부 단계들은 포함되지 않을 수도 있고 또는 추가적인 구성 요소 또는 단계들을 더 포함할 수 있는 것으로 해석되어야 한다.Also, the singular expression used in the present invention includes the plural expression unless the context clearly dictates otherwise. In the present invention, terms such as "consisting of" or "comprising" should not be construed as necessarily including all of the various components or various steps described in the invention, and some components or some steps may not be included. It should be construed that it may further include additional components or steps.
또한, 본 발명에서 사용되는 제 1, 제 2 등과 같이 서수를 포함하는 용어는 구성 요소들을 설명하는데 사용될 수 있지만 구성 요소들은 용어들에 의해 한정되어서는 안 된다. 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제 1 구성 요소는 제 2 구성 요소로 명명될 수 있고, 유사하게 제 2 구성 요소도 제 1 구성 요소로 명명될 수 있다.Also, terms including ordinal numbers such as first, second, etc. used in the present invention may be used to describe the components, but the components should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, a first component may be referred to as a second component, and similarly, the second component may also be referred to as a first component.
이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성 요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.Hereinafter, a preferred embodiment according to the present invention will be described in detail with reference to the accompanying drawings, but the same or similar components are assigned the same reference numerals regardless of the reference numerals, and redundant description thereof will be omitted.
또한, 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 발명의 사상을 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 발명의 사상이 제한되는 것으로 해석되어서는 아니 됨을 유의해야 한다. In addition, in the description of the present invention, if it is determined that a detailed description of a related known technology may obscure the gist of the present invention, the detailed description thereof will be omitted. In addition, it should be noted that the accompanying drawings are only for easy understanding of the spirit of the present invention, and should not be construed as limiting the spirit of the present invention by the accompanying drawings.
이하, 본 발명의 실시예에서 언급되는 개발자 단말이나 서버는 메모리 등의 저장부, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPA(field programmable array), PLU(programmable logic unit), 마이크로프로세서 등의 하드웨어, 명령어 세트를 포함하는 소프트웨어 내지 이들의 조합 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 기반으로 구성될 수 있으며, 클라우드와 같은 네트워크 기반으로 구성될 수도 있다.Hereinafter, the developer terminal or server mentioned in the embodiment of the present invention is a storage unit such as a memory, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable array (FPA) , one or more general purpose or special purpose computers, such as hardware such as a programmable logic unit (PLU), microprocessor, software including an instruction set, or any combination thereof, or any other device capable of executing and responding to instructions. It may be configured based on , and may be configured based on a network such as a cloud.
나아가, 개발자 단말, 서버들 간의 통신은 유/무선 통신망을 포함할 수 있으며, 이러한 무선 통신망의 일례로 무선랜(Wireless LAN: WLAN), DLNA(Digital Living Network Alliance), 와이브로(Wireless Broadband: Wibro), 와이맥스(World Interoperability for Microwave Access: Wimax), GSM(Global System for Mobile communication), CDMA(Code Division Multi Access), CDMA2000(Code Division Multi Access 2000), EV-DO(Enhanced Voice-Data Optimized or Enhanced Voice-Data Only), WCDMA(Wideband CDMA), HSDPA(High Speed Downlink Packet Access), HSUPA(High Speed Uplink Packet Access), IEEE 802.16, 롱 텀 에볼루션(Long Term Evolution: LTE), LTE-A(Long Term Evolution-Advanced), 광대역 무선 이동 통신 서비스(Wireless Mobile Broadband Service: WMBS), 5G 이동통신 서비스, 블루투스(Bluetooth), LoRa(Long Range), RFID(Radio Frequency Identification), 적외선 통신(Infrared Data Association: IrDA), UWB(Ultra Wideband), 지그비(ZigBee), 인접 자장 통신(Near Field Communication: NFC), 초음파 통신(Ultra Sound Communication: USC), 가시광 통신(Visible Light Communication: VLC), 와이 파이(Wi-Fi), 와이 파이 다이렉트(Wi-Fi Direct) 등이 포함될 수 있다. 또한, 유선 통신망으로는 유선 LAN(Local Area Network), 유선 WAN(Wide Area Network), 전력선 통신(Power Line Communication: PLC), USB 통신, 이더넷(Ethernet), 시리얼 통신(serial communication), 광/동축 케이블 등이 포함될 수 있다. Furthermore, communication between developer terminals and servers may include a wired/wireless communication network, and as an example of such a wireless communication network, wireless LAN (WLAN), DLNA (Digital Living Network Alliance), and Wibro (Wireless Broadband: Wibro) , WiMAX (World Interoperability for Microwave Access: Wimax), GSM (Global System for Mobile communication), CDMA (Code Division Multi Access), CDMA2000 (Code Division Multi Access 2000), EV-DO (Enhanced Voice-Data Optimized or Enhanced Voice) -Data Only), WCDMA (Wideband CDMA), HSDPA (High Speed Downlink Packet Access), HSUPA (High Speed Uplink Packet Access), IEEE 802.16, Long Term Evolution (LTE), Long Term Evolution (LTE-A) -Advanced), Wireless Mobile Broadband Service (WMBS), 5G mobile communication service, Bluetooth (Bluetooth), LoRa (Long Range), RFID (Radio Frequency Identification), Infrared Data Association (IrDA) , UWB (Ultra Wideband), ZigBee, Near Field Communication (NFC), Ultra Sound Communication (USC), Visible Light Communication (VLC), Wi-Fi (Wi-Fi) , Wi-Fi Direct, and the like may be included. In addition, wired communication networks include wired LAN (Local Area Network), wired WAN (Wide Area Network), Power Line Communication (PLC), USB communication, Ethernet, serial communication, optical/coaxial cables, etc. may be included.
본 발명은 일반적인 슈팅 게임이나 대전 게임이 아닌, 1~N 명의 캐릭터가 그룹을 이루어 그룹 간 상호 교번하는 턴 방식으로 공격과 방어를 수행하는 턴제 대전 게임에 관한 것으로, 하나의 캐릭터가 새롭게 등장할 경우 해당 검증 대상 캐릭터를 포함하는 그룹의 캐릭터 선택과 해당 캐릭터들이 사용하는 장비, 기술(능력치), 스테이터스(혹은 스테이터스 보너스), 검증 대상 캐릭터 정보, 전투 대상 맵 정보(적 그룹에 대한 정보)를 포함하는 조합 정보가 대단히 방대하게 존재하므로 이러한 조합들 중 특정 조합이 게임의 밸런스를 무너뜨릴 수 있는 지 확인하여 검증 대상 캐릭터의 밸런스를 객관적으로 파악한 후 밸런스 조정을 수행하기 위한 것이다.The present invention relates to a turn-based fighting game in which 1 to N characters form a group and perform attack and defense in an alternating turn method between groups, rather than a general shooting game or a fighting game. Character selection of the group that includes the character to be verified, equipment used by the characters, skills (status), status (or status bonus), character information to be verified, and map information to be battled (information about the enemy group) Since there is a very large amount of combination information, this is to objectively grasp the balance of the character to be verified by checking whether a specific combination among these combinations can break the balance of the game, and then to adjust the balance.
따라서, 본 발명은 수 많은 조합들에 대한 정보를 생성하는데 과도한 시간이 걸리게 되므로 밸런스 확인을 위한 시뮬레이션을 위해 대기해야 하므로 개발자와 시뮬레이션 서버의 시간과 자원이 낭비되는 문제, 병렬 전투 시뮬레이션을 효과적으로 분산하여 병렬 처리하기 위한 문제, 다양한 운영체제와 플랫폼에 대응되는 시뮬레이션 서버들의 증설과 감축 및 변경에 효과적으로 대응하기 위한 문제, 검증된 결과 자체가 그 조합만큼 방대하므로 결과를 토대로 밸런스 확인과 조정을 위해 개발자 친화적 통계 확인이 필요하다는 문제 등을 해결하기 위한 것이다. Therefore, in the present invention, since it takes an excessive time to generate information about a large number of combinations, it is necessary to wait for the simulation to check the balance, so time and resources of the developer and the simulation server are wasted, and the parallel battle simulation is effectively distributed. Problems for parallel processing, problems for effectively responding to the expansion, reduction and change of simulation servers corresponding to various operating systems and platforms, and the verified results themselves are as vast as the combinations, so developer-friendly statistics to check and adjust the balance based on the results This is to solve problems that require verification.
이하, 도면을 참조하여 그룹의 턴제 대전 게임의 밸런스 조정에 대한 여러 문제를 해결하기 위한 본 발명의 실시예를 설명한다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, an embodiment of the present invention for solving various problems related to balance adjustment of a turn-based game in a group will be described with reference to the drawings.
도 3은 본 발명의 실시예에 따른 밸런스 분석 시스템(10)의 구성도를 보인 것이다. Figure 3 shows the configuration of the
복수의 캐릭터들이 집단을 이루어 상대 집단과 턴제 대전을 수행하는 게임의 캐릭터 밸런스 검증을 위한 캐릭터 밸런스 분석 시스템(10)으로서, 크게 개발자 단말(50)과 캐릭터 밸런스 검증 서버(100) 및 시뮬레이션 서버(200)로 구성될 수 있다. A character
도시된 캐릭터 밸런스 검증 서버(100)는 부하 분산부(110)를 포함하며, 해당 부하 분산부(110)는 개발자 단말(50)로부터 검증 대상 캐릭터와 환경 정보(검증 대상 캐릭터 정보, 조합 가능한 캐릭터 정보, 적용할 맵 정보, 조합 인원 수 등)를 수신하여 해당 검증 대상 캐릭터를 포함하는 모든 가능한 종류의 조합을 생성하고, 복수의 시뮬레이션 서버(20)에 구성되는 복수의 전투 시뮬레이터부(210)에 대한 접속 주소를 기반으로 시뮬레이션에 사용할 전투 시뮬레이터부를 할당한 후 할당된 전투 시뮬레이터부(210)에 생성된 조합 정보를 제공하며, 할당된 전투 시뮬레이터부(210)로부터 결과 정보를 수집 및 분석하여 밸런스 조정을 위한 정보로서 개발자 단말(50)에 제공하도록 구성된다. The illustrated character
도시된 게임 시뮬레이터 정보 데이터베이스(101)는 실질적으로 게임 시뮬레이터부(210)에 대한 접속 정보를 포함할 수 있으며, 이는 별도의 시뮬레이션 서버 관리 기능으로 구분될 수도 있다. 도시된 부하 분산부(110)는 해당 게임 시뮬레이터 접속 정보 데이터베이스(101)의 주소를 기반으로 물리적 시뮬레이션 서버(200)의 위치, 운영체제, 플랫폼 등에 무관하게 원하는 전투 시뮬레이터를 선택하여 실행할 수 있게 된다.The illustrated game
도시된 (시뮬레이션) 환경 데이터베이스(102)는 시뮬레이션 환경에 대한 정보가 포함된 시뮬레이션 환경 데이터베이스로서, 조합 정보 생성을 위하여 조합 가능한 캐릭터, 장비, 기술, 캐릭터에 적용할 스테이터스 보너스, 검증 대상 캐릭터, 전투 대상 맵(상대 그룹에 대한 정보 포함) 정보 등을 포함할 수 있다.The illustrated (simulation)
이러한 시뮬레이션 서버(200)는 캐릭터 밸런스 검증 서버(100)의 주소 기반 접속에 의해 실행되는 복수의 전투 시뮬레이터부(210)를 구비하며, 각 전투 시뮬레이터부(210)는 캐릭터 밸런스 검증 서버(100)로부터 생성된 조합에 대한 정보를 수신하여 각 조합에 대한 독립된 전투를 병렬적으로 수행한 후 그 결과를 수집하여 캐릭터 밸런스 검증 서버(100)에 결과 정보로 제공한다. 통상 턴제 대전 게임의 경우 전투 중 사용자의 직접적인 캐릭터 조작 대신 미리 설정된 조합 정보를 기준으로 미리 마련된 전투 알고리즘에 의해 승패가 결정되게 되므로 시뮬레이션에 따른 객관적 밸런스 확인이 가능하게 된다.The
한편, 이러한 시뮬레이션 서버(200)는 물리적이거나 논리적으로 복수의 서버들로 구성될 수 있으며, 각각 하나 혹은 그 이상의 전투 시뮬레이터부(210)와 게임 데이터베이스(220)를 포함할 수 있다. 게임 데이터베이스(220)는 최신 게임 설정에 대한 정보가 저장되며 이를 통해 전투 시뮬레이터부(210)는 항상 실행 전에 최신 게임 설정을 반영함으로써 최신 환경을 기준으로 전투 시뮬레이션을 수행할 수 있다.Meanwhile, the
도 4는 본 발명의 실시예에 따른 캐릭터 밸런스 검증 서버(100)의 구성도로서, 도시된 바와 같이 개발자 단말(50)과 시뮬레이션 서버(200)의 전투 시뮬레이터부(210)와 연동하는 부하 분산부(110) 및 앞서 설명했던 게임 시뮬레이터 접속 정보 데이터베이스(101)와 시뮬레이션 환경 데이터베이스(102)를 포함한다.4 is a block diagram of the character
부하 분산부(110)는 개발자 단말(50)로부터 검증 대상 캐릭터와 환경 정보(조합될 다른 캐릭터 목록, 적용 맵 정보, 조합 인원 수 등)를 수신하여 시뮬레이션 식별자를 생성한 후 상기 시뮬레이션 환경 데이터베이스를 기반으로 가능한 모든 종류의 조합 정보를 생성하는 조합 생성 모듈(111)과, 게임 시뮬레이터 접속 정보 데이터베이스(111)에서 선택된 전투 시뮬레이터부(210)를 주소 정보를 통해 접근하여 실행시킨 후 시뮬레이션 식별자 정보를 제공하는 시뮬레이터 분배 모듈(112)과, 조합 생성 모듈에서 생성되는 조합 정보를 수신된 시뮬레이션 식별자에 대응하여 저장하고, 선택된 게임 시뮬레이터부(210)의 시뮬레이션 식별자 기반 요청에 따라 생성된 조합 정보를 제공하는 생성 조합 관리 모듈(114)과, 선택된 게임 시뮬레이터부(210)로부터 시뮬레이션 식별자와 결과 정보를 수신하여 해당 시뮬레이션 식별자에 대응하여 저장하는 전투 결과 수집 모듈(115)과, 전투 결과 수집 모듈(115)의 누적된 결과 정보를 통계 방식으로 분석하여 밸런스 정보를 생성한 후 개발자 단말(50)에 제공하는 통계 생성 모듈(113)을 포함한다.The
이와 같이 부하 분산부(110)는 실질적으로 개발자 단말(50)과 연동하여 시뮬레이션을 수행할 정보를 수신하여 시뮬레이션의 조합을 생성하고, 시뮬레이션 분산 처리 대상을 결정하며, 결과를 수집하여 통계를 생성하여 개발자 단말(50)에 제공하는 구성을 가진다. 개발자 단말(50)은 이와 같은 부하 분산부(100)와 인터페이스 하면서 시뮬레이션 정보를 제공하고, 시뮬레이션 수행을 지시하며 시뮬레이션 과정을 확인할 수 있고, 결과에 대한 통계 정보를 확인할 수 있다.In this way, the
도시된 구성은 개발자 단말(50)과 연동하여 시뮬레이션 과정을 관리하는 인터페이스 구성이 부하 분산부(110)의 일부로서 포함되는 것으로 설명하고 있으나, 이러한 개발자에게 제공되는 시뮬레이션 관리 페이지(인터페이스) 구성은 별도로 분리 구성될 수도 있다.The illustrated configuration describes that the interface configuration for managing the simulation process in conjunction with the
한편, 앞서 설명했던 바와 같이 검증 대상 캐릭터에 대한 밸런스를 검증하고자 할 경우, 수 많은 기존 캐릭터들과 1~N명의 그룹으로 조합될 수 있고, 다양한 장비, 기술, 스테이터스 보너스, 맵 등의 적용이 가능하다는 점에서 실제로 전투 시뮬레이션을 수행해야하는 조합의 수는 수만~수십만 가지가 만들어질 수 있다. 따라서, 조합 생성 모듈(111)은 이와 같은 모든 조합을 생성하기 위해 상당한 시간이 필요하므로 기본적인 입력 환경정보의 오류를 확인하고, 시뮬레이션 가능한 전투 시뮬레이터가 존재하는 지 등의 기본적인 검사를 수행한 후 실질적인 조합 생성이 완료되기 이전(혹은 조합 생성 시작 전)에 개발자 단말에 시뮬레이션 시작을 알린다. 즉, 조합 생성 모듈이 수만개에 이르는 조합들을 모두 생성한 후 개발자에게 시뮬레이션 시작을 알릴 경우 개발자가 정상 수행 시작을 확인하는데 과도한 시간이 소요되게 되므로, 실질적인 조합 생성은 분배된 전투 시뮬레이터부의 전투 시뮬레이션 동작 과정 중에도 지속되며, 이와 같이 생성된 조합을 순차적으로 전달한다.On the other hand, as described above, if you want to verify the balance of the character to be verified, it can be combined with a number of existing characters and groups of 1 to N people, and various equipment, skills, status bonuses, maps, etc. can be applied. In terms of that, the number of combinations that actually need to perform battle simulations can be made from tens to hundreds of thousands of combinations. Therefore, since the
나아가 부하 분산부(110)에 복수의 개발자 단말(50)이 접속하여 복수의 시뮬레이션을 요구할 수도 있고, 전투 시뮬레이터부(210)는 복수의 시뮬레이션 서버(200)에 구성될 수 있으므로 부하 분산부(110)와 복수의 전투 시뮬레이터부(210)는 물리적이거나 논리적으로 서로 분리되며, 수행되는 시뮬레이션 작업 단위로만 서로 연동한다. 또한 이러한 연동을 위해서 주소 기반 접속과 시뮬레이션 식별자를 이용하게 된다. 이와 같은 메세지를 기반으로 하는 구성요소들의 동작은 분산 처리, 병렬 처리, 멀티 태스킹 등을 가능하게 하며 신속한 진행과 효율적 구성요소 연동, 자원 효율화가 가능하도록 한다.Furthermore, a plurality of
도 5는 본 발명의 실시예에 따른 전투 시뮬레이터부(210)의 구성도이다. 바람직하게는 해당 전투 시뮬레이터부(210)는 시뮬레이터 서버(200) 당 하나씩 구성되는 것이 바람직하지만 논리적으로 구분된 서버 구성이거나 충분한 병렬 프로세스 동작이 가능하다면 하나의 시뮬레이터 서버(200)에 복수로 구성될 수도 있다.5 is a block diagram of the
도시된 바와 같이 전투 시뮬레이터부(210)는 시뮬레이터 분배 모듈(112)의 주소 기반 접근에 따라 시뮬레이션 서버(200)에서 실행되어 시뮬레이션 서버(200)의 자원을 확보하고, 수신되는 시뮬레이션 식별자를 수신하며, 미리 설정된 최신의 게임 설정 정보로 데이터를 초기한 후 시뮬레이션을 시작하고 시뮬레이션 종료 시 시뮬레이션 서버의 자원을 반환한 후 실행을 종료하는 데이터 초기화 모듈(211)과, 부하 분산부(110)의 생성 조합 관리 모듈(114)과 시뮬레이션 식별자를 기반으로 연동하여 조합 정보를 순차적으로 분산 수신하고 전투 시뮬레이션 결과를 수집하여 부하 분산부(110)의 전투 결과 수집 모듈(115)에 제공하는 부하 분산부 연동 모듈(212)과, 시뮬레이션 서버(200)의 연산 자원 중 가용 스레드에 대응 생성되어 수신되는 조합 정보에 대한 실제 전투를 수행한 후 그 결과를 반환하는 복수의 시뮬레이터 컨테이너 모듈(213)과, 부하 분산부 연동 모듈(212)로부터 조합 정보를 수신하여 복수의 시뮬레이터 컨테이너 모듈(213)에 분배하고 각 시뮬레이터 컨테이너 모듈(213)의 전투 수행 결과를 수신하여 부하 분산부 연동 모듈(212)에 제공하는 시뮬레이터 스케줄러 모듈(214)을 포함한다.As shown, the
이와 같이 시뮬레이션 서버(200)에 구성되는 전투 시뮬레이터부(210)는 부하 분산부(110)의 시뮬레이터 분배 모듈(112)의 SSH 주소 접근에 의해 실행될 수 있으며, 실행된후 최신 게임 설정이 반영되고, 해당 시뮬레이션 서버(200)에서 지원하는 스레드(통상 중앙처리장치의 코어 수와 같으며, 최근 하나의 코어가 복수의 스레스를 처리할 수 있는 기술도 적용되고 있음)의 숫자에 맞추어 시뮬레이터 컨테이너 모듈(213)을 서로 다른 프로세스로 실행한다. 전투 시뮬레이터부(210)가 수행되면 시뮬레이터 분배 모듈(112)의 SSH 접근은 종료되고, 이후 전투 시뮬레이터부(210)와 부하 분산부(110)의 생성 조합 관리 모듈(114) 및 전투 결과 수집 모듈(115)은 시뮬레이션 식별자를 기준으로 서로 연동한다.As such, the
하나의 시뮬레이터 컨테이너 모듈(213)에는 실질적으로 게임 유저에게 제공되는 것과 동일한 방식의 전투 수행 기능을 구비하는데 인터페이스와 그래픽과 같이 전투와 무관한 구성은 배제된 상태로 전투만을 수행할 수 있도록 구성된 전투 실행 모듈과 시뮬레이터 스케줄러 모듈(214)과 연동하여 조합 정보를 할당 받아 그에 따른 전투 결과를 제공한다. 통상 하나의 시뮬레이터 스케줄러 모듈(214)이 복수의 시뮬레이터 컨테이너 모듈(213)을 관리하며, 시뮬레이터 컨테이너 모듈(213)과 다른 스레드를 이용한다. 시물레이터 스케줄러 모듈(214) 역시 복수로 구성될 수 있다.One
시뮬레이터 컨테이너 모듈(213)의 전투 실행 모듈은 실질적으로 게임의 전투를 수행하기 위한 기능을 모두 구비할 수 있고, 별도의 게임 엔진과 연동하여 게임의 전투 부분에서 사용하는 스크립트와 게임 엔진의 인터프리터를 이용하도록 구성될 수도 있다. 특히, 턴제 대전 게임의 경우 전투의 결과에 영향을 미치는 사용자의 직접적 조작 대신 사전에 사용자가 설정한 캐릭터 집단의 설정 정보에 따라 자동 혹은 수동으로 수행되는 것이어서 이와 같은 전투 시뮬레이션에 대한 신뢰성이 높다.The battle execution module of the
스케줄러 연결 모듈은 시뮬레이터 스케줄러 모듈(214)에 처리할 작업 할당을 요구하고, 시뮬레이터 스케줄러 모듈(214)은 부하 분산부 연동 모듈(212)에 할당할조합 정보를 요청하여 수신된 조합 정보를 복수의 시뮬레이터 컨테이너 모듈(213)의 스케줄러 연결 모듈에 분산 할당한다.The scheduler connection module requests the
부하 분산부 연동 모듈(212)의 조합 전달 모듈은 부하 분산부의 생성 조합 관리 모듈(114)에 시뮬레이션 식별자를 포함하는 조합 정보 요청 메시지를 전달하고, 대응 생성된 새로운 조합 정보가 있는 경우 이를 수신하며 더 이상 새로운 조합 정보가 없다는 정보를 수신할 경우 이미 수신된 조합 정보에 대한 시뮬레이션이 완료되면 그 정보를 데이터 초기화 모듈(211)에 전달하여 전투 시뮬레이터부(210)를 종료한다. 한편, 부하 분산부 연동 모듈(212)의 결과 집계 모듈은 시뮬레이터 스케즐러 모듈(214)로부터 수신한 조합 정보에 따른 전투 결과 정보를 수집하여 시뮬레이션 식별자 정보와 함께 부하 분산부(110)의 전투 결과 수집 모듈(115)에 전달한다.The combination delivery module of the load
시뮬레이터 컨테이너 모듈(213)의 전투 실행 모듈은 전투 수행에 따른 결과로서, 특정 조합에 대한 전투의 승패, 검증 대상 캐릭터가 행동한 횟수, 턴의 횟수, 사용한 기술에 대한 정보가 포함된 결과 정보를 스케줄러 연결 모듈에 제공하며, 해당 정보는 시뮬레이터 스케줄러 모듈(214)과 부하 분산부 연동 모듈(212)을 통해 부하 분산부(110)의 전투 결과 수집 모듈(155)에 전달된다.The battle execution module of the
시뮬레이션이 완료된 후 부하 분산부(110)의 통계 생성 모듈(113)은 전투 결과 수집 모듈(115)에 수집된 결과 정보를 기반으로 밸런스에 관한 통계 정보를 생성하게 되는데, 예를 들어 수집된 결과 정보로부터 조합된 캐릭터, 적용한 장비, 사용한 기술, 캐릭터에 적용된 스테이터스 보너스, 검증 대상 캐릭터 정보, 전투 대상 맵 정보를 확인하고, 전투의 승패, 검증 대상 캐릭터가 행동한 횟수, 턴의 횟수, 사용한 기술, 검증 대상 캐릭터의 기여도에 대한 정보를 생성하여 미리 설정된 통계 알고리즘을 통해 처리한 후 그 결과를 개발자 단말에 제공할 수 있다.After the simulation is completed, the
한편, 부하 분산부(110)의 통계 생성 모듈(113)은 밸런스 정보를 개발자 단말(혹은 캐릭터 밸런스 검증 서버의 결과 인터페이스 페이지)에서 변형 가능한 JSON(JavaScript Object Notation) 형태의 데이터로 제공하여 개발자의 분석 편의성을 높일 수 있다.On the other hand, the
이상과 같이 캐릭터 밸런스 검증 서버(100)와 시뮬레이션 서버(200)를 분리 구성하고, 조합 생성에 걸리는 오랜 시간과 전투 시뮬레이션 수행에 걸리는 오랜 시간을 감안하여 일단 기본적인 환경 검사 후 시뮬레이션을 우선 수행하도록 하면서 할당된 전투 시뮬레이터부(210)가 부하 분산부(110)의 생성 조합 관리 모듈(114)에 더 이상 생성되는 조합 정보가 없을 때까지 반복적으로 조합 정보를 일부씩 요청하여 수신하도록 하며 그와 동시에 복수의 시뮬레이터 컨테이터 모듈(213)을 통해서 전투 시뮬레이션을 병렬적으로 수행하도록 하여 개발자 입장에서는 신속한 시뮬레이션 시작을 보장하고 시스템 입장에서는 유휴 자원을 최소화하면서 시뮬레이션을 수행할 수 있게 된다. 특히 턴제 대전 게임의 특성상 전투 시뮬레이션에 대한 승패가 유동적인 사용자 조작 숙련도에 있는 것이 아니라 미리 결정된 조합 정보에 따르기 때문에 수 많은 조합 정보에 따른 전투 결과를 기반으로 밸런스 정보를 격관적으로 확인할 수 있게된다.As described above, the character
앞서 설명했던 도 3 내지 도 5의 구성을 토대로 수행되는 캐릭터 밸런스 분석 시스템의 동작 과정을 도 6에 도시하였다.The operation process of the character balance analysis system performed based on the configuration of FIGS. 3 to 5 described above is shown in FIG. 6 .
도시된 바와 같이 밸런스 검증 대상 환경을 설정 하는 단계에서, 개발자 단말(50)은 캐릭터 밸런스 검증 서버(100)에 접속하여 부하 분산부(110)가 제공하거나 혹은 별도로 마련된 시뮬레이션 사용자 페이지(조합 생성 모듈이 제공하는 인터페이스로 간주될 수 있음)를 통해서 검증 캐릭터 정보와 시뮬레이션 환경 정보를 부하 분산부(110)의 조합 생성모듈(111)에 제공한다. In the step of setting the balance verification target environment as shown, the
도 7은 이와 같은 환경 정보 제공을 위한 개발자 단말(50)의 화면 예를 보인 것으로, 도시된 바와 같이 검증 대상 캐릭터를 선택한 후, 조합 대상 캐릭터들을 선택하고, 검증을 수행할 맵(시나리오에 따른 적 집단)을 선택하며, 조합할 인원 수를 선택한다. 해당 선택 정보 리스트는 시뮬레이션 환경 데이터베이스(102)를 참조하여 제공될 수 있다.7 shows an example of a screen of the
한편, 이 과정에서 개발자가 선택한 캐릭터가 존재하지 않거나 맵이 올바르지 않거나, 캐릭터가 착용한 장비가 등록되어 있지 않는 등의 시뮬레이션 환경 설정 오류를 확인하여 개발자 단말(50)에 통지하고, 오류가 없는 경우 시뮬레이션 시작 과정으로 진입하게 된다.On the other hand, in this process, a simulation environment setting error such as a character selected by the developer does not exist, the map is incorrect, or the equipment worn by the character is not registered, and notifies the
시뮬레이션이 시작되면 부하 분산부(110)는 검증 조합을 생성하고 게임 시뮬레이터 접속 정보 데이터베이스(101)를 참조하여 유휴 전투 시뮬레이터부(210)를 확인한 후 SSH 주소를 기반으로 해당 전투 시뮬레이터부(210)에 접근하여 전투 시뮬레이터부(210)를 실행시키고 해당 시뮬레이션을 특정하기 위한 시뮬레이션 식별자를 제공한다. 이후 SSH 접속은 종료한다.When the simulation is started, the
이 과정에서 부하 분산부(110)는 전투 시뮬레이터부(210)를 동작 시키기 전까지 조합 정보를 생성하지 않거나 적어도 조합 정보의 일부만을 생성하여 생성 조합 관리 모듈(114)에 쌓아둔다.In this process, the
본 발명의 적용 대상인 게임은 1~n 명의 캐릭터 조합으로 맵의 적 집단과 전투를 수행하는 것이므로 부하 분산부(110)는 각기 다른 캐릭터 조합과 장비, 기술(능력치), 스테이터스 보너스 등 게임 플레이에 영향을 미칠 수 있는 모든 경우의 수에 대한 조합 정보를 생성한다.Since the game to which the present invention is applied is to perform a battle with a group of enemies on the map with a combination of 1 to n characters, the
게임 시뮬레이터부(210)는 실행에 따라 최신 게임 정보로 초기화 과정을 수행한다. 해당 게임 시뮬레이터부(210)는 리눅스, 윈도우 등의 다양한 운영체제나 플랫폼에서 실행 가능한 프로그램으로서 부하 분산부(110)가 SSH 주소로 접근하여 실행하므로 부하 분산부(110)는 해당 운영체제나 플랫폼에 대해 별도로 고려할 필요가 없다.The
게임 시뮬레이터부(210)의 초기화가 완료되면 시뮬레이션 서버(200)에서 지원하는 스레드의 숫자를 기준으로 복수의 시뮬레이터 컨테이너 모듈(213)을 생성하고 하나 이상의 시뮬레이터 스케줄러 모듈(214)을 생성한 후 상호 매칭한다.When the initialization of the
시뮬레이터 스케줄러 모듈(214)은 게임 시뮬레이터부(210)의 부하 분산부 연동 모듈(212)을 통해서 부하 분산부(110)에 조합 정보를 스케줄러 식별자를 기준으로 요청하고 생성된 조합 정보의 일부씩 수신한 후 수신된 조합 정보를 시뮬레이터 스케줄러 모듈(214)이 매칭된 시뮬레이터 컨테이너 모듈(213)들에 할당하여 병렬적으로 전투 시뮬레이션을 진행하고 그 전투 결과를 수집하여 부하 분산부(110)의 전투 결과 수집 모듈(115)에 시뮬레이터 식별자와 함께 전달한다(필요한 경우 부하 분산부 연동 모듈의 결과 집계 모듈이 결과 정보를 누적했다가 시뮬레이션 완료 시 한번에 부하 분산부의 전투 결과 수집 모듈에 전달할 수도 있다).The
전투 시뮬레이터부(210)가 부하 분산부(110)에 조합 정보를 요청하였으나 부하 분산부(110)가 더 이상 조합 정보가 없다고 응답할 경우(생성 대기중인 경우가 아닌 모든 생성된 조합 정보의 전달이 완료되었다는 정보) 전투 시뮬레이터부(210)는 수신한 모든 조합 정보에 대한 시뮬레이션을 완료하고(작업이 종료된 시뮬레이터 컨테이너 모듈부터 해당 스레드가 종료됨) 그 결과를 부하 분산부(110)에 제공한 후 시뮬레이션 서버에 모든 자원을 반환하고 실행을 종료한다.When the
부하 분산부(110)는 전투 결과를 수집하여 밸런스 확인을 위한 통계를 작성하여 개발자 단말(50)에 제공한다.The
예컨대 도 8에 도시된 시뮬레이션 종료 화면의 예시는 검증 대상 캐릭터 '루시'에 대해서 맵 '카이데스 11'에 대해 수행한 23만개 이상의 조합 정보에 대한 전투 시뮬레이션이 완료되었음을 나타낸 것으로, 해당 23만개의 시뮬레이션을 1시간 22분 이내에 완료하였음을 알 수 있다. For example, the example of the simulation end screen shown in FIG. 8 shows that the battle simulation for more than 230,000 combinations of information performed on the map 'Kade 11' for the character 'Lucy' to be verified has been completed, and the 230,000 simulations It can be seen that it was completed within 1 hour and 22 minutes.
도 9는 해당 검증 캐릭터에 대한 밸런스 정보 통계 중 요약 정보를 보인 것으로, 도시된 바와 같이 승률, 평균 소요 턴, 공격 기여도, 방어 기여도, 지원 기여도, 상위 성공 조합 상세 정보 등이 나타나 있다.9 shows summary information among balance information statistics for the verified character, and as shown, the win rate, average turns required, attack contribution, defense contribution, support contribution, and top success combination detailed information are shown.
한편, 이러한 통계 정보는 JSON 형태로 제공되므로 개발자가 자신이 확인하고자 하는 내용에 맞추어 표현 방식을 변경할 수 있다.On the other hand, since such statistical information is provided in JSON format, the developer can change the expression method according to the content they want to check.
도 10은 발명의 실시예에 따른 결과 정보를 이용한 개발자 단말의 표현 예시로서, 도시된 바와 같이 검증 대상 캐릭터가 특정 맵에서 1인~4인 조합으로 전투 시뮬레이션을 한 결과 해당 맵의 특정 적들에 대한 승률과 평균 소요 턴을 보임으로써 적당한 밸런스를 가진 것인지를 쉽게 파악할 수 있다.10 is an example of expression of a developer terminal using result information according to an embodiment of the invention, and as a result of a battle simulation in which the character to be verified is a combination of 1 to 4 players on a specific map, as shown in the figure, By showing the win rate and average turns required, you can easily determine if you have the right balance.
전술된 내용은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.Those of ordinary skill in the art to which the present invention pertains may modify and modify the above-described contents without departing from the essential characteristics of the present invention. Therefore, the embodiments disclosed in the present invention are not intended to limit the technical spirit of the present invention, but to explain, and the scope of the technical spirit of the present invention is not limited by these embodiments. The protection scope of the present invention should be construed by the following claims, and all technical ideas within the equivalent range should be construed as being included in the scope of the present invention.
10: 캐릭터 밸런스 분석 시스템
50: 개발자 단말
100: 캐릭터 밸런스 검증 서버
101: 게임 시뮬레이터 접속 정보 DB
102: 시뮬레이션 환경 DB
110: 부하 분산부
111: 조합 생성 모듈
112: 시뮬레이터 분배 모듈
113: 통계 생성 모듈
114: 생성 조합 관리 모듈
115: 전투 결과 수집 모듈
200: 시뮬레이션 서버
210: 전투 시뮬레이터부
211: 데이터 초기화 모듈
212: 부하 분산부 연동 모듈
213: 시뮬레이터 컨테이너 모듈
214: 시뮬레이터 스케줄러 모듈
220: 게임 데이터베이스10: character balance analysis system 50: developer terminal
100: Character balance verification server 101: Game simulator access information DB
102: simulation environment DB 110: load balancer
111: combination creation module 112: simulator distribution module
113: statistics generation module 114: generation combination management module
115: battle result collection module 200: simulation server
210: battle simulator unit 211: data initialization module
212: load balancer interworking module 213: simulator container module
214: simulator scheduler module 220: game database
Claims (10)
상기 캐릭터 밸런스 검증 서버는 상기 개발자 단말로부터 검증 대상 캐릭터와 환경 정보를 수신하여 해당 캐릭터를 포함하는 모든 가능한 종류의 조합을 생성하고, 복수의 시뮬레이션 서버에 구성되는 복수의 전투 시뮬레이터부에 대한 접속 주소를 기반으로 시뮬레이션에 사용할 전투 시뮬레이터부를 할당한 후 할당된 전투 시뮬레이터부에 생성된 조합 정보를 제공하며, 상기 전투 시뮬레이터부로부터 결과 정보를 수집 및 분석하여 밸런스 조정을 위한 정보로서 상기 개발자 단말에 제공하고;
상기 시뮬레이션 서버는 상기 캐릭터 밸런스 검증 서버의 주소 기반 접속에 의해 실행되는 복수의 전투 시뮬레이터부를 구비하며, 각 전투 시뮬레이터부는 상기 캐릭터 밸런스 검증 서버로부터 생성된 조합에 대한 정보를 수신하여 각 조합에 대한 독립된 전투를 병렬적으로 수행한 후 그 결과를 수집하여 상기 캐릭터 밸런스 검증 서버에 결과 정보로 제공하는 턴제 대전게임 캐릭터 개발을 위한 밸런스 분석 시스템.
A character balance analysis system consisting of a developer terminal, a character balance verification server, and a simulation server for character balance verification of a game in which a plurality of characters form a group and perform a turn-based battle with an opponent group,
The character balance verification server receives the verification target character and environment information from the developer terminal, generates all possible combinations including the character, and provides access addresses to a plurality of battle simulator units configured in a plurality of simulation servers. After allocating the battle simulator unit to be used for the simulation based on, providing the generated combination information to the assigned battle simulator unit, collecting and analyzing the result information from the battle simulator unit and providing it to the developer terminal as information for balance adjustment;
The simulation server includes a plurality of battle simulator units that are executed by address-based access of the character balance verification server, and each battle simulator unit receives information about a combination generated from the character balance verification server and performs an independent battle for each combination. A balance analysis system for developing a turn-based fighting game character that collects the result after performing in parallel and provides it as result information to the character balance verification server.
전투 시뮬레이터부 할당을 위해 전투 시뮬레이터부에 대한 접속 정보를 구비한 게임 시뮬레이터 접속 정보 데이터베이스와;
조합 정보 생성을 위하여 조합 가능한 캐릭터, 장비, 기술, 캐릭터에 적용할 스테이터스 보너스, 검증 대상 캐릭터, 전투 대상 맵 정보를 포함하는 시뮬레이션 환경 데이터베이스를 포함하는 것을 특징으로 하는 턴제 대전게임 캐릭터 개발을 위한 밸런스 분석 시스템.
The method according to claim 1, The character balance verification server
a game simulator access information database having access information to the battle simulator unit for assignment to the battle simulator unit;
Balance analysis for character development of a turn-based fighting game, characterized in that it includes a simulation environment database including information on a combinationable character, equipment, technology, status bonus to be applied to the character, character to be verified, and map information for battle to generate combination information system.
상기 부하 분산부는 상기 개발자 단말로부터 검증 대상 캐릭터와 환경 정보를 수신하여 시뮬레이션 식별자를 생성한 후 상기 시뮬레이션 환경 데이터베이스를 기반으로 가능한 모든 종류의 조합 정보를 생성하는 조합 생성 모듈과;
상기 게임 시뮬레이터 접속 정보 데이터베이스에서 선택된 전투 시뮬레이터부를 주소 정보를 통해 접근하여 실행시킨 후 시뮬레이션 식별자 정보를 제공하는 시뮬레이터 분배 모듈과;
상기 조합 생성 모듈에서 생성되는 조합 정보를 상기 시뮬레이션 식별자에 대응하여 저장하고, 상기 선택된 게임 시뮬레이터부의 시뮬레이션 식별자 기반 요청에 따라 생성된 조합 정보를 제공하는 생성 조합 관리 모듈과;
상기 게임 시뮬레이터부로부터 시뮬레이션 식별자와 결과 정보를 수신하여 해당 시뮬레이션 식별자에 대응하여 저장하는 전투 결과 수집 모듈과;
상기 전투 결과 수집 모듈의 누적된 결과 정보를 통계 방식으로 분석하여 밸런스 정보를 생성한 후 상기 개발자 단말에 제공하는 통계 생성 모듈을 포함하는 것을 특징으로 하는 턴제 대전게임 캐릭터 개발을 위한 밸런스 분석 시스템.
The method according to claim 2, The character balance verification server comprises a load balancer that interworks with the battle simulator unit of the developer terminal and the simulation server,
The load balancer includes: a combination generation module for receiving verification target characters and environment information from the developer terminal, generating a simulation identifier, and then generating all possible types of combination information based on the simulation environment database;
a simulator distribution module that provides simulation identifier information after accessing and executing the battle simulator unit selected from the game simulator access information database through address information;
a generation combination management module that stores the combination information generated by the combination generation module in correspondence to the simulation identifier and provides the combination information generated in response to a request based on the simulation identifier of the selected game simulator unit;
a battle result collection module for receiving a simulation identifier and result information from the game simulator unit and storing the simulation identifier in response to the simulation identifier;
Balance analysis system for developing a turn-based fighting game character, characterized in that it comprises a statistics generation module that generates balance information by analyzing the accumulated result information of the battle result collection module in a statistical manner, and then provides the balance information to the developer terminal.
The method according to claim 3, wherein the combination generation module generates combination information and provides it to the generation combination management module, but operates the simulator distribution module before all the combination information is generated and informs the developer terminal of the start of character balance verification A balance analysis system for character development in turn-based fighting games.
The turn-based fighting game according to claim 4, wherein the battle simulator unit repeatedly receives a part of the combination information from the generation combination management module until there is no more combination information, and simultaneously performs a battle for each combination information in parallel. Balance analysis system for character development.
시뮬레이터 분배 모듈의 접근에 따라 시뮬레이션 서버에서 실행되어 시뮬레이션 서버의 자원을 확보하고, 수신되는 시뮬레이션 식별자를 수신하며, 미리 설정된 최신의 게임 설정 정보로 데이터를 초기한 후 시뮬레이션을 시작하고 시뮬레이션 종료 시 시뮬레이션 서버의 자원을 반환한 후 실행을 종료하는 데이터 초기화 모듈과;
상기 부하 분산부의 생성 조합 관리 모듈과 시뮬레이션 식별자를 기반으로 연동하여 조합 정보를 순차적으로 분산 수신하고 전투 시뮬레이션 결과를 수집하여 상기 부하 분산부의 전투 결과 수집 모듈에 제공하는 부하 분산부 연동 모듈과;
시뮬레이션 서버의 연산 자원 중 가용 스레드에 대응 생성되어 수신되는 조합 정보에 대한 실제 전투를 수행한 후 그 결과를 반환하는 복수의 시뮬레이터 컨테이너 모듈과;
상기 부하 분산부 연동 모듈로부터 조합 정보를 수신하여 상기 복수의 시뮬레이터 컨테이너 모듈에 분배하고 각 시뮬레이터 컨테이너 모듈의 전투 수행 결과를 수신하여 부하 분산부 연동 모듈에 제공하는 시뮬레이터 스케줄러 모듈을 포함하는 것을 특징으로 하는 턴제 대전게임 캐릭터 개발을 위한 밸런스 분석 시스템.
The method according to claim 3, wherein the battle simulator unit
According to the approach of the simulator distribution module, it is executed on the simulation server to secure the resources of the simulation server, receive the received simulation identifier, initialize the data with the latest game setting information set in advance, and then start the simulation and when the simulation ends, the simulation server a data initialization module for terminating execution after returning the resource of ;
a load balancer interworking module for sequentially distributing and receiving combination information by interworking with the generation combination management module of the load balancer based on a simulation identifier, collecting battle simulation results and providing them to the battle result collection module of the load balancer;
a plurality of simulator container modules that perform an actual battle on combination information generated and received corresponding to available threads among computational resources of the simulation server and return results thereof;
and a simulator scheduler module that receives combination information from the load balancer interworking module, distributes it to the plurality of simulator container modules, receives the battle performance results of each simulator container module, and provides it to the load balancer interworking module A balance analysis system for character development in turn-based fighting games.
The turn-based system according to claim 6, wherein the simulator container module includes information on victory or defeat of a battle for a specific combination, the number of times the character to be verified acted, the number of turns, and the technology used as a result of the battle performance. A balance analysis system for character development in fighting games.
The balance analysis system for developing a turn-based fighting game character according to claim 6, wherein at least one simulator scheduler module is generated based on a plurality of different threads, and the plurality of simulator container modules are divided and managed, respectively. .
The balance analysis system for developing a turn-based fighting game character according to claim 3, wherein the statistics generation module of the load balancer provides balance information as data in the form of JSON (JavaScript Object Notation) that can be transformed in the developer terminal.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210023447A KR102597394B1 (en) | 2021-02-22 | 2021-02-22 | Game balance analysis system for turn based battle game character development |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210023447A KR102597394B1 (en) | 2021-02-22 | 2021-02-22 | Game balance analysis system for turn based battle game character development |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20220119945A true KR20220119945A (en) | 2022-08-30 |
KR102597394B1 KR102597394B1 (en) | 2023-11-03 |
Family
ID=83114406
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210023447A KR102597394B1 (en) | 2021-02-22 | 2021-02-22 | Game balance analysis system for turn based battle game character development |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102597394B1 (en) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101184085B1 (en) | 2009-12-09 | 2012-09-18 | 순천향대학교 산학협력단 | Detecting Marker for Titanum Dioxide Nanoparticles and Detecting Method using the Same Marker |
KR101184095B1 (en) * | 2011-12-28 | 2012-09-26 | (주)네오위즈게임즈 | Method and apparatus for providing character in online game |
KR101751515B1 (en) * | 2016-02-11 | 2017-06-27 | 네이버 주식회사 | Apparatus, method, and computer program for testing |
JP2020032193A (en) * | 2019-09-24 | 2020-03-05 | 株式会社セガゲームス | Information processor, program, and information processing system |
KR20200138919A (en) | 2019-06-03 | 2020-12-11 | 넷마블 주식회사 | Computer programs for performing in-game balace tests |
KR20210013812A (en) * | 2019-07-29 | 2021-02-08 | 넷마블 주식회사 | Method for game test |
-
2021
- 2021-02-22 KR KR1020210023447A patent/KR102597394B1/en active IP Right Grant
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101184085B1 (en) | 2009-12-09 | 2012-09-18 | 순천향대학교 산학협력단 | Detecting Marker for Titanum Dioxide Nanoparticles and Detecting Method using the Same Marker |
KR101184095B1 (en) * | 2011-12-28 | 2012-09-26 | (주)네오위즈게임즈 | Method and apparatus for providing character in online game |
KR101751515B1 (en) * | 2016-02-11 | 2017-06-27 | 네이버 주식회사 | Apparatus, method, and computer program for testing |
KR20200138919A (en) | 2019-06-03 | 2020-12-11 | 넷마블 주식회사 | Computer programs for performing in-game balace tests |
KR20210013812A (en) * | 2019-07-29 | 2021-02-08 | 넷마블 주식회사 | Method for game test |
JP2020032193A (en) * | 2019-09-24 | 2020-03-05 | 株式会社セガゲームス | Information processor, program, and information processing system |
Also Published As
Publication number | Publication date |
---|---|
KR102597394B1 (en) | 2023-11-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9649561B2 (en) | Rendering control apparatus, control method thereof, recording medium, rendering server, and rendering system | |
JP6847227B2 (en) | Resource request processing method and equipment | |
CN1695134B (en) | Dynamic bandwidth control | |
CN104685459A (en) | Method for creating a mini-game | |
US9898700B2 (en) | Method, apparatus, and artificial intelligence server for determining artificial intelligence behavior | |
EP2752226A1 (en) | User organizing device, user organizing method, and cloud computing system | |
JP2021514754A (en) | Awarding incentives to players to participate in competitive gameplay | |
CN111786983A (en) | Construction method of virtualized attack and defense confrontation environment | |
CN110109746A (en) | A kind of task processing method, device, equipment and medium | |
Georgiou et al. | Evaluating scalability and efficiency of the resource and job management system on large HPC clusters | |
CN113489603B (en) | Interactive background flow generation method and system in network target range | |
CN110585697A (en) | Cross-server control method and device in game | |
KR20150107905A (en) | Game method and system for league game | |
CN112619158A (en) | Matching method and device of virtual event, storage medium and electronic device | |
CN112675543A (en) | Role attribute configuration method and device, storage medium and electronic device | |
KR102597394B1 (en) | Game balance analysis system for turn based battle game character development | |
CN112190927B (en) | Game resource allocation method based on cloud computing and cloud game service platform | |
CN110113414A (en) | A kind of method, apparatus, server and storage medium managing copy | |
CN110898425B (en) | Information synchronization method and device, storage medium and electronic device | |
CN112619146A (en) | Virtual resource allocation method and device, storage medium and electronic device | |
KR20050065200A (en) | Virtual environment network user simulator system | |
CN115297937B (en) | Method, program, system and server for program verification | |
Hanna et al. | CRC: Collaborative research and teaching testbed for wireless communications and networks | |
Barbosa et al. | A mobile cloud computing testbed based on lightweight virtualization | |
CN107423094B (en) | The display control method and device of resource, cartoon picture are configured for cartoon picture |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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 |