2024년 5월 24일 금요일

TapTapRevolution 제작 #6 - 점수판 처리

지난번에는 키입력과 노트 판정이 완료되었는데요.

이제 스코어 및 체력 게이지(?)를 넣어보아요~


현재 문자 표시를 위한 폰트는 일반적인 1BPP 데이터를 사용합니다.

이 폰트는 그대로 둔 상태에서, 점수판에서만 쓰일 숫자 폰트(2컬러 비트맵)를 추가해봤습니다.




점수 아래에는 체력 게이지가 박자에 맞춰 꿀렁~꿀렁~ 움직이고 있습니다.

그래픽은 미리 다른 페이지에 그려둔 상태이구요, 타이밍에 맞춰 수직스크롤을 바꿔서 애니메이션 처리를 합니다.




이 게이지 부분을 짧게 또는 길게 보이도록 만들어야하는데요.

상황에 따라 매번 비트맵을 복사하게 되면 부하(CPU/VDP 로드)가 늘어날테니,

반대로 이미 최대치로 그려진 비트맵을 검정색 스프라이트로 덮어서 가려주는 처리로 해결합니다.


각 게이지는 가로폭이 96픽셀을 차지합니다.

만약 스프라이트의 확대 기능을 사용하면 16x16 스프라이트 한개로 가로 32x32 크기만큼 가려줄 수 있겠죠?

1P쪽 게이지에 검정 스프라이트 3개, 2P쪽에도 3개 사용합니다.

총 스프라이트 6개로 빠르게 처리할 수 있습니다 ㅎ.ㅎ/



그럼, 실제 동작은 영상으로 확인해보시죠!

곡 전반부는 1P 입력으로 플레이했구요. 곡 후반부는 2P 입력으로 플레이했습니다.

1P, 2P의 스코어 및 체력 게이지가 바뀌는 모습을 볼 수 있어요.




그럼, 다음편에서 보아요~ ㅎ.ㅎ/


2024년 5월 18일 토요일

paraMSX-R 리뉴얼 버전(v1.2) 방출 완료

2차로 제작된 paraMSX-R입니다. 리뉴얼된 v1.2 보드가 사용되었습니다.

이제 엔딩이네요~ ㅎ.ㅎ/



2024년 4월 27일 토요일

TapTapRevolution 제작 #5 - 키입력 처리


잠시 손놓고 있던 작업을 이어봅니다~ ㅎ.ㅎ


게임을 즐기려면 상하좌우 4개의 화살표 입력이 필요합니다.

키보드에서는 아래처럼 1P, 2P의 입력키를 배치합니다. 커서키는 1P 입력으로 사용됩니다.


1P는 노랑, 2P는 파랑입니다.



오리지널 MSX 패드에서는 십자버튼 및 트리거버튼1(상), 트리거버튼2(우)로 동작하구요.

MD패드 핀을 개조해서 2버튼으로 동작할 때도 동일한 십자버튼 및 B(상), C(우)로 동작합니다.

JoyMega를 쓰는 경우는 십자버튼 및 Start(좌), A(하), B(상), C(우)로 동작합니다.


참고로, 일반패드에서는 십자버튼으로 상+하 또는 좌+우 함께 누르는 것이 불가능하니까...

십자버튼과 트리거 버튼을 나눠서 사용하면 됩니다 ㅎ.ㅎ


아래는 JoyMega 사용 시 사용되는 입력 설명입니다.





화면에 스크롤되어 올라오는 노트(화살표) 타이밍과 버튼 입력에 따라 5가지 판정 표식이 나옵니다.

이건 오리지널 DDR과 동일하도록 만들었어요 -> PERFECT, GREAT, GOOD, BOO, MISS

화면 표시에는 스프라이트를 이용합니다.

참고로 PERFECT, GREAT 판정 시에는 노트(화살표)가 사라지는데, 요것도 동일하게 구현했어요.

CPU, VDP 로드가 아슬아슬하네요 ㄷㄷ



실제 동작 모습은 아래 영상으로 확인하셔요~ ㅎ.ㅎ/




그럼, 다음편에서 보아요~ ㅎ.ㅎ/