닌자 닌자는 순간이동해서 상대를 타격하는 스킬을 사용하게 했다. gif에서처럼 근접 공격을 무시하고 바로 이동해서 원거리 딜러를 타격하기 때문에 상대 원거리 딜러를 카운터칠 수 있는 형태의 챔피언이 되는 걸 의도하고 만들었다. 기사 기사는 상대 캐릭터를 하나 도발하는 스킬을 사용한다. 도발에 성공할 경우 기사는 도발이 걸려있는 시간동안 방어력 버프를 획득. 상대 주요 딜러가 자신에게 데미지를 넣게 만들어서 아군 딜러를 보호하는 역할을 수행할 수 있게 의도했다. 프리스트 프리스트는 일정 시간동안 유지되는 공격속도 버프 실드를 부여하는 스킬을 사용한다. 이걸로 챔피언 스킬은 전부 마무리. 이제 게임 시뮬레이션 쪽은 충분히 게임 플레이를 테스트할 만큼 작업이 되어서 시뮬레이션 외부 개선 작업을 진행했다. 팀 ..
일단 길찾기 버그를 좀 고친 다음, 몽크 / 나이트 두 개의 챔피언을 추가했다. 기존에 탱킹이 되는 캐릭터가 없었기도 하고 밴픽 구도가 챔피언이 6개 밖에 없으니 너무 한정된 형태인 것 같아 탱커 역할을 수행할 수 있는 캐릭터를 두 개 추가했다. 스킬 구현 기본 공격 기반의 전투가 변수가 너무 없어서, 챔피언 별로 기본적인 스킬을 하나씩 추가해보기로 했다. 몽크 몽크는 최근 일정 시간동안 자신이 받은 데미지량의 일부를 자신 + 주변 1인에게 힐해주는 스킬을 쓴다. 탱커 겸 힐러를 겸하는 느낌으로 설계. 격투가 격투가는 바닥을 내려치면서 주변 일정 영역의 있는 적들 모두 타격 + 상대 스킬 or 공격을 취소 시키는 형태의 스킬이다. 검사 검사의 기본 스킬은 올려치기. 단일 대상에게 데미지 + 에어본을 하는..
첫 마일스톤에서 남은 마지막 기능이었던 훈련 기능을 추가했다. 경기 일정이 없는 날에는 훈련 or 휴식을 선택할 수 있고, 일단 스탯 변화라든가 피로도 등은 대충 적당히 값이 변하는 걸로 해놨다. 오늘의 일정에서 고르는 칸이 굉장히 휑한데 이건 훈련 / 휴식 외의 다른 옵션들 아직 구현이 안 돼서 비워놨기 때문. 이걸로 이번 주말까지 하려고 했던 목표는 모두 달성했고, 여유가 좀 있기 때문에 시뮬레이션 관련해서 개선 작업을 진행했다. 길찾기 버그 수정 길찾기에 몇 가지 버그가 있어서 이 참에 기본적인 유닛 테스트 작성하면서 버그를 같이 수정했다. 예전에 구현했던 것에서 좌표 범위를 정수로 제한하면서 몇 부분을 수정했는데 여기서 좀 버그가 많이 생겼다. 이 과정에서 길찾기 동작을 visualize하는게 필..
우선 대회 순위표 UI를 추가했다. 추가하면서 다른 팀들도 날짜 진행할 때 경기 일정에 맞춰 경기가 일어나게 했는데 하루 경기 수가 꽤 되다보니 시뮬레이션을 다 끝마치는데 꽤 시간이 걸린다. 나중에 경기 진행이 백그라운드에서 진행되게 최적화를 할 생각이긴 한데 그래도 시뮬레이션이 복잡해질수록 좀 부담이 될 것 같아서 고민중. 타 리그 경기는 좀 더 간략화된 시뮬레이션을 돌리는 등의 작업이 필요할 것 같기도 하다. 그리고 화염술사도 기본 애니메이션이 완성되어서 이것도 적용했다. 이제 전투 관련된 기본 애니메이션은 모두 마무리. 추가로 대회 탭의 달력 팝업을 구현했다. 날짜별로 그 날 있는 경기 & 이미 진행된 경기인 경우 경기 기록 등을 볼 수 있는 뷰. 오늘은 여기까지~ 이제 훈련 기능만 구현하면 첫번째..
우선 어제 마무리 못지은 밴픽 단계를 완성했다. 아직 직업별 상세 스탯 뷰를 추가 안하긴 했는데 요건 아직 직업 구현이 제대로 안 되어있어서 직업 구현부터 어느정도 완료하고 작업할 생각. 아무튼 이제 밴픽을 포함해서 핵심적인 게임 플로우는 구현을 완료했다. 다음으로 할 작업은 시뮬레이션 챔피언별 기본 특성이라도 반영하기 + 대회 결과 반영(각종 통계, 승패 정보 기반의 리그 순위 등). 이것까지 되면 게임을 플레이하는 느낌이 제대로 날 것 같다. 애니메이션 적용, 시뮬레이션 개선 궁수, 검사, 격투가의 경우 기본 애니메이션이 완성되어서 이걸 우선적으로 적용했다. 하면서 시뮬레이션도 약간 수정. 수치를 대충 넣어놔서 굉장히 밸런스가 안 맞는데 이건 차근차근 고치면 될 것 같고.. 아무튼 애니메이션 넣으니 ..
오늘은 게임 씬을 완전히 구성하는데 초점을 맞췄다. 먼저 초반 게임 플로우에서 경기 진행 사항에 따른 상세 스탯(딜량, 받은데미지량)을 확인할 수 있는 걸 작업했다. 그래서 추가된 HP 게이지 및 각 선수별 스탯 상세 정보 확인 기능. 좌/우에서 캐릭터 왔다갔다하면서 선택하면 딜량/힐량/탱킹등의 정보를 확인 가능하다. 평점의 경우 아직 공식을 설정을 못해서 그냥 내버려뒀다. 이쪽 UI 작업하면서 어제 만들어놓은 구조가 조금 불편한 부분들이 있어서 그 부분 개선 작업도 같이 진행했다. 하는김에 겸사겸사 동률 처리도 같이 했다. 경기 시간이 0초가 된 시점에서 서로 킬 수가 동일할 경우, 마지막으로 1킬이 더 나올 때까지 시뮬레이션을 하다가 1킬이 나오는 시점에서 경기를 종료한다. 그리고 다음으로는 선수 선..
오늘은 간단하게 시뮬레이션을 넣는 작업을 진행했다. 어쨌든 시뮬레이션이 게임에서 가장 중요한 파트인데 시뮬레이션 부분을 아예 빼놓자니 게임의 형태를 짐작하기가 어려워서, 아주 단순한 형태로라도 만들어 넣는 작업을 우선 완료했다. 오늘 작업한 시뮬레이션은 정말 굉장히 무식한 방식으로 동작한다. 대충 설명하자면 아래와 같은 로직을 따른다. 1. 가장 가까운 적을 찾는다. 이 적이 내 공격 사거리 안쪽이고 내가 공격 가능한 상황이면 공격한다. 2. 그런 적이 없으면 가장 가까운 적에게로 이동한다. 각각의 AI는 이 두 가지 과정을 무한히 반복한다. 이렇게만 만들어놔도 대충 시뮬레이션이 돌아가는구나 하는 건 확인할 수 있기 때문에.. 그런데 지금은 단순히 만들어도 나중에 시뮬레이션을 고도화하기 위한 기반은 만들..
(팀 창단) => (팀 지원 멤버들 경기 지켜봄) => (경기 끝나면 경기 결과 기반으로 선수 2명 선발) => (실제 게임 플레이로 진행)이 맨 처음 게임 플로우인데 오늘은 이 부분을 구현했다. 팀 생성을 하고 들어가면 이런 식으로 팝업을 통해 간단히 설명 => 경기 진행 => 결과를 바탕으로 선수 2명 선발의 과정을 거친다. 경기 시뮬레이션은 나중에 채워넣을 예정이기 때문에 적당히 랜덤한 값으로 채워넣고 경기 결과 페이지로 넘어가게 만들었다. 그래서 전체 플로우. 팝업 => 게임 진행 => 게임 결과 확인 => 선발할 선수 선택 => 해당 선수 기반으로 팀 정보 까지의 흐름을 완성했다. 내일부터는 여기에 아주 간단한 시뮬레이션 추가 + 밴픽 추가 해서 게임 씬을 좀 더 그럴듯하게 만들 예정. 게임 내..
선수단 UI 오늘은 이전에 하려다 못 했던 선수단 UI부터 작업했다. 이런 식으로 선수 정보를 확인 가능하다. 몇 가지 기능(재계약 등)을 추가해야하고 우측 하단에 원래 선수 경기 정보가 들어가야하는데 아직 경기쪽 구현이 안 돼서 이쪽은 임시로 비워뒀다. 나중에 작업해야지. 선수 이름도 완전 랜덤 스트링으로 대충 박아뒀는데 이 부분도 그럴듯한 닉네임 생성하는 기능을 추가해야 한다. 하단 키 설명 조작이 조이패드 키 어디에 대응되는지 확인할 수 있게 도와주는 각종 이미지를 임시로 만들어서 붙여놓았다. 이게 없으니 실제 조작이 어떻게 이뤄지는지 헷갈리는 경우가 많아서.. 배포 도구 개발한 내용 공유하고 다운받는 과정이 귀찮기 때문에, 자동 빌드 + 빌드된 최신 결과물 쉽게 받아서 쓸 수 있는 툴을 간단하게 ..