목차
위 책의 Chapter5를 보고 만든 기초적인 클리커게임이다.
책 자체가 사실 엄청 세세한 부분까지 하나하나 짚어가며 알려주는 건 아니다.
다만 대략적으로 게임 제작의 흐름을 파악할수있고, 그리 어렵지않은 예제 프로젝트를 따라가다보면 유니티와의 내적친밀감이 꽤나 상승하게 된다.
처음에 유니티를 접해서 기본적인 사용법정도를 배울때 괜찮은 책이라고 생각한다.
이 책을 통해 몇가지 간단하게 만든 후, 추후 좀 더 깊은 내용이 있는 책으로 공부하는게 좋지 않을까...
어쨌든 내가 생각한 코드는 아니고 다 따라서 쳐가며 만든 클론 결과물에 대해 작성하겠다.
1. UI 설정, 및 배치
이 클리커에서 UI는 크게 두 부분으로 나눌 수 있다.
Top / Bottom
Top에는 User의 클릭으로 생산되거나 및 직원이 매 초마다 자동으로 생산하는 'Money'의 수, 그리고 직원의 수를 표시한다. 일종의 Status
Bottom의 경우에는 클리커게임에 필수적인 재화를 통한 기능 업그레이드 버튼이다.
현재 위 그림에는 2개의 버튼이 보이는데 각 버튼을 클릭시 새로운 패널이 등장하며 업그레이드에 대한 설명이 뜨고 업그레이드 버튼을 볼 수 있다.
2. 마우스 클릭에 따른 재화 생산
위의 이미지를 보면 좌 상단에 의자에 앉아있는 사람 그림이 있다.
이는 'Boss'로 게임 시작시 처음부터 있는, 말하자면 Player이다.
플레이어가 UI가 아닌 부분을 클릭시 'Boss'는 일하는 애니메이션을 취하며, 클릭시마다 설정된 값만큼의 재화가 벌린다.
3. 직원에 따른 재화 자동생산
UI의 Bottom 부분에 신규고용부분이 있다.
여기서 업그레이드를 할 때마다 'Boss' 기준으로 오른쪽으로 차례대로 'Employee' 가 배치되면서 매초마다 설정된 값만큼의 재화를 생산하게 된다.
4. 직원의 배치가 많아질 경우
게임이 진행될수록 직원, 'Employee'의 배치는 계속해서 늘어날것이고 기존 화면을 넘어서서 배치가 될 것이다.
이 경우, 스마트폰에서 화면을 내리고 올리는 듯한 방식으로 마우스 및 터치 입력에 따라 위로 스크롤 할 것인지 아래로 스크롤 할것인지 입력받아 카메라위치를 바꾸면서 직원들을 비출 수 있다.
5. 세이브 / 로드
xml 파일을 통한 Save / Load를 만들었다.
Save Load가 이런 방식이라면 싱글파일에서 치팅하는게 몹시 쉽겠다... 뭐 이런 생각을했다.
당연히 이제 그런 치팅을 최소화하기위한 다른 세이브 로드 방식이 굉장히 많을테니 이쪽도 공부를 해봐야겠다.
대략적으로 크게 구현한 부분을 나누자면 이정도가 될 것 같다.
만들어보면서 오브젝트와 스크립트를 연동시키는 방법부터, UI를 다루는 것 Component 받아오고... Coroutine 등등
굉장히 많은것을 꽤 익숙하게 느껴지게 된 것 같다.
다만, 게임의 재미를 위해서는 적당한 수준의 난이도..
게임을 통해 얻는 재화와 플레이 시간에 따른 난이도 상승률을 적당히 조절해야하는데
그부분에 대해서도 따로 공부를 해야 할 필요를 많이 느꼈다.
위의 파일은 빌드된 프로그램이다.
게임 밸런싱이 아주 형편없음을 지나서 나락... 수준이지만 대략적으로 그냥 이렇게 만들어졌구나 정도만 보시면 된다.
'Unity3D > 유니티 공부' 카테고리의 다른 글
State 패턴 (0) | 2022.01.16 |
---|---|
유니티 간단하게 조이스틱 이동 해보기. (1) | 2021.12.02 |
[Unity2D 공부] 이동과 충돌 학습정리 (0) | 2021.06.07 |
[Unity 게임 개발을 위한 C# 공부 일지] 길찾기 - 3 (트리, 힙) (0) | 2021.05.15 |
[Unity 게임 개발을 위한 C# 공부 일지] 길찾기 - 2 (그래프) (0) | 2021.05.12 |