본문 바로가기

유니티/리듬게임

(29)
유니티 리듬게임제작 강의 예정 깃헙에 올린 유니티리듬게임 레포지토리에 이런 요청이 들어왔다. 사실 한국인을 위해 업로드하고 작성하였지만 가장 먼저 질문을 주신분은 외국인이었다. 소스코드만으로는 이해하기 어려워 프로젝트 전체를 업로드를 요청하는 글이었다. 아무래도 리듬게임 특성상 풀프로젝트를 업로드하기 어려워(주로 저작권) 소스만 올려둔 것이였는데 확실히 남의 코드를 분석하고 파악하는 것은 쉽지 않은 일이다. 그래서 며칠내로 약간의 문서와 저작권을 최소화한 풀프로젝트를 업로드해주기로 약속했는데 이왕 다시한번 정리하기로 한거 강의로도 한번 정리해보고 싶다. 현재 글을 쓴 시점에선 구글링을 해보진 않아서 모르겠으나 당시에는 조금의 정보밖에 없었다. (대부분 노트파싱정도 선에서 마무리가 되었다.) 다양한 분들이 도움이 되었지만 가장 크게 기..
[개발일지 마지막] 늦게나마 쓰는 후기 유니티 리듬게임 제작은 단순히 학교 조별과제로부터 시작되었다. 대부분 그렇듯이 과제가 제대로 진행되거나 애착이 생기게 되는 경우가 없지만 첫 리듬게임 제작이라는 타이틀에 좀 더 완성도를 올려보자 하는 마음에 추가 진행했었다. 원래 리듬게임을 좋아했지만 만들어볼 생각은 하지 않은게 내가 만든다고 해서 재밌게 할 수 있을까? 라는 의문이 있었다. 물론 그렇게 생각하면 세상의 어떤 게임이든 이제 막 진입하는 사람에겐 아무것도 만들 수 없을 것이다. 하지만 리듬게임은 오랫동안 애착이 있었던 장르의 게임이었고 리듬게임은 조작방식만 중요시해서 될 컨텐츠가 아니기 때문에 그렇다. 당장의 인기있는 디제이맥스 시리즈만 봐도 오랜 전통의 노트방식 게임이다. 그런데도 불구하고 오랜 인기를 유지하는 이유는 시리즈 명성도 있겠..
[개발일지21] 진행상황 - 랭킹시스템 학과별 스코어보드 구현완료 > 데이터를 UI에 맞게 처리해서 출력하는 것을 해야함 노래별 스코어보드 구현중 > 설계는 완료되어있어서 테스트해봐야 하는 상황, 그리고 UI 출력 - 기타 남은거 비주얼, 노래추가 랭킹데이터를 어떻게 처리할까 고민을 많이하고 여러가지를 접목해서 테스트하느라 시간을 다 보냈다. PlayerPref, JSON, Text 세가지 전부 테스트를 해봤는데 PlayerPref는 복잡한 데이터 구현의 난해함으로 취소 JSON은 대부분의 것을 연동하는데 성공했지만 그 후 데이터 처리 과정에서 익숙하지 않은 것을 사용함으로 인해, 버그가 생길까봐 취소 결국 가장 익숙한 Text로 처리하기로 결정. 시간이 하루만 더 있어도 JSON으로 했겠지만 아무튼 지금 글쓴 시간을 봐 시간이..
[개발일지20] 진행상황 - 플레이 완료 후 점수화면 반영완료 플레이시 점수를 가지고 있는 오브젝트를 파괴하지 않고 그대로 가져가서 UI Text에 반영시켜주면 됨. 빨간원 그어놓은 부분은 아직 랭킹 시스템이 구현되지 않았기 때문에 더미로 채워놓았다. 추가해야 할 부분. - 씬 제어 조작 반영완료 이제 화면 사이를 키 조작으로 넘어다닐 수 있게 되었다. 생각보다 시간을 많이 쓴 기능이다. 객체의 유지 또는 파괴 시점 설정등 자잘한 것들이 수정되었다. - 비주얼 작업 반영완료 조금이라도 꾸몄다. - 곡 추가 반영완료 4곡을 추가했다. 예정 - 랭킹시스템 노래별 스코어보드와 과 스코어보드 그리고 출력 - 비주얼 작업 조금더? - 곡 추가 여러개
[개발일지19] 진행상황 - 시작전 더미 추가 반영완료 수정 전에는 화면이 전환되자마자 게임이 시작되었기 때문에 일부 곡에서 플레이에 불편함이 따르기 때문에 변경 시스템 변경사항 화면이 전환되면 오디오가 3초뒤에 재생되도록 하고, 이에 맞추어 노트 생성위치도 변경 - 노래 선택 화면 반영완료 다양한 곡을 추가하기 전 필수사항이였던 것 유니티에는 리스트뷰가 없는 것 같아 https://youtu.be/GpPWbM_6DVY 의 도움을 받았다. 직접 하나부터 알아보고 구현했으면 좋았겠지만, UGUI에 익숙하지 않기도 하고 공개날까지 시간을 맞춰야 하는 점도 있었다. 혼자서 하기 때문에 시간 관리도 잘해야 한다. 처음 생각했던 화면구성은 시간문제로 포기 했지만, 여건이 된다면 바꿔보고 싶다. 간단하게 필요한 요소는 충분히 반영했다. 시..
[개발일지18] 변경사항 기획변경 6키에서 4키로 전환 반영완료 게임 공개가 예정되어 있어 실제로 플레이 하는 사람들의 실력의 평균을 맞추기 위함. 아무리 쉽게 노트 패턴을 배치해도 6키가 4키보다 쉬울순 없음. 그리고 곡을 추가해야되기 때문에 가져다 쓸 자료나 참고할 것이 많기 때문. 직접 패턴을 만들기도 훨씬 간단해진다. - 노래 시작 전 더미 추가 추가 예정 노래 선택후 노트가 바로 내려오지 않게 잠깐의 텀을 두기 위함. - 노래 선택 화면 추가 예정 상세: 노래 리스트, 노래 미리듣기, 노래 정보등 - 완료후 점수화면 추가 예정 점수, 최대콤보, 판정별 개수, 랭킹등 -랭킹시스템 추가 예정 플레이어가 게임 시작시 학과를 선택하고 플레이 하게 됨. 공개가 끝나면 최고의 점수를 받은 학과 선정할 예정. 이 때, 난이도에 따른..
[개발일지17] 업데이트 계획 프로젝트 자체는 이미 6월달에 종결이지만 그냥 놔두긴 아쉬워 업데이트할 기능들 곡선택 화면 - 곡추가(최신곡, 기존리듬게임곡) 랭킹 - 그룹별 랭킹 플레이어는 곡 하나를 마치고 나온 점수를 게임에서 제공된 그룹을 선택해 서버에 등록한다. 서버는 일정 기간(예:일주일)동안 그룹별 점수를 정산해 발표를 하여 랭킹을 가림.
[개발일지16] 노트 배속 변경기능 추가 노트배속을 추가했다. 사실 처음부터 있었어야 하는 기능인데, 중요한 것부터 하느라 미뤘다. 구현 방식은 배속을 조절하는 키(올림 내림)을 눌렀을 때 현재 화면상에 존재하는 노트 태그를 가진 게임오브젝트를 전부 찾아 저장한 뒤 (노트들이 인스턴스화 되어서 클론 상태이기 때문에 제어권을 얻기 위함) 반복문으로 노트의 속도를 조절하는 메소드를 부르는 것이다. 속도가 올라가면 그만큼 노트의 위치도 올려주어야한다. 판정선 좌표가 0일때, 속도가 초당 1에서 2로 올라갔는데 노트의 시간(좌표)이 그대로 1이면 판정선을 넘어간 -1이 될 것이다. 그러므로 같이 보정을 해주면 2가 되기때문에 속도가 2가 되면 판정선의 좌표인 0과 맞게 된다. (설명 더럽게 못하네) 사실 귀찮다. ㅋㅋ