DDR과 행렬의 연관성

 

  다음은 행렬의 이용에 관심을 가진 이치훈, 김의현 군이 독창적으로 연구한 결과입니다.  같이 한번 생각해 봅시다.                              

성대 수학과   이상구교수

  

연구배경:

 

   두 학생은 요즘 젊은층과 남녀노소를 불구하고 인기를 끌고 있는 DDR에 대하여 연구하고 싶은데서 이 연구는 시작하였으며, 우연히 DDR발판과 행렬과 비슷한 점을 발견하고 무슨관계가 있는지 심도 있게 다루고 싶었답니다.

 

연구과정:

DDR 소개 :

 

DDR 이란?

 

   DDR은 일본의 유명 게임 제작사인 KONAMI社에서 제작한 리듬액션게임입니다. 정식 명칭은  Dance Dance Revolution입니다. 단어의 머리글자를 따서 DDR이라고 부릅니다.

 

  이 DDR이라는 게임은 KONAMI에서 한창 인기리에 발매중이던 '리듬액션게임'의 시리즈 중 하나입니다. Beat Mania, Pop'n Music에 이어 출시된 '체감 댄스 시뮬레이션 게임'입니다.  이 리듬 액션 게임의 열풍은 아직도 식지 않고 계속 되고 있어서, KONAMI에서 ~~Mania라는 제목을 단 리듬 액션 게임들이 쏟아져 나오고 있습니다. 대표적인 예가 Drum Mania (국내명은 Percussion Freaks. 제목만 봐도 알 수 있듯이 드럼을 소재로 한 게임입니다.), Guitar Freaks (Freak는 '광','매니아'란 뜻입니다. 결국은 Mania나 Freaks나 그게 그거란 거죠.), Keyboard Mania (Asia수출품명은 Keyboard Heaven, 국내에는 아직 정식 출시 되지 않은 상태입니다.)등이 있습니다.

 

   우리나라에서는 PUMP 라는 비슷한 게임을 만들어 널리 보급하고 있습니다.

 

DDR과 행렬의 연관성

  

DDR 과 행렬은 어떤 관계가 있을까요?

모두가 그냥 게임을 즐길뿐 그 원리에 대해서는 잘 모르고 있습니다.

저희들도 이번 프로젝트를 연구하면서 원리를 이해하게 되었습니다.

우선 스텝의 원리부터 살펴 보겠습니다.

현재 사용되는 DDR은 다음과 같은 채보에 의해서 작동됩니다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

위와같이 미리 정해진 화살표가 노래에 맞춰서 화면상단으로 올라가게 되고 우리가 발판을 맞추면 점수로 인정이 됩니다. 여기서 우리가 주의해서 볼 부분은 화살표를 미리 입력 저장하지 않고 주어진 기본 행렬이 있다면 이 행렬의 변환을 통해서 화살표를 그릴수 있다면 프로그램의 용량이 훨쒼 줄어들고, 어떠한 노래이든지 박자만 주어진다면 컴퓨터 스스로  노래에 알맞는 스텝을 만들어 낼 수 있을 것이다.

우선 XANADU 라는 위 노래의 채보를 행렬식으로 변환해 보았다.

 

 

  

  위의 행렬식을 보면 1과 0으로 표현되는데 이것은 컴퓨터는 2진법밖에 인식하지 못하기 때문이다. 여기서 1은 발판이 나오는 위치를 뜻하고 0은 발판이 나오지 않는 것을 의미한다.

 

   채보를 보면 알 수 있듯이 지금 현재 오락실에서 볼 수 있는 ddr 기계는 노래 하나당  같은 발판이 나온다. 그러나 우리가 프로젝트를 시작하기 전 예상했던 ddr은 음악의 박자에 따라 발판이 무작위로 나오는 것이었다. 그러므로 우리가 찾으려고 했던 3*3행렬이 ddr에 이용된다고 점을 설명하기에는 무리가 따른다. 단지 주어진 화살표에 맟추어 발판을 누름으로서 기계가 박자가 정확성을 판단하는 식이었다. 사실 많은 사이트를 돌아다니면서 좀 더 효율적인 프로그램을 만들면 프로그램의 용량이 많이 줄어들고 새로운 노래가 나올 때 마다. 새로운 발판 프로그램을 만들지 않아도 된다는 사실을 인식하게 되었다.

 

 1차결론 : 우리가 예상했던 결과를 얻지 못해서 실망을 하게 되었던게 사실이다. 하지만 새로운 모델을 생각하고 다시 연구하기로 하였다. 1차적으로 우리가 내린 결론은 현행 DDR은 기존의 오락과 같이 이미 짜여진 프로그램안에서 버튼을 누르고 인식하는 게임에서 벗어나지 못함을 알았다.

 

 

새로운 주제를 한번 생각해 보았습니다.

 

새로운 주제 : 행렬을 이용해서 DDR 프로그램을 만들 수 있는가?

  

