본문 바로가기

게임 개발/유니티 게임 개발 일지22

#22 빌드하기, 구글 플레이에 게임 출시하기 1.빌드하기 1.유니티 > File > Build Settings 선택 2.Build Setting창 > 씬 추가 버튼으로 게임 씬 추가하기 > 씬 순서 정하기 > Build App Bundle 체크하기 3.Build App Bundle을 체크하고 빌드를 하려면 NDK가 필요한데 NDK가 없는 상태에서 빌드를 하면 현재 유니티 버전에 맞는 NDK가 필요하다고 에러 메세지를 보여준다. 에러 메시지에서 요구하는 NDK를 다운받아서 설정하면 된다. 4.NDK 설정하기 4.1.NDK 다운 받기 링크 developer.android.com/ndk/downloads 4.2.링크 하단의 지원되지 않는 ndk 다운로드 페이지에서 이전 버전 받기 가능 4.3.필요한 버전의 NDK 다운 후 원하는 위치에 NDK 압축 풀기.. 2020. 8. 23.
#21 현재 HP, MP값 UI 구현하기 게임 개발을 완료 후 빌드해서 폰에서 테스트 중... 현재 HP, MP값을 구현 안한 걸 확인했다.역시 게임 개발 후 실전 테스트를 해봐야 부족한 부분을 찾을 수 있는 것 같다;;;1.현재 HP, MP값 UI게임 플레이 시 플레이어의 현재 HP, MP값을 HpBarUI와 MpBarUI에 출력하는 기능이다.2.현재 체력, 마나값 출력 방법 기획의도최초 HpBarUI, MpBarUI를 기획했을 때는 "현재값 / 최대값" 형태로 출력하려고 했으나 이 게임에서는 플레이어의 체력, 마나가 성장하지 않기 때문에 최대값의 정보가 무의미한 것 같아서 제거했다. 현재값이 얼마인가?가 제일 중요한 정보인 것 같다. (현재 체력이 얼마여서 죽는가 사는가? 체력을 회복해야 하는가? 도망쳐야 하는가? 현재 마나가 충분하여 스킬.. 2020. 8. 22.
#20 BGM, 효과음 적용하기 1.게임 BGM, 효과음 준비 게임 플레이 시 BGM과 효과음이 없으면 밋밋하고 적절한 BGM은 반복 플레이의 지루함을 완화해주고 플레이를 더 즐겁게 해준다. 적절한 효과음이 있으면 행동에 대한 피드백을 전달해주어 타격감도 느껴지게 해준다. 적절한 BGM을 찾는데 그리 시간이 걸리진 않았다. 예전에 게임 스쿨에서 게임 개발할 때 알게된 SHK님의 무료 BGM을 이용하여 저작권 무료 BGM을 쉽게 구할 수 있었다. 제공해주시는 무료 BGM들을 들어보며 게임에 잘 어울리는 좋은 BGM들을 찾을 수 있었다. 생각보다 고생한 건 효과음 찾기였다. freesound.org와 유니티 에셋 스토어에서 찾는데 원하는 효과음이 생각보다 없었다. 그래도 계속해서 구글링하며 적절한 효과음을 간신히 찾아낼 수 있었다. 전체적.. 2020. 8. 20.
#19 게임 Title 화면 구현, 오클루전 컬링 적용 1.Title 화면 구현하기 게임 개발을 빨리 완료하고 싶어서 타이틀 화면은 검은 화면에 게임 이름, TOUCH TO START만 표기하려고 했지만... 이러면 너무 성의 없는게 아닐까? 생각이 들었다. 사실 이전까지 타이틀 화면에 대해 전혀 생각하고 있지 않았다. 간단하게라도 타이틀 화면을 구현하기로 결정하고 어떻게 구현할 지 생각해봤는데 간단하게 검은 화면에 하얀색 플레이어 캐릭터가 앞으로 달려가면 좋을 것 같았다. 게임 배경이 견습 마법사가 세상을 여행하며 마법사 수행을 하는 이야기인데 견습 마법사가 계속 달려가는 것이 계속해서 마법사 수행을 해나간다는 의미를 표현할 수 있을 것 같았다. 상상해보니 동적이여서 지루하지않고 의미도 있는 것 같아서 괜찮은 느낌이었다. 이런 연출은 이전 경험에서 아틸라 .. 2020. 8. 18.
#18 스킬 사용 가능UI, 추락사, 터치 시 콜라이더 무시, 전투 밸런스, 네비 메쉬 문제해결 #이번 주제는 정말 약식으로 작성함(결코 빨리 게임 개발을 하고 싶어서 그런게 아님) 1.스킬 사용 가능UI 1.1.정의 마나를 소비하는 스킬을 사용 가능할 때를 알리는 UI 기능 1.2.기획의도 스킬 사용 가능 알림 - 현재 게임 안에서 스킬에 대한 정보를 확인할 수 없기 때문에 플레이어 스스로 분석하거나 반복 경험 말고는 없다. 그래서 스킬 버튼 테두리UI를 이용하여 시각적으로 스킬 사용 가능 정보를 플레이어에게 알려주기로 했다. 1.3.구성 요소 1.3.1.스킬 버튼 테두리 스킬 사용 가능 유무를 알려주는 UI 1.3.2.스킬 버튼 테두리 색 흰색 마나 소비가 없는 스킬 조건만 충족되면 상시 사용 가능(이 부분은 반복 경험으로 터득해야) 검정색 마나 소비가 필요한 스킬 현재 마나가 부족하여 스킬을 .. 2020. 8. 12.
#17 PlayerSpawner, ItemSpawner, ObstacleSpawner 구현 #이번 기능들은 간단한 기능들이 많아서 기능 구조도, 플로우차트는 생략한다. ItemSpawner만 작성하기 1.PlayerSpawner 1.1.정의 게임 시작 시 플레이어 스폰 포인트를 랜덤하게 하나 선택하여 그 곳에 플레이어를 배치하는 기능이다. 1.2.기획의도 플레이어 랜덤 스폰: 같은 맵에서 반복 플레이 시 조금이라도 지루함을 완화하기 장애물 랜덤 배치 기능을 통해 맵 구조를 변경하여 지루함을 완화할 수 있으나 플레이어 랜덤 스폰 기능을 결합하여 익숙하지만 새로운 맵에서 하는 듯한 느낌을 강화 = 기능을 두개 결합하여 지루함 완화 강화 1.3.구성 요소 플레이어 스폰 포인트 - 플레이어가 스폰할 수 있는 투명한 위치 오브젝트 - 스폰 포인트를 맵에 배치하여 위치를 준비한다. - 스폰 포인트는 필요.. 2020. 8. 11.
#16 UIManager, GameManager, EnemySpawner 구현 0.작성하기 전 여담 유니티 게임 개발 일지를 작성하는 이유는 작성한 경험을 잊지 않기와 시스템 기획서 작성 연습인데 매 번 글을 작성할 때마다 시원 시원하게 작성이 잘 안된다. 그래서 이미 구현한 기능들이지만 유니티를 켜서 확인하고, 스크립트를 확인해서 구성요소(데이터 = 변수, 파라미터, 리소스), 각각의 기능들을 다시 한번 확인하고 정리해서 글을 작성한다. 이런 방법이 과연 현업에서도 통할까? 아니라고 본다. 왜냐 보통 시스템 기획은 게임 작동에 중요한 기능들을 기획하는 것이기 때문에 구현하기 전까지 확인할 수 가 없다. 따라서 상상력이 좋아서 머릿 속에서 완벽하게 실행검증하여 시스템을 기획하거나 아니면 시스템 기획 경험(실행 검증의 경험, 이러면 충분하다, 부족하다를 앎)이 풍부하다면, 추가적으로.. 2020. 8. 9.
#15 맵 구현하기 #장애물 랜덤 배치 기능, 플레이어 스폰 기능은 게임 매니저에서 다루기, 이번 글에서는 맵 제작 관련 정보를 작성함1.정의플레이어가 게임 플레이를 진행하는 공간이다.맵에는 적 스폰 구역, 플레이어 스폰 구역, 이동 불가 장애물들이 존재맵에서는 게임 시작 시 지정된 장애물 배치 구역에 랜덤하게 장애물을 배치 2.기획 의도2.1.기획 배경초기 기획으로 게임 시작마다 절차적 맵 생성으로 랜덤 맵을 생성하여 맵의 구조를 매번 다르게하여 플레이어의 지루함을 완화하고자 했으나 기술 구현하기 어려워서 빠른 포기했다. 그래서 통짜맵으로 구현하되 랜덤 맵 대신 지루함을 완화할 방법을 생각해봤다. 먼저 어떻게 작동되는지 생각해봤다. 적이 스폰되서 플레이어를 추적한다. 이동 경로 존재. 이동경로가 매번 바뀌면 전략적인 전투.. 2020. 7. 29.
#14 순간이동 스킬 구현(마나 소비, 마나 자동 회복, 스킬재사용대기시간) 1.구현할 기능 소개 1.1.순간이동 캐릭터가 바라보는 방향으로 일정거리를 순간이동하는 기능이다. 1.2.스킬 소비 마나 스킬 사용에 필요한 마나를 현재 마나에서 소비하는 기능이다. 1.3.마나 자동 회복 플레이어의 현재 마나를 초당 n씩 회복하는 기능이다. 1.4.스킬재사용대기시간 스킬 사용 후 일정 시간 동안 재사용을 방지하는 기능이다. 2.구현한 영상 https://www.youtube.com/watch?v=-ZHAZ88ZpS4 3.구현 의도 3.1.순간이동 회피 기능 -사방의 적들이 플레이어를 향해 몰려들 때 플레이어에게 위험 상황을 회피하는 기능 제공 -다수의 적의 원거리 공격을 효율적으로 회피할 수 있는 기능 제공 공격 거리 확보 기능 -플레이어가 안전하게 일반 공격 및 원거리 공격을 할 수 .. 2020. 7. 24.