∇ 게임 자료실

 피리 매니아 (2001/02)

Delphi

소스無


이 게임은 The King of Game Developer 2001 의 출품작입니다.

제목

    피리매니아 (Piri Mania)

장르

    실제 악기 리듬 액션

제작

    안영기
    박성진

도구

    Delphi 5.0
    Photoshop 5.5
    Aura 1.0
    Cakewalk 9.0

설명

    이 게임은 제작자가 임의로 만든 가상의 악기가 아닌 실제의 악기를 직접 연주하는 방식의 리듬 게임입니다. 현재 주 타겟으로 삼은 악기는 범국민적으로 가지고 있다고 생각되는 '피리'입니다. 마이크를 켜고 피리를 불면 그것이 바로 입력이 되어 게임에 적용됩니다.

저작권

    이 게임 내에 있는 모든 프로그램, 그래픽, MIDI, 동영상은 직접 제작한 것이며 그 권리는 SMgal& NeTo 에게 있습니다. 단 샘플 디렉토리에 있는 BMP 를 제외한 mp3, mid 등은 기존의 자료를 사용했습니다.

    리듬 게임의 곡들은 흔한 가요나 팝송으로 이루어진 것이 아니라 교육용 (교과서에 나오는 곡), 게임 음악 (게임 제작자들이 다 알고 있을만 한것들), 애니 음악 등으로 구성되어 있습니다.

    하지만 이 게임의 궁극적인 목표는 자신이 직접 곡을 넣어서 자신의 악기 실력을 다듬는데 그 목표를 두고 있습니다. (뒤쪽에 곡만들기 예제 참조)


게임 시작

    1. 게임실행을 하면 logo 출력 뒤에 메인 메뉴가 나옵니다.
    2. 여기서 'Start' 를 선택하시면 선택화면으로 들어 갑니다.
    3. 선택화면에서 원하시는 곡을 선택하시고 <ENTER>를 누르시면 게임이 시작됩니다.
    4. 다른 리듬 음악 게임과 같이 음표에서 정확하게 연주하시면 그에 대한 판정과 combo 와 점수가 나옵니다.   

FAQ

    Q1. 마우스 지원하나요 ?
    A1. 아뇨.

    Q2. 게임 시작할 때 '입력 장치를 수동으로 찾으시겠습니까'라는 메시지는 뭐죠 ?
    A2. '예'를 선택하시면 자동으로 Mic 디바이스로 세팅을 하고 게임이 끝나면 원래대로 복원시킵니다. 하지만 구형의 몇몇 사운드 카드나 최신형의 사운드 카드에서는 자동으로 Mic 디바이스를 못 찾는 경우가 있으므로 이럴 때는 게임을 시작하기 전에 '볼륨 컨트롤'을 실행시켜서 수동으로 녹음 디바이스를 'Mic' 또는 '마이크' 로 선택하시고 위의 물음에는 '아니오'를 선택하시면 됩니다.

    Q3. 엔딩 동영상도 있다는데 정말인가요 ?
    A3. 네.. 그렇습니다. 실제 게임은 1M도 안되는데 동영상이 이 작품의 대부분을 차지하고 있습니다. 이 모든 것은 공모전이 1주일 연기되어서 시간이 남은 나머지 시작한 짓입니다. 점수가 3백만점을 넘으면 엔딩이 뜹니다.
    아니면 타이틀 화면에서 제작자와 관련된 4 개의 키를 동시에 누르셔도 엔딩 동영상이 뜹니다.

    Q4. Direct X 버전은 최하 어디까지 지원하죠 ?
    A4. 6.1 이상부터 지원됩니다. 더 낮추고 싶었지만 Direct Music 때문에..

    Q5. 피리말고 다른 악기도 됩니까 ?
    A5. 됩니다. 하지만 현재는 피리의 음 대역에 맞춰놔서 기본'도'에서 높은'라'까지만 지원합니다. 단 하모니카는 안됩니다. 또한 조율이 제대로 되지 않은 현악기(기타)나  보컬은 지원되지 않습니다. 휘파람을 잘 부시면 그걸로 해도 됩니다.

    Q6. 난 피리가 없는데요...
    A6. 그렇다면 키보드로 하세요. 자판의 'q'가 도가 되며 그 위의 숫자들이 피아노의 검은 건반 역할을 합니다. 'qwerty...' 순으로 도레미파솔.. 이 됩니다.

    Q7. 셀렉트 화면이 안뜨고 그냥 끝나요..
    A7. 서브 디렉토리에 곡들이 들어가는데 곡이 있는 서브 디렉토리가 없는 경우에는 그냥 종료됩니다. 원판의 압축 파일로 다시 깔면 됩니다.      

