github.com/powerpower2005/MiniProject/tree/master
**짧은 플레이 영상은 밑에 있음
이 프로젝트로 얻고자하는 바
- Event 함수 체화
- 사용자 입력을 스크린에서 처리
- 기본적인 Physics와 점수 UI
- 일시적인 데이터 저장
게임목표
사과를 받아서 최고점수를 도달하자.
마우스로 움직인다.
** 키보드로도 입력받을 수 있다.
작업 내역 및 구현한 부분
Apple
요약: 사과
상세:
해당 값이 넘어가면 destroy하고 다른 스크립트의 메서드를 실행해서 Notify기능
-> 해당 오브젝트가 파괴되면 게임을 재시작해야함.
ApplePicker
요약: 사과 줍는 사람
상세:
Notify를 받으면 자신의 인스턴스를 하나 삭제하며 게임을 재시작하기 위해서
FindGameObjectsWithTag로 사과를 찾아서 destroy함.
-> 이 인스턴스는 List로 관리됨. List의 Count가 0이 되면 씬 다시 로드
AppleTree
요약: 사과를 떨어뜨림
상세: Invoke로 실행하여 메서드를 시간간격을 두고 떨어뜨리게함.
-> 게임 시작하자 떨어지는 불상사를 막음.
-> 그 이후는 Delay를 선언하여 정해진 시간에 맞추어 떨어뜨림.
Random.value로 랜덤 값을 받아서 어느 조건에 방향을 바꾸게함.
Basket
요약: 플레이어
상세:
마우스를 Update()에서 입력을 끊임 없이 받음 하지만 스크린 입력과 게임 공간 상의 차이 발생
-> ScreenToWorldPoint로 스크린에서 받은 마우스입력을 게임공간으로 치환함.
사과를 먹으면 점수가 올라감.
-> UI를 연결하여 Text로 선언된 점수판 조작.
High Score
요약: 최고점수
상세: 최고점수는 게임을 실행하는 동안 변화해야 하므로 저장해야함.
Playerprefs 의 get으로 HighScore를 받아오며
Basket(플레이어)가 달성한 점수와 High Score를 Update에서 비교하며
High Score보다 score가 높으면 Playerprefs에 set한다.
--------------------------
1. Playerprefs
게임 진행되는 도중 int형 자료 저장,수정,호출
-> 보안x, 영구저장 x
2. OntriggerEnter
isTrigger된 collider와 만나는(충돌하는) 순간 하는 일 작성
3. Invoke
메서드의 지연 실행
4.Notify의 개념
내가 destroy된 것을 다른 객체에게 알림
5.List
List는 동적으로 크기 변환가능
이슈발생 또는 반성할 점
- 사용자 입력에 대해 너무 단순히 생각한 점, 사용자 입력에 대해 마우스도 될 수 있고 조이패드도 될 수 있다는 점을 간과함
- Playerprefs로는 간단한 저장기능 밖에 없음 -> 간단하지만 보안x
**해결 방법으로는 직렬화, Serialization이 있음 -> bit로 바꿔서 저장
느낀 점
랜덤 요소라는 것이 게임에 정말 큰 재미를 주는구나.
인간도, 컴퓨터도 정확한 의미의 난수는 생성하지 못하는데.. 어떻게 하면 이 랜덤을 잘 이용할 수 있을까?
랜덤을 잘 이용할 수 있다면 정말 재밌는 게임을 만들 수 있을 것이다.
8살에 야후 꾸러기에서 게임플러스를 들어가 플래시 게임 메뉴에서 똥피하기 게임을 하던 나는 이제는 똥피하기와 흡사한 사과 먹기를 만들었다.
게임을 조금 더 재미있게 만들기 위해서
-영구적으로 데이터 저장이나 서버에 연결을 해서 Leader Board를 만들어서 경쟁 시스템을 만들고
모드를 다양하게 만들어서1. 엄청나게 쏟아지는 사과를 1분 안에 얼마나 먹을 수 있는가2. 빠른 속도로 내려오는 사과를 피해서 얼마나 살아남는가3. 사과 중에 독사과도 섞여있게 만들어서 플레이같이 게임 하나로 여러가지 응용해볼 수 있다고 생각했다.
'Game Development, 게임개발 > Unity' 카테고리의 다른 글
Unity Asset Workflow - 유니티 에셋 워크플로 (1) | 2023.11.24 |
---|---|
Unity Runtime Fee, 유니티 런타임 요금 부과 (0) | 2023.09.15 |
프로젝트 -3[Unity] (0) | 2021.10.30 |
프로젝트 -2 [Unity] (0) | 2021.10.28 |
[Unity] particle system 익히기 - 1 (Introduction Particle Systems) (0) | 2020.07.24 |