game balancing in game design –1- · 2015-01-22 · game balancing in game design –1- version...

32
Game Balancing in Game Design –1- Version 1.0 Release 1 2003.10.21 프리랜서 게임개발자 임성진 ([email protected])

Upload: others

Post on 27-Jun-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Game Balancing in Game Design –1- · 2015-01-22 · Game Balancing in Game Design –1- Version 1.0 Release 1 2003.10.21 프리랜서 게임개발자 임성진 (fmbiv@hitel.net)

Game Balancing in Game Design –1-

Version 1.0 Release 1

2003.10.21

프리랜서 게임개발자

임성진 ([email protected])

Page 2: Game Balancing in Game Design –1- · 2015-01-22 · Game Balancing in Game Design –1- Version 1.0 Release 1 2003.10.21 프리랜서 게임개발자 임성진 (fmbiv@hitel.net)

- 목 차 -

0. 강연에 앞서

1. 개 요

2. 밸런싱의 구분

2-1. 기간에 따른 구분

2-1-1. 시스템 설계

2-1-2. 기획단계에서의 밸런싱

2-1-3. 제로섬 (ZeroSum)

2-1-4. 상생 (WinWin)

2-1-5. 상극 (LoseLose)

2-1-6. 향상된 가중치 제로섬 (Advanced Weight Zerosum)

2-1-7. 목표값 찾기 (Finding Target Value)

2-1-8. 개발단계에서의 밸런싱

2-1-9. 서비스단계에서의 밸런싱

2-2. 장르에 따른 구분

2-2-0. 장르 구분의 기준

2-2-1. 슈팅 게임 밸런싱 (SHT)

2-2-2. 액션 게임 밸런싱 (ACT)

2-2-3. 퍼즐 게임 밸런싱 (PUZ)

2-2-4. 어드벤쳐 게임 밸런싱 (ADV)

2-2-5. 롤플레잉 게임 밸런싱 (RPG)

2-2-6. 전략 게임 밸런싱 (STR)

2-2-7. 시뮬레이션 게임 밸런싱 (SIM)

2-2-8. 1인칭 게임 밸런싱 (3D FPG)

2-2-9. 온라인 게임 밸런싱 (ONLINE)

3. 밸런싱 방법

3-1. 밸런싱 트리 (Balancing Tree)

3-2. 상대적 시야 (Relative Sight)

3-3. 차등 분배 (Give On Unequal)

4. 결 론

5. 강연을 마치며

Page 3: Game Balancing in Game Design –1- · 2015-01-22 · Game Balancing in Game Design –1- Version 1.0 Release 1 2003.10.21 프리랜서 게임개발자 임성진 (fmbiv@hitel.net)

0. 강연에 앞서

안녕하세요. 저는 게임 밸런싱 강연을 준비한 임성진이라고 합니다.

저에 대한 소개를 하자면, 잠시나마 게임업계에서 기획자로 일했고 지금은 혼자 자신만의

게임을 개발하고 있습니다. 그리고 기획자로 있었던 짧은 기간 동안 얻은 사소하고 작은 지

식을 여러분들에게 나눠드리고자 KGDC에 오게 되었습니다.

강연내용에 대한 간략한 소개를 하자면, 게임 밸런싱에 대한 저 나름대로의 정의와 분류를

내렸고, 저의 밸런싱 방법를 소개하고, 실제 데이터를 바탕으로 간단한 밸런싱을 해보는 예

제로 구성하였습니다.

게임 밸런싱에 대한 문서 강연을 준비하면서, 수달님으로부터 많은 조언을 들었습니다. 강

연 자료를 만들며 많은 생각을 하게 해주신 수달님께 감사 드립니다.

그리고 이 강연 문서는 KGDC2003에서의 사용만을 허락합니다. 강연 내용의 일부나 전체를

타 용도로 사용하시려면, 사전에 저의 허락을 거친 후 사용해 주시길 부탁 드립니다. 만약

사전 허락 없이 사용할 경우, 법적인 제재를 받을 수도 있습니다.

1. 개 요

밸런싱이란 게임 개발자가 유저들에게 전달하고자 하는 철학적 주제의 완성을 위한 보조적

인 수단입니다.

단어를 계속 파고들면 더욱 이해가 들지 않기 때문에 예

를 들어서 설명을 해드리겠습니다.

왼쪽 사진은 Half-Life 1의 MOD인 Counter-Strike입니다.

이 게임은 멀티플레이 게임이며, 유저들은 두개의 팀으

로 나뉘어 서로 다른 무기와 장비를 이용해 각 맵의 목

표를 클리어하는 게임입니다.

Counter-Strike의 제작자인 Gooseman은 밀리터리와 테러

리즘에 대한 주제를 선호했고, 그 주제를 MOD로 만들었

습니다.

사진까지 구해서 뭔가를 쓰고 보니, 전달하고자 하는 철학적 주제가 없어 보이기도 합니다.

이해가 안가요. 철학적 주제? 보조적 수단?

좀 더 쉽게 설명해주세요.

Page 4: Game Balancing in Game Design –1- · 2015-01-22 · Game Balancing in Game Design –1- Version 1.0 Release 1 2003.10.21 프리랜서 게임개발자 임성진 (fmbiv@hitel.net)

보통 싱글 플레이 게임의 경우에는 스토리가 있어서 자칫 잘못하면 그 스토리에서 얻는 교

훈 내지는 감동이 개발자가 전달하고자 하는 철학적 주제라고 생각될 수도 있습니다.

예를 들면, Final Fantasy나 Dungeon Siege같은 게임이 철학적 주제를 가진 게임이고, 멀티

플레이만 있는 Counter-Strike는 철학적 주제가 없다고 생각될 수도 있습니다.

하지만, Counter-Strike를 하면서도 무언가를 느끼거나 게임을 하는 동안 또 다른 어떠한

심리적 변화 등을 느끼고 즐길 수 있다면, 그것 또한 유저에게 무언가 전달되었다고 생각할

수 있습니다.

길게 쓰고 있습니다만, 원래 하려던 말은 이것이었습니다.

게임은 유저에게 재미를 주어야 하며, 게임 밸런싱은 유저에게 게임의 재미를 효과적으로

전달하기 위한 노력입니다. 즉, 게임이 유저에게 전달하고자 하는 재미를 더욱 재미있게 만

드는 것을 밸런싱이라고 합니다.

네, 물론입니다. 사람들은 저마다 느끼고 생각하는 것이 다릅니다. 하나의 게임을 하더라도

어떤 사람은 재미있게 느낄 수도 있고, 또 어떤 사람은 재미없다고 느낄 수도 있기 때문에,

이 강연을 듣는 분들이 오해를 할까 봐 철학적 주제라고 쓴 것 입니다.

어려운 게임을 만들고 있다면, 너무 어렵지 않게, 그러나 평범한 어려움은 아닌.

재미있는 게임을 만들고 있다면, 너무 오버하지 않게, 그러나 평범한 재미는 아닌.

멋진 게임을 만들고 있다면, 너무 멋지지 않게, 그러나 평범한 멋짐은 아닌.

이 정도로 설명할 수 있습니다.

간혹 재미없는 게임을 목표로 만드시는 분들도 있습니다.

그 분들은 너무 재미없지 않게, 그러나 보통 수준의 재미없음은 아닌 게임을 만들면 됩니다.

이해가 가시나요? 제가 하는 말이 지금은 이해가 되지 않는다 하더라도 천천히 읽어 보면서

한 장, 한 장 넘어가다 보면, 모든 걸 이해할 수 있게 됩니다. 이 밸런싱에 관한 강연 문서

는 그러한 구조로 쓰여졌거든요.

하지만 어떤 사람은 A라는 게임을 재미 있다고 할 수 있고, 또

다른 사람은 같은 게임을 재미없다고 할 수 있지 않나요?

Page 5: Game Balancing in Game Design –1- · 2015-01-22 · Game Balancing in Game Design –1- Version 1.0 Release 1 2003.10.21 프리랜서 게임개발자 임성진 (fmbiv@hitel.net)

2. 밸런싱의 구분

2-1. 기간에 따른 구분

비온라인 게임의 경우 아래와 같은 기간의 구분이 있을 수 있습니다.

① 기획 단계에서의 밸런싱

② 개발 단계에서의 밸런싱

온라인 게임의 경우, 위의 2가지에 아래의 한가지를 추가합니다.

③ 서비스 단계에서의 밸런싱

개발단계에 따라 약간의 차이는 있지만, 모두 동일한 방법으로 하기 때문에 기간에 따른 구

분은 불필요할 수도 있습니다. 하지만 두 가지 집고 넘어갈 것은 있습니다.

첫째, 간혹 기획 단계에서의 밸런싱은 시스템 설계와 혼동되기도 합니다.

시스템 설계와 밸런싱은 약간의 차이가 있습니다.

둘째, 밸런싱을 게임 개발의 어느 단계에서 할 것인가 입니다. 게임을 만들기 전에 해야 하

는가?, 만들면서 해야 하는가?, 만든 후에 해야 하는가?

그럼 첫번째 기회 단계에서의 밸런싱과 시스템 설계를 설명하기 위해서 시스템 설계를 알아

보도록 하겠습니다.

2-1-1. 시스템 설계

시스템 설계란 말 그대로 하나의 체계를 설계하는 것입니다.

레벨 시스템 설계, 캐릭터 클래스 설계, 스테이터스 시스템 설계, 아이템 시스템 설계, 전

투 시스템 설계(공격, 마법, 방어, 회피 등), 그리고 또 무엇이 있을까요?

레벨 시스템 설계

왼쪽 표를 보세요. 레벨이 오를 때 마다 필요한 경험치를 정하는 것을 레벨

시스템 디자인이라고 말합니다. 이렇게 디자인이 끝난 레벨 시스템을 레벨

밸런싱을 했다고 말할 수 있나요? (…)

캐릭터 클래스, 스테이터스 시스템, 아이템 시스템 설계, 전투 시스템 설계,

모두 마찬가지입니다.

설계가 끝난 것을 캐릭터 밸런싱을 했다, 스테이터스 밸런싱을 했다, 아이

템 밸런싱을 했다, 전투 시스템 밸런싱을 했다고 할 수 있나요?

혹자는 시스템 설계에 ZEROSUM 방식을 적용한 것을 밸런싱이라고 말하기도 합니다.

예를 들면 이런 경우죠.

Page 6: Game Balancing in Game Design –1- · 2015-01-22 · Game Balancing in Game Design –1- Version 1.0 Release 1 2003.10.21 프리랜서 게임개발자 임성진 (fmbiv@hitel.net)

무기의 설정을 하는데, 검은 도끼보다 가볍고 도끼는 검보다 무겁다고 하고, 도끼는 공격속

도가 검보다 느리고 대신 공격력이 검보다 높게 설정한다고 합니다.

이렇게 하면 24 HP를 가진 몬스터를 죽이는데 걸리는 시간은 검이나 도끼나 동일합니다.

계산을 해볼까요?

