Unity3D/[유니티 인디게임] 처음 공부부터 출시까지

[유니티 인디게임] 처음 공부부터 출시까지. - 4

상연 2021. 9. 2. 20:52

목차

    목차

      1. 처음 게임을 개발하기로 마음먹기까지, 그리고 생각보다 어려웠던 유니티.
      2. 두 개발 초보의 얼렁뚱땅 날림 게임 기획. 헤딩시작!
      3. 캐릭터 선택 / 장애물 기획 및 구현 / 스킬 일부 구현
      4. 핵심기능 개발 / 일부 UI 개선
      5. 코드 / UI  갈아엎기, MWU 제출을 위하여
      6. 튜토리얼/편의성/밸런스 패치
      7. 구글플레이 등록 / 인앱결제 / 애드몹 다방면 삽질끝에 출시를 앞두다.

    이전 글로부터 약 3주간 개발된 내용들입니다. (210714 ~ 210806)

    너무 세세하게 다루기에는 너무 길어질듯하여, 큰 틀 위주로만 소개시켜드리도록 하겠습니다!

    이 때 당시 개발할 때 리소스쪽은 컨셉을 잡고 시안을 만드느라 리소스는 적용되어있는 부분이 적으며,

    우선 기능적 구현을 우선시하여 개발했던 기억이 납니다.

    이번 글에서는 단순 기능구현측면 소개만 해 드리고, 다음 글에서 리소스가 추가되어 디자인이 개선된 모습을 보여드릴 수 있을 것 같네요.


     

    [7] 액티브 / 패시브 스킬 작업 완료.


     

    [액티브 스킬 9종이 구현 되었습니다.]

    지난번 제작했던 방패, 점멸, 유령화에 이어 총 6가지가 추가구현되었습니다.

    스킬버튼 및 스킬선택창에 적용될 이미지 스프라이트까지 작업완료되었습니다.

    001 : 방패

    - n초간 모든 피해를 1회 막는 방패를 생성합니다.

    피해를 입거나, n초가 지나는 경우 방패가 사라집니다.

    002 : 점멸

    - 일정거리를 빠르게 지나갑니다.

    003 : 유령화

    - n초간 모든 피해를 무시하는 상태가 됩니다.

    004 : 회복

    - 일정량의 체력을 회복합니다.

    005 : 이름 미정

    스테이지가 끝나고 스킬을 선택할 때, 선택가능한 스킬의 목록을 새로 보여줍니다.

    006 : 마이다스의 손

    화면에 존재하는 장애물을 골드로 바꿔버립니다.

    007 : 이름 미정

    n초간 시간을 느리게 흐르게 합니다.

    008 : 콤보 3배

    n초간 얻는 콤보가 3배로 적용됩니다.

    009 : 날개

    n초간 점프제한횟수가 없어집니다.

     

    [패시브 스킬 20종이 구현 되었습니다.]

    지난번에 가정만 해놨던 패시브스킬이 모두 구현되었습니다.

    스킬 선택창에서 선택시 실제 능력적용되는것까지 확인 되었습니다.

    20종 모두 이미지 스프라이트 작업 완료되었습니다.

    001 : 행운증가 - 행운 스탯이 증가합니다.

    002 : 한 번 더 - 액티브 스킬의 최대 사용가능 횟수가 1회 증가합니다. (Default : 1스테이지 1회)

    003 : 방어력 증가 - 방어력 스탯이 증가합니다.

    004 : 체력 증가 - 체력 스탯이 증가합니다.

    005 : 속도 증가 - 속도 스탯이 증가합니다.

    006 : 속도 감소 - 속도 스탯이 감소합니다.

    007 : 점프력 증가 - 점프력 스탯이 증가합니다.

    008 : 점프력 감소 - 점프렷 스탯이 감소합니다.

    009 : 낙하속도 증가 - 낙하속도 스탯이 증가합니다.

    010 : 낙하속도 감소 - 낙하속도 스탯이 감소합니다.

    011 : 자석 버그 - 맵에 존재하는 모든 골드를 플레이어쪽으로 끌어당깁니다.

    012 : 콤보획득량 증가 - 얻는 콤보가 기존의 2배가 됩니다.

    013 : 부활 - 체력을 모두 소진하는 경우, 최대 체력의 절반을 갖고 다시 일어섭니다.

    014 : 코인 획득량 증가 - 얻는 코인의 양이 증가합니다.

    015 : 자동 점프 - 일정 간격으로 랜덤한 확률에 의해 점프됩니다.

    016 : 랜덤 무적 - 일정 간격으로 랜덤한 확률에 의해 무적이 됩니다.

    017 : 피격시 무적시간 증가 - 피격된 경우 발생하는 무적시간이 증가합니다. (기존 1.2초)

    018 : 점프횟수증가 - 최대 점프가능한 횟수가 1 증가합니다.

    019 : 체력 재생 -일정한 간격으로 체력이 자동으로 회복됩니다.

    020 : 회복효율증가 - 회복증가 아이템 / 스킬의 적용되는 비율이 증가합니다.

     

    패시브 스킬의 경우에는 무조건 좋은 능력만 들어있지 않습니다.

    유저가 스테이지에서 다음 스테이지로 넘어가는 경우 무조건 한 가지 스킬을 선택해야 하는데, 일종의 복불복요소를 추가하고 싶었기 때문입니다.

    또한, 부활이라던지 자동 점프, 체력재생같이 1회만 적용되는 패시브 스킬의 경우에는

    1회 선택시 이후 선택지에서는 나오지 않게 적용되어있습니다.

    액티브 스킬의 경우에는 한 스테이지에 한 번만 사용이 가능하도록 기본 설정되어있습니다. 

    스테이지 이후 스킬 선택창에 적용된 스킬이미지 모습입니다.

    추후 배경이미지작업에 따라 많은 개선이 있을 예정입니다.


    [8] '재능'(가제) 시스템 추가완료


    '재능' 시스템이 추가되었습니다.

    이는 기기 단위로 영구 적용되는 능력치 증가입니다.

    어떠한 캐릭터를 선택해도 재능으로 증가한 스탯만큼 적용되어 플레이됩니다.

    현재 재능으로 올릴 수 있는 스탯은 총 4가지로, [체력, 방어력, 행운, 재생량]이 있습니다.

    새삼스럽게 지금 보니까 정말 기능만 구현한다고 저세상 UI를 해놨었네요.

    이거 보고 부끄러워서 올릴까 5분 고민했습니다...

    그리고 다음 일지에서 아마 이야기 할 것 같지만, 너무 기능만 우선시해서 UI 대충 만드는게 독이더라고요.

    '아 일단 만들고 봐야지, UI는 언제든지 뚝딱 건드리면 되니까~'

    근데 생각보다 아예 다시 짜야하고 배치를 어떻게 할지 계산부터 싹 다 해야하니까 이게 일을 두 번 하는게돼서...

    어쨌든 UI를 처음에 무지성으로 짜면 후회하게 된다 라는 교휸을 얻었다는 이야기였습니다. 

     

    아직은 밸런스적으로는 크게 조율을 하지 않았으나

    기본적인 기획으로는 '재능'으로 올릴 수 있는 스탯의 레벨 한계치는 10레벨로 생각하고 있습니다.

    '재능'을 업그레이드 하는것에 필요한 재화는 골드로 게임을 플레이하는것으로 얻을 수 있습니다.


    [9]. 캐릭터 추가 / 업그레이드 기능 추가


    우선, 캐릭터가 추가되었습니다.

    지난번에 첫 번째 캐릭터로 토끼를 보여드렸는데요. 그 토끼의 이미지도 완전히 바뀌었습니다.

    기존의 토끼가 이랬다면

    바뀐 토끼는 이렇게 되었습니다!

    훨씬 귀여워졌습니다. 

    그리고, 토끼 외에 3종의 캐릭터가 추가되었는데요.

    돼지 고양이 원숭이 이렇게 새로운 귀여운 동물들이 추가 되었습니다.

    그리고 캐릭터 추가 외에 각 캐릭터별로 성장시킬수 있는 캐릭터성장 시스템이 추가되었습니다.

    이것도 마찬가지로... 기능 구현에만 너무 치중해서 저세상 UI가 되어버렸네요.

    다음 개발일지에서는 정말 천지가 개변할정도의 모습을 보여드리겠습니다.

    우선 기획상으로는 레벨에 따라 얻을 수 있는 스탯포인트가 있다고 하고.

    레벨의 한계치는 5레벨 혹은 10레벨이됩니다.

    그리고 올릴 수 있는 스탯의 종류는 7종류로

    [체력 / 속도 / 점프력 / 점프횟수 / 하강속도 / 방어력 / 행운] 이렇게 설정되어있습니다.

    캐릭터를 강화하는 재화는 골드 / 씨앗으로

    씨앗은 게임을 끝까지 클리어한 경우에만 얻을 수 있는 특수재화입니다.


    [10] 시작 전 구매 아이템 추가완료


    보통 러닝게임이라면 있는, 시작 전에 구매하여 그 게임에만 1회 적용되는 아이템 구매를 만들었습니다.

    이거를 만들때는 그래도 나름 어느정도 UI 추후 틀을 생각을 해서 만들어서 좀 나은 편이네요.

    뒤의 배경의 경우에는 디자인 팀원이 이런 느낌으로 해줬으면 하는 바람으로 인터넷에서 임시로 따온 배경입니다.

    아이템에 있는 아이콘의 경우에도 대략적인 느낌을 전해주기위해 개발팀원이 대충 슥삭해서 그린 그림이구요.

     

    아이템은 6가지로 구성되어있습니다.

    1. 환웅의 환약

    이번 게임동안 최대 체력을 10% 증가시켜줍니다.

    2. 우사의 가호

    첫 번째 스테이지 한정으로 피해를 최초 1회 무시합니다. (시간제한 없음)

    3~ 4. 풍백의 작은 / 큰 축복

    시작시 n / m초동안 모든 함정을 파괴하며 달립니다.

    5. 쑥과 마늘

    랜덤으로 액티브 스킬을 하나 얻습니다.

    6. 환인의 선물

    랜덤으로 패시브로 적용되는 능력을 얻습니다.

    이로 적용되는 능력은 패시브 스킬의 항목과 유사하지만 상승폭이나 여러 부분에서 차이가 있습니다.

     

    사실 원래는 게임의 스토리 컨셉은 일절 생각안하고 러닝게임을 만든다는것만 생각하고 있었는데

    시작 전 구매 아이템부분을 구현하면서 장난으로 건국신화를 좀 따와볼까? 하면서 쑥과 마늘... 환인 풍백우사 등을 넣다보니 게임의 컨셉을 때는 고조선, 사람이 되기 위해 달리는 동물들의 이야기 방향으로 가닥을 잡게 됩니다.

    아마 다음 개발일지때는 이렇게 변한 스토리 컨셉에 따른 UI변화를 체감하실수 있을듯합니다.


    [11] 일부 UI 개선 / 플레이 개선


    위의 UI를 보면 개선할게 한 두가지가 아니지만, 우선 다른 UI가 일부 개선되었습니다

    첫번째로 메인 화면의 배경화면이 변경되었습니다.

    현재는 테마가 '숲' 하나밖에 없는 상황이지만, 추후 테마가 업데이트 된다면 테마의 변경에 따라 배경이 바뀌는 방향으로 진행 될 예정입니다.

    이에 여러 버튼 UI가 추가되었으며, 난이도 및 시작버튼의 경우에는 아직 개선되지 않았습니다.

    두번째로 플레이 화면 UI가 개선되었습니다.

    위의 사진이 개선되기 전, 아래 사진이 개선된 후 입니다.

    [1]. HP, EXP Gage Bar가 추가되었습니다.

    [2]. 콤보 UI가 추가되었습니다

    [3]. 획득한 골드량을 볼 수 있습니다.

    [4]. 조작버튼(점프 다운 스킬)의 이미지가 개선되었습니다.

     

    세번째로 일시정지 기능이 추가되었습니다.

    우측 상단의 Back 버튼을 누르면 게임이 일시정지되며

    위의 상황에서 NO 클릭 시 다시 일시정지가 풀리며 게임이 시작됩니다.

    다만, 이때당시 만들었던 일시정지의 경우에는 시간을 정지하는게 아닌 게임의 속도를 0으로 만들어 버렸으며

    점프키와 다운키의 조작을 막지 않아 여러모로 문제가 많은 상태였습니다.

    이에 대한 개선은 추후 이루어지게 됩니다.

    네 번째로 콤보 / 회피 / 크리티컬 / 골드 생성기능이 추가되었습니다.

     

    [1]. 함정이 파괴되거나 플레이어가 밟아 없애는 경우 콤보 이펙트가 발생합니다.

    [2]. 회피하는 경우에는 캐릭터 위로 'MISS' 이미지스프라이트가 떠서 사라집니다.

    [3]. 크리티컬의 경우에는 콤보 이펙트가 붉게 변하며 더 크게 커집니다.

    [4]. 함정이 파괴되는 경우 골드가 튕겨져 나오도록 했습니다.

    4번의 경우... 즉, 골드의 배치를 어떻게 할 것인지에 대해 고민이 있었습니다.

    쿠키런 처럼 함정 패턴에 맞춰서 골드를 일일이 다 배치하기에는 솔직히 말해서 이미 만들어진 패턴에 다시 넣는게 너무 귀찮고 하기 싫었습니다.

    그래서 좀 더 나도 좋고 유저도 좋은 방법이 뭐가 있을지 고민하다.

    그럼 장애물이 파괴되면 골드가 튀어나오는게 어떨까? 라고 생각하게 됩니다.

    그렇게 되면 게임을 하면서 눈도 즐겁고 골드 배치에 대해 고민할 필요도 없다고 생각해 바로 만들게 되었습니다.

    다만, 조금 걱정한것은 저 골드 오브젝트 하나 하나가 다 RigidBody를 갖게 되다보니 렉을 유발하지 않을까... 이 점이었는데 다행히 렉이 걸리진 않았습니다.

    다섯번째로 피격시 타격감을 추가했습니다.

    아무래도 게임을 하는데 아무리 함정을 밟고, 맞더라도 뭔가 피가 깎이긴 하는데 굉장히 심심한 느낌이라

    타격감을 줘 보자고 생각했습니다.

    그럼 이제 타격감을 어떻게 줘야할까에서 생각을하게 되었는데, 

    카메라를 아주 짧은시간동안 미세하게 흔들어주면 그게 타격감이 될 수 있지 않을까? 해서 만들게 됩니다.


    이번 개발일지는 여기까지입니다.

    긴 글 봐 주셔서 감사드립니다! 요새 플레이 테스트를 하면서 버그를 찾고 잡고 있는데... 끝이나질 않아 슬프네요...

    다음 개발일지로 뵙겠습니다!

    [이전 글 보기]

     

    [유니티 인디게임] 처음 공부부터 출시까지. - 1

    처음 게임개발을 하게 되면서 생긴 시행착오, 작업물 등을 일지로 남겨놓고 싶어 이 글을 작성하게 되었습니다. 정말 맨 땅에 헤딩으로 공부하고 작업했기 때문에 부족한 부분이 많이 보일듯 합

    wonsang98.tistory.com

     

    [유니티 인디게임] 처음 공부부터 출시까지. - 2

    목차 처음 게임을 개발하기로 마음먹기까지, 그리고 생각보다 어려웠던 유니티. 두 개발 초보의 얼렁뚱땅 날림 게임 기획. 헤딩시작!(이번글) 첫 리소스 추가, 스킬 및 기능 추가. (다음글) [유니

    wonsang98.tistory.com

     

    [유니티 인디게임] 처음 공부부터 출시까지. - 3

    목차 처음 게임을 개발하기로 마음먹기까지, 그리고 생각보다 어려웠던 유니티. 두 개발 초보의 얼렁뚱땅 날림 게임 기획. 헤딩시작! 캐릭터 선택 / 장애물 기획 및 구현 / 스킬 일부 구현 [5] 캐

    wonsang98.tistory.com

     

    [유니티 인디게임] 처음 공부부터 출시까지. - 4

    목차 처음 게임을 개발하기로 마음먹기까지, 그리고 생각보다 어려웠던 유니티. 두 개발 초보의 얼렁뚱땅 날림 게임 기획. 헤딩시작! 캐릭터 선택 / 장애물 기획 및 구현 / 스킬 일부 구현 핵심기

    wonsang98.tistory.com

     

    [유니티 인디게임] 처음 공부부터 출시까지. - 5

    [12] 코드 리팩토링 작업 맨땅 헤딩으로 게임 제작을 시작한지 약 한~두달, 초기에는 싱글톤패턴을 활용해서 제작을 해 보려고 했습니다. 하지만 이 싱글톤패턴에 대한 명확한 공부가 이뤄지지

    wonsang98.tistory.com

     

    [유니티 인디게임] 처음 공부부터 출시까지. - 6

    [15] 스토리 / 튜토리얼 추가 이제 어느 정도 게임 시스템도 자리 잡았고, 남은 건 버그를 잡고 마감도를 올리는 일이 대부분입니다. 이쯤 되니 슬슬 데모 버전으로 주변 사람들에게 테스트를 해

    wonsang98.tistory.com

     

    [유니티 인디게임] 처음 공부부터 출시까지. - 7(完)

    맨 땅에 헤딩으로 시작해서 게임을 개발하고, 뒤늦게 조금씩 올리던 개발일지의 끝이 보이네요. 처음에는 굉장히 잦은 주기로 올렸었는데, 마지막 개발일지를 이렇게 늦게 올리게 될 줄은 예상

    wonsang98.tistory.com