프로젝트 소개
프로젝트 기간 : 2025.03.14 ~ 2025.04.03
프로젝트 인원 : 1인
사용 툴 : Unity5(2022.03.21f1) , GithubDesktop
형상 관리 : GitHub
사용 언어 : C#
깃허브 주소: https://github.com/Fifow1/RoguelikeFPS
초반 계획
- 스테이지 1개만 만들기
- 몬스터 종류 2마리와 보스 만들기 : 원거리 몬스터와 근거리 몬스터 하나씩 만들고 보스 몬스터 만들기
- 상호작용 가능한 오브젝트 만들기 : 아이템 상자, 보스 소환
- 아이템 2가지 만들기 : 캐릭터 기본 능력치 증가시키는 아이템, 화살의 개수가 추가 되는 아이템
- 플레이어 활 캐릭터 만들기 : 에임 점 근처 적에게 자동에임
동영상
회고
* 미설계 *
프로젝트 시작 전, 리스크 오브 레인 2를 만들기로 결정한 후 계획이나 설계를 하지 않고 바로 게임 개발 작업으로 들어감. 이로 인해 일정 및 시간 관리가 되지 않았고 초반 계획 대로 완성이 되지 않았음.
난잡한 코드 설계
객체지향적이지 않은 코드 , 인터페이스 미사용으로 인해 스크립트간 데이터를 주고 받는 과정에서 꼬였고, GetComponent를 많이 사용했음 또한 하나의 스크립트에 책임이 많아 지니까 나중에 기능 하나를 바꾸고 싶어 수정하는 상황에 그와 관련된 코드들을 많이 고쳐야 했음
유니티의 생명주기에 대한 이해 부족
오브젝트 풀과 팩토리 패턴을 같이 사용하던 도중 오류가 발생. 오브젝트 풀에서 몬스터를 미리 생성하고 , 몬스터 팩토리에서는 그 몬스터들을 활성화 시키고 데이터를 넣어 주는 흐름인데 몬스터의 OnEnable에서 데이터를 활용하는 코드에서 문제가 발생했음. 여기서 활용하는 데이터는 Factory에서 몬스터를 활성화 시킬 때 넣어 주게 되는데 처음 오브젝트 풀로 몬스터 객체를 생성할때 몬스터 안에 있는 데이터 들은 null값인데 OnEnable이 실행되어서 Null값인 데이터들을 사용하다 보니 오류가 생겼음.
'Unity > 프로젝트' 카테고리의 다른 글
팀프로젝트 - 판타지 마블 (Fantasy marble) 02 - 기능 리뷰 (주사위) (0) | 2025.04.08 |
---|