앞 게시물에서 투석기와 요새(방벽)과의 관계에 대해 대략 언급을 했었는데,

희한한 현상이 있어 재차 올려본다.



병종

공격력

방어력

 기본

+ Lvl. 10

+ 130% 장군

기본

+ Lvl. 10

+ 130% 장군

 보병

20

30

69

20

30

69

 궁병

25

35

80.5

10

20

46

 기병

100

110

253

60

70

161

 투석기

10

20

46

40

50

115

※ 투석기 성채 손상 기본: 10, + Lvl. 5 최대: 15, + 130% 구조(성채 손상) 장군: 34.5



위 표 부분에 대한 이야기의 연장인데, 만일 방벽이 21150(방벽 Lvl. 18)인 성으로

"구조적 분석" 능력이 없고 투석기 공격력/방어력 130%만 있는 장군으로 공격을 간다고 가정하면

해당 방벽을 철거(?) 하기 위해서는 21150 / 15(성채 손상 공격력) = 1410, 즉 투석기 1410대가 필요하다.

그럼, 투석기를 6700대 끌고 가는 상황에서는 방벽 철거 후 얼마만큼의 피해를 상대방 병력에게 줄 수 있을까?



1. 방벽 철거에 사용된 1410대를 제외한 나머지 5290대의 공격에는 투석기 공격력(20 + 130% = 46)이 적용될까?


2. 아니면 5290대 역시 성채 손상 공격력(15) 만큼만 병력에 피해를 입힐까?



먼저, 아래의 사진을 보자.




위 전투 결과는, 정황상 도무지 계산에 맞지 않는다.

방벽은 최대가 21150이므로, 계산상으로 투석기 1410대로 파괴가 가능하다.

그러면 남은 투석기가 12700 - 1410 = 11290대이므로, 고작 민병대 2294명을 처리하지 못할 리가 있나!!!


방어자가 모든 레벨업이 끝난 상태로 요새화 효과까지 180%가 있는 성이라고 해도

민병대 방어력(15) + 요새화 효과 180% = 42가 개별 민병대원의 방어력이니까

2294 * 42 = 96348이 전체 민병대의 방어력이 된다.


남은 투석기 11290대의 공격력을 투석기 공격력(1.)이라고 치면 11290 * 46 = 519340,

성채 손상 공격력(2.)이라고 쳐도 11290 * 15 = 169350이 되어 민병대 총 방어력을 훨씬 상회하게 된다.

따라서 투석기가 쏘자마자 방어자가 전멸하는 전투여야 정상인 것이다.


그런데, 위 실제 전투 결과는 투석기의 공격에서 살아남은 방어자 민병대가

공격자 보병에 무려 13명의 피해를 입힌 결과인 것이다! 이게 어떻게 된 걸까?


거꾸로 계산해서 공격자 보병 13명은 13 * 69 = 897, 즉 897에 해당하는 공격력을

방어자 민병대가 보유하고 있었다는 것이고 이는 897 / 15 = 59.8, 즉 60명이나 살아남았다는 얘기가 된다.


이게 말이 되나?!!!


조금 더 말이 되는 상황으로 바꿔 보기 위해 한 가지 옵션을 더 추가해 본다.

즉, 공격자가 농장이 오버되어 약 1%의 효율 하락 상태였다고 말이다.


그러면, 맨 처음 방벽을 철거하기 위한 투석기 숫자가 21150 / (15 / 1.01) = 1425대가 된다.

남은 투석기는 12700 - 1425 = 11275,

민병대를 공격할 때 성채 손상 공격력(2.)이 적용되었다고 쳐도 11275 * (15 / 1.01) = 167450이므로

민병대의 방어력 96348보다는 훨씬 크다. 즉, 그래도 한방에 전멸이어야 정상이라는 결론이 나온다.




설마 보병이 투석기보다 먼저 도착해서 미리 공격을 당하고 있었다는 건가?

만약 그렇다면 그건 프로그램적으로 어떻게 구현한 걸까?

총 전투 시간 5분을 초 단위로 병력을 나눈 다음 그만큼 공격하는 걸까?


무모하지만, 그렇다 치고 일단 계산해 보도록 하겠다.

방어자 민병대 2294 / 300(5분) = 7.64, 즉 8명 단위로 나눠서 초 단위로 공격을 하면

8 * 15 = 120 만큼의 공격력을 공격자 보병이 초 단위로 당하니까

보병 1인당 방어력 69 / 1.01(효율 1% 하락) = 68.3씩 계산해서

13명이 손실되려면 7.4초, 즉 8초간 공격을 당했다는 결론이 나오게 된다.

즉, 보병 도착 후 8초가 지난 다음에야 투석기가 도착해서 전세가 뒤집혔다?


