전체 글 12

2025.04.30 트러블 슈팅 (파이어베이스, 유니티)

2025.04.30 - Unity 파이어 베이스 데이터 불러오기 오류 -배경FireBase의 RealTime DataBase와 Unity를 연동하여, 로그인 절차가 완수된 이후 필요한 유저 정보를 불러오거나 저장하고자 하는 상황이었습니다.-발단로그인 기능을 수행한 이후, 로그인한 계정의 데이터까지 접근하는 데엔 문제가 없었습니다.하지만, 찾아낸 데이터를 클라이언트로 불러오자, 이따금씩 과거에 사용하였던 계정 데이터가 호출되어 현재 계정의 진행상황에 덮어씌워 버리는 버그가 발생했습니다.이는 게임을 플레이하는 유저가 몇시간 단위의 플레이 정보를 잃을 수도 있는 치명적인 버그였습니다.-전개문제 해결을 위해 다음과 같은 방법을 시도하였습니다. 1. reference.KeepSynced(true); 를 호출하여..

카테고리 없음 2025.04.30

2025.03.18 FoxRun 트러블 슈팅

2025.03.18게임 FoxRun 트러블 슈팅 - "씬 이동시 Light가 정상적으로 작동하지 않는 버그" -배경LobbyUI에서 Play 버튼을 누른 경우, SceneManager을 활용해 TitleScene에서 GameScene으로 넘어가고자 하는 상황이었습니다.-발단play 버튼을 누른 후, TitleScene에서 GameScene으로 넘어가는 과정은 문제없이 넘길 수 있었지만, 예상치 못한 문제점을 맞닥뜨렸습니다.GameScene에서 Light 오브젝트가 정상적인 역할을 수행하지 못하는 모습이 확인 된 것입니다.이는 GameScene만을 독자적으로 실행했을 때와는 완전히 다른 모습이었습니다.-전개문제 해결을 위해 다음과 같은 방법을 시도하였습니다. 1.UIManager에서 Light 오브젝트를 ..

카테고리 없음 2025.03.18

2025.02.27 팀프로젝트 Sparta Archer 트러블 슈팅

2025. 02. 27팀 프로젝트 Sparta Archer 트러블 슈팅  - 배경씬을 이동해도 UI Manager 가 파괴되지 않게 싱글톤으로 설정해준 다음, 게임씬에서 UI씬으로 옮겨갔을 때 UI Manager 는 남기고 Player 오브젝트만 파괴한 뒤, 다시 게임씬으로 옮겨갈 때 남아있는 UI Manager와 새로 생성한 Player 오브젝트를 활용하고자 하는 상황이었습니다.- 발단Player 오브젝트에서 정보를 받아와 UI Manager에 있는 Player Hp Bar UI를 업데이트 하고자 했으나, 다음과 같은 오류가 발생하였습니다. null reference exception object reference not set to an instance of an object 새로 생성된 Player..

카테고리 없음 2025.02.27

2025.02.20 TIL (UNITY 게임 만들기 트러블 슈팅)

오늘의 TIL 요약 :지금까지 배운 c#을 활용하여 간단한 Unity 게임을 여러 개 만들었다.그 과정에서 겪었던 한 가지 오류에 대해서 트러블 슈팅을 진행하고자 한다.    -배경Unity 2022.3 LTS버전의 2D 프로젝트 템플릿을 활용하여 마우스 버튼 입력을 진행할 시, 캐릭터가 점프하여 위로 떠올랐다가 제자리에 다시 착지하는 기능을 개발 중이었습니다. 다른 횡스크롤 게임 처럼 장애물을 점프로 피할 수 있게끔 만드는 것이 주 목적이었습니다.-발단기능 개발을 진행하자, 크게 세가지 문제점이 나타나기 시작했습니다. (1) 제한 없이 점프가 계속 가능한 캐릭터(2) 아무리 점프 가속력을 수정해도 변함없이 약한 힘으로 뛰어오르는 캐릭터(3) 진행 경로를 따라 걷다 말고 느닷없이 넘어지는 캐릭터-전개위 ..

카테고리 없음 2025.02.20

2025.02.10 TIL (Git 팀 프로젝트, Text Rpg 구현 심화)

오늘 진행한 것 - Git 레퍼지토리, 브랜치 생성 및 push와 pull의 이해- 새 TextRpg 게임 시작 화면 구현- 상태 보기 화면 구현- 전투 시작 화면 구현- 퀘스트 기능 구현핵심 내용-전투 시작 화면에서 Deep Clone을 구현   이번에 팀 프로젝트를 진행하면서 한 가지 문제점이 생겼다. Monster 객체가 담긴 monsterList에서 몇몇의 몬스터를 뽑아와 battleList를 생성해야하는데, 내가 마주친 몬스터, 즉 battleList에 등장한 몬스터 한 마리의 피가 깎이자, 동일한 종류의 또다른 몬스터의 피도 같이 깎인 것이다. 이유가 무엇인가 찾아보니...   battleList.Add( monsterList[whichMonster]);   내가 마주친 몬스터 리스트를 생성하..

카테고리 없음 2025.02.10

