반응형

전체 글 80

개발중이던 게임을 출시했어요ㅎㅎ

안녕하세요! 그동안 개발관련글도 못올리고 해왔던 인디게임개발을 드디어 마무리가 되었습니다 (사실 이제부터 시작이라는....ㅠㅠㅠㅠㅠㅠ) 이번에 저희팀에서 “해적왕: 오렌지의 저주”라는 이름으로 로그라이크 카드게임을 출시했습니다ㅎㅎ 카드를 모아서 오렌지 친구들과 일대일 막고라하는 게임이라고 생각해주시면 좋을 것 같아요!!ㅎㅎ 캐릭터마다 개성있는 플레이가 준비되어있고, 가볍게 즐기실 수 있는 게임입니다ㅎㅎ 카드게임을 좋아하신다면! 한번씩 플레이 부탁드립니다. 감사합니다ㅎㅎ 약 6개월정도 진행해온 프로젝트인데ㅋㅋ 몇년은 개발했던 기분이...ㄷㄷ 고생도 많이했지만 공부도 많이 되었던 것 같아요ㅎㅎ 출시까지 진행하기 힘들다는 국룰에도 불구하고 어떻게 출시까지 결과를 낸게 가장 큰 결실이지 않나 생각이 드네요ㅎㅎ ..

개발 프로젝트 2020.01.31

