728x90

개발일지 8

[Unity/TIL] Firebase Cloud Functions - 서버에서 뽑기 로직 돌리기(2)

2025.05.19 - [프로젝트 일지/Unity] - [Unity/TIL] Firebase Cloud Functions - 서버에서 뽑기 로직 돌리기(1) [Unity/TIL] Firebase Cloud Functions (1) - 함수 배포하기프로젝트 '오집마'에서는 가챠 시스템이 존재한다. 그런데 가챠 로직을 클라에서 돌리고 있었는데, 이는 실제 출시하는 게임에서는 있을 수 없는 일이다! 그래서 우리도 Cloud Functions를 사용하여ramenkirby.tistory.com초기 세팅FirebaseFunctions 인스턴스를 받아놓는다. 비동기함수이므로 functions 함수를 호출하는 시점과 비교/판단해서 적잘한 곳에서 초기화하면 된다. FirebaseFunctions functions;..

[Unity/TIL] Firebase Cloud Functions - 서버에서 뽑기 로직 돌리기(1)

프로젝트 '오집마'에서는 가챠 시스템이 존재한다. 그런데 가챠 로직을 클라에서 돌리고 있었는데, 이는 실제 출시하는 게임에서는 있을 수 없는 일이다! 그래서 우리도 Cloud Functions를 사용하여 서버에서 가챠를 돌리고 클라에서는 값만 받아서 보여주도록 만들었다. 이미 프로젝트에서 Firebase를 사용하고 있었기 때문에 Firebase Functions를 사용했다. 분명 사용법을 파이어베이스에서도 순서대로 제공하는데 척척 따라가지지 않는다. 그래서 미래에 또 헤맬지 모르는 나를 위해 작성해둠.준비단계1. 파베 프로젝트 만들어놓기 & Firebase Functions SDK 추가하기 2. 콘솔에서 Functions에 들어가서 '안내' 버튼 누르면 아래 화면 나옴3. 하라는대로 Node.js 설치 ..

[Unity/TIL] '오집마' 프로젝트 개발 일지 - 그리드 배치 시스템

타워 - 그리드 배치 시스템중간 발표가 다가오면서 개발을 중단하고 발표 준비를 하고 있다. 내가 구현했던 그리드 배치 시스템을 정리해보았다.월드좌표 ↔ 그리드 좌표 변환Unity의 Grid에서 제공하는 WorldToCell, GetCellCenterWorld 사용해서 그리드 단위로 위치시켰다. 타워 배치 가능 구역 체크이미 배치된 칸인지 체크이미 배치된 타워들의 위치 정보를 HashSet placedMap 에 저장하고 있다.HashSet을 사용한 이유→ 타워 배치 정보는 중복 불허 & 삽입과 삭제가 자주 일어난다. (HashSet의 삽입,삭제 : O(1))→ 배치 해제 / 재배치에도 효율적 Ray2D로 배치 가능한 LayerMask 체크슬롯에서 끌어다 배치유니티에서 제공하는 UnityEngine.Even..

[Unity/TIL] '오집마' 프로젝트 개발 일지 - 버그 수정, UX 개선, 남은 기능 구현

타워 탭에서만 드래그 가능하도록 수정1. 배치버튼 눌렀을 때 CurrentState 변경해주기인벤토리 작업하신 상윤님께서 배치모드와 선택모드를 구분하는 enum과 CurrentState를 만들어두셔서 사용했다.2. 배치모드가 아니라면 드래그 불가능하도록 타워의 진화 / 강화 구현 진화, 강화를 구현했다. 레벨이나 등급별 강화 수치 테이블이 없기 때문에 우선 하드코딩 대충 해놓은 모습.타워의 데이터를 담은 Tower.cs에 작성해놨는데 UpgradeManager가 생길 예정이라 옮겨질 것이다. 근데 강화버튼이 아직 아무 것과도 바인딩이 안되어이씀!!! 추후 연결 필요버그 - 타워 철거했던 곳에 다시 배치가 안되는 버그 (해결)1. 타워 철거 버튼 누르는 곳에서 RemovePlacedMap을 안해주고 있었다..