검으로 죽이는 경우 : 24 ÷ (4 * 6) = 1초

도끼로 죽이는 경우 : 24 ÷ (6 * 4) = 1초

하지만 실제로 게임 상에 등장하는 모든 몬스터를 검과 도끼로 때린다고 가정할 때 ZEROSUM

이 적용되지 않는 예외상황이 발생합니다.

첫 번째 예외로는 6 HP를 가진 몬스터를 죽이는 경우에 발생하는데, 도끼는 한번만 치면 되

지만(0.25초), 검의 경우는 두 번 쳐야 한다는 것 입니다.(0.33초)

두 번째 예외로는 1/6s는 순환소수 0.1666…입니다. 하지만 컴퓨터가 사용하는 이진수에서

는 순환소수를 제대로 계산/저장할 수 없습니다.

즉, 24HP 몬스터를 죽이기 위해서 검을 사용하는 유저의 시간과 도끼를 사용하는 유저의 시

간은 정확히 일치할 수 없다는 것입니다. 전투 시스템에 나누기가 들어가는 순간, 이미 여

러분의 예측은 0.0001% 정도라도 빗나가게 됩니다.

물론 분모의 소인수가 2만 있다면 예측은 맞을 수도 있습니다.

잠시 쉬면서 위의 질문에 대한 답을 해드리겠습니다.

공격 속도 1/6s라는 것은 1초에 6번 공격한다, 1번 공격에 0.16667초가 소요된다는 의미입

니다. 그리고 순환소수는 산수시간에 배우셨을 겁니다. (지금은 잊어버리셨을 테지만…)

1/6은 소수점 아래 두 번째 6이 계속 반복해서 나타나죠. 이것을 순환 소수라 합니다.

이제 이해가 가셨나요?

자, 잠시 쉬었으니 두 번째 이야기를 하도록 하죠.

게임의 각 시스템을 설계하는 것이 밸런싱이 아니란 것을 알았습니다. 그렇다면 밸런싱은

게임 개발의 어느 단계에서 해야 하는 것일까요?

이 부분은 조금 어렵네요. 공격 속도의 1/6s은 무엇이고, 순환

소수는 또 무엇인가요?

Page 7: Game Balancing in Game Design –1- · 2015-01-22 · Game Balancing in Game Design –1- Version 1.0 Release 1 2003.10.21 프리랜서 게임개발자 임성진 (fmbiv@hitel.net)

2-1-2. 기획단계에서의 밸런싱

비온라인 게임의 경우 밸런싱은 2가지 단계에서 할 수 있습니다. 온라인 게임의 경우는 3가

지 단계에서 할 수 있습니다.

기획단계에서의 밸런싱은, 철학적 주제를 세우고, 각종 시스템을 만들고, 세계관을 설정하

고, 설계 문서를 만들고, 게임의 각 시스템을 구성하는 요소들이 모두 확립된 상태에서 시

작됩니다. 물론 정확히 무엇과 무엇을 하고 난 뒤 밸런싱을 하라는 말은 아닙니다. 다만,

밸런싱을 하려면, 각 시스템들이 서로 영향을 주는 부분을 모두 정의한 상태에서 시작하는

것이 좀 더 효율적이라는 것입니다.

예를 들면, 종-횡 자동 전환 스크롤 2D 슈팅 게임을 기획한다고 하면. 플레이어가 3개의 전

투기를 선택해서 플레이 할 수 있으며, 3가지 기본무기와 9가지 보조 무기로 적들을 제거하

면서 10개 스테이지를 지나서 최종 보스를 제거하면 되는 게임으로, 10개의 아이템이 있고,

20종의 적이 등장하고, 적의 움직임은 3개의 인공지능 군으로 나뉘고 각 군마다 100가지 종

류의 패턴들이 있습니다. 또한 스크래치 시스템이 있으며, 기체는 로봇으로 변신도 됩니다.

스토리는 2007년 테러국가와 UN간의 전투. 플레이어는 자신의 캐릭터를 선택할 수 있고 남

자 2명, 여자 1명으로 정합니다. 이런 슈팅게임이 있다면, 밸런싱은 위의 시스템들이 어느

정도 정의된 후에 해야 효과적입니다.

만약 위와 같이 플레이어 기체 3대를 설정 한 후, 밸런싱을 한다면, 무엇을 어떤 기준으로

어떻게 밸런싱을 하게 될까요? 아마도 플레이어의 전투기 3개를 서로 비교하면서 ZEROSUM

을 할지도 모릅니다.

Page 8: Game Balancing in Game Design –1- · 2015-01-22 · Game Balancing in Game Design –1- Version 1.0 Release 1 2003.10.21 프리랜서 게임개발자 임성진 (fmbiv@hitel.net)

그 결과 각 기체의 속성값의 합은 3대 모두 같거나 비슷하게 될 것입니다. 하지만 그것은

어울리지 않습니다. ZEROSUM으로 밸런싱을 하려 한다면, 차라리 모든 기체의 능력치를 똑같

이 하는 게 좋습니다.

수달님의 의문은 당연한 것 입니다. 왜 3대의 기체 밸런싱에 ZEROSUM을 사용하면 안될까?

가위바위보는 ZEROSUM으로 설명이 되는데 왜 ZEROSUM으로 밸런싱을 하면 안될까? 저는

ZEROSUM방식으로 밸런싱을 하면 안 된다-고 말하지는 않았습니다. 하지 않는 게 좋을 것이

라고 말했지요. 이것에 대해서는 먼저 ZEROSUM을 설명한 뒤에 자세히 설명해드리겠습니다.

(그리고 사이비 아닙니다.;;;)

2-1-3. 제로섬 (ZeroSum)

우선 ZEROSUM을 알기 위해 가위바위보를 예를 들겠습니다. 가위바위보의 룰은 다 알고 계시

죠? (가위가 보자기를 이기고, 보자기가 주먹을 이기고, 주먹이 가위를 이깁니다.)

표는 세로가 방어, 가로가 공격입니다. 이기면 +1, 지면 –1입니다. 그래서 모든 경우의 수

를 계산하면 위와 같이 되고 그 합은 0이 됩니다.

혹시 이런 ZEROSUM을 보면서 삼라만상의 이치를 깨닫고, 마음이 편해지거나 하는 분 있나

요? (혹시 있다면 아미타파…;;;) 가위바위보에서의 ZEROSUM이 말이 되는 이유는 자체가 룰

인 경우입니다.

ZEROSUM은 WinWin전략이라는 개념이 나오기 전까지는 세계 경제의 지배 원리였습니다. 물론

현재도 적용되고 있구요. 상대가 1을 가지면 내가 1의 손해를 입는다. 내가 1을 가지면 상

대가 1을 손해 본다는 것입니다. 그럼 다음은 Win-Win에 대해서 알아볼까요?

2-1-4. 상생 (WinWin)

Win-Win은 원래 1993년 9월 미국의 군사 전략 용어입니다. 전쟁 발발 가능성이 높은 한반도

와 중동 두 지역에서 전쟁이 동시에 발발하면 미국이 개입하여 두 지역 동시 승리 전략으로

승리한다라는 것이었습니다.

그런데 이것이 경제 용어로 넘어오면서, 나와 나의 경쟁 상대 모두 함께 승리한다. 라는 의

미로 쓰이게 되었습니다. 하지만 현실적으로 이런 게 가능할까요?

이상해요! 왜 밸런싱을 ZEROSUM 방식으로 하면 안되나요? 차라리

모든 기체의 능력치를 똑같이 하라니요? 혹시 사이비인가요?

즉, 제로섬은 소개팅에서 멋진 남자와 못생긴 여자가 만났을 때,

멋진 남자는 손해지만, 못생긴 여자는 이득이라는 것이군요.

Page 9: Game Balancing in Game Design –1- · 2015-01-22 · Game Balancing in Game Design –1- Version 1.0 Release 1 2003.10.21 프리랜서 게임개발자 임성진 (fmbiv@hitel.net)

음…;;; 다음은 상생의 반대말, 상극에 대해서 알아보겠습니다.

2-1-5. 상극 (LoseLose)

제가 상극이란 단어를 처음 접한 것은 증산도에서 나온 책 ‘이것이 개벽이다’를 보았을

때입니다. 그리고 음양오행에서도, 각 오행간의 상생, 상극이라는 것들이 있습니다. 처음엔

너무 어려운 단어라서 몰랐습니다. 하지만 지금은 잘 알고 있습니다.

바로 이런 경우인데, 소개팅에서 못생긴 남자와 못생긴 여자가 만났을 때, 못생긴 여자도

기분 나쁘고, 못생긴 남자도 기분이 나쁘다는 것입니다.

죄송합니다. (에잇~휙!!!)

아무튼, 우리들 주변에는 이렇게 여러가지 밸런싱 개념들이 있습니다.

이것으로 알 수 있는 것은 제로섬(Zerosum), 상생(WinWin), 상극(LoseLose)는 어떠한 수치

나 속성에 적용되는 개념이 아니라, 한 개의 커다란 룰에 적용되어야 한다는 것입니다.

즉, “가위+바위+보=0”가 성립하는 것이지, “가위=바위=보”가 성립하는 것은 아닙니다.

이제 다시 슈팅 게임의 기체 밸런싱과 ZEROSUM에 대한 이야기로 돌아오겠습니다.

2-1-6. 향상된 가중치 제로섬 (Advanced Weight-Zerosum)

위의 플레이어 기체를 가지고 다시 설명을 하겠습니다.

쉽게 설명하기 위해 속성 중에 최고속도와 내구력만 가지고 이야기를 하도록 하겠습니다.

각 기체의 속성과 내구력을 더한 값을 ZEROSUM방식으로 똑같이 맞춘다고 할 경우의 문제점

은 최고속도와 내구력이 유저의 플레이에 같은 비중의 중요도를 가지는가 하는 것입니다.

즉, 적 미사일의 데미지가 40일 경우, F-16은 2번, MIG29는 3번, A-10은 4번을 맞아야 폭파

됩니다. 그리고 적 미사일의 스피드를 마하10으로 가정한다면, 적 미사일을 피할 수 없으니

내구력이 기체 선택의 가장 중요한 요인이 됩니다. 반대로 적 미사일의 스피드가 시속

300km라면, 플레이어는 내구력보다는 스피드가 빠른 기체를 선택하게 됩니다.

즉, 상생은 소개팅에서 멋진 남자와 멋진 여자가 만났을 때, 멋

진 남자와 멋진 여자는 둘 다 이득이라는 것이군요. 호오~

앗, 제가 찾아낸 쉽게 이해하는 방법을 사용하시다니!

억울합니다!!! (강력대응!!!)

Page 10: Game Balancing in Game Design –1- · 2015-01-22 · Game Balancing in Game Design –1- Version 1.0 Release 1 2003.10.21 프리랜서 게임개발자 임성진 (fmbiv@hitel.net)

물론, 위의 가정과 결과는 적 유닛 아니면 적어도 적 미사일에 대한 디자인이 끝나있어야

