반응형

유니티 28

[폭풍의 메이드 : 심장주의보] 개발일지 #3 - 메이드 도움 요청

안녕하세요 버거덕게임즈입니다. 이번에는 저희 게임 [폭풍의 메이드 : 심장주의보]에서 특징으로 삼고있는 인게임 도중 다양한 미니게임을 주제로 일지를 작성해보겠습니다. [폭풍의 메이드 : 심장주의보]에서 카페를 영업하다보면 다양한 이벤트가 발생합니다. 메이드가 주인님에게 서비스를 제공하다가 도움이 필요할때나 도중에 문제가 발생했을때 등등 여러 상황이 펼쳐집니다. 발생한 이벤트에 따라 랜덤하게 다양한 미니게임 혹은 선택지가 주어집니다. 오므라이스 케찹 그리기, 메이드 댄스와 함게 리듬게임, 음료수 쉐이킹, 독심술(?)등등 여러가지를 즐기실 수 있습니다. 기존의 물장사 아일랜드 게임에서는 한가지타입의 이벤트만 발생한다면, 저희 [폭풍의 메이드 : 심장주의보]에서는 좀더 다양한 상황을 체험할수있고, 그를 통해 ..

개발 프로젝트 2024.03.17

[유니티 firebase] - 파이어베이스 시작하기

게임을 개발하다보면 데이터베이스의 필요성을 느끼실겁니다. 하지만 접근성이 높다는 생각에 막연하게 어렵게만 느꼈던 과거의 저에게 이렇게 해보자라는 의미로 글을 작성해봅니다. 유니티에서 파이어베이스 사용 및 연동에 대해서 소개하겠습니다. 앞으로도 Analytics, Auth, Storage, RemoteConfig, FireStore, Crashlytics, Messaging 등을 다뤄볼 예정입니다. 1. 프로젝트 추가 파이어베이스 콘솔 링크 : https://console.firebase.google.com/?hl=ko 파이어베이스 콘솔에서 프로젝트를 추가해줍니다. 2. 프로젝트에 앱 추가 프로젝트가 생성이 되면 앱을 추가해야합니다. 유니티를 위한 앱추가가 있군요. 2-1 앱등록 유니티 프로젝트에서 Pro..

게임 개발/Unity 2023.05.08

