본문 바로가기

리듬게임만들기7

리듬게임 만들기5. 노트 데이터 넣기(끝) 이제 리듬게임의 마지막 수순입니다. 노트에 원하는 데이터를 쉽게 넣기 위한 방법을 모색하고자 합니다. ▲ 원하는 타이밍에 노트가 떨어지도록 쉽게 만드는 방법을 구현합니다. 1. 엑셀로 노트데이터 제작 노트제작은 여러가지가 있겠지만 쉽게 구현을 위해서 다음과 같이 엑셀로 만든다고 가정합니다. t는 1박자, ts는 1/4박자를 쓴 것입니다. 여기서 ts가 의미가 있습니다. 노트가 내려오는 최소 단위가 0.25초인 것입니다. 만약에 이것을 더 줄인다면 더 많은 노트를 순식간에 보낼 수 있지만 노트 관리하기 힘들어 지기 때문에 적당히 넣었습니다. 노트 라인의 각 끝에는 @표시로 하여서 각 라인의 끝을 믄지로 인식시켜 줄 예정입니다. 데이터를 한번에 뭉탱이로 지정해서 복사를 합니다. 그리고 메모장에 넣으면 다음과.. 2017. 12. 27.
리듬게임 만들기4. 라인 확장 이번 포스팅은 기존의 라인에서 더 많은 라인으로 추가하는 부분과, 노트를 생성하기 위한 데이터 관리를 만들 차례입니다.▲ 이제 여러개 라인으로 추가해보도록 합니다. 1. 키 확장하기 기존에는 라인이 a 하나였지만 이제 나머지 s, d, f라인을 추가할 차례입니다. 이미 a라인을 만들었기 때문에 라인을 더 추가하는 것은 복사 붙인 후 변수들이 중복되는 것을 방지하도록 해주어야 할 것입니다. 라인이 추가되는 부분은 키와 노트부분이 되겠습니다. 먼저 키부분을 살펴보면 기존에 'a'키를 누르면 다음과 같이 노트의 위치에 따른 판정을 하도록 되어 있습니다. 위 그림을 보시면 빨간색 부분이 s, d, f로 추가되면서 바뀌어야 할 부분들입니다. 각각 변수와 리스트들을 추가적으로 만들어서 각각 변수로 바꿔주면서 추가를.. 2017. 12. 26.
리듬게임 만들기3. 판정만들기 이번에는 리듬게임에서 판정하는 부분을 만들어 줄 차례입니다. 판정을 위한 부분은 단순히 키를 눌렀을 때 가장 가까운 노트의 위치와의 오차를 확인하는 것으로 만들어 줄 수 있습니다. 그 다음에 해당 판정에 따른 점수를 부여하고 효과 애니메이션을 만들어 주는 순서가 되겠습니다.▲ 판정에 따라서 점수와 애니메이션 구현을 해본다. 1. 노트의 위치에 따른 판정 만들어 주기 이번에는 노트가 적당히 라인(y=-120)에 들어왔을 때 키를 누르면 오차를 확인하여 판정하고 점수를 주는 시스템을 도입할 예정입니다. 여기서는 다시 키 부분의 스크립트를 추가 수정해주어야 합니다. 일단 a라인에서의 판정 부분입니다. 키를 누르면 가장 가까운 노드(node_a)의 y좌표와의 오차가 0.2이하이면, 또는 0.5이하이면 등의 조건.. 2017. 12. 22.
리듬게임 만들기2. 노트 스프라이트 만들기 이번에는 노트를 만들 예정입니다. 리듬게임에서 만들기 어려운 부분이 노트를 생성하는 부분인 것 같습니다. 그래서 노트 생성 부분 강좌는 약간 구체적으로 나누어서 진행하도록 하겟습니다. 이번 포스팅에서는 노트가 원하는 시간에 원하는 위치에 떨어지도록 만들어 줍니다. 먼저 노트 스프라이트를 만들어 줍니다. 노트의 모양은 적당히 노트게 어울리는 모양으로 넣었습니다. 일단 기본적으로 이 노트가 악보에 따라 생성해 주어야 합니다. 일단 a라인 하나만 만들기로 하는데, 4개 라인을 동시에 만들어 가기 힘드므로, 한개 라인을 먼저 완성 시킨 후 나머지라인으로 사하여 넣을 예정입니다. 그래서 일단 노트는 a라인에만 만들기로 합니다. 이 라인에서 노트가 생성되는 것은 '악보'가 있어야 하는데 악보는 리스트로 꾸며줄 예정.. 2017. 12. 17.
리듬게임 만들기1. 키부터 만들어 보자 이번 강좌는 '리듬게임'입니다. 리듬게임도 생각보다 만들기 어려운 장르중 하나입니다. 가장 만들기 어려운 부분은 원하는 시간에 해당되는 노트가 정확히 들어가야 하는 것입니다. 그리고 어려운 것은 그 노트를 문제 없이 인식하여 터치를 하도록 만드는 것이 되겠네요. 이번에 만들려고 하는 것은 이러한 문제들에 대해서 어떻게 풀어나가야 할지 생각해 보고 해결해 가는 과정을 알 수 있습니다. 이번 프로젝트의 중간과정 결과물... 아직 작성중입니다 ^^ 일단 먼저 리듬게임을 만들 때 무엇을 만들까 생각을 해봐야 겠습니다. 1. 키 만들기2. 노트 만들기- 순서대로 노트가 떨어지기- 키를 누르면 노트를 인식시키기- 여러개 라인에서 순서대로 떨어지기3. 악보 만들기 이러한 순서가 될 듯 합니다. 일단 가장 어려운 부분.. 2017. 12. 17.
12월 14일 프로젝트 상황- 리듬게임 발전 중 리드게임은 순조롭게 만들고 있습니다. 현재 판정까지는 무난하게 작성되었습니다. 판정에 따른 효과는 핵심기능이 아닌 단지 부가기능이기 때문에 별다른 어려운 기술은 없습니다. 단지 판정에 따라 효과를 어떻게 주냐가 다를 뿐입니다.판정하는 것은 약간의 생각을 해줘야 합니다. 앞서 말한 것처럼 겹쳐 있는 노드들을 하나씩 인식시켜줘야 하는 것이 풀어야 할 숙제입니다. 다른 초보 스크래쳐들이 만든 리듬게임에는 여기서 장벽이 생깁니다. 대부분이 '~에 닿기'를 사용하는 바람에 닿는 모든 블럭들을 인식해버리니까요.그것을 해결하기 위해서 각 노드들의 라인에서 제거되지 않은 가장 앞의 노드의 위치만을 판정합니다. 정말 간단하고 쉬운 일이지만 이것을 구현하는 것은 약간의 생각이 필요합니다. 제가 적용한 방법은 각 라인에 따.. 2017. 12. 14.
12월 13일 프로젝트 상황- 리듬게임 제작, 소녀전선 런 게임 다음 강좌는 리듬게임 만들기를 준비하고 있습니다. 저도 리듬게임은 예전에 만든 적이 있으나 너무 허접하게 만들고 실력도 부족했었습니다.이번에도 역시 새롭게 만들면서 저도 도전하는 것이기 때문에 바로바로 강좌는 나오기는 힘들 것 같네요.가장 어렵다고 생각되는 부분은 싱크를 맞추는 것일 겁니다. 노드를 일정 시간에 맞춰서 원하는 위치(파란색)에 들어가야 하는데, 그걸구현해 주어야 합니다.기존에 제가 만들었던 프로젝트의 문제가, 그러한 부분에 있었습니다. 정확한 시간에 노드가 들어가지 않습니다.이번에는 '타이머'를 통해서 타이머가 노드의 위치를 결정하는 변수로 작용하면서 그 문제를 해결하였습니다. 자세한 설명은 추후 강좌로 쓰게 되겠죠. 다음은 판정의 부분인데 이부분을 도전해야 할 차례입니다. 다른 사람들이 .. 2017. 12. 13.