가능합니다. 그리고 플레이어 기체의 속도와 내구력 두 가지 수치를 가지고 밸런싱을 해야

하는 경우에는 1가지 속성만 가지고 밸런싱을 할 때보다 어렵습니다.

이러한 문제 때문에 일부 게임에서는 각 속성 값에 가중치를 주기도 합니다.

흔히 속성이 많은 RPG의 경우, STATUS를 조절할 수 있는데, 특히 전사가 마법을 쓸 수 있고,

마법사도 검술을 익힐 수 있는 게임의 경우에는 클래스에 따라, 특정 속성에서 빼온 수치를

다른 속성에 더하는 경우 반으로 줄어들거나, 두 배로 늘어나는 경우도 있습니다.

그것은 클래스에 따라 속성간의 가중치를 두는 것으로, 밸런싱을 위한 조치라고 생각할 수

있습니다.

계산을 쉽게 하기 위해, 플레이어 기체의 속성을 100보다 작은 정수로 고쳐보았습니다.

최고속도는 픽셀 단위로 바꾸고, 내구력은 적탄 기본값 1을 기준으로 몇 대 맞으면 파괴되

는 것 인지로 하겠습니다.

그리고 적 미사일의 속도와 데미지를 고려하여, 이동속도보다 내구력이 더 중요하다고 판단

하여 이동속도의 가중치를 50%로 설정합니다.

오잉? 정수로 딱 떨어지지 않네요. 이럴 때 쓰는 것이 액셀의 목표값 찾기 입니다.

2-1-7. 목표값 찾기 (Finding Target Value)

액셀을 가지고 밸런싱을 하다 보면, 편한 것이 한 두 가지가 아닙니다.

우선 날짜별로 밸런싱 데이터를 저장 할 수 있습니다. 밸런싱 툴을 이용하거나 하드코딩을

하는 경우에는 저장이라는 개념이 없습니다. 고친 것이 바로 나타납니다. 하루종일 밸런싱

을 하다 보면, 어느새 아침에 입력했던 값을 퇴근 전에 또 다시 입력할 수도 있습니다.

(이런 것을 헛고생 했다, 혹은 머리가 나쁘면 손이 고생한다라고 합니다.)

그리고 DB나 ACCESS를 이용할 때 보다 편합니다. 테이블에 비해서 시트는 보기도 편하고,

자유로운 에디트도 가능합니다. 한번에 여기의 것을 복사해서 저기에 붙일 때도 마우스 클

릭이면 됩니다. 만약 밸런싱 툴을 사용한다면, 상상만 해도 끔찍하군요…;;;

(이런 것을 안 해도 될 짓을 했다, 혹은 손이 나쁘면 머리가 고생한다라고 합니다)

그리고 마지막으로 유용한 것이 FTV. 목표값 찾기 입니다. 원하는 답이 있는데 도대체 어떻

게 해야 저 숫자가 나오는지 알지 못할 때 사용하면 정말 편합니다.

Page 11: Game Balancing in Game Design –1- · 2015-01-22 · Game Balancing in Game Design –1- Version 1.0 Release 1 2003.10.21 프리랜서 게임개발자 임성진 (fmbiv@hitel.net)

목표값 찾기는 메뉴의 도구(T)에서 찾을 수 있습니다.

합을 25로 바꾸기 위해서 내구력을 바꿔보겠습니다.

수식 셀(E)에는 MIG29의 합이 있는 셀 D5, 찾는 값(V)는 25, 값을 바꿀 셀(C)는 MIG29의 내

구력 셀 D4를 입력합니다. 그리고 확인을 눌러보겠습니다.

바로 찾아버리네요.

Page 12: Game Balancing in Game Design –1- · 2015-01-22 · Game Balancing in Game Design –1- Version 1.0 Release 1 2003.10.21 프리랜서 게임개발자 임성진 (fmbiv@hitel.net)

목표값 찾기를 사용해서 A-10도 바꿔주면 이렇게 됩니다.

가중치 제로섬(Weight Zerosum)을 이용한 슈팅 게임 기체 밸런싱 끝.

하지만 정말 끝일까요?

이제 무기도 디자인하고, 적도 디자인하고 적들의 인공지능과 맵에 적들을 배치하고, 이런

기획단계를 거치면서 방금 수정했던 4*4w짜리(weighted 4row 4column) 액셀 시트는 수 십번,

수 백번 바뀌게 됩니다.

그래서 저는 컨셉에 맞게 시스템을 설계한 뒤, 모든 설계가 끝난 후 밸런싱을 하는 것이 좋

다고 생각합니다.

액셀은 알아두면 유용한 프로그램입니다. 특히 과거의 저는 두 가지 용도로 많이 사용했었

는데, 액세스의 귀찮은 입력도구와 SQL쿼리를 사용하는 대신 액셀과 연동합니다. 이렇게 하

면 DB 조작을 정말 편하게 할 수 있습니다(CTRL+Z도 가능). 그리고 아웃룩의 대량 메일을

분류하고 처리하는데 액셀을 이용하여, 매일 아침 유저들이 보낸 200여 통의 편지 답장을 1

시간에 끝낼 수 있었습니다.

또 게임 밸런싱에도 사용할 수 있지요. ^^;

2-1-8. 개발단계에서의 밸런싱

개발단계에서의 밸런싱은 2가지 방법이 있습니다.

설명하기 전에, 먼저 개발단계에서의 기획자의 역할을 생각해봅니다.

밸런싱을 하는데 꼭 액셀을 써야 하나요?

전 액셀을 모르는데, 잘하는 방법 좀 알려주세요.

펫쳇.

치사합니다…

잘하는 방법은 잘 모르겠습니다. 타고 나는 것 아닌가요?

하하하~ 그냥 계속 사용하다 보면 자연스럽게 익숙해진답니다.

Page 13: Game Balancing in Game Design –1- · 2015-01-22 · Game Balancing in Game Design –1- Version 1.0 Release 1 2003.10.21 프리랜서 게임개발자 임성진 (fmbiv@hitel.net)

개발이 시작되면, 기획자가 작성한 기획서가 완벽하든, 부족하든, 그것을 팀에 배포하고,

프로그램 팀과 구현에 대한 회의를 하고, 그래픽 팀과 아트 컨셉에 대한 이야기를 합니다.

기획서를 배포하는 순간 기획자에게는 저런 운명이 기다리고 있습니다.

또는 스케줄을 관리하기도 하고, 예산도 관리하고, 투자를 받기 위해 돌아다니는 등의 일을

할 수도 있습니다. (無念…)

하지만 대부분은 자신의 PC앞에 앉아서 기획서의 오타를 수정하거나 프로그램 팀과의 회의

결과에 따라 기획서의 일부분을 추가/수정하고, 그래픽 팀의 아트웍을 잘라 기획서에 붙이

는 등의 일을 합니다.

기획서의 내용에 대한 팀 일부의 반대 조차 없다면 기획서를 엎어서 새로 쓰는 일이나 대량

수정과 같은 사고(?)는 없을 것이며, 개발 중에 문제가 생기지만 않는다면, 일상은 그렇게

잔잔한 호수처럼 평온할 것입니다.

이처럼 개발단계에서 여유를 부릴 수 있는 것은. 게임이 조금씩 만들어지고 있기 때문입니

다. 그리고 게임의 형태가 거의 나온 순간 – 기획자가 설계한 시스템들이 모두 결합되었을

때 – 기획자에게는 밸런싱이 기다리고 있습니다.

자, 그럼 개발단계에서의 밸런싱에 대해서 알아보겠습니다.

개발단계에서는 2가지 밸런싱 방법이 있습니다.

첫 번째 방법은, 기획서가 완성된 상태에서 밸런싱을 하는 것이 되겠습니다.

이 방법은, 오랜 기간 밸런싱을 할 수 있지만, 직접 결과를 보지 못한다는 점 때문에 자신

이 수정한 수치를 정확하게 체감할 수 없습니다.

두 번째 방법은, 완성된 게임(PreAlpha, Beta)을 보면서 밸런싱을 하는 것이 되겠습니다.

이 방법은 완성된 게임을 보면서 밸런싱을 하기 때문에, 팀의 내부 의견이나 테스터들의 의

견을 종합할 수 있어서 지역적-객관성을 띄며, 밸런싱 방법도 쉽습니다.

프로그래머가 제시하는 방식으로, 밸런싱 툴을 이용하거나, 텍스트 스크립트를 이용하거나,

최악의 방법으로는, 수치를 적은 메모를 주면 프로그래머가 직접 하드코딩으로 수정하는 방

법 등, 다양한 방법이 존재하며, 수정과 동시에 결과를 볼 수 있습니다.

하지만 이때에는 이미 오픈 베타나 패키지 게임인 경우 제품 출시 시기가 정해지기 때문에,

버그 퇴치나 마케팅 플랜 등의 서비스단계의 업무를 준비하다 보면 밸런싱에 신경을 쏟을

수 없을 수도 있습니다.

그렇다면 어떻게 해야 하는 것일까.

첫 번째 방법과 두 번째 방법을 적절한 비율로 조절하면서 밸런싱을 해나가면 됩니다.

시스템 설계가 끝나면 밸런싱 문서를 만들고, 프리알파(Pre-Alpha) 버전이 나오면 밸런싱

툴, 텍스트 스크립트, 하드코딩 등을 이용해서 밸런싱을 합니다. 이 비율을 적절히 조절한

다라는 것인데, 적절한 비율이 뭘까요? 참 무책임한 말입니다.

하지만 이 적절한 비율이란 것에 정답은 없습니다. 만드는 게임에 따라, 팀의 역량에 따라,

회사 사정에 따라, 모든 변수를 생각해보아야 알 수 있습니다.

그럼, 이제 서비스 단계에서의 밸런싱을 알아 보겠습니다.

Page 14: Game Balancing in Game Design –1- · 2015-01-22 · Game Balancing in Game Design –1- Version 1.0 Release 1 2003.10.21 프리랜서 게임개발자 임성진 (fmbiv@hitel.net)

2-1-9. 서비스 단계에서의 밸런싱

서비스단계에 이르러서 온라인 게임과 비온라인 게임은 다른 길을 걷습니다.

비온라인 게임은 끝입니다. 더 이상 게임에 손 댈 필요도 없고, 손 댈 수도 없습니다. 반면,

온라인 게임은 이제부터 끝없는 밸런싱 작업이 시작됩니다. 유저의 요구를 받고, 패치를 할

때마다, 해당 패치에 따른 전체 시스템의 영향을 생각해서 밸런싱을 하게 됩니다.

이때에는 테스트 서버와 밸런싱 툴, 테스트 클라이언트가 필수적으로 필요합니다. 만약 이

3가지가 없다면, 밸런싱은 상당히 힘들어 질 수 있습니다.

기획단계, 개발단계, 서비스단계의 밸런싱에 대해서 간략히 살펴보았습니다.

그런데, 기획단계는 설계와 맞물려있고, 개발단계에서는 밸런싱 이외에 생각해야 하는 문제

