레이블이 게임기획인 게시물을 표시합니다. 모든 게시물 표시
레이블이 게임기획인 게시물을 표시합니다. 모든 게시물 표시

2018년 7월 1일 일요일

멀티플레이 게임의 밸런스 - 직관, 반복 그리고 숫자

영어 아티클을 번역한 내용입니다.
원문은 Balancing Multiplayer Games – Intuition, Iteration and Numbers

아래 링크에서 원글을 볼 수 있습니다.
http://pqumsieh.com/2014/01/27/balancing-multiplayer-games-part-1/


개요
게임이 점점 복잡해질수록, 밸런스 작업도 복잡해집니다. 글은 복잡한 게임의 밸런스를 잡기 위해 사용되는 방법들을 찾아보고, 업무에 도움이 되는 몇가지 기술을 제안하는 글입니다.


밸런스 업무의 과정
RelicEntertainment 있는동안, 우리는 밸런스를 잡기 위해 다양한 방법으로 시도를 했습니다. 번째 방법은 직감과 느낌으로 접근하는 것입니다. 접근법으로 결과를 얻으려면, 기획자는 유저의 피드백과 자신의 게임에 대한 이해도를 바탕으로 지속적인 반복작업을 해야만 합니다. 게임이 복잡해 수록 방법을 수행하는 것은 어려워집니다. 게다가, 방법은 본질적으로 주관적이며, 기획자들은 느낌이 옳고 그른지에 대한 생각이 다를 있습니다. 만약 다른 기획자가 작업을 넘겨받게 된다면, 밸런스는 일관성을 유지하기가 힘들어집니다. 기획자가 시간과 노력을 투자하여 좋은 결과를 있지만 대부분의 경우는 그렇게 되지 않습니다. 동료나 다른 누군가로 부터 의미있는 피드백을 받는 것이 간단한 일이 아닌 처럼, 플레이 테스트를 하고 반복작업을 하는 것은 기획자만의 고유한 기술이라고 있습니다.

두번째는 변수들을 정량화하고 게임내의 수치로 할당하는 방법입니다. 예를들어, 만약 어떤 유닛이 공격과 방어값만 가질 있을때, 우리는 공격값에 1 더해주거나 방어값에 1 더한 다른 것과 비교하여 값을 확인할 있을 것입니다. 아래의 예제에서 나타내고 있는 간단한 방법은 공격과 방어를 곱한 값의 제곱근을 구하는 것이다. 방법은 Tom Cadwell 작업이며 레퍼런스는 이곳에서 있습니다.

유닛A vs 유닛B

2D vs 1D
1A vs 2A
2x1 = 2, 2 = 1.41
1x2 = 2, 2 = 1.41

다음 예시는 유닛의 다양한 변수들과 그것이 어떻게 세분화되는지를 보여줍니다.

유닛A vs 유닛B

4D vs 4D
4A vs 8A
4x4 = 16, 16 = 4
4x8 = 32, 32 = 5.66

예시는 4A 8D 유닛B 4A 4D 유닛A보다 1.42 크다는 것을 보여줍니다. 만약 유닛A 코스트가 100이라면, 방법에서 유닛B 142 코스트일 것이라 추측할 것입니다.

이런 방법은 시스템이나 상호작용이 간단한 경우에는 효율적입니다. 그러나 게임의 복잡도가 증가될수록 방법은 적절하지 않을 있습니다. 게다가 방법은 본질적으로 주관적인 가치를 수량화 없습니다. 그러한 한계에도 불과하고 저는 접근법은 게임의 시스템과 매커니즘, 상호작용에 매우 의미있는 인사이트를 제공한다고 믿습니다. 이러한 이해는 복잡한 게임에서 어떤 값을 바꿨을때 나타날 현상들을 서술할 있게 되었기 때문에 우리가 게임의 밸런스를 다룰 있는 능력은 더욱 향상되었습니다.

저는 Relic 있던 시절 게임의 모든 요소간의 관계를 수학적 접근법으로 완벽히 나타내기 위해 많은 노력을 쏟았습니다. 유닛의 효율을 가장 나타내는 수식을 찾기위해 경쟁하며 시간동안 토론하고 자료를 찾아보기도 했습니다. 저와 동료들은 이후에 방법은 가치가 있지만, 우리 게임 같은 복잡한 경우에는 적절하지 않다는 것을 깨달았습니다. 이론적으로 매우 훌륭해 보이는 매우 많은 수치들이 있었지만 실제 테스트에서는 그렇게 동작하지 않았습니다. 우리는 공정한 플레이와 의미있는 선택지를 만들 밸런스에 접근하는 중간 지점이 있다는 결론을 내렸습니다. 과정은 수학과 기획자의 직감을 결합한 것이었습니다.