[Unity/TIL] '오집마' 최종 프로젝트 개발일지

맵 수정맵 스크롤 가능 여부, UI 자리를 고려한 맵으로 수정제작했다. UX에 대해 공부해보고 싶을지도. 타워 Base 제작타워 로직(Brain)과 외형(Body)의 Base들을 완성하고 구체화 테스트를 조금이나마 해봤다. 고민했던 부분들 작성함. RangeTowerController범위형 공격을 하기 때문에 범위 내에 있는 모든 적에게 타워 자신의 Cooldown에 맞춰 공격한다.범위 내 적을 탐지할 때는 콜라이더의 Trigger를 사용했다. Enemy가 OnTriggerEnter 되면 타겟에 포함시키고, OnTriggerExit 될 때는 타겟에서 제거한다. 타겟을 담고 있을 자료구조를 선택할 때 다음과 같은 사항들을 고려했다.삽입, 삭제가 자주 일어난다. 전체 순회를 돌아야 한다.위 두가지를 충족..

[Unity/TIL] 3D 개인 프로젝트 일지 (1)

UI 구조에 대한 고민Raycast로 오브젝트를 동적 조사 시에 오브젝트의 정보 등을 UI로 띄워야 한다. 나의 경우는 튜토리얼 오브젝트에 가까이 가면 해당 튜토리얼의 설명을 UI로 띄워 줄 것이다.이때띄우는 UI 창(UIDescription)을 각각 상황별로(아이템 튜토리얼, 슈퍼점프 튜토리얼 등) 만들어놓고 켰다껐다만 해야 하는지UIDescription 게임오브젝트 하나에 data만 그때그때 덮어써줄지 가 고민되었다. 잘못생각한것1번을 한다고 2번을 못하는 것이 아니다. 스크립트까지 다 따로 만드는 것이 아니기 때문에 1번을 하더라도 2번을 하면 된다.  해결ScriptableObject로 만든 튜토리얼 데이터를 각각 넣어줬다. 하나의 UIDescription 오브젝트에 다른 내용을 써가며 On/Of..

[Unity/TIL] 개인 2DMetaverse 개발 일지 (2) | Supermarket2D 프로젝트

Metaverse Supermarket2D 프로젝트육성 시뮬레이션 느낌을 내고 싶었던 나의 메타버스 프로젝트.애정이 많이 가던 2D 메타버스 개인 과제가 끝이 났다..!! 내가 좋아하는 컨셉으로 만들 생각에 에셋 찾는 과정에서부터 너무 재미있었다. 처음에 타일맵을 완성하고서 내가 벌써 2D 게임을 만들 수 있겠다는 생각에 잠시 으쓱했는데, 만들면서 아직 부족함이 많다는 것도 잘 느껴졌다. 튜터님께 질문드렸으니 피드백 기다려야지... 깃허브 리드미에 움짤과 함께 기능 개요를 올릴 것이니 블로그에는 자유로운 트러블슈팅 위주로 적겠다!!! https://github.com/yndoo/Metaverse_Supermarket2D GitHub - yndoo/Metaverse_Supermarket2DContribut..

[C#/TIL] TextRPG 팀 프로젝트 마무리

📝 팀 프로젝트를 마무리하며팀 프로젝트를 하면서 배워가는 것들이 정말 많았는데, 오늘은 다음 팀 프로젝트 때 참고할 수 있는 플젝 진행 방식과 관련된 좋았던 점과 아쉬웠던 점을 정리해보겠다.  우리팀 깃허브 https://github.com/yndoo/Dun9eonAndFi9ht GitHub - yndoo/Dun9eonAndFi9htContribute to yndoo/Dun9eonAndFi9ht development by creating an account on GitHub.github.com좋았던 점 1. 자세한 개발 계획(특히 클래스 설계)지난 프로젝트때마다 개발 계획 단계가 너무 중요하다고 느껴서 이번에 팀장을 맡게된 김에 팀원분들께 계획을 상세하게 짜고 시작하고 싶다고 말씀드렸다. 모두가 동의해..

728x90