들이 산재해 있고, 서비스단계에서는 유저 요구에 따른 각종 아이템, 시스템, 패치 등을 준

비해야 하는데, 도대체 언제 밸런싱을 해야 하는가 라고 생각할 수 있습니다.

네, 맞습니다. 밸런싱은 계속 해나가야 합니다. 하지만 밸런싱 문서를 만들고, 밸런싱에 대

해 고민을 하게 되는 시기가 있습니다. 그 시기는 자신만이 알 수 있습니다. 다만, 저의 경

우, 정답은 될 수 없지만, 적절한 밸런싱 타이밍은 개발단계에 있다고 말합니다.

개발단계에서는 개발팀이 모두 바쁩니다. 개발단계의 프로그램팀은 기획서를 분석하고, 기

술 연구와 병행하여 프로젝트를 진행하고 실제 코딩까지 하는 시기입니다. 프로그램팀의 여

유는 점점 줄어들 것입니다. 개발단계 초기 정시 퇴근이 일주일에 4~5번 정도였다면, 개발

단계 후기에는 거의 매일 같이 저녁을 먹고, 9,10시쯤 퇴근을 하게 됩니다. 그렇다면 아트

팀은 어떨까요? 아트팀도 상황은 마찬가지 입니다. 더구나 비주얼이란 것은 프로그램처럼

중간에 봐서는 알 수 없는 그런 것이 아니므로 작업 중간 중간에도 태클이 들어올 수 있습

니다.

반면, 기획자는 팀원들이 바빠지면 바빠질수록 여유가 생기게 됩니다. 각 팀이 프로그램 작

업을 하거나 그래픽 작업을 하는 동안, 그들이 기획자에게 말을 거는 시간은 줄어듭니다.

하지만 꼭 물어봐야 하는 것들이 있게 되고, 결국 퇴근은 함께 하게 됩니다. 그래서 기획자

에게는 가용시간 혹은 남는 시간이 생기게 됩니다.

왜 개발단계에서 밸런싱을 해야 하나요?

이유를 설명 해주실 수 있나요?

도대체 언제 밸런싱을 해야 하나요? 그냥 모든 단계에서 밸런싱

을 조금씩 하면 안되나요? 티끌 모아 태산이라고…

Page 15: Game Balancing in Game Design –1- · 2015-01-22 · Game Balancing in Game Design –1- Version 1.0 Release 1 2003.10.21 프리랜서 게임개발자 임성진 (fmbiv@hitel.net)

만약 이 글을 읽고 있는 분이 기획자이면서, 개발단계에서 가용시간이 생기지 않는다면, 자

신의 무엇이 잘 못 되어있는지 확실히 판단하고, 그 원인을 제거하시기 바랍니다.

위 질문에 대한 답변입니다.

개발단계에서 밸런싱을 한다는 것은, 설계된 시스템을 바탕으로 각 시스템간의 연결을 생각

하고 밸런싱 문서를 작성하고, 액셀이나 밸런싱 툴 등을 이용해서 밸런싱 작업을 해나감을

뜻합니다. 또한 개발 초기에는 프로그램 팀의 사정에 의해 밸런싱 툴이 없을 수도 있습니다.

오히려 투자를 받기 위한 테크니컬 데모를 만들어 내는 것에 신경을 쓸 수도 있고, 확장성

을 고려한 게임 설계에 따라 엄청 큰 규모의 엔진 개발에 집중 하고 있을 수도 있습니다.

그렇기 때문에 기획자는 게임이 완성될 때까지 밸런싱을 미뤄둬선 안 되는 것입니다.

수작업 밸런싱의 준비물은 액셀과 A4 이면지, 연필과 지우개만 있으면 됩니다.

하지만 실제 이야기는 더 뒷부분에서 하기로 하겠습니다.

우선 지금은 다음 장으로 넘어가도록 하겠습니다.

2-2. 장르에 따른 구분

밸런싱은 대상(게임의 장르)에 따라서 방법이 다를 수 있습니다. 다른 장르와 공통적인 부

분은 같을 수 있으나, 특정 장르에서 유일한 밸런싱 방법이 있을 수 있습니다. 따라서 밸런

싱은 장르별로 구분됩니다.

2-2-0. 장르 구분의 기준

장르의 구분은 GPG스터디의 게임 장르 정의를 참고하였습니다.

2-2-1. 슈팅 게임 밸런싱 (SHT)

첫 번째 장르는 슈팅입니다. 어릴 적에 자주 접할 수 있었던 장르로, 갤러그나 인베이더부

터 라이덴, 식신의 성까지, 게임 장르의 대표적인 1개 축이기는 하지만 지금은 침체 상태입

니다.

슈팅 게임의 시스템을 살펴 보면, 플레이어 유닛과 적 유닛이 있고, 플레이어 유닛의 탄종,

탄의 괘적, 그리고 적의 탄종, 괘적, 적의 AI, 맵의 적 유닛 배치, 스테이지 구성, 아이템,

그리고 보조적인 시스템으로 되어 있습니다.

플레이어 유닛과 적 유닛, 각각의 탄종과 괘적 등은 컨셉에 맞게 기획을 하면 됩니다.

슈팅게임에서 중요한 것은 유닛의 이동속도와 탄의 속도입니다. 이게 가장 기본적인 밸런싱

대상이 되고, 맵 상의 적 유닛을 배치하는 것도 밸런싱 대상이 됩니다. 요즘은 레벨 디자인

그래서 저녁 늦게 회사에 남아 계셨던 거군요. 하지만 꼭 그렇게

남아서 밸런싱을 할 필요가 있나요?

Page 16: Game Balancing in Game Design –1- · 2015-01-22 · Game Balancing in Game Design –1- Version 1.0 Release 1 2003.10.21 프리랜서 게임개발자 임성진 (fmbiv@hitel.net)

이라는 말이 등장하면서, 레벨 디자이너가 하기도 합니다.

슈팅 게임의 경우 대부분이 비온라인이기 때문에 스테이지별로 난이도가 어려워지게 되는데,

플레이어가 너무 어려워서 포기하지 않게, 그러나 너무 쉬워서 원 코인 클리어(One Coin

Clear)를 하지 않게 밸런싱을 해야 합니다.

밸런싱 방법은 스테이지 증가에 따라

① 새로운 적이 등장하거나

② 적 유닛의 숫자를 늘리거나

③ 적 유닛의 내구력을 올리거나

④ 적 유닛의 이동 패턴을 변화시키는 등의 방법이 있습니다.

슈팅게임의 밸런싱은 어렵지 않습니다. 다만, 플레이하는 유저의 수준에 따라서 체감하는

게임의 난이도가 다르기 때문에, 일부 게임에서는 게임의 난이도를 조절하는 옵션을 주기도

합니다. 대략 이런 식으로 표현합니다.

2-2-2. 액션 게임 밸런싱 (ACT)

두 번재 장르는 액션입니다. 슈팅과 비슷한 방식의 진행이 많지만 쏘지않는다(?)는 점이 다

릅니다. 시간이 지나면서 격투 개념이 들어가거나, 간단한 퍼즐, 3D로 발전하거나, 쏘는 것

이 아니면서 쏘거나 하는 등의 변형이 있으며, 가장 쉽게 접할 수 있는 게임입니다.

너구리, 수퍼 마리오, 페르시아 왕자부터 메탈 슬러그 시리즈, 그리고 최근에 나온 뷰티플

죠 같은 게임이 액션 게임의 영역에 들어갑니다. 화면 상으로 쏘는 것은 없으나 손놀림은

슈팅 못지않은 노력이 필요합니다. (아~참, 메탈 슬러그는 쏩니다.)

이런 액션 게임의 밸런싱에 필요한 요소들은 슈팅과 동일 합니다. 다만, 맵의 이동이 한쪽

방향으로 스크롤되는 형식이 아니고, 전후좌우 360도 어떤 방향으로 진행할 수 있다는 점과

지형지물을 이용한 게임 플레이도 가능합니다. 예를 들면, 점프나 기어 올라가기 같은 것들

말이죠.이런 다양한 이동방법이 슈팅게임과의 차이가 아닐까요?

액션 게임의 밸런싱은 슈팅 게임과 비슷하지만 맵과 관련된 몇 가지 사항이 추가됩니다.

① 맵에서 이동할 수 없는 부분이 있는지 확인한다.

② 적들이 올 수 없는 곳이 있는지 확인한다.

③ 맵에 배치된 아이템이 난이도를 떨어트리고 있지는 않는지 확인한다.

④ 맵의 클리어에 걸리는 시간이 얼마일지 확인한다.

2-2-3. 퍼즐 게임 밸런싱 (PUZ)

대표적인 퍼즐 게임으로 테트리스와 비주얼드가 있습니다. 약간 하드코어한 퍼즐 게임으로

는 제가 개인적으로 좋아하는 각명관이 있습니다.

퍼즐 게임의 밸런싱은

① 직접 퍼즐을 만든 뒤 풀어본다.

② 퍼즐 해독 프로그램을 사용해서 몇 번 만에 풀어내는지 확인한다.

Page 17: Game Balancing in Game Design –1- · 2015-01-22 · Game Balancing in Game Design –1- Version 1.0 Release 1 2003.10.21 프리랜서 게임개발자 임성진 (fmbiv@hitel.net)

③ 퍼즐을 만들 때 해법의 역순으로 퍼즐을 만들면서 턴을 센다.

④ 퍼즐의 전체 룰에 어긋나지는 않는지 확인한다 정도가 됩니다.

퍼즐 게임을 만들 때 주의할 점은 1개의 퍼즐에 1가지 해법만 있어야 한다는 것입니다. 또

풀리지 않는 퍼즐은 절대 안됩니다. 하지만 근래 들어서는 약간의 액션이 들어가기도 하고,

아이템을 사용하기도 하며, 변칙으로 퍼즐을 풀어가는 게임도 등장했습니다.

오리지널 테트리스에 대전의 요소를 넣고, 아이템을 추가하고, 다른 룰을 적용한 테트리스

가 그런 경우입니다.

단순히 퍼즐이라는 장르 하나만 가지고는 성공할 수 없다고 생각하기 때문일까요?

2-2-4. 어드벤쳐 게임 밸런싱 (ADV)

어드벤쳐라는 장르에는 약간 정의 내리기 어려운 모호한 부분이 있습니다. 먼저 미국식 어

드벤쳐와 일본식 어드벤쳐로 나누고. 미국식 어드벤쳐는 화면상에 있는 단서와 다양한 아이

템을 사용하여 문제를 해결하는 방식이고, 일본식 어드벤쳐는 순전히 플레이어의 선택에 따

라 스토리가 진행되어 엔딩까지 가게 되는 시나리오 분기 방식입니다. 이러한 차이는 동서

장의 정서 차이에서 기인 했다고 생각합니다. 이 점은 RPG에서도 드러납니다.

아무튼, 어드벤쳐에서 가장 중요한 것은 수치나 속성 등이 아니라 스토리 입니다. 그리고

