
오늘은 3v3을 위한 챔피언 추가 작업을 진행했다. 광전사 체력이 많을 수록 약하고, 체력이 떨어질 수록 점점 더 강력해지는 형태의 챔피언이다. 체력이 40% 이하로 내려가면 기본 공격에 넉백 + 약간의 흡혈이 생긴다. 체력이 떨어졌을 때 빠르게 컷할 수 있는 원거리 or 암살 챔피언을 가져가지 않으면 까다로운 형태의 챔피언을 생각하고 만들었다(+ 넉백을 통한 상대 근접 카운터). 얼음술사 슬로우 + 빙결이 컨셉인 유틸리티형 마법사 캐릭터. 두 가지 효과 모두 광전사를 카운터치기 아주 좋다. 저격수 저격수는 긴 사거리 + 강력한 데미지 + 느린 공격 / 이동속도를 컨셉으로 하는 원거리 캐릭터다. 탱킹과 어그로 관리가 충분하다면 안정적인 딜링을 뽑을 수 있다. 마검사 물리 근접 + 마법 원거리 챔피언. 원..

선수 대화 선수와 대화 기능을 추가했다. 선택지 중에 일단 대화하기 및 솔로 랭크까지만 우선적으로 구현할 예정. 솔로 랭크는 특정 챔피언의 숙련도를 높이는 기능을 하며 어떤 챔피언을 위주로 연습할지를 고를 수 있다. 솔로 랭크 주 연습 챔피언을 위 gif와 같은 방식으로 설정할 수 있다. 솔로 랭크 관전에서는 실제로 해당 플레이어가 해당 챔피언으로 플레이하는 경기를 관전할 수 있는데 이건 다음 마일스톤에서 구현할 예정. 당장 육성 관점에서는 어떤 챔피언을 연습할지가 중요하지 그걸 직접 관전하는 기능이 중요하지는 않기 때문이다. 3v3 다음 주에는 세미 프로 리그(아마추어 토너먼트 다음 대회) 진행을 추가할 예정인데 여기부터는 3v3 이라서 인게임 3v3이 가능하게 수정하는 작업을 미리 해뒀다. 확실히 2..

선발 UI 선수 선발 UI를 적용했다. 기능상 달라진 건 없고 그냥 바뀐 UI와 흐름에 맞춰 수정만 했다. 연습 경기 그리고 연습 경기 추가. 외부 스크림의 경우 타팀과 경기, 내부 스크림의 경우 팀 내에서 자체적으로 갖는 연습 경기다. 외부 스크림은 같은 대회를 참가하고 있는 팀들 중에 랜덤하게 몇 팀이 나타나고 그 중에 경기할 상대를 고르면 된다. 연습 경기를 통해 선수의 챔피언 숙련도를 높일 수 있고, 내 전술이 생각대로 동작하는지 등을 테스트해볼 수 있다. 연습 경기는 공식전이 없는 날에만 진행할 수 있으며 + 너무 늦거나 이른 시간대(선수가 출근하지 않은 시간대)에는 할 수 없게 해 두었다. 이제 훈련 & 연습 경기를 이용한 초반 선수 육성 + 전술 테스트가 모두 완성. 여기에 추가로 경기에서 ..

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

선수단 UI 선수단을 확인할 수 있는 UI를 작업했다. UI를 만들면서 챔피언 숙련도 표시 및 플레이어 초기 스탯 생성 개선 작업을 진행했다. 원래 생각했던 육각형 스탯이 초반부 선수 스탯이 아주 낮을 때 보기 너무 안 좋아서 직선 게이지 형태로 바꿀까 고민중. 그리고 챔피언 숙련도를 넣고 플레이해보니 밴픽 느낌이 좀 많이 달라진다(내 선수들 숙련도 있는 픽 가져가야 하니까). 문제는 위 gif에서 처럼 두 선수의 챔프 폭이 겹치는 경우 겨우 3개의 챔피언만 숙련도 효과를 얻을 수 있는데 이게 좀 답답하게 느껴지기는 한다. 초반부니까 그다지 상관없나 싶기도 하지만.. 훈련 UI 선수 스탯 향상을 위한 훈련을 진행하는 기능을 추가했다. 이제 드디어 선수 훈련 & 정보 확인이 가능해져서 경기가 없는 시간을 ..

드디어 리팩토링 작업을 끝냈다. 스킬 동작 및 사용이 전부 정상적으로 되는 걸 확인. 몇 가지 자잘한 보기 안 좋은 부분들이 있는데 이건 다른 것부터 손 보고 나중에 고칠 예정. 데미지 표시 추가 리팩토링 작업을 끝내 선수 스탯 반영 작업에 들어가기 전에 일단 몇 가지 간단한 효과들을 먼저 작업했다. 데미지 / 힐량 등이 표기가 안 되던게 불편해서 이게 다 표시가 되게 바꿨다. 조금 정신 없는 느낌이 있긴 한데 데미지가 보이는 편이 나은 것 같다. 그림자 추가 발 밑 그림자를 추가했다. 이제 에어본 당할 때 효과가 적용되었는지가 잘 보인다. 플레이어 스탯 적용 스탯 적용의 경우 일단 넣긴 했는데 크게 티가 안 나긴 한다. 완전 초반 작은 스탯 차이만으로도 너무 티가 날 정도로 영향을 끼치는 것도 문제가 ..