복합적인 접근 방식

이러한 깨달음을 얻고 , 우리는 두번째 방법의 어떤 부분이 첫번째 방법과 결합시킬 부분이 없을지 찾아봤습니다. 방법은 타입별(Archetypes) 유닛의 기준치를 정할때에 사용하기 시작했습니다.
Relic사의 RTS 게임인 컴퍼니오브 히어로즈에서 Archetypes 보병이나, 무기팀, 중형 탱크, 중관포 등을 말하는 것이고, FPS에서는 Archetypes 아마도 돌격소총, 서브머신건, 라이트 머신건 같은것을 포함합니다. 다음 단계는 기획자가 작동하고 있다고 만족할때 까지 타입별 유닛의 값을 조정하는 것입니다. 비록 초안이고 기획자의 의도나 목표를 완벽히 나타내고 있지 못하더라도, 시기에는 모든 사항을 고려하기 위해 노력해야 합니다.  핵심음 다른 비슷한 유닛이 상대적인 값을 가져올 있는 기준값을 정하는 것입니다. 이를 통해 기획자는 개발과정전반에 걸친 조정값들의 영향을 보다 파악할 있습니다.

아래 이미지는 접근법의 유용성을 보여줍니다. 카테고리값을 조정하면 Raw Unit Value 값에 변동이 생길 것입니다.


Unit Name
Damage
Rate of Fire
Penetration
Range
DPS0
DPS10
DPS20
DPS30
DPS35
DPS40
DPS45
AVG DPS
Entity Count
Health
Armor
Effective Health
Raw Unit Value
Projected Manpower
Grenadier
16
0.2735
1
35.00
3.77
2.21
2.21
1.34
1.03
0.00
0.00
9.71
4
320
1.50
480
68.30
241
Conscript
16
0.239
1
35.00
2.54
1.46
1.46
0.86
0.64
0.00
0.00
9.64
6
480
1.00
480
68.00
240



다음 그림은 RawUnitValue 68에서 96.2 바꿈으로 인해 Conscripts 데미지가 2배가 되는 것을 보여줍니다. 아래에서 나는 어떻게 이런 값들이 예상 코스트(projected cost) 영향을 주도록 바뀌는지를 설명할 것입니다.


Unit Name
Damage
Rate of Fire
Penetration
Range
DPS0
DPS10
DPS20
DPS30
DPS35
DPS40
DPS45
AVG DPS
Entity Count
Health
Armor
Effective Health
Raw Unit Value
Projected Manpower
Grenadier
16
0.2735
1
35.00
3.77
2.21
2.21
1.34
1.03
0.00
0.00
9.71
4
320
1.50
480
68.30
241
Conscript
32
0.239
1
35.00
5.08
5.08
2.92
1.71
1.28
0.00
0.00
19.29
6
480
1.00
480
96.20
340



 Raw Value Projected Cost 변경

Raw Unit Value 유닛과 비교를 위해 선택한 다른 유닛간의 상대적인 비교값일 뿐입니다. 선택한 변수는 동작하는 시스템과 매커니즘이 같도록 해야합니다. 그렇지않으면 값은 의미가 없어지게 됩니다. 컴퍼니 오브 히어로즈에서 유닛들은 기능적으로 같은 로직을 사용하였습니다. 보병들은 같은 속도로 움직이고, 비슷한 진형을 갖고 있으며, 무기에 같은 방법으로 대응한다거나 하는 입니다. 그렇기 때문에 기획자들은 이런 변수들은 무시할 있었습니다. 일반적인 분석은 주로 유닛의 성능에 직접적으로 효과를 주는 대미지와 내구성에 초점을 맞추게 됩니다. 단계에서는 유닛의 가치를 명확하기 정하지 않는 점이 중요합니다. 대신에 유닛을 비교할 대략적인 아이디어를 모으는데 더욱 신경을 써서 기준선을 만들게 됩니다.

