
광산 이동


광물 데이터 추가


이 확률표와 광물 정보에 대한 데이터는 스크립터블오브젝트를 활용해 구현했다.

광물의 등장 확률을 레벨별로 유동적으로 조정할 수 있도록 ProbabilityEntry와 MiningProbabilityData 구조를 설계하였다.
ProbabilityEntry는 광물 데이터(MineralData)와 등장 확률을 하나의 데이터로 묶어 관리하기 위해 사용하였으며, 이를 통해 광물 종류와 확률 값을 직관적으로 연결할 수 있도록 구성하였다.
MiningProbabilityData는 특정 레벨에서 사용되는 확률 테이블 역할을 담당하도록 설계하였다. 레벨 값과 해당 레벨의 광물 확률 데이터를 함께 관리함으로써, 레벨 상승에 따라 새로운 광물을 해금하거나 등장 확률을 조정할 수 있도록 하였다.
이 구조를 통해 코드 내부에서 확률 값을 코딩하지 않고, ScriptableObject 기반 데이터 수정만으로 게임 밸런스를 조정할 수 있도록 구성하였다.
설계 의도
- 데이터 책임 분리
- 레벨별 확률 테이블 관리
- 밸런스 수정 용이성
코드 수정 없이 데이터만으로 밸런스 변경 가능하도록 구현
추후 다양한 아르바이트 미니게임이 추가될 가능성을 고려하여 IPartTimeGame 인터페이스를 설계하였다.
각 미니게임은 StartGame(), EndGame()을 공통적으로 가지도록 통일하되, 내부 동작은 각 게임에서 개별적으로 구현할 수 있도록 구성하였다.
채굴 미니게임 기획 및 구현


키 입력 및 UI
게임이 시작되면 waitTimer의 지정된 시간에 따라 대기 시간을 가지며, 이 타이머가 0이 되었을 때 랜덤한 확률표에 따른 광물이 선택되며, 광물의 키 입력 개수의 KeySequence가 생성되어 UI를 출력하게 되며, KeySequence와 동일한 키를 입력하면 간단하게 성공했다는 의미로 반투명 상태로 변경되며, 실패하면 다시 원래대로 reset하도록 구현했다. 모든 키 입력에 성공했다면 다시 대기시간을 가지고 광물이 선택되는 방식이다.
각 키보드 UI는 선택된 키보드에 따라 일치하는 sprite로 생성될 때 초기화되며, 성공했을 때 반 투명 상태로 변경된다.



미니게임 종료

미니게임이 종료되면 결과 화면을 출력하고, 획득한 재화를 지급한 뒤 기존에 있던 구역으로 복귀하도록 구현할 예정이다.
현재는 결과 화면 없이 바로 복귀하도록만 구현해두었는데, 이는 아직 플레이어의 재화 및 보상 데이터 구조가 완전히 구현되지 않았기 때문이다.
최근 자기소개서 작성과 병행하면서 개발 속도가 다소 느려졌지만, 핵심 시스템 구현은 지속적으로 진행 중이다.
앞으로 추가될 내용은 플레이어의 보유 재화, 시간 시스템(아침, 점심, 저녁, 밤, 심야)정도로 생각하고 있다.
'Unity > 개발일지' 카테고리의 다른 글
| [Project_MTS] 개발 일지 - 5 [Node기반 맵 생성 R&D 및 구현] (0) | 2026.05.13 |
|---|---|
| [Project_MTS] 개발 일지 - 4 [시간 데이터 추가, UI 닫기, 채굴 미니게임 조건 추가 및 설계 수정] (0) | 2026.05.12 |
| [Project_MTS] 개발 일지 - 2 [상호작용을 통한 위치 이동] (0) | 2026.05.03 |
| [Project_MTS] 개발 일지 - 1 [플레이어 이동, 오브젝트 상호작용] (0) | 2026.04.29 |
| 개발 일지 - LoadingScene과 기능 추가, 인게임 플레이어 UI 추가(체력, 쉴드, FadeIn효과) (0) | 2025.12.02 |