[Unity] 키우기 게임 개발 일지 Day 10
·
개인프로젝트/[Unity] 키우기 게임
MainScene UI 개발작명이 마음에 들지 않아 Global에서 MainScene으로 바꿨다.메인 씬의 UI구나 하는 느낌이 들 수 있게끔 말이다.   UI 연결하기 우선 각 메뉴의 Presenter, UIPresenter, UIView와 캔버스를 만들었다.지금은 비어있으나 딱히 상관없다.연결하는 것이 목표기 때문이다. 버튼을 누르면 해당 캔버스가 켜지거나 꺼지는 기능을 만들 것이다. 파이프라인이 복잡해지게 하고 싶진 않아서 MainSceneUIPresenter 클래스가 UIPresenter를 들고 있지 않게 할 것이다.대신 MainScenePresenter를 통해 Show, Hide를 담은 콜백을 전달할 것이다.  public class MainSceneUIPresenterAction {..
[Unity] 키우기 게임 개발 일지 Day 9
·
개인프로젝트/[Unity] 키우기 게임
Store public class Store { #region Property public StoreSize Size => size; #endregion #region Variable private List employees; private StoreSize size; #endregion #region Public Method public Store(StoreSize size) { employees = new List(3); this.size = size; } public void SetEmployee(int idx, Employee employee) { employees[idx] = employee; } public void SetSize(StoreSize size) { this.size = size;..
[Unity] 키우기 게임 개발 일지 Day 8
·
개인프로젝트/[Unity] 키우기 게임
랭크 업 랭크 업에 들어가는 돈을 담은 테이블을 만들었다. 그리고 레벨 업과 마찬가지로 파싱 함수 만들고 UI 연동하고... 어찌 됐든 문제없이 작동하는 것을 확인했다. 이거 올리고 보니 레벨 업이라 잘못 써져 있는 게 보여서 부랴부랴 수정도 했다. 점포 UI 구상 이제 점포 UI 만들기로 넘어가야 하는데 막상 만드려고 보니까 점포는 배경을 그려야 하니 리소스 준비가 많이 필요할 뿐, UI는 딱히 뭘 할 게 없었다. 그냥 직원을 편성할 수 있는 시스템만 부여해 주면 끝이다. 이러한 숨기고 꺼낼 수 있는 패널을 만들고 각 슬롯을 터치하면 직원 목록이 나오고, 또 아이콘을 터치하면 직원이 배치되도록 하고 싶다. 여기에는 저번에 만들어 둔 EmployeeButton을 또 사용할 것이다. UI 개발 문제가 좀 ..
[Unity] 키우기 게임 개발 일지 Day 7
·
개인프로젝트/[Unity] 키우기 게임
단순하게 가자 오늘은 쉬려고 하니 할 일이 없어서 그냥 내일 할 작업을 조금 미리 해두려고 했다. 그러고 레벨 업 하는 부분을 개발하려고 UI부터 배치하니 너무 조잡해 보이는 것이었다. 유저들도 일일이 경험치를 계산하는 것을 귀찮아할 것이고 나도 굳이 이런 메커니즘으로 갈 필요는 없는 것 같아서 원 터치로 다음 레벨로 레벨업 하도록 UX를 수정하였다. 결정적으로 키우기 게임 레퍼런스로 사용하고 있는 세븐나이츠 키우기에서도 원 터치로 레벨 업 하는 걸 보니 이게 요즘 트렌드인 것 같았다. 전에 뱀서 라이크를 만들 때는 무조건 경험치를 얻어 레벨업 해야 했기 때문에 이번에도 같은 룰을 적용할 생각이었는데 생각해 보니 게임 장르에 따라 다른 룰을 도입하는 것은 당연한 것이다. 데이터 찾기 public int ..
[Unity] 키우기 게임 개발 일지 Day 6
·
개인프로젝트/[Unity] 키우기 게임
캐릭터 데이터 테이블 만들기 세계관, 스토리가 중요한 게임이 아니기 때문에 개성 강하고 코믹한 캐릭터를 만들고 싶었다. 그래서 콘셉트가 확고한 캐릭터들을 25명 구상하니 이거 만드는 데에만 오랜 시간이 걸렸다. 프로필 스프라이트, 스탠딩 스프라이트는 리소스 폴더 내의 주소로 적었다. ID는 등급 별로 1000씩 차이를 줬는데 이게 문제가 되는 일은 없었으면 좋겠다. 폰트 추가 원활한 테스트를 위해 한글이 되는 폰트를 다운로드하였다. 고도체라는 상업적 이용이 가능한 무료 폰트를 사용하였다. 파싱 public struct Character { public string Name; public Sprite ProfileSprite; public Sprite StandingSprite; public Grade G..
[Unity] 키우기 게임 개발 일지 Day 5
·
개인프로젝트/[Unity] 키우기 게임
보유 직원 목록 content 보유 직원 아이콘에 필요한 요소들을 추가하였다. 이름, 등급, 프로필 이미지라는 최소한의 정보만 들어갈 예정이다. 임의로 소환하여 사용해야 하기 때문에 프리팹으로 만들었다. 다른 부분은 Character 객체에서 가져와 그대로 넣어주면 되지만 등급을 나타내는 별은 Enum값으로 되어있기 때문에 매치되는 별 이미지를 넣어야 했다. 하는 김에 별 이미지도 직접 그렸다. 적용하면 이런 느낌인데 나쁘지 않은 것 같다. 아님 말고. public class EmployeeButton : MonoBehaviour { #region Property #endregion #region Variable [SerializeField] private Button button; [SerializeF..
[Unity] 키우기 게임 개발 일지 Day 4
·
개인프로젝트/[Unity] 키우기 게임
데이터 테이블 만들기 어제 만든 enum에 key를 매칭하여 찾을 수 있게끔 경험치 테이블과 수입 테이블을 만들었다. 경험치는 이전 레벨의 두 배로, 수입은 무리 함수를 사용하여 만들었기 때문에 굳이 테이블을 만들지 않고 공식을 적용해도 되지만 이후 밸런스 조정이 편하도록 테이블로 작성하였다. 경험치 테이블과 수입 테이블을 보며 적절한 밸런스를 맞춰서 적절한 테이블을 만든다는 게 정말 쉽지 않았다. 솔직히 아직도 부족함이 많을 거라 생각하지만 3시간 동안 저 테이블을 붙잡고 있었으니 오늘은 이만하면 된 것 같다. 비어있는 부분들은 int 파싱에서 오류가 나기 때문에 파싱 하는 부분에서 예외처리 해주거나 0으로 채워주어야 한다. 나는 그냥 0으로 채웠으니 접근되지 않아야 하는 값에 접근하기 전에 힘들게 예..
[Unity] 키우기 게임 개발 일지 Day 3
·
개인프로젝트/[Unity] 키우기 게임
확고해진 방향성 저번에 키우기 게임으로 방향을 확실히 잡았더니 기획이 간편해졌다. 지도 확장, 그리고 직원 수집과 육성 두 가지 키워드에 맞추어 머리를 열심히 굴리니 얼추 필요한 부분들의 메커니즘이 완성된 것 같다. 그리고 UML으로 주요 클래스들의 참조 관계도를 그려봤다. 아마도 개발 도중 많은 추가와 변경이 생기는 것을 막을 순 없겠지만 최대한 줄여보기 위해 힘썼다. 참 단순한 것 같지만 내가 제일 중독됐었던 게임인 "cell to sinqularity"라는 게임을 생각해 보면 사람을 사로잡을 수 있는 방법이 복잡한 메커니즘뿐은 아닐 거라 생각한다. 어찌 됐든 조미료는 프로토타입이 나온 뒤 치도록 하고 구상 단계는 이쯤에서 멈추기로 하였다. 계획을 세우자 이대로 개발을 시작하려다 여전히 체계가 부족하..