Raw Unit Value 평균 데미지와 유효 체력의 곱에 루트를 씌워서 계산됩니다. (상단의 A/B 예시와 동일합니다.) 값만으로도 유닛의 성능을 비교하는데는 충분합니다. RTS 게임의 문법에서는 값을 코스트로 활용하는 것도 타당합니다. 계산된 값을 가장 처음의 코스트로 설정 하고 반복적인 플레이 테스트를 통해 값을 변경합니다.

컴퍼니 오브 히어로즈2에서, 보병에 240 자원을 선택하였습니다. 값은 pacing 매우 영향을 주었습니다. 값을 증가시켰다면 보병은 게임플레이 도중에 천천히 성장하였을 것입니다. 참고로 컴퍼니오브 히어로즈2 보병은 해당 유닛의 raw value Grenadiers(보병의 기본 유닛) raw value 나누고 240 곱하였습니다.

예상 (projected value)들은 게임에 맞지 않는 경우가 종종 있습니다. 예를 들어 유닛의 4분의 1 정도가 예상된 보다 25%정도 효율이 안나고 있는 것을 알게 되었습니다. 그래서 유닛들의 예상 값을 계산하면서, 유닛의 코스트나 퍼포먼스를 조정하였습니다. 이처럼 예상 코스트(projected cost) 단지 게임에서 유닛의 가치를 예상한 것입니다. 오직 반복적인 플레이테스트를 통해서만 진짜 값을 확인 있습니다. 이것이 두가지 방법이 융합된 것입니다. 첫번째는 기준선을 정하는 것이고, 두번째는 정해진 가정을 플레이 테스트를 통해서 반복하여 확인하는 과정입니다. 기준선을 도입함으로써, 최종 상품이 나오는데 까지 걸리는 시간을 상당히 축소할 있습니다. 기준선은 책의 목차처럼 바인딩에 포함된 항목을 빠르게 참조할 있습니다.

반복 작업 같은 것들이 어떻게 발생되는지에 대해서 자세히 설명할 필요가 있다고 생각되지만 내용은 이후에 쓰게 글에서 다룰 예정입니다.



결론

저의 밸런스 업무 방법은 유닛의 상대 값과 기준선을 비교한 반복적인 테스트 과정을 통해 기준선의 단점을 보완하는 것입니다. 이를 통해서 게임에 미치는 영향을 이해하고 있는 상태에서, 요소의 미세한 조정과 원하는 대로 조정을 있습니다.

흥미롭게도 방법은 시간이 지날수록 점점 입증되었습니다. 컴퍼니 오브 히어로즈2 플레이어는 미세한 효율이나 비효율을 알아차렸습니다. 이것은 유저들의 빌드 순서에 영향을 주었고, 다양한 종류의 게임 메타에 영향을 주었습니다. 만약 플레이어들이 이런 미묘한 차이를 알아챈다면, 이것은 툴이 동작하고 있다는 것입니다. 이제 이는 기획자가 가진 툴과 직관을 게임을 만드는데 어떻게 사용하느냐는 문제가 되었습니다.

2018년 6월 17일 일요일

멀티플레이 게임의 밸런스 - 기회, 힘, 상대성

영어 아티클을 번역한 내용입니다.
원문은 Balancing Multiplayer Games – Opportunity, Power and Relativity

아래 링크에서 원글을 볼 수 있습니다.
http://pqumsieh.com/2015/04/12/balancing-multiplayer-games-opporunity-power-relativity/




개요
가지의 밸런스 요소에 대한 글입니다. 요소들은 게임 선택지의 품질을 향상시키고, 풍부하게 만듭니다.



