티스토리 뷰

룰 기반 밴픽

궁극기 작업보다 먼저 밴픽을 좀 정리해두고 싶어서 룰 기반 밴픽쪽 작업을 진행했다. 밴픽 상황에서 적용되는 규칙이라는게 결국 여러 가지 조건을 걸고 특정 챔피언이 그 조건을 만족할 경우 그 챔피언에 대한 밴 / 픽 가중치를 늘려주는 형태인데, 이 규칙을 데이터로 어떻게 관리할지에 대해 고민을 좀 했다. 크게 1. 유니티 에디터에서 비쥬얼 편집하는 방식 과 2. DSL을 만들어서 단순한 코드 형태의 데이터로 관리하는 방식 두 가지에서 고민을 했는데, 결과적으로 후자를 선택했다. 그게 구현, 확장도 편하고 내가 쓰기에도 편해서. 어차피 룰 만들고 수정하는걸 다 내가 할테니 굳이 에디터 지원을 넣어야 할 이유가 없었다.

대충 위와 같은 형태의 문법을 가지고 규칙을 편집할 수 있게 만들었다. 오타 등의 실수 방지를 위해 간단한 syntax highlighting도 적용. 만들고 몇 가지 생각했던 규칙들을 써 보니 큰 불편함 없이 작성이 가능해서 이 정도면 충분할 것 같다.

 

오늘은 스펙 확정 후 구현 좀 하다가 마무리. 파싱 쪽 80% 쯤 작업 완료. 내일 파싱한 거 가지고 규칙 실행(평가)하는 부분 및 승패에 따라 가중치 조정하는 부분 구현 및 테스트 코드까지 짜면 대충 마무리될 것 같다.

 

댓글
공지사항