[유니티 C#] 특정 텍스트 눌러서 팝업 띄우기

오랜만에 재밌는 주제로 돌아왔습니다. 게임을 하다보면 스킬을 확인해야하는 경우가 많은데요 그 중 하나의 방법으로 스킬설명의 특정 텍스트를 터치하면 추가 스킬 설명이 되는 경우가 있습니다. 그것에 대한 고민을 하다가 정답은 아닐 수 도있지만 나름의 방법을 찾아서 짧게나마 공유하고자 합니다. * URL 하이퍼링크 같은 기능을 개조해서 사용했습니다. 최종 구현된 모습입니다. 보시다시피 원하는 텍스트에만 터치기능을 제공합니다. 왼쪽 이미지의 하이라키 구조는 크게 신경쓸 필요없이 TMP를 사용했다는것에 주의 해주시면 됩니다. 오른쪽 이미지에서는 텍스트 string에 에 주의해주시면됩니다. 원래는 이런식으로 richtext가 작성되어있고 해당 텍스트를 누르면 무언가의 주소 홈페이지를 여는 기능이지만 일부 개조하여 ..

게임 개발/Unity 2022.08.29

[디자인패턴] 12. 유니티에서 컴포지트 패턴 feat.이터레이터 패턴

이번 챕터에서는 컴포지트 패턴을 이터레이터 패턴에 이어서 같은 주제, monster info와 weapon info로 소개하겠습니다. 컴포지트 패턴의 정의 객체들을 트리구조로 구성하여 부분 - 전체 계층구조를 구현합니다. 컴포지트 패턴을 이용하면 개별객체와 복합객체를 똑같은 방법으로 다룰 수 있게 됩니다. 이전시간에 배운 이터레이터 패턴과 혼합하여 설명하자면 복합객체인 iterator와 개별객체인 item이 구분할 필요가 없어, item을 가진 iterator를 가진 그위에 iterator를 가지는 형태, 즉 트리구조로 복합객체를 만들어갈 수 있습니다. 복합객체와 개별객체가 상속받을 infoComponent를 만들었습니다. 복합객체와 개별객체의 구분을 없애줄 것입니다. public abstract cla..

[디자인 패턴] 11. 유니티에서 이터레이터 패턴

이번에는 이터레이터 패턴, 반복자 패턴입니다. 컬렉션 객체 안에 들어있는 모든 항목에 접근하는 방식이 통일시킨다면 어떤 종류의 집합체에 대해서도 사용할 수 있는 하나의 함수로 모든 컬렉션을 다룰수있게됩니다. 핵심은 다양한 집합체를 하나의 클래스로 상속받아 관리하며 같은 함수로 내부에 접근을 할 수 있다는 것입니다. 넓게보자면 이전에 포스팅했었던 어댑터패턴과 관통하는 부분이 있을 수 있습니다. 2021.09.30 - [게임 개발/디자인 패턴] - [디자인패턴] 9. 유니티에서의 어댑터 패턴 퍼사드 패턴 [디자인패턴] 9. 유니티에서의 어댑터 패턴 퍼사드 패턴 이번 챕터에서는 두개의 패턴이 함께 있어서 같이 작성했습니다. 첫번째로 어댑터 패턴입니다. 어댑터 패턴 정의 한 클래스의 인터페이스를 클라이언트에서 ..

[디자인패턴] 10. 유니티에서 템플릿 메소드 패턴

이름은 생소하지만 알게모르게 사용하고있던 패턴 '템플릿 메소드 패턴'입니다! 템플릿 메소드 패턴 정의 어떤 작업 알고리즘의 골격을 정의합니다. 일부 단계는 서브클래스에서 구현하도록 할 수 있습니다. 템플릿 메소드를 이용하면 알고리즘의 구조는 그대로 유지하면서 특정 단계만 서브클래스에서 새로 정의하도록 할 수 있습니다. 적용되는 객체지향의 원칙 수퍼클래스에서 모든것을 관리하고 필요한 서브클래스를 불러서 써야합니다. 템플릿 메소드 패턴의 핵심 재활용성을 생각하면서!(밑줄쫙) 추상클래스를 사용해서 수퍼클래스에 중복되는 부분은 구현하고, 서브 클래스에 달라질 수 있는 부분(바뀌는 부분)을 구현해줍니다. * 수퍼클래스에서 알고리즘을 관리하는 템플릿 메소드가 하나 있어야 합니다. * 템플릿 메소드는 알고리즘만 관리..

[디자인패턴] 9. 유니티에서의 어댑터 패턴 퍼사드 패턴

이번 챕터에서는 두개의 패턴이 함께 있어서 같이 작성했습니다. 첫번째로 어댑터 패턴입니다. 어댑터 패턴 정의 한 클래스의 인터페이스를 클라이언트에서 사용하고자 하는 다른 인터페이스로 변환합니다. 어댑터를 이용하면 인터페이스 호환성 문제 때문에 같이 쓸 수 없는 클래스들을 연결해서 쓸 수 있습니다. 유니티에서 예시로는 결제모듈을 예시로 들었습니다. 실제로는 문제 없지만 만약에 AOS와 IOS의 결제 함수명이 다를때를 가정하고 구현했습니다. // 결제 어댑터 인터페이스 public interface PurchaseAdapter { void Purchase(); } // AOS 결제 모듈 public class AndroidInApp : PurchaseAdapter { public void Purchase()..

[디자인패턴] 8. 유니티에서의 커맨드 패턴

꿀같은 추석시즌동안 너무 행복하게 쉬었답니다. 추석이 전부 가버리기 전에 지난주에 공부했던 커맨드 패턴에 대해 정리해보겠습니다. 커맨드 패턴 핵심 요청하는 객체와 요청을 수행하는 객체를 분리한다. 커맨드 객체의 Execute()를 호출한다. 작업취소기능도 지원할 수 있다. (구현할때는 사용하지 않았습니다.) 아래 객체지향의 원칙을 따른다. 객체지향의 원칙 바뀌는 부분을 캡슐화한다. 상속보다는 구성을 활용한다. 구현이 아닌 인터페이스에 맞춰서 프로그래밍한다. 서로 상호작용하는 객체사이에서 가능하면 느슨하게 결합하는 디자인을 사용한다. 확장에는 열려있지만 변경에는 닫혀있어야한다. 추상화된것에 의존하라 구상클래스에 의존하지 않도록 한다. 유니티에서 커맨드 패턴 사용 유니티에서 커맨드 패턴을 사용하기 적절한 곳..

[유니티 C#] MonoBehaviour를 상속 받아야하는 Singleton, 모노 싱글톤

이전에 싱글톤 관련 글을 정리하면서 마지막에 한번 언급했던 내용을 다뤄보겠습니다! https://welcomeheesuk.tistory.com/62 [디자인패턴] 03. 유니티에서의 싱글톤(Singleton) 패턴 지난 수요일에 친구들과 디자인패턴에 대해 스터디를 하면서 제 스스로로 잘 알고 사용하고 있으면서도 잘 모르겠는 아리송한 싱글톤 패턴에 대해서 다시 한번 정리하고자 합니다. 저는 예전에 welcomeheesuk.tistory.com 유니티로 게임을 개발하다보면 Sington패턴으로 정보들을 관리하면 좋을때가 많습니다. 그러면서 MonoBehaviour를 상속받는데 싱글톤처럼 동작하도록 구현하고 싶을때가 있습니다. 그럴때 사용하면 좋은것이 바로 '모노싱글톤(MonoSingleton)'입니다. 이 ..

게임 개발/Unity 2021.08.29

[전 프로젝트 이야기] "레전드 오브 아레나"

히스토리도 남길 겸 예전에 개발했던 프로젝트를 소개하고자 합니다. 인디개발을 시작하고 2번째 프로젝트로써 출시 후 1만 누적 다운로드와 영광의 구글 피처드에 등록되었던 나름 괜찮은 성적을 보여준 게임이다. 심지어 광고도 처음으로 요청해봤다. https://youtu.be/DQrFJ0zXQ98 식은땀 흘리면서 본 기억이.. 이래저래 게임개발과 서비스에 있어서 많은 경험을 안겨준 효자같은 게임이었습니다. 3인 개발 인디게임 개발기간: 3개월 사용기술 : Unity, C# 제한된 공간안에서 오랫동안 살아남는 캐주얼 서바이벌 게임 누적 다운로드 1만, ‘금주의 신규 추천게임’ 구글 피처드 등 가장 많은 반응을 받은 게임 출시 후 다양한 마케팅 업체와 함께 SDK 연동 경험 구글 , 페이스북 애널리틱스를 처음으로..

개발 프로젝트 2021.08.28
반응형