티스토리 뷰

시뮬레이션 유닛 테스트

경기 시뮬레이션이 제일 중요하고 복잡해서 처음 코드를 짤 때부터 테스트 코드 작성하기 쉽게 하는 걸 의도하고 구조를 짰었다. 문제는 각종 데이터 세팅을 Scriptable Object를 이용해서 했는데 이게 유닛 테스트 쪽에서 간단하게 불러올 방법이 전무하다는 점.. 한참 이것저것 고민하다가 결국은 Resources.Load를 쓰는 방향으로 임시 타협했다. Resources는 안 쓰고 싶은데 이걸 안 쓰고는 간단하게 불러올 만한 방법이 딱히 없었다. 일단 테스트할 때만 Resources를 쓰고, 개발이 끝난 다음에는 그냥 일반 폴더로 옮겨서 빌드하고 Resources는 버리면 별 문제 없을 것 같아서.

 

 그래서 이렇게 고치고 유닛 테스트하자마자 나를 괴롭히던 짜증나는 버그 두 개를 한 번에 잡아서 해결했다. 역시 이런 건 테스트 코드가 필수다.

밴픽 로직 개선

밴픽도 우선 몇 가지 기준에 따라 각 상황에 각 챔피언을 밴 / 픽 했을 때 얻을 수 있는 가치를 점수로 환산해서 그게 제일 높은 걸 뽑는 방식으로 만들었다. 이렇게 하니 확실히 멍청한 밴픽은 안 해서 좀 더 게임을 플레이하는 맛이 나긴 한다. 내 모스트 픽이 강할 경우 항상 그 픽을 밴하는 경향이 생김.

 

공식이 심플하다 보니 한 경기 내에서 밴픽이 좀 단조롭다는 문제가 있긴 하다. 이 부분은 이전 match 결과를 다음 match에 반영하는 등의 로직을 넣으면 해결되긴 할 것. 비슷한 형태의 밴픽을 하는 건 상대 팀 컬러(혹은 그 경기를 위해 준비해온 밴픽)의 느낌이 나서 괜찮은 것 같긴 하다.

운영비

운영비가 조금씩 나가게 했다. 일주일에 한 번 선수들 돈이 주급 단위로 나가게. 공사장 아르바이트 등의 돈 벌 수단이 있는데 돈을 벌 이유가 없기 때문에 운영비를 추가해서 돈을 좀 벌 필요성을 추가했다.

이름 생성

이름이 다 완전히 랜덤인 것 때문에 선수나 팀이나 외우기가 너무 힘들어서 간단하게 이름 생성하는 기능을 추가했다. (Prefix 목록), (Suffix 목록)을 만들어두고 적당히 하나씩 뽑아서 합친걸로 이름을 만들게 했다. 목록이 그렇게 크지 않아 좀 비슷한 이름들이 나오긴 하지만 일단은 적당히 읽을만 해서 이렇게 해두면 될 것 같다.

인게임 UI

인게임 UI 바뀐 것도 적용. 배경 디자인 비어있음 + 4v4에 맞춰진 디자인이라는 점 두 가지 때문에 좀 휑하게 보이긴 한다. 그래도 기존 UI보단 훨씬 나아서 맘에 든다.

 

그리고 그 외에 여러가지 일일히 언급하긴 좀 귀찮은 자잘한 버그들을 많이 고쳤다. 내일은 연습 경기 / 선수 영입 기능을 추가해서 초반 육성 루틴을 좀 더 강화할 예정. 

댓글
공지사항