그게 아니라면 말이 안되는 상황이다.





다음으로 위 사진은 역시 같은 곳을 투석기 수를 줄여서 다시 공격해 본 결과다.

이번에는 농장 오버 상태가 아님에도 불구하고 이전에 비해 보병의 피해가 훨씬 더 커졌다.


계산해 보면,

1410대는 방벽 철거에, 나머지 6700 - 1410 = 5290대가 민병대를 공격했다.

여기서 투석기 5290대의 공격력을 투석기 공격력(1.)이라고 치면 5290 * 46 = 243340,

성채 손상 공격력(2.)이라고 치면 5290 * 15 = 79350이 되는데

민병대의 방어력이 96348이므로 투석기 공격력(1.)이 적용될 때에는 전멸,

성채 손상 공격력(2.)이 적용될 때에는 투석기 공격에서 민병대가 일부 살아남는다는 결론에 도달한다.

얼마나 살아남았을까? (96348 - 79350) / 15 = 1133.2, 즉 1134명이 살아남았다.


이렇게 살아남은 방어자 민병대 1134명이 공격자 보병을 공격하면,

1134 * 15 = 17010 만큼의 공격력이 적용되게 되므로 17010 / 69 = 246.5, 즉 246명이 손실된다.

그런데 실제로는 348명이 손실되었으므로 그 차이인 102명은

역시 보병이 먼저 도착하여 방어자 민병대에 의해 미리 공격당하고 있었다는 가정을 해보면 

초 단위로 방어자 민병대 8명 * 15 = 120 만큼의 공격력을 공격자 보병이 당하게 되는데

보병 102명(1인당 방어력 69)이 손실되려면 69 * 102 = 7038, 즉, 7038 / 120 = 58.65초,

59초 동안 공격을 당했다는 결론이 나오게 된다.

즉, 투석기가 보병보다 59초 늦게 도착했다.... 정말?


정말 이렇게 시간 단위로 공격/방어가 뒤집히는 것이 맞을까?

이것이 만약 맞는다면, 전투에 참여하는 순서도 상당히 중요하게 되는데...

이것이 아니라고 하기엔 전투 결과가 너무나도 이해가 되지 않으니...




이런 추론을 하게 된 계기는 아래의 전투 로그를 보고 나서부터였다.




약탈 나간 사이에 내 본성으로 공격이 들어왔었는데,

공격자가 내 성에 도착한 지 얼마 되지 않아 약탈 나갔던 보병이 돌아왔다.

그리고 다른 성 두 군데에서도 속속 병력이 도착하는 대로 본성으로 지원을 보냈더니 그 결과가 이랬다.

(지원이 먼저였는지 본성 보병이 먼저 도착했는지는 확실치 않다.)





어쨌든 위 전투 결과는 2라운드 전투로 끝났는데,

1라운드에서는 적 기병 2부대 10100기가 먼저 도착해서 전투가 벌어졌는데

아군 민병대만 손실되고 보병은 하나도 손실되지 않았고 적 기병은 8242 손실.

재밌는 것은, 이미 이때 아군 보병이 실제 도착해 있었고 전투 로그에도 찍혀있다는 사실이다.


아무튼 계속 보면,

2라운드에서 적 기병 1부대가 추가되어 총 14900, 그런데 이미 1라운드에서 손실된 병력 8242를 빼면 6476.

이 병력이 아군 투석, 궁병, 기병의 공격을 버텨내고 살아남아 아군 보병에 162 손실을 입힌 뒤 보병에 의해 전멸.


1라운드 전투가 시작 5분 경과 후 한 순간에 전투가 벌어진 것이었다면,

내 병력의 손실이 저 정도밖에 되지 않는다는 것도 말이 안됐고(이건 공격자가 약해서 운이 좋았다고 할 수밖에...),

무엇보다도 민병대가 전멸했는데 보병이 162의 손실밖에 입지 않았다는 것도 말이 안됐다.

보병이 전멸해야 그 다음으로 민병대가 공격 당하는 것인데,


공격 순서가 뒤바뀐 것이다!!!


그래서 운 좋게도 적 기병에 의해 공격을 당하지 않고(이미 차례가 지나갔으니)

적 기병을 공격하기만 할 수 있었기 때문에

보병의 피해가 이처럼 경미하게 날 수 있었던 것으로 보인다.

(그래도 도무지 이해는 안된다. 보병은 1라운드 때 뭘 한 걸까 대체? 공격을 당하지도, 하지도 않은 듯...)




한번 더 실험을 해 봐야 할 것 같다, 투석기가 보병보다 먼저 도착할 때 결과가 어떻게 달라지는지.


1. 투석기 2부대 12700대인 경우에는 무조건 민병대가 전멸이므로 공격자 보병의 손실은 전혀 없어야 한다.