어제에 이어 시뮬레이션 리팩토링 및 개선 작업을 진행했다. 그리고 하루 온종일 작업한 끝에 드디어 기본 로직을 전부 새로운 구조에 맞춰 작성하는데 성공. 스킬을 제외한 캐릭터의 기본 동작이 잘 되는 것도 확인할 수 있다. Agent의 판단 로직이 조금 이상한데 이 부분은 쉽게 개선할 수 있어서 스킬 구현까지 완료한 다음 마저 고칠 생각. 스킬의 경우 원래는 캐릭터마다 스킬마다 별개로 구현을 했었는데, 바뀐 구조 하에서는 스킬이라고 해서 특별한 무언가가 있는 것이 아니라 단순히 조금 다른 효과를 지닌 행동일 뿐이기 때문에 기존에 작성했던 코드들 중 아직 작업이 안 된 부분을 효과로 빼서 재 작성하는 작업만 하면 돼서 이 부분은 생각보다 시간이 덜 걸릴 거라고 기대하고 있다. ... 라고 생각했으나, 스킬 ..
선수 스탯 반영 오늘은 정말로 선수 스탯을 시뮬레이션에 반영하는 작업을 했다. 어떻게 돌아가는지 빠르게 구현하고 테스트해보기 위해 시뮬레이션 코드를 굉장히 엉망으로 짜놨었기 때문에 이걸 리팩토링하는 작업도 병행했다. 이제 어느 정도 시뮬레이션에 들어갈 요소와 구조의 형태가 잡혔기 때문에 이 쯤에서 한 번 코드를 고쳐놔야 이후 작업이 편해질 것 같아서. 시뮬레이션이 게임에서 가장 복잡하고 중요한 부분이라 아마 앞으로도 몇 번은 더 코드를 뒤엎을 것 같긴 하다. 기존 코드는 각 챔피언마다 적당히 간단한 행동 양식을 정해놓고 일일히 동작을 시키는 방식이었는데, 이 방식은 챔피언마다 해야 할 작업량이 너무 많고 AI 개선을 하기가 쉽지 않다. 그래서 구조를 통째로 바꿔서 Champion / Agent 두 가지를..

공사장 아르바이트 마무리 UI랑 구멍에서 나오는 사람(?)을 추가해서 공사장 아르바이트를 일단 마무리했다. 프로펠러 아이템이라거나 몇 가지 미흡한 부분이 있는데 당장 플레이에 그다지 중요한 부분은 아니라서 보류해두고 다른 작업부터 진행하려고 한다. 세세한 아쉬운 부분이나 미흡한 부분은 폴리싱 단계에서 잡는게 좋을 듯. 선수 스탯 반영 이번 마일스톤의 구현 목표는 아마추어 토너먼트 대회 진행까지의 흐름을 완성하는 것이었다. 대회가 일정대로 잘 진행되고 그 시간동안 플레이어가 할 수 있는 기본적인 동작을 몇 가지 추가하는 것. 이제 이 부분까지 완성이 되어서 플레이어가 게임을 진행할 수는 있지만, 지금 부족한 부분은 육성 요소가 전혀 없다는 것이다. 선수를 키우고 발굴하고 팀을 운영하는 기본적인 과정들이 전..

토너먼트 UI 토너먼트 진행 결과 UI를 구현했다. 구현이 좀 귀찮은 부분이 많아서 시간이 오래 걸렸다. 어쨌든 원하는 뷰대로 잘 나오긴 한다. 토너먼트 표 구현은 됐으니 이제 여기에 선수 기록 / 토너먼트 이름 등 정보를 추가하면 토너먼트 UI는 마무리. 개인 순위, 트로피 등의 요소를 추가해서 토너먼트 UI 완성. 우승할 경우 이런 식으로 트로피 위에 우승팀 이름이 나온다. 일정 UI 우선 달력 UI를 추가했다. 우리 팀 경기 일정이 어떻게 되는지 확인할 수 있는 뷰. 예전에 작업했던 달력 쪽 코드(02-06 일지 참조)를 거의 그대로 가져다 썼다. 다음으로는 내 경기 외의 다른 팀 경기도 확인할 수 있는 경기 일정 목록 뷰를 추가했다. 이것도 역시 예전 코드를 거의 그대로 가져다 썼다. 이제 이번 ..