• 김소연 매니저님 조언

    • 오전에 계획 공유
    • 오후에 오늘 하루 작업 내용 공유 및 머지타임 가지기
      • 작업 내용 : 하루 동안 계획대로 잘 작업하였는지, 그렇지 않았다면 어려운 상황 및 도움 요청
      • 머지타임(Merge Time) : 작업 결과물을 합칠때, 특정 시간을 잡아 하나씩 Merge 하며 Git 충돌 발생시 빠르게 대처하는 시간
  • LevelInstanceComponent 사용 고려

    • Unity 의 ‘Prefab’처럼 사용하게 해주는 역할
    • 내부적으로 ‘인스턴싱’ 처리를 지원하기에 대규모 맵 구현하는데 성능적으로 괜찮은 방식
      • 인스턴싱? : 메시 그릴 때, ‘메시 지정 → 메시 위치 확인 → 월드 배치’ 이런 순서를 가지는데 ’메시 위치’를 Array로 만들어, 똑같은걸 한번에 그리는 방식
    • 레벨 디테일 작업 이후, 레벨 디자이너가 레벨에 붙이면 되기에 협업 측면에서 더 좋을것으로 예상
  • Enemy Zombie 용 리타겟팅 확인 후, Mixamo 작업 여부 파악

  • 구현 관련 추가 공지사항

    • EquipManager는 Battle 쪽에서 구현
      • Weapon 작업자가 같이 구현할 예정
      • Player, Enemy, 터렛 같은 것을 Spawn 시키면서 지정된 Weapon을 같이 Spawn 시키는 방식
      • 무기 Swap의 경우는 미리 UnEquip 호출하거나 Equip시, 현재 장착된 것을 UnEquip할 예정
  • 프로토 타입 범위

    • 메인 플레이 레벨, 메인 메뉴 레벨 제작
    • 좀비 타입을 하나 생성
    • 게임 플레이가 제대로 돌아가는 지 확인
      • 초기 Player 생성
      • Wave 마다 적을 일정 수량 생성
      • 각 수치들의 UI / HUD 연계
      • Score 등 기록할 수치에 대한 관리
      • 필드 아이템 드랍
    • 게임 플로우 확인
      • 메인 메뉴 진입 → 게임 플레이 → 게임 오버 체크 → 리스타트 (이것도 UI와의 연계)
    • 플레이어 이동 및 스탯 관련 수치 제작
      • Enemy와 같이 쓸 부모 클래스
    • Weapon 1개 종류 생성 및 Player 장착
    • 당장은 UPROPERTY 위주로 작업
      • 데이터 주도 관련? Wave, 플레이어/적 이 장착할 무기, Moding 등에 대해서 FPrimaryAsset 이나 FStruct 등을 고려 가능하나 당장은 고려하지 않을 예정 (확장성 나중에 챙기기)
  • 각 작업 별 프로토 타입 범위

    • AI
      • 기본 좀비 관련 ABP
      • 기본 좀비 동작 관려 BT, BB, AI Perception(선택) - Player나 보호 건물 Targeting
      • NavMesh 변화에 따른 제대로 된 동작 가능 체크
      • Enemy 사망에 따른 WaveManager에게 보고 (Wave 종료 조건)
    • UI
      • 메인 메뉴
      • 인게임 HUD - 체력, 탄창, Wave 상황 등
      • 게임 오버 및 점수판?
    • 플레이어
      • 플레이어 ABP
      • Input Mapping 및 Input Action
      • 플레이어 스탯 관련 (체력, 이동속도)
    • 무기 및 장착
      • 기본 무기 클래스
      • 장착 기능 추가 (Skeletal Mesh의 특정 무기 소켓 이름 통일하기 (Weapon_Equip 등))
      • Weapon 전투 관련 호출에 따른 LineTrace Or Begin Overlap 고려하기
      • BP 쪽에서 Effect 처리하기
        • 필요에 따라 Anim Montage + Anim notify 를 통하여 더 정확한 타이밍을 잴 수 있음
      • 무기 스탯 작업
    • 대미지 계산 및 Effect
      • 아군,적 스탯을 가져와 대미지 계산하는 로직 구현
      • Effect 작업
        • 기본적으로 피격 시 ‘경직’에 대한 효과 구현
        • FieldItem에 대한 Effect 적용 필요
    • 레벨 디자인
      • GameMode, State 생성
      • GameManger 생성 및 하위 매니저를 통한 게임 흐름 관리
        • EnemySpawner로 적 생성 및 적 무기 장착 (근거리 무기 - Mesh X)
        • ItemSpawner를 통한 Field Item 생성
        • Wave Manager를 통한 게임 종료 및 현재 상황 갱신 (ex : 적이 다 사망하였는지, 일정 시간이 지났는지) (휴식 시간은 현 시점에서 구체적 구현은 x - 상점이 없음)