플레이어의 문제 해결에 따라 각 분기의 연결이 자연스럽게 되어야 한다는 것입니다. 이 것

에 대해서는 시나리오 관련 서적을 읽어보시면 될 거라 생각됩니다.

어드벤쳐 게임의 밸런싱은

① 첫 번째 시나리오를 읽어본다.

② 다음 분기를 선택해서 읽는다.

③ 스토리가 어색하거나 끊기지 않는지 확인한다.

④ 다시 앞의 분기로 돌아가서 다른 분기를 읽어본다.

⑤ ③번을 계속 반복한다.

2-2-5. 롤플레잉 게임 밸런싱 (RPG)

가장 많이 알고 있고, 가장 많이 만들고, 가장 인기 있는 게임 장르입니다.

또 수많은 변종이 있습니다. 대표적인 케이스로 액션 믹스, 퍼즐 믹스, 어드벤쳐 믹스, FPS

믹스가 있겠네요.

롤플레잉 게임의 밸런싱은 캐릭터 혹은 유닛, 무기, 적, 맵, AI를 캐릭터의 레벨에 따라서

조절하는 특징이 있습니다. 바로 다른 장르와 가장 확연히 차이가 나는 것이 레벨 시스템

때문인데, 게임을 하는 시간이 길어지면 길어질수록 플레이어 캐릭터 혹은 유닛의 능력치가

변하게 되고, 이 변화로 인해 게임 플레이가 재미있어져야 밸런싱이 잘 된 게임이 됩니다.

따라서 레벨 업으로 인해서 게임이 쉬워지거나, 레벨 업을 해도 어려운 게임은 밸런싱이 잘

안된 게임이라고 할 수 있습니다.

롤플레잉 게임의 밸런싱 문서에는 슈팅이나 액션 게임의 밸런싱에 있는 캐릭터 혹은 유닛의

데이터 시트와 무기 데이터, 적 데이터, 맵 데이터 등에 어드벤쳐 게임의 밸런싱에 포함되

는 스토리와 (문제 해결을 위한) 아이템 등이 합쳐지고, 스토리 혹은 시나리오를 해결하기

에 적당한 레벨을 설정하고, 해당 레벨에 맞는 적들을 배치하는 것이라 할 수 있습니다.

Page 18: Game Balancing in Game Design –1- · 2015-01-22 · Game Balancing in Game Design –1- Version 1.0 Release 1 2003.10.21 프리랜서 게임개발자 임성진 (fmbiv@hitel.net)

롤플레잉 게임의 밸런싱은 시스템 설계가 완료된 상태에서

① 등장 캐릭터를 컨셉에 맞게 밸런싱한다.

② 무기의 밸런싱을 한다. –무기 속성에 입수 방법과 제한 레벨 까지.

③ 적과 관련된 모든 사항을 밸런싱한다.

④ 모든 캐릭터의 레벨을 1씩 올려서 ①부터 다시 해본다.

⑤ 시나리오 연결이 자연스러운지 확인한다. (어드벤쳐 게임의 밸런싱 참고)

2-2-6. 전략 게임 밸런싱 (STR)

전략 게임은 저에게 밸런싱이 무엇인지 알게 해준 장르입니다.

많은 수의 유닛을 조종해서 각 스테이지의 미션을 클리어하는 장르의 게임입니다. 실시간

전략과 턴제 전략 게임이 있으며, 철저한 계산과 판단력이 요구되는 턴제 전략게임의 밸런

싱이 더 어렵습니다.

하지만 일본식 턴제 전략게임의 경우 그다지 밸런싱이 맞지는 않습니다. SRPG라고도 불리는

일본식 턴제 전략게임에서는 주인공 캐릭터에게 경험치 몰아주기를 하면, 일정 레벨 도달

후부터는 주인공 캐릭터로 BodyCheck( 몸빵)을 하면서 시나리오를 쉽게 진행할 수 있습니

다. 물론 마지막 1대는 주인공 캐릭터로 때려서 경험치 몰아주기를 하면서요. 그 결과 LV20

미션에서 주인공 캐릭터는 LV35, 보조 캐릭터들은 LV5~7인 엽기적인 파티가 만들어 집니다.

실시간 전략 게임의 경우 밸런싱이 약간 틀어졌더라도 플레이어의 노력 - 판단력, 집중력,

그리고 Fast Mouse Control( 마우스 노가다)에 의해서 커버가 될 수 있는 반면, 턴제 전략

게임의 경우, 오직 유저의 판단력에 모든 것이 달려 있기 때문에, 틀어진 밸런싱을 보충할

수 있는 수단이 없다는 것입니다.

실시간 전략 게임의 경우 밸런싱에 포함되는 내용이 많으며 기획에서 가장 중요한 것이 밸

런싱이 됩니다. 그리고 유저들 간의 멀티플레이가 가능한 전략 게임인 경우에는 유저가 선

택할 수 있는 유닛군( 스타크래프트의 종족)간에는 ZEROSUM이 적용되어야 합니다.

(안된다-고 하지는 않았습니다) 앞에서도 말했지만, ZEROSUM 방식이 적용되려면 1개의 속성,

그리고 1개의 룰에만 적용되어야 합니다.

종족이라는 것을 1개 속성으로 가정하고, 각 종족의 유닛을 모두 합쳐서 생각 해본다면

ZEROSUM이 적용될 수도 있다는 것입니다.

그리고 스타크래프트의 게임 후반(최종 업그레이드 단계)에서 생산할 수 있는 유닛들은 초

기에 생산할 수 있는 유닛과 비교해 볼 때 성능 차이가 큽니다. 그래서 게임 초반에 생산할

수 있는 유닛들의 차이가 게임 후반에는 어느 정도 사라지게 됩니다.

이것을 설명하기 위해 저는 밸런싱 트리(Balancing Tree)라는 것을 만들었는데, 완벽한 이

이상하네요, 앞에서는 ZEROSUM 방식은 쓰면 안된다-고 하지 않았

나요? 이 사태에 대해 설명해주세요!

Page 19: Game Balancing in Game Design –1- · 2015-01-22 · Game Balancing in Game Design –1- Version 1.0 Release 1 2003.10.21 프리랜서 게임개발자 임성진 (fmbiv@hitel.net)

론이 아니라서 소개하기는 부끄럽습니다만, 뒷부분에서 약간 다루어 보도록 하겠습니다.

전략 게임의 밸런싱은

① 등장하는 모든 유닛을 성능별로 정렬한다.

② 각 속성을 유닛끼리 비교할 수 있는 한가지 수치로 변환+합산하여 나타낸다.

③ 유닛을 종족별로 배치하고

④ 시간과 자원을 순차적으로 증가시키며, 생산할 수 있는 유닛의 집합을 만든다.

⑤ ④에서 만들어진 집합을 서로 비교한다.

⑥ ⑤의 결과를 보고, 유닛 성능을 변경한 뒤 ①번으로 돌아간다.

2-2-7. 시뮬레이션 게임 밸런싱 (SIM)

시뮬레이션이라는 장르에는 건설 시뮬레이션, 휴먼 라이프 시뮬레이션 등의 심 시리즈가 있

습니다. 시뮬레이션 게임의 밸런싱은 말 그대로, 시뮬레이션 해보는 것 뿐 아닐까요?

초기 데이터와 시간과 결과를 계속 비교하면서 밸런싱 합니다.

시뮬레이션 게임의 밸런싱은

① 초기 데이터를 입력한다.

② 시뮬레이터를 리셋하고, 시간을 증가 시킨다.

③ 결과를 비교하고, 입력된 데이터를 변경한 후 ②번으로 돌아간다.

2-2-8. 1인칭 게임 밸런싱 (3D FPG)

3D 기술이 게임에 적용되면서 나타난 1인칭 게임들을 하나의 장르로 분류하였습니다.

비행 시뮬레이션이나 레이싱도 이 장르에 포함시킬 수 있으나 그러한 게임의 밸런싱은 유저

의 조작 능력을 기본적인 베이스로 합니다. 때문에 밸런싱 방법은 테스터에 의한 테스트뿐

입니다.

하지만 1인칭 슈팅 게임의 경우에는 약간 다릅니다. 캐릭터의 밸런싱, 무기의 밸런싱, 맵의

밸런싱 등이 있습니다. 하지만 비디오 게임기나 아케이드 센터에서 서서 플레이하는 건슈팅

게임은 제외입니다. 왜냐하면 플레이어가 자발적으로 이동하지 않기 때문입니다.

캐릭터와 무기의 밸런싱은 슈팅게임의 방법과 동일합니다.

하지만 맵의 밸런싱은 그 어떤 게임과도 다른데, 이것은 1인칭 시점의 시야 때문입니다.

보통 1인칭 슈팅 게임의 맵을 만드는 것을 레벨 디자인이라고 부릅니다.

레벨 디자이너는 시나리오의 컨셉에 맞게 지형을 만들고 오브젝트들을 배치합니다.

그리고 밸런싱 테스트를 하게 되는데, 만들어진 맵을 테스트 클라이언트나 콘솔 모드로 실

행해서 테스트를 하면서, 미션의 목표에 대한 접근용이성(목표 거리까지의 거리를 은폐엄폐

가 가능한 지형지물의 수와 시야의 합으로 나눈 것), 맵의 크기, 라이트의 위치, 그리고 각

팀의 시작 위치 등을 체크 합니다.

일인칭 게임의 밸런싱은

① 조종방식을 설정한다.

② 맵을 밸런싱한다. (FPS이면 무기도 밸런싱한다.)

③ ①과 ②를 조합하여 맵의 각 지점에서의 시야를 계산한다.

Page 20: Game Balancing in Game Design –1- · 2015-01-22 · Game Balancing in Game Design –1- Version 1.0 Release 1 2003.10.21 프리랜서 게임개발자 임성진 (fmbiv@hitel.net)

④ ③의 결과를 바탕으로 ②로 가거나, ①을 바꾼다.

3D FPS에서의 밸런싱은 왼쪽 그림과 같은 맵 오버뷰를 가지고 위치

와 시야를 계산하면서 진행합니다. 물론 테스트 클라이언트가 있을

경우에는 실제 게임 화면도 이용합니다. 이것에 대해서는 뒤에서

좀 더 자세히 다루겠습니다.

그림에 대해서 설명을 하자면, LAPD의 Swat팀 홈페이지에서 가지고

온 심플한 단층 건물에서 폭탄이 숨겨진 곳과 진입할 수 있는 곳을

표시한 그림입니다.

2-2-9. 온라인 게임 밸런싱 (ONLINE)

온라인으로 서비스되며, 유저들끼리 서로에게 영향을 줄 수 있는 게임을 말합니다. 유저들

끼리 서로 영향을 주기 때문에, 유저간에는 ZEROSUM 방식이 적용됩니다.

하지만 MMORPG의 경우에는 RPG의 레벨 시스템이 추가되기 때문에 ZEROSUM이 적용되지 못하

고, 결국 오래 플레이한 유저가 강자가 되는 약간의 문제점이 생겨나게 됩니다.