2025.02.04 TIL (C# 문법, TextRpg 구현) 2

오늘 공부한 것 (C# 문법) - 다양한 종류의 정렬 알고리즘(선택정렬, 삽입정렬, 퀵정렬, 병합정렬) 오늘 구현한 것 (TextRpg 제작)- 아이템 정보를 클래스/ 구조체로 활용- 아이템 정보를 배열로 관리- 나만의 아이템 추가- 휴식 기능 추가- 판매하기 기능 추가- 장착 개선- 레벨업 기능 추가- 던전 입장 기능 추가- 게임 저장하기 추가 오늘의 핵심 내용-게임 저장하기 추가 글로만 적었을 땐 정말 많은 내용을 공부하고 구현한 것 같지만, 사실 그렇지 않다.c#문법 같은 경우에는 저 위에 적힌 한 줄이 전부고,TextRpg 제작 과정에서 구현한 대부분 기능은 이전에 만든 기능을 재탕한 것이기 때문이다.오늘 진정으로 내게 새로운 배움을 준 건 게임 저장과 관련된 내용이다.  게임 저장하기  게임을 ..

카테고리 없음 2025.02.04

2025.02.03 TIL (c# 문법, Text RPG 제작)

오늘 공부한 것 (C# 문법) - class 와 객체의 활용- 접근 제한자 (public, private 등)- 필드와 메서드- 생성자, 소멸자- 프로퍼티, 자동 프로퍼티 ( get; set;)- 인터페이스, enum의 활용, 예외 처리외 다양한 c# 심화 문법 오늘 구현한 것 (TextRpg 제작)- 게임 시작시 이름과 직업 입력받기- 게임 시작 화면 구현- 캐릭터 정보를 확인할 수 있는 상태창 구현- 현재 가지고 있는 아이템을 확인할 수 있는 인벤토리창 구현- 인벤토리에서의 아이템 장착, 해제 구현- 상점 화면 구현- 상점에서의 아이템 구매 기능 구현 핵심 내용1. class와 객체의 활용2. 게임 시작시 이름과 직업 입력 받기3. 캐릭터 정보를 확인할 상태창 구현4. 인벤토리창 구현 (상점 기능은 ..

카테고리 없음 2025.02.03

2025.01.23 TIL (unity 안드로이드 배포하기, 광고 붙이기 중 생긴 오류)

오늘은 어제까지 만든 unity 게임, 카드 뒤집기를 안드로이드 apk 형식으로 배포하고, 그 앱에 광고를 넣는 방법을 공부하였다. 오늘은 꽤 여러 오류를 맞닥뜨렸다. 그 중 몇가지 기억에 남는 오류를 여기에 정리하겠다. 1. 에러:JDK directory is not set or invalid오늘 안드로이드 배포를 진행하던 도중 생긴 오류이다. 해당 오류를 해결하는 방법은 다음과 같다. unity hub의 Installs에 들어가, 톱니바퀴 모양으로 누르고 Add moduled를 클릭해준다. 그리고 뜨는 다음과 같은 창에서 'open JDK'를 선택해 설치해주면 해결된다. 2. 에러:unable to find java in the system path unity광고를 앱에 내걸기 위해 사전 작업을 진행..

카테고리 없음 2025.01.23

2025.01.22 TIL (생선 지키기 게임, 카드 맞추기 게임)

원래는 제가 어떤 것을 배웠는지 상세히 적을 예정이었지만... 그렇게까지 하면 배우는 시간보다 TIL을 쓰는 시간이 더 걸릴것 같아,무엇을 만들었는지만 간단히 쓰고 핵심 알고리즘이나 명령어에 대해 남겨보도록 하겠습니다. 오늘은 두 가지 게임 개발에 관해 학습했습니다. 하나는 생선 지키기 게임이고, 다른 하나는 카드 맞추기 게임입니다. 1. 생선 지키기 게임오늘 해당 게임을 구현하기 위해서 학습을 진행하던 중, 새롭고 흥미로운 점 두 가지를 알게 되었다.  첫번째는 HP 바 구현이다.이 중 몹의 겉모습을 담당하는 게임 오브젝트가 Hungry라면,HP바의 빈 부분을 담당하는건 UI ->Image를 통해 생성된 Back.HP바의 잔여 부분을 담당하는건 같은 방법을 통해 생성된 Front이다.Front가 왼쪽을..

카테고리 없음 2025.01.22

2025.01.21 TIL (빗물받기, 풍선 지키기 게임 개발)

오늘은 두 가지 게임 개발 방법을 학습하였습니다. 빗물받기 게임- 플레이어가 떨어지는 빗물을 받으면 점수가 오른다. 풍선 지키기 게임-플레이어가 떨어지는 박스로부터 풍선을 지킨다.  1. 빗물 받기 게임 개발 학습 과정1_(1) 캐릭터 좌우 움직임 구현  화면 안의 캐릭터가 좌우로 움직이는 모습을 구현하기 위해 Rtan.cs라는 이름의 스크립트를 생성해 주었습니다. 이때 direction 값을 조절하여 캐릭터가 좌로향할지 우로 향할지 정하게끔 만들어주었으며,renderer.flipX 명령어를 이용하여 캐릭터가 왼쪽을 쳐다보게 만들지 오른쪽을 쳐다보게 만들지 결정해주었습니다.renderer.flipX의 값이 true인 경우 왼쪽을 쳐다봅니다. 1_(2) 떨어지는 빗방울 구현하늘에서 랜덤한 위치로부터 빗방울..

카테고리 없음 2025.01.21