[Unity C#] Unity 2019.3.***버전에서의 NDK

오랜시간 찾은 끝에 2019.3.0a7 버전에서 돌아가는 NDK를 찾을수있었다. ndk-r19c도 아닌 ndk-r19가 필요했던 거시어따... Windows 64 Bit – https://dl.google.com/android/repository/android-ndk-r19-windows-x86_64.zip Mac OS X – https://dl.google.com/android/repository/android-ndk-r19-darwin-x86_64.zip 불러오는 중입니다... 이걸로 빌드나 출시하면 될것같아요...ㅠ 출시준비로 정신이 없다는 이유가 다른 이런 버전문제나, 경로문제로 고통받는거였나오ㅠㅠ

게임 개발/Unity 2020.01.11

[Unity C#] 유니티 해상도대응 (갤럭시 S10) - Safearea

오랜만에 다시 포스팅을 시작하네요ㅎㅎ 유니티로 모바일게임을 빌드할때 갤럭시s10이나 요즘 나온 모바일의 해상도대응에 관한글이에요ㅎㅎ 어찌보면 당연한거지만 그동안해결을못해서 애를 많이먹었는데... 바로 핸드폰의 safearea입니다. 보시다시피 그냥 게임을 빌드하게되면 저 전면카메라가 게임을 가리는 경우가 생겨서 해결하고싶었는데요 찾다가찾다가 이 화면영역을 Safearea라하는것을 알게되고 빌드세팅에서 대응을 할수있게 제공되어있더라구요ㅎㅎ 신경쓰지않고 무조건 해상도를 고정하는 방법도 있으나, 세로나 가로가변을 원하시는 분들은 이항목을 체크해제하시면 해결이 가능할 것 입니다ㅎㅎ 포스팅을 마무리하면서 제가 요즘 개발하고있는 게임 해적왕: 오렌지의 저주올려봅니다ㅎㅎ 장르는 로그라이크 카드게임으로 모바일로 and..

게임 개발/Unity 2019.12.11

[Unity C#] 팝업창 만들기 - 빌더패턴의 활용

기존에 포스팅했었던 빌더패턴을 기반으로 유니티에서 가장 기초적인 빌더패턴을 이용한 팝업창을 구현해봤습니다. https://welcomeheesuk.tistory.com/44?category=786876 [디자인패턴]01. 빌더패턴(builder pattern) 빌더 패턴 위키백과: https://ko.wikipedia.org/wiki/%EB%B9%8C%EB%8D%94_%ED%8C%A8%ED%84%B4 1. 빌더패턴 빌더패턴이란 복합객체의 생성과정과 표현방법을 분리하여 동일한 생성절차에서 서로 다른 표현 결과를.. welcomeheesuk.tistory.com 1. 팝업빌더 사용법 1) 원하는 부분에서 팝업빌더를 new로 생성해줍니다. 2) 내부요소들을 세팅해주는 메소드를 호출해줍니다. 3) 마지막에 Bu..

게임 개발/Unity 2019.08.03

[유니티 C#] UI 터치영역 - 마우스, 터치 이벤트 만들기

이번 프로젝트를 진행하면서 겪은 시행착오를 공유하려고 합니다! 어려운것은 아니지만, 혹시 나중을 위해 정리해두겠습니다! 마우스 혹은 터치를 구현하게 되면 저 같은 경우에는 가장 먼저 생각나는것이 Input.GetMouseBottonDown()이나 Input.GetTouch()가 있었습니다. 하지만 보시다시피 전체화면에서 발생하는 터치이벤트... 저에게 필요했던건 일정영역 안에서만 터치이벤트가 발생하는 것이었습니다. 그래서 찾아낸것이 IPointer 인터페이스입니다. // EventSystems 네임스페이스를 사용해야 가능 using UnityEngine.EventSystems; EventSystems 네임스페이스를 사용해서 스크립트에 원하는 Ipointer 이벤트핸들러를 상속받으면 인터페이스에 선언한 메..

게임 개발/Unity 2019.07.27

[unity C#] - 타이머 설정하기

타이머를 설정하는것은 정말 빈번하게 사용하게됩니다. 그렇기 때문에 좀더 좋은 형태를 가지도록 구현하고자 정리하려고 합니다. Update를 이용한 방법 Private float time = 0f; Void Update() { this.time += Time.deltaTime; if(this.time > 5f) { Debug.Log(“Do something!”); this.time = 0; } } Time.deltaTime은 지난 프레임이 완료되는게까지 걸린 시간을 말합니다. 저희가 만든 time프로퍼티에 매 프레임마다 더해줌으로써 현재까지 걸린시간을 측정할 수 있습니다. 그 time프로퍼티가 5초를 넘는순간 어떠한 작업을 하고 다시 0초로 초기화해줘서 5초마다 일정한 시간을 가지고 어떠한 반복작업을 하는것..

게임 개발/Unity 2019.04.03

[Unity C#] FSM 디자인 패턴 적용시켜보기

FSM in Unity 이전에 공부했었던 FSM, finite state machine을 유니티 상에서 구현해 캐릭터의 idle, move 상태를 구현했습니다.이러한 디자인패턴을 기반으로 캐릭터들을 구현하게된다면 좀더 아름다운 코드가 나올수있을것같습니다. 완벽하게는 아니지만 각 객체의 역할을 분리할수있었다는 점에서 편리할수있을것같습니다. 우선 앞으로 정의할 상태들의 인터페이스 IState를 만들었습니다. public interface IState{// 인터페이스로 구현함으로써 player클래스에서 이 인터페이스로 호출합니다.void OnEnter(Player player);void Update();void OnExit();} OnEnter는 상태가 시작될때 호출됩니다. player클래스를 파라미터로 받아..

게임 개발/Unity 2019.03.03

[디자인패턴]02. - FSM (Finite State Machine) 유한상태기계

FSM(finite state machine): 유한상태기계 정의유한한 갯수의 상태들로 구성된 기계를 말합니다.특정 객체의 상태를 관리하기위한 패턴입니다.이벤트를 받고 그에 따라 현재상태에서 다음상태로의 전이가 이뤄집니다. 게임에서 npc의 행동AI에 주로 사용됩니다. 특징유한한 수의 상태들만을 가집니다.자신은 하나의 상태만을 가지고 있습니다. 행동을 하나의 객체로 모듈화 하는것을 목표로 합니다.자신의 현재상태를 확인 할수 있어야합니다.외부로부터의 입력, 즉 이벤트를 받습니다. 자신의 현재상태와 받아온 이벤트로 정해진 논리에 따라 자신의 상태를 변경할 수 있습니다. FSM과 statePattern의 차이 상태패턴(stateParrern)은 객체지향 방식으로 상태기계를 구현하는 행위, 디자인패턴을 말합니다..

[디자인패턴]01. 빌더패턴(builder pattern)

빌더 패턴 위키백과: https://ko.wikipedia.org/wiki/%EB%B9%8C%EB%8D%94_%ED%8C%A8%ED%84%B4 1. 빌더패턴 빌더패턴이란 복합객체의 생성과정과 표현방법을 분리하여 동일한 생성절차에서 서로 다른 표현 결과를 만들 수 있게하는 패턴이다. 즉, 어떠한 복합적인 정보를 지녀야할 객체를 생성하는 과정과 각기다른 정보를 표현하여 보여주는것을 분리하여 비슷한 형태를 가졌지만 서로 각기 다른것들을 표현하는 객체를 생성하는 패턴이라고 정리했습니다. 경험적인 예시로 팝업창이 있었습니다. 다른표현을 하지만 형태는 비슷한 이런 팝업창이 그 예시가 되지않을까 생각핬습니다. 호출되는 형식은 아래와 같이 두종류가 될것입니다.// 메소드체이닝을 하지않은 형태 const builder ..

[unity, c#]01. inspector 변수표시

유니티의 편리한 기능중 하나인 에디터의 오브젝트 인스펙터안에 클래스의 public 변수들이 노출되어 실행중에도 값을 편집하여 볼수있는 기능이 있습니다. 하지만 private변수는 보통 인스펙터에 숨겨진 상태라서 노출이 되지않습니다. 이렇게 private변수도 확인하고싶은 순간이 있을때 확인하는 방법이 있습니다. 첫번째 방법은 SerializeField로 원하는 변수위에 달아주는 방법이있습니다.이렇게 해주면 정확하게 원하는 변수만 확인이 가능하도록 만들어줍니다. 두번째 방법은 오브젝트 인스펙터의 debug모드를 활성화시켜 확인하는방법입니다.메뉴의 debug아이콘을 클릭하면 바로활성화되어 모든 변수를 인스펙터에 표시가 가능하게됩니다. 두가지 모두 유용한 방법이므로 이번에 알게된 이후로 자주사용하게 될것 같습..

게임 개발/Unity 2019.02.23
반응형