온라인 게임의 밸런싱은 위에 설명했던 장르에 있던 밸런싱 방법들이 적용되고, 지속적으로

유저의 요구에 대한 피드백에 포함되는 게임의 변화가 앞으로의 게임에 주는 영향을 찾아내

고 조절하는 것을 말합니다.

그럼 이제 간단하게 몇 가지 밸런싱 방법들을 소개하겠습니다.

하지만 그전에, 몇 가지 당부 말씀이 있습니다.

저는 정식 교육기관에서 게임 개발에 대해 배운 적이 없습니다.

따라서 제가 말하는 밸런싱 방법들은 저에게만 해당되는 내용일 수도 있습니다. 그리고 10

년, 20년 뒤에는 제가 말하는 것들이 게임 밸런싱 방법 중에서 가장 중대한 오류가 될 수도

있습니다.

그럼에도 불구하고 이렇게 문서 강연으로 게임 밸런싱에 대한 이야기를 하게 된 것은 나름

대로 생각하기에 지금까지 게임 밸런싱에 대한 제대로 된 방법론이나 규칙, 실제 밸런싱 문

서 등을 소개한 문건이 없었다고 생각하기 때문입니다.

만약 저의 밸런싱 강연 내용에 보충할 내용이나, 완전히 뒤집어 버릴만한 새로운 밸런싱 이

론과 방법이 나타난다면, 저는 그것으로 만족합니다. 저의 부족한 게임 밸런싱에 대한 문서

가 한국 게임 업계를 위한 밑거름이 된다는 사실만으로도 저는 지금 가슴 뛰는 설레임을 느

끼고 있습니다.

이제 이 뒷부분을 읽을 것인지 아닌지는 여러분들의 선택에 달려있습니다.

Page 21: Game Balancing in Game Design –1- · 2015-01-22 · Game Balancing in Game Design –1- Version 1.0 Release 1 2003.10.21 프리랜서 게임개발자 임성진 (fmbiv@hitel.net)

3. 밸런싱 방법

이제 설명할 밸런싱 방법들은 제가 기획을 하면서 게임 밸런싱을 이렇게, 저렇게 해보다가,

이것도 무슨 법칙 같은 게 있지 않을까? 뭔가 더 편한 방법이 있을지도 몰라, 남들은 어떻

게 밸런싱을 할까? 같은 고민들을 하면서 정리한 파일들의 무덤에서 발견(?)한 것들입니다.

어쩌면 그 당시에는 A라는 의미로 쓰지 않았지만, 지금 보니 A라는 의미로구나-라면서 제멋

대로 해석 해버린 것일 수도 있습니다.

그럼 밸런싱 방법을 소개하면서 실습을 해보겠습니다.

먼저 3-1에서는 RTS의 설계단계에서 유용하게 사용할 수 있을 것이라 판단되는 밸런싱 트리

(Balancing Tree)를 다루겠습니다. 이것을 위해서 이면지, 연필, 지우개를 준비해 주세요.

두 번째 3-2에서는 FPS의 레벨 디자인에서 유용하게 사용될 수 있을 것이라 판단되는 상대

적 시야(Relative Sight)를 다루겠습니다. 역시 이면지, 연필, 지우개만 있으면 됩니다.

세 번째 3-3에서는 온라인 게임의 PvP 전투시 레벨에 따른 효과적인 경험치 분배를 위해 사

용될 수 있을 것이라 판단되는 차등 분배(Give On Unequal)를 다루겠습니다. 이것은 액셀이

필요합니다. 계산하기 귀찮은 것이 있기 때문입니다.

※주) 위에 언급한 밸런싱 트리(Balancing Tree), 상대적 시야(Relative Sight), 차등 분배

(Give On Unequal) 등은 저 개인적으로 이런 이름이 어울릴 것 같다고 생각해서 붙인 이름

입니다. 그리고 지금부터는 저로서도 정확히 설명할 수 없는 개념들이 나옵니다.

네. 그럼 잠시 쉬면서 저의 어린 시절 이야기를 하나 해드리겠습니다.

어린 시절의 저는 MSX-FAN의 BASIC으로 만드는 10 라인 프로그래밍에 빠져 있었습니다. 10

줄도 안 되는 코딩으로 간단한 미니게임을 만들어내는 것이 신기하게 느껴졌습니다. 그래서

혼자 BASIC을 공부했습니다. 그리고 인베이더나 갤러그 같은 슈팅 게임을 보고

“와. 재밌다. 나두 이런 게임 만들고 싶어”

라고 하면서 어설픈 슈팅 게임을 한 개 만들었습니다. 그러나 이 게임은 제 친구들로부터

완벽하게 외면 당합니다. 그 때는 ‘내가 만든 게임이 왜 재미없을까’라며 깨닫지 못했지

만 지금 생각해보면 두 가지 의미로 해석해 볼 수 있습니다.

첫 번째는 기능의 구현에만 신경을 썼다는 것입니다. 두 번째는 기존의 것보다 더 재미있게

만들려는 노력 없이, 그저 좋아하는 게임을 따라 만들려고 했기 때문에 친구들이 저의 게임

을 재미없다고 한 것 같습니다.

만약 제가 갤러그를 보면서“재미없어. 난 이거보다 재미있게 만들 수 있어!”라고 생각했

다면, 기존 것과는 다른 슈팅 게임을 만들 수 있지 않았을까 생각해봅니다.

자- 이제 잠시 쉬었으니 간단히 밸런싱을 해보도록 하겠습니다.

헉, 잠시 쉬었다 하면 안되나요?

2 페이지 동안 쉬지 않고 공부했더니 머리가 아파요.

Page 22: Game Balancing in Game Design –1- · 2015-01-22 · Game Balancing in Game Design –1- Version 1.0 Release 1 2003.10.21 프리랜서 게임개발자 임성진 (fmbiv@hitel.net)

3-1. 밸런싱 트리 (Balancing Tree)

밸런싱 트리(Balancing Tree)는 RTS의 유닛 디자인을 하면서 나름대로 이론적인 기준이 있

어야 하지 않겠는가라고 생각하면서 만든 것입니다. 기본적인 개념은, 종족 간에는 ZEROSUM

이 적용되지만 종족에 포함되는 유닛 간에는 ZEROSUM이 적용되지 않으며, 타 종족간의 상위,

하위 유닛의 능력차이는 어떠한 종족간에도 상위 유닛이 우세하다고 설정하는 것입니다.

RTS에서 사용되는 유닛의 속성은 크게 3가지로 나눌 수 있습니다. 유닛의 생산에 필요한 시

간과 자원, 생산된 유닛의 능력, 그리고 유닛의 AI입니다.

그림을 보는 방법은 표에 있는 대로, 각 부채꼴의 크기가 크면 유닛의 성능이 뛰어나거나

AI가 똑똑하거나 생산하기 쉬움을 뜻하고, 반대로 작으면 성능이 나쁘거나, AI가 멍청하거

나 생산하기 어려움을 나타냅니다.

먼저 유닛의 능력, 즉 공격력, 방어력, 체력, 사거리, 이동속도 등의 속성을 의미하며, 추

상적인 하나의 개념으로 묶은 것을 “성능”이라고 하며 검은색으로 나타냅니다.

그리고 유닛 1개를 생산할 때 필요한 자원, 즉, 금이나 나무, 혹은 가스나 미네랄, 아니면

비타민 A,B,C,D,E 등과 같은 자원과 유닛 1개를 생산할 때 걸리는 시간의 개념을 묶어서 하

나의 추상적인 개념으로 묶은 것을 “생산”이라고 하며 흰색으로 나타냅니다.

마지막 AI의 똑똑함과 멍청함은 유닛의 상태에 따른 상황 분석력과 반응속도, 행동 패턴 등

을 하나로 묶은 추상적인 개념입니다. 이것을 “AI”라고 하며 회색으로 나타냅니다.

3종족을 만들고 3가지 유닛을 만들었습니다.

A종족의 ㄱ유닛과 B종족의 ㄴ유닛을 비교해 볼까요?

성능은 A종족의 ㄱ유닛이 B종족의 ㄴ유닛보다 나쁘고,

AI는 A종족의 ㄱ유닛이 B종족의 ㄴ유닛보다 뛰어나고,

생산 A종족의 ㄱ유닛이 B종족의 ㄴ유닛보다 어렵습니다.

잘 모르겠는데요, 성능, AI, 생산?

좀 더 자세히 설명해주세요.

Page 23: Game Balancing in Game Design –1- · 2015-01-22 · Game Balancing in Game Design –1- Version 1.0 Release 1 2003.10.21 프리랜서 게임개발자 임성진 (fmbiv@hitel.net)

그럼 이제, 여러분이 직접 B종족의 ㄴ유닛과 C종족의 ㄷ유닛을 비교해 보세요.

어때요?

숫자가 없이 추상적인 개념으로 유닛의 밸런싱을 맞추어 보니 편하지 않습니까?

밸런싱 트리(Balancing Tree)는 이러한 방법으로, 추상적인 3가지 개념을 이용한 게임 디자

인의 유닛 설계 방법입니다. 그리고 이러한 기본 룰 위에 상위 유닛을 얹는 방식으로 유닛

을 설계해 나갑니다.

맨 처음 소개에서 상위 유닛은 모든 종족의 하위 유닛의 능력을 뛰어 넘는다고 말했습니다.

이것은 아래와 같이 표현됩니다.

이것을 보면 상위 유닛의 성능과 AI의 부채꼴 면적은 3종족의 하위 유닛의 각 속성 면적보

다 큰 것을 알 수 있습니다.

그리고 상위 종족간 비교를 통해서 이러한 사실도 알 수 있습니다.

A종족의 경우 하위 유닛에서 생산과 AI를 포기하고, 성능에 집중하고 있음을 알 수 있죠.

B종족의 경우에는 생산이 쉽고 성능이 좋으나, AI가 상당히 나빠졌습니다.

C종족의 경우 B종족에 비해서 생산이 어려워졌으나, AI의 성능이 뛰어나다는 것을 알 수 있

습니다.

여기서 약간 어긋나는 개념이 있는데, 바로 생산을 나타내는 부채꼴입니다.

성능과 AI는 동급 유닛과 비교하는 방식을 상.하위 유닛과의 비교에도 사용할 수 있지만,

생산은 동급 유닛과 비교하는 방식을 상.하위 유닛과 반대 개념으로 비교해야 한다는 것입

니다. 즉, 동급 유닛 간에는 생산 부채꼴의 면적이 큰 쪽이 생산이 쉬운 것이지만, 상.하위

유닛과의 비교에서는 면적이 작은 쪽이 생산이 쉬운 것입니다.

이 것은 유닛의 생산에 필요한 시간과 자원이 유닛을 생산한 후 얻게 되는 성능과 AI라는

이득의 개념과는 다른, 소모의 개념이기 때문입니다.

그리고 이런 식으로 유닛들을 쌓아나가다 보면 마지막엔 이렇게 될 것 입니다.