밸런스와 재미
밸런스는 게임디자인의 중요한 요소로서 플레이어들에게 흥미로운 선택지를 제공합니다. 이상적으로, 플레이어들은 언제나 그들의 행동의 결과에 대해 신중히 고민을 하는 위치에 있습니다. 이는 결과적으로 게임의 도전(game's challenge) 기여하게됩니다. 도전이 없다면, 새로운 스킬을 배우는 기회가 부족한 상황이 무의미해지고 게임은 시시해집니다. 스킬을 배우는 것은 게임의 재미요소 하나인데도 말입니다. 따라서 밸런스의 부재는 플레이어들이 게임에서 경험할 재미를 위협할 것입니다.

노트: 섹션은 저의 기획자로서의 가정에 의해 추가되었습니다. 가정은 저의 경험에 기초한 것입니다. 저는 항상 새로운 관점에 대해 듣는 것에 흥미를 갖고 있습니다. 당신이 가진 가정을 글을 통해 되돌아보았으면 합니다. 만일 새로운 의견이 있다면 공유해주세요. 언젠가 제가 읽은 멋진 인용구가 있는데요, "말하면 이미 알고 있는 것에 대해서만 반복할 것이다. 그러나 듣는다면 새로운 것을 배우게 것이다." (J.P.McEvoy)



밸런스 디자인의 고려사항
세가지 개념은 기회비용과 전력 집중, 그리고 상대적 균형입니다. 개념의 뒤에 숨겨진 논리와 이론에 초점을 맞춰서 설명하려 합니다. 그리고 개념들은 게임의 특징에 따라 다양한 방법으로 응용되고 있음을 알아야 주셨으면 합니다.



기회 비용
플레이어는 선택을 할때마다, 대가를 치릅니다. 개념을 기회비용이라고 하지만 그것은 경제학에서의 개념과 완벽히 같지는 않습니다. 기회 비용은 다양한 형태를 갖고 있습니다. 시간이나 전략적 이점같은 형태를 띄기도 합니다. 예를들어 실시간 전략 시뮬레이션 게임에서 플레이어는 종종 즉시 이득을 얻는 것과 지연된 이득 하나를 선택해야 합니다. , 자원 100 소비되는 저렴한 유닛을 구매할 것인지 혹은 자원을 모은 자원 1000 항력한 유닛을 구매할 것인지. 예시에서 첫번째 비용은 시간이며 두번째는 전략적 포지셔닝입니다. 플레이어가 자원을 모으기 위해 대기하는 동안 일시적으로 필드 유닛에 대한 기회를 포기하게 되고 이는 장악력을 포기하는 결과를 부르기도 합니다. 이익은 아마도 장기적인 이득일 것이고, 비싼 유닛은 다른 것들보다 우수한 성과를 보여야 것입니다.

개념을 적용하기 위해서는 게임에서 의사결정의 기회비용을 고려해야합니다. 만약 어느 결정이 매우 낮은 기회비용을 가지고 있다면, 일반적으로는 그것을 무시하게 됩니다. 이런 경우가 아니라면 그것을 상쇄할 있는 [디자이너 ] 만들어야 것입니다. 예를 들어 컴퍼니 오브 히어로즈2에서 비싼 유닛은 투자대비 효율이 좋았습니다. 상대적인 가격을 비교해보면, 무거운 탱크는 30~40%정도 강하게 만들었습니다. 조정을 하기 전에는 무거운 탱크는 가격이 너무 비싸서 배치하기가 매우 힘들었습니다. 이것은 유닛 타입에 대한 매우 직접적이고 이해하기 쉬운 조정이었고, 조치로 인해 무거운 탱크들이 작동하게 만들었습니다.


전력 집중과 상대적인 밸런스
전력 집중은 게임의 체계에 따라 양의 특성 혹은 음의 특성일 있습니다.. 이것은 일반적으로 개체의 가치가 할당된 것보다 기하급수적으로 증가함을 의미합니다. 상대적인 밸런스는 유닛이 다른 모든 유닛에 대해서 어떤 식으로 상호작용하는지를 고려해야합니다. 예를 들어, 컴퍼니 오브 히어로즈2에서, 전력 집중은 좋은 특성이었지만, 어떤 경우에는 상대적 밸런스로 인해 오히려 약화되기도 했습니다. 아래의 예를 주세요:

플레이어1
셔먼 탱크 : 3대미지, 7HP
셔먼 탱크 : 3대미지, 7HP

Vs

플레이어2
티거 탱크 : 8대미지, 10HP

이전 글에서 계산법에 의해() 플레이어 1 가치는 9.16이고(√(3*7)*2) 플레이어 2 가치는 8.94입니다.(√(8*10) ). 조건에서  탱크가 라운드에 한번씩 발사한다면 어떤 플레이어가 교전에서 이길것 같나요? 플레이어 간의 가치가 9.16 vs 8.94 임에도 플레이어 2 교전에서 이길 가능성이 높습니다. 이는 주로 전력 집중과 상대적 밸런스에 의한 결과입나다. 라운드가 끝나면 플레이어 2 티거 탱크는 HP 4 줄었을뿐이지만 플레이어 1 탱크 하나를 잃게 됩니다. 이것은 사실상 플레이어 1 전력을 반으로 줄이는 것입니다. 다음 턴에서는 티거 탱크는 HP1 남기고 셔먼 탱크를 없애버릴 것입니다. 이것은 전력 집중의 잠재적 가치들 하나를 설명하는 것입니다. 대미지와 HP 따라 전투는 다른 방향으로 흐를 있습니다. 상대적 밸런스의 효과를 강조하기 위해서는 다음의 예를 주세요:

플레이어 1
셔먼 탱크 : 5대미지, 5HP
셔먼 탱크 : 5대미지, 5HP

플레이어 2
티거 탱크 : 10대미지, 10HP

이번 예시에서 플레이어 1 군대의 가치는 10이고(√(5*5)*2), 플레이어 2 군대의 가치는 10입니다(√(10*10)). 주어진 조건에서 턴에 한번씩 공격할 교전에서 이기게 플레이어는 누구일까요? 티거 탱크의 대미지가 늘어났음에도 불과하고 승자는 플레이어 1입니다. 라운드가 끝나면, 플레이어 1 셔먼 탱크를 잃었을 반면에 플레이어 2 티거 탱크 잃게 것입니다. 셔먼 탱크의 대미지의 합은 10이고 이것은 티거 탱크를 한턴에 파괴하기에 충분한 양입니다. 플레이어 1 하나의 셔먼 탱크를 갖고 있고, 플레이어 2 탱크가 없이 끝나게 됩니다. 이것은 상대적 밸런스의 효과를 설명합니다. 군대의 가치가 같더라도, 전투 특성의 분포는 전투 결과에 영향을 줍니다. 티거 탱크를 잃게된 중요한 원인중의 하나는 전투에 필요한 대미지보다 한참 많은 양으로 공격한 것입니다. 개념을 설명하기 위해 플레이어 2 아래처럼 바꿔 봤습니다.

플레이어 1
셔먼 탱크 : 5대미지, 5HP
셔먼 탱크 : 5대미지, 5HP

플레이어 2
티거 탱크 : 5대미지, 20HP

플레이어 2 군대의 가치는 이전과 같은 10입니다.(√(5*20)) 상태에서 교전에서 이길 플레이어는 누구일까요? 대답은 당연하게도 플레이어 2입니다. 셔먼 탱크에 비해 티거 탱크는 대미지를 받지 않기 때문입니다. 두번째 턴이 끝나고 나면 티거 탱크의 HP 5 남고 두개의 셔먼 탱크는 파괴되었을 것입니다. 게임에서 좋은 상대적 밸런스를 위해 어떤 콘텐츠를 만들 [디자이너 ] 세우기도 합니다. 위의 예시로 돌아가보면, 만약 셔먼 탱크가 [중간 탱크]이고 티거 탱크가 [무거운 탱크]라면 유닛 타입별로 대미지와 체력의 하한선과 상한선을 설정할 것입니다. , 모든 [중간 탱크] x y 사이의 대미지와 체력을 가진다는 뜻입니다. 이러한 체계를 갖추고 나면, 기대되는 결과를 정의할 있으며 원하는 결과를 위해 필요한 조치를 취할 있습니다. 만약 유닛의 가치가 게임 상호작용에 미치는 영향을 무시하고 랜덤하게 할당한다면 의도하지 않은 결과가 발생할 있습니다. 많은 요소에 대해 고려할 수록 상황은 점점 어려워집니다. 그래서 저는 방법론적인 접근법을 택해서 보다 체계적으로 정리하려 합니다.



결론
기회비용, 전력 집중 상대적 밸런스 사이의 고려사항은 모두 다릅니다. 이러한 개념은 플레이어들이 최선의 결정을 것이라는 생각에 기초하고 있습니다. 플레이어들이 그렇게 하지 못할 수도 있으나 그럼에도 불과하고 비슷한 결론을 내릴 것입니다. 플레이어의 선택지를 고려하여 기획자들은 나은 결정 매트릭스를 만들어 게임의 선택지를 더욱 다채롭고 매럭적인 것으로 만들 있습니다.


18회 ADsP 합격 후기

ADP도 아니고, 겨우 ADsP인데 무척 힘들게 공부했는데ㅜㅜ 결과적으로는 좋은 결과가 나와서 행복하네요! 꽤나 아슬아슬하게 합격해서 창피하긴합니다만ㅋ 합격하면 된거지 뭐 라고 생각하려구요! 언제가 될지는 모르겠습니다만, ADP도 ...