본문 바로가기

분류 전체보기

11월 29일 금요일 본 캠프 개발 일지 📌 학습 내용 1. 데이터 파싱 구조 2. 던전 매니저 및 스포너 리펙토링  1. 데이터 파싱 구조  데이터 특강을 들으면서 이제! 드디어! 데이터를 집어넣는 것과 전달의 차이점과 구조를 파악했다.   일단 모든 카테고리의 데이터를 관리하는 데이터 매니저를 만들고, 그곳에서 개별 데이터 매니저를 초기화 해준다. 이렇게 해야 데이터를 불러올 때 개별 매니저를 초기화 하지 않고 DataManager.Instance.Item 을 통해 Item 객체로 초기화 된 아이템 매니저의 함수에 접근할 수 있다.  이때의 아이템 매니저는 아이템 데이터를 상속 받기 때문에 아이템 데이터를 원하는대로 불러올 수 있다. UGS에서는 GetList를 통해 리스트로 모든 데이터를 가져오거나 GetDictionrary를 통해 모든.. 더보기
11월 28일 목요일 본 캠프 개발 일지 📌 어제 오늘 작업을 통해 알게 된 사실을 가볍게 정리해보고자 한다. 학습 내용 1. 오브젝트 풀링 2. 데이터 ID를 통해 데이터 인덱스 가져오기 3. 디버깅 1. 오브젝트 풀링 (Object Pooling) ✅ 오브젝트 풀링? 사람들이 너무 자주 쓰길래 유니티에서 제공하는 내장 기능인 줄 알았지만 디자인 패턴이었다.  오브젝트 풀링은 일정 수의 오브젝트를 미리 생성하여 풀(pool)에 보관하고, 필요할 때 풀에서 꺼내 사용한 후 다시 반환하는 방식이다. 이를 통해 오브젝트를 매번 생성하거나 삭제하는 데 드는 비용을 절감할 수 있다. 쉽게 말해서 최적화와 관련이 있다. 2. 데이터ID를 통해 데이터 인덱스 가져오기  11월 27일 수요일 본 캠프 개발 일지지금 던전 - 스포너를 작업하고 있는데 모든 .. 더보기
11월 27일 수요일 본 캠프 개발 일지 지금 던전 - 스포너를 작업하고 있는데 모든 걸 데이터화 해서 쓰려니까 너무 어렵다. 미연시 다이어그램의 악몽이 다시 재생되고 있다. 구조는 던전 데이터에 던전에 생성되어야 할 스포너를 가지고 있고, 던전에 입장하면 해당 던전의 ID를 찾아서 그 데이터에 있는 스포너 ID에 맞는 스포너 데이터를 다시 참조해야 하는 형식이다. 그래서 던전 입장 시 생성되는 스포너 프리펩에 있는 스크립트에 스포너 데이터를 전송해주고 스포너가 그 데이터를 받아서 바로 딱 전송해주면 되는데~...  데이터를 넣는 방식이 머리로는 이해가 되는데, 코드로가 안된다. 오늘 컨디션 최악 + 머리를 너무 써서 그런 걸지도?! 일찍 일어나서 커피 마시고 다시 해볼 예정. 스포너 데이터를 초기화 해주는 쪽에 매개변수를 넘겨줘서 생성해주면 .. 더보기
11월 26일 화요일 본 캠프 개발 일지 | 직렬화 📌오늘 들은 특강은 스탠다드반의 직렬화!  학습 내용 1. 직렬화2. 역직렬화 1. 직렬화 ✅ 직렬화?   직렬화는 객체나 데이터를 이진(Binary) 형식이나 텍스트 형식으로 변환하여 파일, 메모리, 네트워크 등 다양한 매체에 저장하거나 전송할 수 있도록 만드는 과정입니다. ✅ 특징 저장: 메모리에만 존재하는 객체는 애플리케이션이 종료되면 사라진다. 직렬화를 통해 객체를 영구적으로 저장할 수 있다(예: JSON 파일, XML 파일, 데이터베이스).전송: 네트워크를 통해 데이터를 전송하려면 객체를 스트림 데이터로 변환해야 한다.호환성: 서로 다른 시스템 간의 데이터를 읽고 쓰기 위해 표준화된 형식(JSON, XML)을 사용할 수 있다2. 역직렬화 ✅ 역직렬화?  역직렬화는 직렬화된 데이터를 다시 객체로.. 더보기
11월 25일 월요일 본 캠프 개발 일지 | 프레임워크 📌 학습 내용 1. 게임 매니저 관리 방식 1. 게임 매니저 관리 방식   ✅ 개별 싱글톤 방식  각 매니저를 하나의 싱글톤 클래스로 구현한다. 모든 매니저는 싱글톤 기반 클래스를 상속받아 특정 기능을 상속 및 재정의한다. 특징개별 매니저는 독립적으로 작동하며, 서로 간섭하지 않는다.특정 매니저의 생명주기를 별도로 관리할 수 있다.✅ 중재자 패턴 방식  각 매니저는 인터페이스를 구현하여 초기화 및 주요 기능만 정의한다. 모든 매니저는 게임 매니저를 통해 생성 및 초기화되며, 게임 매니저가 매니저들의 중심 허브 역할을 한다.  특징매니저들의 생명주기는 게임 매니저가 관리한다.모든 매니저가 동일한 초기화 절차를 따른다.✅ 차이점 [1] 속도개별 싱글톤 방식싱글톤 인스턴스 생성 및 접근 과정에서 추가적인 .. 더보기
11월 22일 금요일 본 캠프 개발 일지 오늘은 심화 주차 프로젝트가 끝났다! 우여곡절 끝에 아주 만족스러운 작품이 나왔는데, 캐릭터에 따라서 이미지가 변경되는 부분은 따로 리펙토링 하면서 공부를 해봐야 할 것 같다. 그것 말고는 코드를 거의 이해했으나 아직 완벽한 코드라고는 말하지 못 하겠다. 특히 If 문으로 계속 다이얼로그를 돌려주고 있어서 이것도 더 좋은 개선 방향이 있는지 알아내고 싶다.  이번 주차 프로젝트는 데이터 핸들링이 핵심인데 튜터님께서 꼭 엑셀로 데이터 역기획서 만들어서 진행해 봐야겠다.  오늘은 쉬어가는 날이라 푹 쉬고 주말에 심화 주차랑 특강 정리를 해보고 싶다. 특히 베이직반 특강! 일요일에 몰아서 들어야지 ㅎㅎ. 더보기
11월 21일 목요일 본 캠프 개발 일지 트러블 슈팅 막상 정리하려니까 항상 생각이 안 난다. 모든 게 이슈고, 모든 게 문제였어서... 그나마 제일 최근까지 붙잡고 있었던 옵션 UI 팝업과 데이터인 것 같은데, 이 부분을 제대로 정리해봐야 할 것 같다. 파라미를 켜서 분기점에서 다음 데이터를 받아오게 했는데 씬이 바로 넘어가서 결국에는 파라미로 다음 데이터를 다 받기! 더보기
11월 20일 수요일 본 캠프 개발 일지 📌  학습 내용 1. 딕셔너리(Dictionary) 1. 딕셔너리(Dictionary) ✅ Dictionary   데이터를 저장하는 자료 구조 중 하나로, 키-값(key-value) 쌍으로 데이터를 저장한다. 각 키는 고유하며, 이를 통해 값에 빠르게 접근할 수 있다. 프로그래밍 언어에서 딕셔너리는 흔히 해시 테이블(Hash Table)로 구현되며, 데이터 조회와 삽입이 매우 효율적이다. ✅ 주요 특징?키(Key)는 고유 : 딕셔너리에서 각 키는 고유해야 한다. 중복된 키는 허용되지 않다.값(Value)는 중복 가능 : 서로 다른 키가 동일한 값을 가질 수 있다. 빠른 데이터 조회 아 아.. 너무 힘들다. 더보기