물론 이렇게 하나의 줄기로만 쌓이지 않습니다. 만약 한 종족에 서로 다른 기능을 하는 동

급 유닛이 3개가 있다면, 3개의 줄기로 뻗어나갈 것이고, 5개라면 5개의 줄기로 뻗어나갈

것입니다. 그렇기 때문에 이것을 밸런싱 트리(Balancing Tree)라고 이름을 지었습니다.

Page 24: Game Balancing in Game Design –1- · 2015-01-22 · Game Balancing in Game Design –1- Version 1.0 Release 1 2003.10.21 프리랜서 게임개발자 임성진 (fmbiv@hitel.net)

그리고 마지막 최상위 유닛의 경우에는 각 종족간의 밸런싱에 균형을 맞추기 위해 하위 유

닛들의 성능을 능가하는 성능을 부여합니다. 이렇게 하면 어찌 되었든, 계산할 수 없는 강

함에 의해, 약간 밸런싱 된 것 같은 느낌을 주게 됩니다.^^

이렇게 밸런싱 트리를 만든 후, 저것을 숫자로 옮기는 것은 여러분에게 맡기겠습니다.

게임마다 적용할 수 있는 룰이 다르기 때문에 정확히 말씀드릴 수가 없네요…;;;

대신 어느 정도 이해를 위해서 간단한 추가 설명은 해드려야 겠네요.

예로 사용할 RTS 게임의 이름은 야채 전쟁입니다.(방금 생각났습니다.)

게임의 컨셉은 야채를 먹고 사는 곤충과 연체동물과 척추동물의 3파전입니다. 각 종족마다

10개의 유닛이 있습니다. 여기서부터 위에 설명한대로 밸런싱 트리로 유닛들을 배치한 뒤,

유닛의 성능 - 이동속도, 공격력, 방어력, 공격거리, 시야, 체력을 부채꼴의 면적에 따라

적당히 분배하면서 값을 입력합니다. 그리고 마찬가지로, 각 생산을 나타내는 부채꼴의 면

적에 따라 생산에 필요한 3가지 자원- 비타민, 단백질, 수분의 값을 입력하고, 생산에 걸리

는 시간을 입력하고, AI에는 레이더 탐지 거리, 반응속도와 사용할 행동 패턴 타입을 입력

합니다. 그리고 맵과 맵상의 오브젝트를 만들고, 유닛 AI들을 통합 관리할 Agent AI를 디자

인하고, 생산에 핸디캡을 주기 위해서 건설 메뉴도 추가합니다. 이런 식으로 하다 보면 시

스템 설계에 속도가 붙어서 아주 빠른 디자인을 할 수 있습니다.

그리고 마지막으로 유저의 실력과 대결하게 될 Agent AI의 밸런싱을 하면 됩니다.

하지만 밸런싱 트리(Balancing Tree)는 어디까지나 추상적인 유닛 설계에 사용되어야 적당

하다고 생각되며, RTS의 밸런싱은 군대에서 시행하는 WarGame과 같이 수많은 종류의 Agent

AI들간의 모이 전투 데이터를 바탕으로, 장비 파괴 / 손실 / 보충율을 계산하는 미시적인

노력이 필요하다고 생각합니다.

만약 군입대를 앞둔 분이 있다면, 사단 전산실이나 T.O.C 등의 전산실에서 근무하게 될 경

우 위에 이야기한 WarGame의 데이터를 볼 수도 있을 것입니다. (삽질이나 잡초 뽑기 병력으

로 차출되지만 않는다면…) 그런 군사 작계 데이터를 2년 동안 관리하며 살펴볼 수 있다는

것은 RTS 밸런싱에 커다란 도움이 될 것입니다. 제가 그랬던 것처럼요. ^^;

저는 아버지의 권유로 유아 교육용 소프트를 개발하는 방산업체를 포기하고 전산병으로 지

원하였고, 시험과 면접을 보고, 2달 뒤 논산으로 입소해서, 주특기 훈련도 못 받고, 한달만

에 자대 배치되었고, 제 뒤로 들어온 신병 2명이 모두 저의 고참이었습니다. 얼마나 억울했

었는지… ㅠ.ㅠ; (지원하면 주특기 교육 못 받습니다)

다음은 FPS게임의 레벨 디자인에 적용할 수 있는 밸런싱 방법을 소개 할까 합니다.

헉, 그런게 어디 있나요?

빨리 제대로 설명해주세요…;;;

부럽습니다. 전산병은 워드도 빨리 칠 뿐만 아니라,

그런 것 까지 볼 수 있다니…

네… (부러울 것 까지야…;;;) 2급 비밀취급인가를 받으면 가능합니다.

Page 25: Game Balancing in Game Design –1- · 2015-01-22 · Game Balancing in Game Design –1- Version 1.0 Release 1 2003.10.21 프리랜서 게임개발자 임성진 (fmbiv@hitel.net)

3-2. 상대적 시야 (Relative Sight)

이번에는 FPS의 레벨디자인에서 고려되어야 하는 상대적 시야(Relative Sight)에 대해서 말

해보겠습니다.

우선, 위와 같은 맵의 일부를 가지고 설명을 하겠습니다.

만약 B로 진입해서 C로 이동하는 플레이어가 A위치의 플레이어를 볼 수 있을까요? 실력이

뛰어난 플레이어라면 확인을 할 수도 있습니다. 하지만 실력이 부족한 플레이어는 C쪽만 보

며 달려나갈 수 있습니다. 그럼 숨어있는 것이 무조건 유리할까요? 아래 그림을 보세요.

A위치의 플레이어는 B위치의 플레이어를 볼 수 없으나, B위치의 플레이어는 A위치의 플레이

어를 볼 수 있습니다. 왜 그럴까?

간단히 4가지 개념을 이용해서 설명 할 수 있습니다.

플레이어의 위치 = 원의 좌표

플레이어의 크기 = 원의 둘레

플레이어의 방향 = 원의 중점으로부터 나온 직선

플레이어의 시야 = 원의 중점으로부터 나온 부채꼴

아래와 같은 경우 아주 확실히 드러나게 되는데, B는 엄폐물 뒤에 있지만 시야의 제한을 받

아서 더 불리할 수도 있습니다. 단, A가 B를 못 봤을 경우에는 B가 더 유리합니다.

하지만, FPS 게임의 경우, 대부분 단시간 플레이로 맵의 주요 특징과 캠핑 포인트(Camping

Point), 은폐 혹은 엄폐 위치 등을 알게 되기 때문에, 일정 수준 이상의 플레이어간에는 이

러한 맵의 핸디캡은 중요하지 않게 됩니다. 그럼에도 불구하고 레벨 디자인을 비롯한 맵 밸

런싱이 중요한 이유는, 게임이 시작되는 순간에는 양팀 모두에게 공정해야 한다는 것입니다.

여기서 양팀 모두에게 공정해야 한다는 말의 뜻은, 양팀의 시작위치(SP:Starting Point) 에

서 맵의 목표(TP:Target Point)까지의 접근 용이성이 동일해야 한다는 것입니다. 접근 용이

성은 작을수록 유리하며, 저는 이렇게 계산합니다.

Page 26: Game Balancing in Game Design –1- · 2015-01-22 · Game Balancing in Game Design –1- Version 1.0 Release 1 2003.10.21 프리랜서 게임개발자 임성진 (fmbiv@hitel.net)

또, 플레이어의 수가 8vs8 이상이 될 경우에는 SP에서 TP까지의 거리가 아닌 두 팀의 접전

예상 지역(CP:Contact Point)까지의 거리를 이용할 수도 있습니다.

레벨 디자인이 끝난 후에는 다음과 같은 변수들을 추가합니다. 팀의 전력차, 무기의 차, 캐

릭터의 능력차. 하지만 이 부분은 유저의 선택이 더 중요한 변수가 되는 부분이고, 기획자

마다 자신의 게임의 철학이 다르기 때문에 자신에게 맞는 방법을 만드시면 될 것입니다.

이제 Counter-Strike의 de_aztec.bsp의 데이터를 보면서 이야기 할께요. 왼쪽은 WinBSPC로

디컴파일하고, Valve Hammer Editer 3.4로 불러온 de_aztec이고 오른쪽은 제가 상대적 시야

(Relative Sight)를 설명하려고 하는 부분입니다.

de_aztec의 de는 destroy란 뜻이며, 테러리스트가 C4폭탄을 설치해서 목표 파괴에 성공하면

승리하고, CT는 일정 시간동안 테러리스트를 막으면 승리합니다. 그리고 한쪽 팀을 전멸시

켜도 승리하는 조건을 가진 맵 입니다.

아래는 de_aztec의 오버뷰(Overview)입니다. ⓐ와 ⓑ는 폭탄 설치 지점이며, CTSP는 테러

진압 팀의 시작 위치(Counter-Terrorist Staring Point), TRSP는 테러리스트 팀의 시작위치

(TeRrorist Staring Point)입니다.

위 그림에서‘여기’라고 표시된 지역이 제가 레벨 디자인에서 고려되어야 하는 것들을 설

명하면서 사용할 지역입니다.

Page 27: Game Balancing in Game Design –1- · 2015-01-22 · Game Balancing in Game Design –1- Version 1.0 Release 1 2003.10.21 프리랜서 게임개발자 임성진 (fmbiv@hitel.net)

de_aztec의 최대 접전 지역입니다. 각 화살표는 공격 방향입니다. CT1과 TR1은 거의 같은

시간에 만나게 됩니다. 어느 한쪽이라도 먼저 도착하는 팀이 유리합니다. CT2도 TR2와 거의

비슷합니다. CT3의 경우는 많이 돌아서 오기 때문에 TR2보다는 느립니다. 하지만 각도에서

TR2보다는 CT3가 유리합니다.

우선, 각 포인트의 접근 용이성을 계산합니다. 아직 이 부분에서는 깊이 있는 연구나 객관

적인 조사 같은 것이 없었기 때문에, 각 계산 단위를 특정 단위, 예를 들면 cm나 m²등을

사용하는 대신 유리함(Vantage)이라는 것을 사용하겠습니다.

접근용이성을 계산 결과를 보면, 테러 진압 팀의 경우 CT3지점이 가장 유리하고, 테러리스

트 팀의 경우 TR2 지점이 가장 유리한 것을 알 수 있습니다. 그러나 이것은 어디까지나 유

저들의 실력을 고려하지 않고, 최초 접전을 기준으로 했을 경우입니다.

Page 28: Game Balancing in Game Design –1- · 2015-01-22 · Game Balancing in Game Design –1- Version 1.0 Release 1 2003.10.21 프리랜서 게임개발자 임성진 (fmbiv@hitel.net)

이제 각 위치의 비교가 되나요?

상대적 시야(Relative Sight)는 FPS 게임의 레벨 디자인에서 지형의 생성과 오브젝트의 배

치 등을 밸런싱하기 위해 만든 개념으로, 여러분들이 어느 정도로 이해하고 사용할 수 있을

