3. 2주차 진행사항
1. 보스 스테이지
-
보스 스테이지는 총 4개의 레벨로 구성되어 있으며, 각각 보스 입장, 컷씬, 전투 스테이지로 나뉜다.
-
각 스테이지 전환에 카메라 페이드인/아웃을 적용시켰다. 자연스러운 전환을 위해 카메라 이펙트(페이드아웃) 종료 시점을 기준으로 레벨 전환이 이루어진다.
-
보스 입장 스테이지 “보라해로” 는 우측 끝의 상승기류에 일정 시간 들어가 있으면 컷씬 스테이지로 이동된다.
-
컷씬 스테이지는 총 2개로, “절벽” 과 “기만을 삼킨 감시탑” 으로 구성되어 있다. 모든 컷씬이 종료되면 보스 전투 스테이지로 이동된다.
-
보스 전투 스테이지 “부서진 감시탑” 은 보스 몬스터 “해방된 라르고” 와 전투를 진행하게 되며, 플레이어와 상호작용하는 맵 기믹이 존재한다.
보라해로
-
좌측에서 플레이어가 스폰되며, 우측에 상승기류 포탈로 보스 입장을 진행할 수 있다.
-
기존 레벨의 포탈과 달리 영역 내 플레이어가 일정 시간 존재하면 플레이어를 위로 사출시키는 상호작용 후 레벨 전환이 이루어진다.
절벽
-
자동 진행되는 인게임 컷씬 레벨이다.
-
플레이어의 조작이 불가능하며, 사전에 설정된 동작대로 오브젝트 및 플레이어가 조작된다.
기만을 삼킨 감시탑
-
중간까지 자동 진행되는 컷씬 레벨이다.
-
절벽에 올라와 착지될 때까지 조작이 불가능하며, 이후 조작이 해금된다.
-
대사 및 연출 후 레벨이 자동으로 전환된다.
부서진 감시탑
-
보스와의 전투가 진행되는 스테이지 레벨이다.
-
레벨 시작 시 보스가 스폰되며, 등장 연출과 함께 이어서 전투가 시작된다.
-
플레이어는 해당 맵에서 “요기 게이지” UI가 좌측 상단에 생기며, 보스 전투에 기믹으로 작용한다.
-
보스의 위, 아래로 “요기의 바다” 가 존재하며, “요기의 바다” 는 보스의 위치에 따라 이동한다.
-
플레이어가 “요기의 바다” 위에서 지면에 서 있는 경우, 플레이어의 “요기 게이지”를 증가시킨다.
-
플레이어가 “요기의 바다” 위에 없거나, 공중에 점프 중인 경우 “요기 게이지”가 지속적으로 감소한다.
2. 보스 몬스터 “해방된 라르고”
-
보스 몬스터 “해방된 라르고” 는 최초 조우 시 전투 시작과 함께 개막 패턴을 사용하며, 이후 일반 공격 패턴이 이어지다 기믹 수행 조건이 충족되면 특수 공격 패턴을 사용한다.
-
보스 몬스터의 일반 공격 패턴은 연속으로 같은 패턴을 사용하지 않도록 구현했다.
현재 2주차까지 구현된 내용은 다음과 같다:
- 최초 조우시 사용하는 개막 패턴 1종
- 일반 공격 패턴에 사용하는 보스 스킬 3종 - 두번 베고 화면 폭발 - 내려찍고 화면 폭발 - 한쪽 끝으로 이동 후 십자 베기
개막 패턴
-
전투 스테이지 레벨 입장 후 보스 몬스터와 최초 조우시 한번만 발동하는 패턴이다.
-
붉은색으로 경고되는 구역은 플레이어가 해당 위치에 있는 경우 피격되며, 캐스팅 시간은 차오르는 것으로 표현된다.
-
장판형 데미지 스킬은 플레이어 오브젝트의 지상 위치값을 통해 피격을 판정한다.
-
화면 일부분을 차지하는 화면 폭발 패턴은 플레이어의 피격 범위가 해당 범위와 닿는 경우에 피격된다.
-
충돌형 데미지 스킬은 플레이어 오브젝트의 충돌체가 타격 충돌체와 충돌 여부를 통해 피격을 판정한다.
두번 베고 화면 폭발
-
보스 몬스터의 첫번째 일반 공격 패턴이다.
-
첫번째와 두번째 베기 공격은 화면에 검흔을 남기며, 2초 뒤에 해당 위치에 공격 판정이 들어간다.
-
첫번째와 두번째 검흔은 공격 당시 플레이어의 위치를 기준으로 일정 범위 내 랜덤한 각도로 생성되며, 동시에 생성되는 검흔 끼리는 랜덤하지만 비슷한 각도로 생성된다.
-
충돌형 데미지 스킬이기에 플레이어 충돌체와 검흔의 교차 여부에 따라 피격을 판정한다.
-
마지막으로 두 개의 화면 폭발이 생성되는데, 플레이어 현재 위치를 기준으로 정해진 폭, 랜덤한 각도로 생성된다.
내려찍고 화면 폭발
-
보스 몬스터의 두번째 일반 공격 패턴이다.
-
시전 시 보스 몬스터는 공격 위치를 지정하고, 점프 준비를 한다.
-
일정 시간 뒤 보스는 점프하여 지정된 공격 위치로 이동한다.
-
이 때, 보스 몬스터는 실제로 점프하여 공중 판정이기에, 장판 스킬에 데미지를 입지 않고, 피격 충돌체 또한 본체를 따라 이동한다.
-
마지막에 생성되는 두 화면 폭발 영역은 보스 몬스터의 착지 위치에 따라 결정되며, 각도는 일정 범위 내에서 랜덤하게 결정된다.
한쪽 끝으로 이동 후 십자 베기
-
보스 몬스터의 세번째 일반 공격 패턴이다.
-
시전 시 보스 몬스터는 공격 위치를 지정하고, 즉시 해당 위치의 화면 끝쪽 중 한 곳으로 점프한다.
-
세로로 지정된 구역의 공격이 먼저 발동하며, 그 후 가로로 지정된 공격은 “요기의 바다” 안전지대 만큼 공격한다.
3. 로딩 매커니즘 개선 - 병렬 처리
-
텍스처 로딩에 과도한 시간을 소요하는것을 해결하기 위해 스레드풀을 이용해 멀티 로딩을 구현했다.
-
텍스처 앨범 별로 스레드풀 로딩을 적용했기에 앨범 각각의 로딩 시간을 절반 가량 줄일 수 있었다.
4. Vorbis 라이브러리를 통한 .ogg 파일 로드
- 사운드 리소스를 바로 사용할 수 있도록 라이브러리를 추가해서 Direct Sound 에 사용할 수 있도록 적용했다.
5. 현재 직면한 문제점
- 프레임 드랍 현상이 매우 심하다.
-
최저 약 10 FPS, 평균 약 20 FPS 로 매우 낮은 프레임을 보인다.
-
프레임 문제로 인해 십자 베기 패턴은 이펙트를 제거했다.
-
UI, 플레이어 스킬 등 추가될 렌더링 요소가 아직 많으므로, 대책 강구가 시급하다.
- 매우 긴 로딩 시간
-
멀티 스레드 로딩을 적용했지만 여전히 로딩이 짧지는 않다.
-
보스 스테이지와 보스 패턴, 이펙트 리소스 로딩에 약 2분 40초가 소요되며, 추후 여유가 되면 더 줄일 방법을 생각해 보자.
- 미구현 목록
-
요기 게이지에 따른 기믹 패턴 “절단”
-
주기적 특수 페이즈 패턴 1개 이상
-
보스 몬스터 사망 및 그로기