안드로이드 스튜디오 리듬게임 프로젝트 보스곡 LIMBO + 어이없었던 실수 중간정리

2024. 5. 7. 04:45카테고리 없음

팀원형님께서 카카오 로그인을 구현해서 java랑 xml로 일단 카카오 인증기능이 도입됐다

 

추후에 db구성하고 유저시스템 구축하게되면 식별변호로 사용하리.. 버추얼에서 카톡깔기 귀찮아서 바로 메인으로 뛰는버튼을 일단 만들어놨다

 

만들다 보니 재밌어서 3곡이 현재 들어가있다. 유지보수 하기 쉽도록 구조를 짜놨으니 앞으로 몇곡 더 추가해도 문제는 없을거같다

 

본인은  지금 팀프로젝트에서 기능개발만 맡고있는지라 xml디자이닝이 끝나면 제대로 앱을 구성할 예정이라

 

xml ID값만 맞으면 바로 도입할 수 있도록 소스구조를 짜놨다. 일단 보이는 순서대로 곡선택, 배속조절 (1~3,5배속까지 0.5배속 단위로) , 타격음 ON/OFF , 오토모드설정을 구현해놨다

 

 

곡을 선택하면 이렇게 곡 썸네일과 이름, bpm , 난이도를 표출해주고

easy,hard를 선택해 곡당 2개의 난이도가 또 세분화 되어있어 골라서 플레이 해 볼수있다.

 

지금은 하드코딩으로 최고점수를 박아놨는데 유저당 최고점수를 식별하여 표출해줄 텍스트뷰도 만들어져있다.

 

https://www.youtube.com/watch?v=7-udREsFKJ4

 

보스곡으로 설계한 LIMBO라 채보난이도가 상당해서 오토모드로 플레이해서 영상을 찍었다.

 

LIMBO의 콤보수가 총 1385?쯤 언저리되는 엄청난 콤보수를 자랑하는데, LIMBO를 구현하고 나니 이상한점을 느꼈다

 

로직상 분명 오토모드면 PERFECT만 치고 있을텐데 1000콤보쯤이 넘어가니 정확도가 쭉 까이는게 아니겠는가.

 

 

이떄부터 5시간동안 삽질이란 개 삽질은 다 해봤다. 내가 해봤던 삽질리스트

 

1.노트View를 노트가 나올때마다 객채생성을 해주고있어, 1000콤보쯤 넘어가면 과부화로인해 판정에 오류가 생겼을지도 모른다 

-> 아니였음.

2.정확도 계산식에서 받아오는 score(점수)값이 int형이라 100만점 이상을 인식못한다, long형으로 바꿔줘볼까?

-> 아니였음.

3.자료형이 int라서 100만점 이상부터는 문제가 생기는걸까?

-> 그럴리가 없긴함

 

정답은 내가 짜놓은 max콤보 메소드였다 (최고콤보수를 저장해놓는 변수값)

 

 

현재는 수정된 모습인데, 정신없이 만들다보니 maxCombo 를 계산해야할 부분이 maxScore로 되어있었다..

현재 maxScore는 1000으로 설정돼있으니 콤보수가 1000이넘어가면 masScore값이 콤보수만큼 증가했던것.ㅋㅋ

 

 

노트뷰 객체때문에 과부화 걸리는줄알고 객체 재사용을 위해 객체 풀을 구성해보겠다고 썡쇼 난리를 4시간동안 피웠었는데

이게 애초에 설계단계에서부터 그림을 잘 잡아야한다고 하는 이유를 뼈저리게 깨달았다... 못한다고 보면된다

한개 수정할려면 이쪽저쪽에 다 방문하고 다녀야해서 여간 힘들수가 없다.

 

암튼 기능개발쪽은 거의 끝을 보이고있어서 나름 성취감도 느끼고 내가 좋아하는 게임이다보니 심심하면 켜서 내가 직접 플레이도 하고있다.