지는 모르겠습니다. 다만, 이러한 방법으로도 레벨 디자인과 밸런싱을 하는 녀석이 있구나

정도로만 생각해주시면 되겠습니다.

그리고 이것은 어디까지나 게임 시작 시 위치의 유리함만을 가지고 판단하는 것이므로, 먼

저 도착한 팀에서 상대 팀을 한명이라도 죽이거나, TR2에 있던 테러리스트 팀이 TR3까지 이

동했을 경우, 그때부터는 제가 위에서 말한 유리하다, 불리하다, 이런 말은 소용없게 됩니

다. 또 한명의 에이스에 의해서 게임의 승패가 결정되어버리는 경우도 있습니다.

따라서 실제 테스트 클라이언트에서 테스트를 해보는 것이 좋습니다.

그럼 다음은 온라인 게임 경험치 차등 분배에 관하여 알려드리도록 하겠습니다.

3-3. 차등 분배 (Give On Unequal)

차등 분배(Give On Unequal)는 서로 다른 레벨의 유저들이 PvP를 할 경우, 이긴 사람이 획

득하는 경험치, 돈, 점수 등을 계산하기 위해 만든 것입니다.

규칙은 간단합니다.

같은 레벨끼리 PvP를 했을 때, 이긴 사람이 1의 이득을 얻는다고 정하고, 이긴 쪽의 레벨이

진 쪽보다 높을 때는 1보다 적은 이득, 이긴 쪽의 레벨이 진 쪽보다 낮을 경우에는 1보다

많은 이득을 얻는다고 정한 것입니다. 그리고 여기에 추가적으로 레벨차이가 일정 크기가

되면, 정해진 소량의 이득만을 얻는다고 설정하는 것입니다.

이제 계산을 위해서 액셀을 사용하겠습니다.

액셀이 없는 분들은 액셀을 설치해주세요. 버전은 상관없습니다. 저는 MS OFFICE 2000을 사

용 했습니다. 아, 물론 Lotus나 Dbase로도 가능합니다.(…;;;)

Page 29: Game Balancing in Game Design –1- · 2015-01-22 · Game Balancing in Game Design –1- Version 1.0 Release 1 2003.10.21 프리랜서 게임개발자 임성진 (fmbiv@hitel.net)

위 액셀 시트에 대해 설명드릴께요. 우선 이긴 쪽의 레벨(Winner Level)과 진 쪽의 레벨

(Loser Level)을 1부터 10까지 적었습니다.

그리고 아래의 EXP는 같은 레벨끼리 싸워서 이겼을 경우에 얻을 경험치 이고, Increase

Rate는 싸우고 있는 두 유저의 레벨 증가에 따라 증가할 경험치.

High LV Penalty는 상대보다 높은 레벨의 유저가 이겼을 경우 감소시킬 경험치 감소 시작

값입니다. 그 옆의 Decrease Rate는 레벨차가 커질수록 증가시킬 감소 값입니다. 그 옆의

Check는 두개의 수치가 적당한 수치인지 검사하는 것 입니다.

Low LV Penalty는 낮은 레벨의 유저가 이겼을 경우 경험치 증가의 시작 값입니다. Increase

Rate는 레벨차가 커질수록 증가하는 증가 값입니다. Check는 말 안 해도 알겠죠?

Disparity Limit는 한계 레벨차이며, Disparity EXP는 한계 레벨차에서 무조건 줄 경험치입

니다.

사용된 공식을 알려드리겠습니다. ①은 분배 공식입니다. 그러나 레벨에 따른 경험치 분배

를 꼭 이렇게 할 필요는 없습니다.

Page 30: Game Balancing in Game Design –1- · 2015-01-22 · Game Balancing in Game Design –1- Version 1.0 Release 1 2003.10.21 프리랜서 게임개발자 임성진 (fmbiv@hitel.net)

②③④번은 체크 공식입니다. 역시 별로 필요는 없지만, ‘기록을 하지 않고’ 밸런싱을 하

면서 숫자를 계속 바꾸다 보면, 옳지 않은 값을 입력할 수도 있기 때문에 추가한 것입니다.

이렇게 공식을 입력해 놓고, 셀에 적당한 값을 입력하면서 조절하면 됩니다. 경험치 뿐만이

아니고, 점수나 돈도 이런 식으로 밸런싱 할 수 있습니다. 시트를 복사해서, 이름만 바꾸고,

입력한 수치만 바꿔주면 됩니다.

그리고 타인이 만든 게임 기획과 밸런싱 방법을 사용하는 것에 대해 약간의 결벽증이 있는

분들은 아래와 같은 방법을 사용하시면 좀 더 그럴 듯한 경험치 차등 분배 테이블(EXP Give

On Unequal Table)을 만들 수 있습니다.

저렇게 만드는 방법은 아주 쉽습니다. 먼저 만들어진 셀을 복사한 후, 셀 안의 모든 숫자에

1.34982를 곱해주면 저렇게 됩니다.

그리고 위의 경험치 차등 분배(Give On Unequal)방식을 실제 게임에 이용할 경우에는 저 레

벨 유저가 자신보다 5 레벨 높은 고 레벨 유저를 찾아 다니며 싸움을 걸지도 모릅니다…;;;

그래서 위의 개념에서 저 레벨이 더 많은 경험치를 받는 부분을, 고 레벨처럼 같은 레벨보

다 적은 이득을 얻게 하는 경험치 균등 분배(Give On Equal)도 사용할 수 있습니다. 이것은

여러분의 선택이 됩니다.

헉! 너무 복잡하지 않나요?

저런 걸 어떻게 만들어요???

속임수군요…;;;

하마터면 속을 뻔 했습니다. (`ㅈ`)

네… (사실은 속아 놓고…)

Page 31: Game Balancing in Game Design –1- · 2015-01-22 · Game Balancing in Game Design –1- Version 1.0 Release 1 2003.10.21 프리랜서 게임개발자 임성진 (fmbiv@hitel.net)

4. 결론

여기까지 게임 기획에서의 게임 밸런싱에 대하여 제가 아는 대로의 설명이 끝났습니다.

여기까지 읽어도 잘 모르시겠다는 분도 계실 거라 생각됩니다. 그래서 마지막으로 정리를

해보겠습니다.

밸런싱은 무엇일까요? 처음에도 말했지만 제가 생각하는 밸런싱은 기획을 게임으로 만들면

서 더욱 재미있게 만들기 위한 노력입니다.

그리고 저의 옛날 이야기에서 했던 말 기억 하시나요? “와. 재밌다. 나두 이런 게임 만들

고 싶어”가 아니라 “재미없어. 난 이거보다 더 재미있게 만들 수 있어!”라는 것. 이것이

밸런싱을 하기 위한 마음가짐입니다. 지금 완성된 게임이 유저에게 주고 있는 재미가 100%

출력이 아니라고 생각하는 것. 그래야 숨어있는 2%를 찾을 수 있습니다.

프로그래머들은 내심 게임을 완성한 후, 버그를 찾아줄 것을 바랍니다. 하지만 기획자라면

밸런싱을 합시다! 들키면 숨어서라도 버그를 찾는 척 하면서 계속 밸런싱을 합니다!

완성도 높은 게임이란 버그 없는 게임일 수도 있겠지만, 제가 생각하는 완성도 높은 게임은

제대로 밸런싱된 게임이라고 생각합니다.

마지막으로 수작업 밸런싱에 익숙해지면 안됩니다. 그것은 기획단계나 개발단계 초기에서의

경우이고, 실제 개발팀에 밸런싱 전용 툴을 만들어 달라고 하는 것이 좋습니다. 혹은 테스

트 모드용 클라이언트나 온라인 게임이라면 테스트 서버와 테스트 서버 밸런싱 툴. 이런 것

을 가지고 실제 게임을 하면서 밸런싱을 하는 것이 가장 좋습니다.

다소 어설프게나마 결론을 내렸습니다만, 이제 시간이 다 된 것 같군요.

이것으로 저의 부족한 강연을 마치겠습니다.

지쳤어요.

너무 많은 것을 알려고 했더니 졸립니다…;;;

네. 이제 끝났습니다. 편히 쉬세요. ^^;

Page 32: Game Balancing in Game Design –1- · 2015-01-22 · Game Balancing in Game Design –1- Version 1.0 Release 1 2003.10.21 프리랜서 게임개발자 임성진 (fmbiv@hitel.net)

5. 강연을 마치며

아침부터 1주일을 끌어 온 감기 때문에 열도 나고, 코도 훌쩍 거리면서 마지막 마무리를 하

였습니다.

수달님의 Review를 읽어 보면서 일반인들에게는 어려울 것 같은 개념들을 쉽게 풀어 쓰고,

퇴고 과정에서 중간, 중간 부드럽지 않은 부분을 수정하면서 주마등처럼 과거에 기획을 하

면서 있었던 일들이 떠올랐습니다.

그리고 이런 생각들을 해보았습니다. 그때 이렇게 했다면 어땠을까? 저렇게 했으면 어땠을

까? 한번도 성공해 보지 못했기 때문에, 저는 항상 이런 저런 가정들로 미래를 상상하면서

살아갑니다.

인간은 과거로부터 배우는 것이 있습니다. 그리고 다른 사람의 것을 보고 배우는 것이 있습

니다. 저도 그렇게 배워나갑니다.

강연 내용에서 의심이 가는 부분이나, 범인(?)을 알고 계신 분은 가까운 우체국이나 은행에

가셔서 물 한잔 마시고 깊게 생각해보세요. 그래도 잘 모르겠다거나, 강연 내용에 대한 문

의사항은 아래 메일이나 저의 홈페이지를 이용해주시기 바랍니다.

E-mail : [email protected]

Homepage : http://www.gamebgm.com

끝으로 강연 문서를 만들면서 참고했던 사이트 링크입니다.

한국 게임 개발자 협회 http://www.kgda.or.kr/

GPG스터디 http://gpgstudy.com/

합동참모본부 http://www.jcs.go.kr/

나리-CS 커뮤니티 http://narics.net/

Radiant Level Design Tools http://www.qeradiant.com/

강연 문서에서 언급한 게임 리스트입니다.

Games Counter-Strike (Valve), Final Fantasy (SQUARE), Dungeon Siege (Gas Powered

Games), Galaga (Namco), Invader (Irem), Raiden (Seibu Kaihatsu), 式神の城

(Taito), Ponpoko (Sigma Ent.), Super Mario (Nintendo), Prince of Persia

(Jordan Mechner), Metal Slug 2 (SNK), VIEWTIFUL JOE (CAPCOM), TETRIS (The

Tetris Company), Bejeweled (Astraware), Kagero (Tecmo), StarCraft

(Blizzard), SimCity (Maxis)

강연 문서에서 사용한 이미지들의 소스입니다.

Images Balance(Encyber), Antarctic Adventure(KONAMI), Counter-Strike(Valve),

Ragnarok(Gravity), F-16(General Dynamics), MIG29(MIG 설계국), A-10(

Fairchild), Swat Operation(LAPD)