방향: 박자별로 행렬변환을 통해서 DDR발판이 나오는 프로그램을 생각해 보았다.

      DDR은  음악에 맞추에 리듬을 타면서 춤을 추는  것이라 할 수 있다.

춤을 잘 추는 사람의 이야기를 수렴한 결과 박자 감각이 있고 리듬에 맞추어 몸을 자유롭게  움직이는 사람이 춤도 잘 추고 DDR도 잘한다는 사실을 발견했다.

여기서 리듬과 박자와 일반적인 행렬변환과의 관계에 대해서 살펴보겠습니다.

 

예) 2박자인 경우:단순한 리듬의 동요나 자장가 같은 음악의      발판   

    3박자인 경우: 발라드와 같은 음악의 DDR발판

    4박자의 경우: 댄스음악과 같이 흥쾌한 리듬이 필요한 행렬의 변환을 생각하면 된다.

우선 컴퓨터는 2진법을 인식한다는데에 근거를 두고 생각을 해보았다.

 

 위의 A,B,C,D 는 기본적인 발판의 예이다. ddr에서는 발판이 2개, 3개 동시에 나올수도 있다.처음에는 위의 기본 4가지 행렬의 곱으로 표현할려고 했지만 곱해도 2-3개가 동시에 나오는 발판을 만들 수 없었다. 그래서 다시 생각해본 결과 행렬을 더하면 2개 3개가 동시에 나오는 행렬을 만들 수 있었다.

예를 들어 설명하겠다.

 

먼저 ▲▼ 가 동시에 나오는 발판을 생각해보자.

  이런 식으로 +연산을 하면 발판이 두 개 나오는 경우를 나열하면 A+B, A+C, A+D, B+C, B+D, C+D 이렇게 6가지 경우가 나온다.

  이제 발판 3개가 동시에 나오는 경우와 4개가 동시에 나오는 경우를 생각할수 있다.

이 경우는 발과 손을 동시에 사용하는 경우라 아주 어려운 곡에서나 나오지만 이 경우 도 생각해 보면. A+B+C, A+B+D, A+C+D, B+C+D 이렇게 4가지 경우가 나오고 4개가 동시에 나오는 경우는 A+B+C+D 1개가 나온다.

  4가지 기본발판을 더함으로서 얻을수 있는 총 경우의 발판수는 기본발판을 포함에서 15가지

이고 행렬의 덧셈연산을 이용해서 이를 다 표현할수 있음을 알 수 있다.]

 

새로운 4박자의  발판을 만들어 보자

▲ -> ▲▼ -> ▼ -> ▼◀ ->◀ -> ◀▶      -> ▶ 이것을 행렬의 덧셈으로 표현하면

A -> A+B -> A+B+A ->B+C -> B+C+B -> C+D -> C+D+C

A -> A+B -> B -> B+C-> C -> C+D -> D

위 순서를 보면  A+B+A=B가 되는 이유는 컴퓨터는 2진법을 인식하기 때문에 1+1=2인데 컴퓨터는 2를 0으로 인식하게 되어서 B가 된다.

 

행렬식으로 A+B+C=B 임을 보이면,

  

 

이런식으로 행렬의 덧셈 연산으로 DDR 발판을 만들 수 있다.

-->

2박자 3박자도 마찬가지로 기본 소스 발판을 만든다면 적은 용량으로도 흥미 진진한 DDR 발판을 만들 수 잇고 새로운 노래가 나올 때 마다 새로운 발판을 만들 필요가 없음을 알수 있다.

 

2차결론 : 행렬의 덧셈을 통한 DDR 발판을 만드는 새로운 모델을 생각하면서 우리는 새로운 프로그램을 구상하는 결과를 얻었다.   DDR 발판 프로그램을 만드는 것은 다음으로 미루었다. 좀 더 학문적인 실력을 늘린후 우리 스스로 발판 프로그램을 만들었으면 하는 희망을 가지며 아쉽게 프로젝트를 마감한다.

 

프로젝트 진행후 학생의 소감 : 2주동안 인터넷을 뒤지고 선형대수 관련 서적을 뒤지며 많은 생각을 하게 되었습니다. 그냥 번역을 했으면 하는 생각도 많이 하고 주말을 반납하면서 이 프로젝트에 매달리는 우리 모습에 뿌듯함도 느끼고 좀더 지식을 쌓았다면 더 나은 프로젝트 레포트를 낼 수 있었을 텐데 라는 아쉬움이 남았습니다. 지금까지 수동적으로 교수님이 가르쳐 주시는 지식을 익혀 왔지만 이번 계기를 통해서 스스로 탐구하고 공부하면 얻을 수 있는게 많다는 사실을 깨달았습니다. 교수님이 지도에 감사드리며 레포트를 제출합니다.

  

이상구교수의 읽고 보는 수학 자료실  (http://math.skku.ac.kr/~sglee)         

이상구교수 2001년 2학기 강의 Schedule

bar01a.GIF

ⓒ 20001Prof. S.G.Lee, Dept. of Math of SungKyunKwan University