하이퍼 캐주얼 게임 Change and Drop의 인게임 시스템 구현 

github Link : https://github.com/bbno1105/HW_ChangeAndDrop

 

프로젝트 개요

프로젝트 기간 : 6일 ( 2023-02-24 ~ 2023-03-01 )

프로젝트 인원 : 개인 프로젝트

프로젝트 엔진 : Unity

레퍼런스 게임 : Change and Drop

 

핵심 시스템

1. Ball Color

마우스를 클릭하여 공의 상태(파랑, 오렌지)를 변경

 

2. Trap

공의 색상과 일치하지 않는 Trap에 들어오면(OnTriggerEnter) 공이 사라진다.

공의 색상과 일치하는 Trap을 지나가면(OnTriggerExit) 정해진 수 만큼의 공이 추가로 생성된다.

* 생성된 공이 위로 튀어올라 다시 생성되는 버그로 인하여 공은 자신이 생성된 위치를 기억하고 생성된 위치보다 Trap이 위에 위치하면 작동하지 않도록 하였다.

움직이는 Trap을 구현하기 위해서는 맵을 벗어난 공간이 렌더되지 않아야 했다.

이번 프로젝트에서는 오브젝트 마스크를 위하여 외부 쉐이더 코드를 사용하였다.

 

3. Check

1) Check Block

정해진 수 만큼의 공이 존재해야 통과할 수 있는 블럭.

Blend Tree를 사용하여 공이 들어오는 수 만큼 블럭의 휘어짐을 구현하였다.

 

2) Check Box

정해진 수 만큼 공이 박스에 들어와야 통과할 수 있는 박스.

Check Box를 통과하면 시작과 동일하게 박스의 움직임을 제어할 수 있다.

 

3) Clear Box

박스에 일정 수 만큼의 공이 들어오게되면 연출과 함께 스테이지가 클리어된다.

 

4. Stage

스테이지 구성을 위하여 언제나처럼 QuickSheet를 사용하였다.

StageSheetData와 MapSheetData를 받아와 설정한 스테이지를 생성하도록 개발하였다.

 

 

 

Project Diary

Date 분류 [ChangeAndDrop]
2/24 프로젝트 생성 유니티 프로젝트 생성
2/24 공 색상 Ball과 Trap 상태에 따른 초기값 설정 추가
2/24 공 색상 Input에 의한 Ball 상태 변화
2/24 트랩 Trap OnTriggerEnter시 Ball의 상태에 따라 비활성화 처리
2/24 트랩 Trap OnTriggerExit시 Trap 속성에 따른 Ball의 활성화 처리
2/24 공 생성 Ball, Trap Material 구조 변경
2/25 체크블럭 CheckBlock 추가, BlendTree로 ball의수에 따라 애니메이션 변화
2/25 공 생성 공 생성시 공이 서로 충돌하지 않도록 설정, 벽에 닿으면 충돌 시작
공 생성시 충돌이 있는것처럼 옆으로 퍼지도록 값 추가
2/25 체크블럭 정해진 수 이상의 공이 감지되면 터지는 체크블럭 시스템 및 연출
2/25 공 생성 위치 조정값이 적용되지 않은 오류 수정
2/25 트랩 트랩 구조 변경 (타입 나누기 -> 위치조절), 이동 트랩 시스템 추가
2/25 박스 박스 오브젝트 추가, 박스 구간 추가
2/25 박스 피니쉬 박스 만들고 애니메이션 추가
2/26 박스 피니쉬 코드 오류 수정 및 애니메이션 수정
2/26 스타트 시작 박스 추가 및 조작 시스템
2/26 스타트 정해진 수 만큼 공 생성
2/26 피니쉬 상자에 공 쌓이는 연출 개선
2/26 피니쉬 공 터지는 연출
2/26 뒷배경 꾸미기 눈누난나
2/27 박스 애니메이터가 마우스조작 막는거 (이유 모름) Apply Root Motion 하니까 됐음
2/27 MapPrefab 내부의 오브젝트 이름 변경
2/28 데이터 QuickSheet 적용 및 Stage, Map Data 입력
2/28 데이터 연결 테이블 구조 만들어서 스테이지 만들기
- 스테이지 : 스테이지, 맵 타입 (배열로 만들기), 시작 ~ 데이터 ~ 피니쉬, 시작 공 수, 클리어 수 등
- 맵 타입: 타입별로 데이터 넣어서 구분하기
2/28 버그수정 생성된 공이 충돌해서 위로 올라가면 다시 트랩에 적용되는 문제 수정
-> 생성위치 -1 값이 트랩 값보다 낮으면 발동하지 않도록 처리
3/1 카메라 카메라 이동 (최적화 필요)

 

728x90

'Project > StudyProject' 카테고리의 다른 글

HexaPuzzle  (0) 2023.03.06
Minimanimo  (0) 2022.12.01
This Game is Not Portal Game  (0) 2022.09.06
Slime Must Die  (0) 2022.09.06

+ Recent posts