[DrugWars] 전쟁 시스템 업그레이드 분석 (소스기반) - Analysis of Battle system: skills and upgrades (by Source)

in #drugwars6 years ago (edited)



https://drugwars.io



오늘 Drugwars의 전쟁 방식이 업그레이드되어 적용이 되었습니다.
어제 변화가 있다고 @drugwars에 공지글이 있었는데, 간력한 내용은 이전 글 [DrugWars] 전쟁 시스템 업그레이드 분석 - Analysis of Battle system: skills and upgrades을 참고하세요.

위의 내용은 개략적인 내용만 있어서 소스를 통해서 구체적으로 어떻게 변화되었는지 살펴보겠습니다.

참고로 저는 개발자는 아닙니다. 그냥 예전에 배운 것을 기초로 소스 분석만 조금 할 줄 아는 정도입니다.

먼저 공지에 나왔던 큰 변화 내용부터 살펴보겠습니다.

  1. 기존 동일 Unit의 Group단위 (Troop이라고 표현했었죠) 전투가 아니라 Unit의 각자 전투로 변경됩니다. (Troop의 컨셉이 사라집니다.)
  2. 특정 Unit에 특별 스킬이 추가됩니다. 1차로 Bazooka에 대해서 적용이 되고, 추후에 확대 예정입니다.
  3. 공지에는 없었지만, Hobo, Spy라는 신규 Unit이 생겼습니다.

큰틀의 공방전

  • 서로의 Army를 이용하여 공격을 하는데, 실제 공격으로 인한 damage를 계산한후, takeDamages라는 함수를 이용하여 Damages를 적용합니다.
  • 상호간 Damages를 적용한후에 살아남은 병력이 있다면 다시 라운드를 시작합니다. 라운드는 최대 5번까지 진행이 됩니다.
  • 큰 틀은 변경된 사항이 없습니다.

Unit들간의 공격순서
5nlv05b2p9.png

  • 이전과 같이 "priority"라는 것을 기준으로 정렬을 합니다. 이는 공격자나 Target의 군대가 모두 동일한 기준으로 정렬됩니다. 각 Unit별로 priority 값은 다음과 같습니다.
UnitPriority
Hobo30
Rowdy50
Bouncer55
Knifer60
BigMama65
Ninja70
Gunman75
Sniper80
Hitman85
Bazooka90
Mercenary100
Spy120

17spvevdds.png

  • 위 그림의 1번은 hobo를 데미지 계산할때 사전에 미리 제외하는 부분입니다.

    • 깍뚜기는 빠져라 이거군요.
    • 여기에 미세한 버그가 있습니다. 전쟁에 영향을 주지는 않지만. 미리 제외를 했기때문에 실제로는 1라운드에서 죽었지만, 2라운드 이후에서도 유령처럼 로그가 남습니다. (There is a bug at this point.)
  • 위 그림의 2번은 데미지를 입히는 순서입니다. 스킬을 가진 놈이 먼저 데미지를 입히고 나서, 나머지 Unit들이 순서대로 공격을 하는 것이죠.

    • 제가 잘 못본 것인지는 모르겠지만, takeNormalDamages 함수도 제대로 만든 것은 아닌거 같네요. 어설퍼요.

    그러하면 공방의 순서는 다음과 같이 됩니다.

    • 공격자의 경우 스킬이 있는 Bazooka가 제일 먼저 공격
    • 공격시 공격력이 없는 Spy는 제외
    • 방어시 방어력이 없는 Hobo는 제외

  • 양쪽의 각 Unit들을 Priority 기준으로 줄을 세운 다음 줄다리기할때처럼 마주세운뒤 (각자 서로 마주보는 것이 아닙니다.) 상대방이 죽을때까지 순서대로 공격을 합니다. 죽으면 다음순서가 나오는 식이죠.

  • 양쪽의 공격이 한바퀴 돌아서 끝나면(방어가 끝나면) 한 라운드가 끝나고 살아남은 Unit이 있다면 위의 "큰틀의 공방전"에 의해서 다시 다음 라운드가 시작됩니다.

결론

  • 시뮬레이터의 도움이 없이는 공방에 대해서 계산하기기 쉽지 않을거 같네요. 스킬이 있는 Unit 이 더 확대가 된다면 더 복잡해질듯..





지난글



방치형 게임. 같이 해보지 않으시렵니까?
https://drugwars.io


Sponsored ( Powered by dclick )

dclick-imagead

Sort:  

@umkin님께서 이 포스팅에 많은 관심을 가지고 있어요. 리스팀을 해주셨군요~!

복잡해지지만 drugwars 팀이 아주 열일하는것 같아 좋습니다~ㅋㅋ


예스, 인포! 80 YESJAM!

YES TOKEN 은 https://steem-engine.com/?p=market&t=YES 에서 스팀잇 아이디로 로그인하시면 거래가 가능합니다~

Hi @tinker-bell!

Your post was upvoted by @steem-ua, new Steem dApp, using UserAuthority for algorithmic post curation!
Your UA account score is currently 1.328 which ranks you at #43799 across all Steem accounts.
Your rank has not changed in the last three days.

In our last Algorithmic Curation Round, consisting of 204 contributions, your post is ranked at #192.

Evaluation of your UA score:
  • Only a few people are following you, try to convince more people with good work.
  • You have already convinced some users to vote for your post, keep trying!
  • Try to work on user engagement: the more people that interact with you via the comments, the higher your UA score!

Feel free to join our @steem-ua Discord server

Coin Marketplace

STEEM 0.22
TRX 0.20
JST 0.034
BTC 99266.82
ETH 3364.44
USDT 1.00
SBD 3.11