음악 만들기

이 프로그램은 단순히 제작자가 만들어 놓은 음을 연주하는 것만을 추구하지 않습니다.
 
메인 프로그래의 서브 디렉토리에는 각각 하나의 곡들이 들어가게 되어 있는데, 그 서브 디렉토리 안의 파일들은 다음과 같습니다.
 
music.pm
back.bmp
screen.jpg
sample,mid 또는 sample.mp3
 
music.pm은 곡의 스크립트로 꼭 필요한 파일입니다. (나머지는 없어도 디폴트로 대체됩니다.)
 
back.bmp는 640*480의 BMP 그림으로 게임 화면의 배경이 되는 그림이며, screen.jpg는 330*200의 선택화면에서 보여주는 작은 그림이 됩니다. 그리고 sample.mid나 sample.mp3는 선택화면의 미리 듣기에서 사용됩니다.
 
그럼 music,pm 에 대해서 알아 보겠습니다.
 
스크립트의 구성은
 
# 스크립트 시작
# 곡명 "??????"
# 템포 60     
# 음표 2
# 난이도 10
 
- 실제 음표 스크립트가 여기에 들어 갑니다.
- 제일 앞의 '-'는 주석이라는 뜻입니다.
 
# 스크립트 끝
 
이런 식이 되며 '곡명', '템포'는 다 아실거라 설명을 안드리고, '음표'는 디폴트로 준비된 7 개의 음표 그림을 나타냅니다.
 
1. 막대        
2. 8분 음표
3. 게마(--;)
4. 종
5. 칼
6. 당근
7. 산
 
으로 되어 있습니다.
그리고 '난이도'는 선택화면에서 난이도 별의 개수를 나타냅니다.
 
그리고 그 다음에 실제 음표가 들어가는데..   
'음계+길이' 로 나타냅니다. 한 박자를 총 32 tick 으로 정의 하는데...
 
32 - 온음표
16 - 2분 음표
 8 - 4분음표
 4 - 8분음표
 2 - 16분 음표
 1 - 32분 음표
 
가 됩니다. 그렇다면 24의 경우는 2분음표에 점 붙은 것이 되고 10은 4분 음표에 점이 붙은 거라는 건 다 아실테죠.       
 
'학교종'의 예를 들어 봅시다.
 
솔8 솔8 라8 라8 솔8 솔8 미16 솔8 솔8 미8 미8 레32
솔8 솔8 라8 라8 솔8 솔8 미16 솔8 미8 레8 미8 도32
 
이런식이 되겠죠..
 
솔#8 이렇게 되면 뭘까요 ? 네.. 그렇습니다.. 솔에 '#'이 붙어 반음 올라 간거죠. 그리고 한 옥타브 높은 음을 표시할 때는 음계 앞에 '^'를 붙입니다.. '^도'라면 높은 '도'가 되는거죠.
 
세일러문 노래의 첫 구절을 봅시다.
 
쉼32
쉼20 미4 라4 ^도4
^미8 ^미4 ^레8 ^레4 ^도4 ^도4
시8 ^레8 쉼5 미4 솔#4 시4
 
이렇게 시작하죠 ? (샘플 디렉토리에 있습니다.) 이번에는 '쉼'이라는 글자가 보였습니다. 이것은 음을 연주하지 않고 지정한 박자를 쉬라는 뜻입니다. 나머지는 샘플들을 직접 보시면 이해가 되실거라 믿고 설명을 끝내겠습니다..