강께르의 개발일지

[Project] 20210906_15일차 본문

프로젝트/210823~210910_개인프로젝트

[Project] 20210906_15일차

강께르 2021. 9. 7. 02:30

개발일지_210906_15일차

 

오늘 할 일

전투 시스템 구현

-> 액션 유아이의 상호작용을 통해 공격 액션을 하게되면 전투 시스템을 시작하게 한다.

-> 해당 유닛을 기준으로 그 유닛의 사정거리 값만큼 타일을 4방향으로 검사하자.

-> 사정거리가 2~3되는 유닛은 그거에 맞게 검사 사이즈를 늘려야한다. 그래서 사정거리값만큼 검사

-> 여기까지는 불확실한 것인데 검사해서 상대 유닛이 있다면? vector에 추가해놓고 쌓아뒀다가 어느 유닛을 공격할지 선택할 수 있게 하면 되지 않을까?

-> 전투 데미지 계산 공식을 생각해보자 고려할 대상은?

-> 무기 클래스의 타입과 적 유닛의 타입 간의 상성(0.5 1.0 1.5) + 적 유닛의 타일 타입(방어도에 따른 계산 필요)

 

APC 타입 유닛의 보급 기능 구현

 

오늘 한 일

1. 전투시스템 구현(아래는 전투 시스템에 대한 세부 구현 사항을 기재)

2. 주변에 적 유닛이 없으면 공격을 실행하지 못하도록 막아놓음.

3. 공격측 유닛과 방어측 유닛과 그 타일에 따른 데미지 계산식을 함수로 구현

4. floodfill 알고리즘을 응용한 사정거리 내의 적 유닛 찾기 구현

5. 유아이 상호작용을 통해 공격을 실행하도록 구현

6. 유닛 공격 커맨드 클래스 구현

7. 정보 유아이를 통해 데미지 예측을 계산해 렌더하여 보여주게 구현

8. 유닛의 체력이 0이 되면 유닛 관리 벡터에서 제거할 수 있는 유닛 파괴 커맨드 클래스 구현

9. 공격 시 무기 클래스의 탄환 멤버변수 감소 구현

 

이제 남은 할 일

전투 시스템 세부 조정

-> 유닛 소멸 시 이펙트 재생

-> 유닛 탄환이 0이면 공격 기능이 수행되지 않도록

APC 타입 유닛의 보급 기능 구현

-> 현재 유닛이 apc일 때 그 유닛 4방향의 아군 유닛에게 만들어둔 supply함수를 실행하게 하자.

승리, 패배 분기점 구현

-> 빌딩 클래스를 관리하는 벡테에서 각 플레이어의 HQ 속성 빌딩이 점령되어 소유권이 넘어 간 경우, or 2턴 이후 유닛 벡터에 size0인 겨우

메인화면 씬, 맵툴 씬, 메인 게임 씬 구분하여 씬 기능 구현

-> 맵툴에 전체 타일 올 세팅하는 기능 추가

사운드 추가

 

후순위

메시지 큐를 이용한 게임 구조 재설계

히스토리를 이용한 리플레이 기능

지휘관 캐릭터

 

내일 할 일

이제 남은 할 일을 내일 다 하자.

'프로젝트 > 210823~210910_개인프로젝트' 카테고리의 다른 글

[Project] 20210908_17일차  (0) 2021.09.09
[Project] 20210907_16일차  (0) 2021.09.08
[Project] 20210905_14일차  (0) 2021.09.06
[Project] 20210904_13일차  (0) 2021.09.05
[Project] 20210903_12일차  (0) 2021.09.04