Skip to content

2022 12 05 5주차 스프린트 계획 회의

Seyeon Ko edited this page Dec 5, 2022 · 1 revision

오늘 할 스프린트 계획 회의

  • 전 주에 발생한 변경 사항에 따라 backlog를 보완합니다.
  • 이번 주의 우선순위, 구현할 기능(Feature), 작업 크기, 담당자를 결정한다.
  • 구현할 기능에 대한 데모 시나리오를 자세히 작성합니다.
  • 사전에 정의한 기능과 동작을 완성했는지 확인할 수 있도록 다음의 내용을 반드시 포함해야 합니다. (테스트 목적과 상황 / 시나리오 진행에 필요한 값 / 시나리오 진행에 필요한 조건 / 시나리오 완료 시 보장하는 결과)
  • 기능 목록 업데이트를 포함한 회의 내용을 프로젝트 저장소 Wiki에 작성하고 결과를 요약하여 Slack 분야 별 채널에 공유합니다. (매주 월 13:00까지)

5주차 스프린트계획

5주차 태스크

  • 5주차 : 메인 페이지 캔버스 렌더링/상호작용, 자잘한 공통 컴포넌트들
    • 월 : 3인칭 플레이어 방향키 이동, 카메라 이동, 공유 유저 목록 API 작성
    • 화 : 메인 맵 렌더링, 공유 목록 fetching
    • 수 : 인터랙션, 애니메이션, 맵 다음 목록 fetcing
    • 목 : 자잘한 공통 컴포넌트 제작

5주차 목표

  • 최소 목표
    • 메인 화면에 메인 플레이어가 렌더링되고, WASD나 화살표 키로 캐릭터를 움직일 수 있다.
    • 메인 화면의 카메라는 메인 플레이어를 따라다녀야 하며, 정사영(Orthographic)으로 표현되어야 한다.
    • 메인 화면에 지금까지 공유된 모든 유저의 모뉴먼트가 렌더링되어야 한다.
    • 모뉴먼트의 렌더링은 페이지네이션 방식으로 이루어지며, 플레이어가 아직 모뉴먼트가 안 생긴 곳으로 이동했을 때 새로운 데이터를 서버에서 불러와서 렌더링해야 한다.
    • 플레이어가 아무리 이동하더라도 중복된 모뉴먼트가 불러와져서는 안 된다.
    • 여러 플레이어가 접속해서 유저 모뉴먼트 리스트를 요청하더라도 혼선이 생겨서는 안 된다.
    • 플레이어가 모뉴먼트에 근접하면 해당하는 사용자의 모뉴먼트 페이지로 이동해야 한다.
    • zustand 상태와 suspend를 리팩토링하여, 관련된 zustand store가 suspend에 잘 맞물리도록 변경해야 한다.
    • 갤러리 페이지에서 동기화가 완료되면 히스토리 상태가 갱신되어야 한다.
    • PointerLockControl 모드일 때 크로스포인터가 보여야 하며, 화면 정중앙에 위치한 오브젝트에 대해 클릭 이벤트가 작동해야 한다.
  • 추가 목표
    • 메인 플레이어가 이동할 때 애니메이션이 재생되며, 방향 전환 시 자연스럽게 전환되어야 한다.
    • 메인 화면과 개인 화면의 하단에 배경음악 버튼을 추가한다.
    • 메인 화면과 개인 화면의 하단에 전체화면 토글 버튼을 추가한다.
    • 메인 화면과 개인 화면의 하단에 스크린샷 버튼을 추가한다.
    • 메인 화면과 개인 화면의 하단에 우리 프로젝트 깃허브 이동 버튼을 추가한다.
    • 메인 플레이어 로딩 중 로딩 스플래시가 보여져야 하며, 이를 통해 라이트하우스 초기 렌더링 속도를 향상시켜야 한다.
    • 갤러리 생성 시 선택한 루트 페이지를 분리해서 관리한다.
    • 갤러리 페이지의 히스토리 메뉴에서 다른 루트 페이지를 히스토리로 보여주며, 새로운 루트 페이지를 선택하여 렌더링을 할 수 있는 선택지를 제공해야 한다.
    • 갤러리 검색 기능? 혹시나 시간 남으시면 추가하시고
    • 갤러리 페이지의 렌더링을 최적화하여, 기종 컴퓨터 기준 55~60FPS가 안정적으로 달성되도록 렌더링을 최적화해야 한다. (6주차로 넘길 수 있음)

태스크맵을 짜 봅시다

https://www.figma.com/file/hcKVcbrP4OphRRpwrPEqwU/%EC%8A%A4%ED%94%84%EB%A6%B0%ED%8A%B8-%ED%83%9C%EC%8A%A4%ED%81%AC%EB%A7%B5?node-id=0%3A1&t=xphp7ABIjyXmlE1a-0

참고 : 가능한 태스크 목록

  • 플레이어 렌더링+플레이어 이동
  • 플레이어 애니메이션, 방향전환
  • 모뉴먼트 렌더링
    • 모뉴먼트 링크 페달
    • 모뉴먼트 충돌체크
  • 공개된 모뉴먼트 페이지네이션
  • 페이지네이션 데이터 불러오기
    • 플레이어 위치가 이미 로드된 위치 밖으로 이동하면 데이터 불러옴
  • suspender-zustand 리팩토링, 동기화 완료시 히스토리 리스트 최신에 추가
  • 크로스포인터 추가, pointerLockControl시 화면 중앙에 클릭 판정이 일어나도록 변경
  • 소리 컴포넌트 제작
  • 전체화면 버튼 컴포넌트 제작
  • 메인 페이지 스플래시 화면 추가
  • 스크린샷 버튼 컴포넌트 제작
  • (우리 깃허브 링크 컴포넌트 제작)
  • 공간생성 프로세스 로딩 세분화

  • 링크 발판 다시 만들기
  • 로고 다시 만들기
  • 파티클 추가
  • 갤러리 생성 시 선택한 루트 페이지를 분리해서 관리한다.
  • 갤러리 페이지의 히스토리 메뉴에서 다른 루트 페이지를 히스토리로 보여주며, 새로운 루트 페이지를 선택하여 렌더링을 할 수 있는 선택지를 제공해야 한다.
  • 갤러리 검색 기능? 혹시나 시간 남으시면 추가하시고
  • 모바일 이동 대응

  • three.js 컴포넌트에서 조건부 렌더링 삭제, visible로 변경
  • three.js에서 과도한 가비지 컬렉션이 일어나는 부분 리팩토링
  • zustand에서 setter를 임포트할 때 { setStore } = valueStore();로 선언하여 불필요한 리렌더링이 일어나는 부분 삭제
  • 3D 워드클라우드 성능 향상
  • 최종 목표는 개인화면에서 많은 오브젝트가 렌더링되어도 60fps 달성
  • 초기 렌더링 속도 향상
    • https 2.0로 변경(현재는 1.1을 사용해서 호스팅중)
    • 번들링 분리
스프린트 계획 회의
🕖 데일리 회의
week1
week2
week3
week4
week5
week6
📔 팀 회고
🗓 개인 회고
🏝️Ground Rule
⚙️ Tech Spec
Clone this wiki locally