2. 투석기가 6700대인 경우에는 방벽 철거 후 병력 공격에 적용되는 것이 투석기 공격력(1.)이라면 역시 마찬가지,

3. 성채 손상 공격력(2.)이 적용될 때에는 민병대 1134명이 살아남으니까 딱 공격자 보병 246명이 손실되어야 한다.


이상의 결과에 따라 판단을 다시 해 보도록 하겠다.

기대하시라... 두구두구두구...


결과는 아래에...




+추가.


먼저 위 1번을 테스트해봤다. 투석기 두 부대가 먼저 공격 들어간 이후 약 1분 후에 보병 부대가 도착하도록.




그러자 위에서 가정한 대로 공격자 보병의 손실이 전혀 없었다.

아니, 그렇다면 정말 공격 순서와 관계가 있다는 말인가?


그런데, 이 결과는 위와 동일한 조건이 아니었다.

공격을 간 숫자가 투석기 12700대가 아니라 13100대였기 때문에, 즉 400대가 더 갔기 때문에

손실이 없었던 것일 수도 있다.


그렇다면 12700대로는 21150의 방벽과 2294명의 민병대를 뚫을 수 없다는 말인가?

무슨 방어력 20만의 요새 방벽도 아니고, 공격력/방어력 계산상으로는 말이 안되는데...




이 부분을 확실히 하기 위해서

이 병력 그대로, 이번에는 다시 보병이 먼저 도착하도록 해서 테스트를 한번 더 해봤다.

(피해가 발생하는 테스트는 숫자가 몇 안되더라도 썩 기분이 좋지 않다. 그래서 이렇게. ^^)




똑같이, 이번엔 보병이 1분 정도 먼저 도착하도록 해봤다.

결과는 위 화면과 같이 모두 무사...... 거참 이해가 안된다.

결국 앞에서 보병 피해가 난 이유는 투석기 숫자가 부족했기 때문이라는 건데,

대체 전투할 때 어떻게 계산이 되길래 충분하다 못해 넘쳐날 정도의 투석기 숫자가

부족한 숫자가 되었는지에 대해서는 도무지 모르겠다.



좌우지간 결론은, 


정상적인 상황에서는 병력 도착 순서와 관계없이 전투는 병종에 따른 규칙(순서)에 따라 벌어진다.

그런데, 요새화 능력을 가진 영웅이 총독으로 있는 성에서는 이상한 현상이 벌어진다.

전투 순서가 엉망이 되기도 하고, 공격력/방어력도 계산에 맞지 않는 비정상적인 결과가 나타나기도 한다.

단, 그 모든 결과는 방어자에 유리하게 나타난다. 아무래도 뭔가 수치가 잘못 적용되고 있는 버그 같다.


좀 허무한 결론인가? ^^;;;



마지막으로,

공격자 투석기의 공격력이 과연 어떤 수치가 적용되는지 결론을 내기 위한 테스트.

먼저 6400대로 테스트해봤다.

(이 테스트도 위와 기준이 다르다. 6700대였어야 하는데... -_-a)




보병보다 투석기가 1분 이상 먼저 도착한 경우.

투석기가 성채 손상 공격력(2.)만 적용되어 투석기 공격력으로 민병대까지 다 전멸시킬 수 없다면

병력 도착 순서와 관계없이 이 결과는 납득이 된다.

문제는, 요새화 총독이 있는 경우 방어력이 어떻게 계산되는지 몰라도 방어자에 유리하게 전혀 엉뚱하게 계산되므로

확실하다고 할 수는 없다. 즉, 투석기 공력력(1.)이 적용되더라도 민병대까지 다 전멸시킬 수 없을 수도 있다.





한번 더 해봤다. 거의 동일한 결과.
그렇다면 공격자 투석기에 적용되는 공격력은 성채 손상 공격력(2.)이라는 결론이 자연스럽게 도출된다.
일반적인 계산이 맞게 적용된다면 말이다.

그래서,
자, 이번 결론은,
투석기가 상대방 성/요새로 공격하러 가는 경우에는 "성채 손상 공격력"이 일괄 적용된다.
반대로, 성/요새에서 방어할 때는 "투석기 공격력"이 적용된다.

따라서 공격을 주로 다니는 경우, "구조적 분석(성채 손상)" 능력이 투석 장군에게 있어
"투석기 공격력" 보다 상당히, 훨씬 더 중요하다 할 수 있겠다.
단, 일반적인 계산이 제대로 맞게 적용된다면 말이다.
추가 실험 결과 이거 아닌 것으로 결론. 다음 글 참조 ==> http://thermidor.tistory.com/1257

끝.




Posted by 떼르미
,


자바스크립트를 허용해주세요!
Please Enable JavaScript![ Enable JavaScript ]