장-프랑소와(Jean-Francois Prevost)는 Xbox360의 키넥트 전용 타이틀인 <댄스 센트럴>, <키넥티멀>, <키넥트 스포츠> 등의 게임 동영상을 보여주면서 키넥트의 기술을 설명했다.
그는 지스타의 부스에서도 직접 체험이 가능한 게임들이라고 말했다.
그는 키넥트를 장착하려면 Xbox360의 주변 장치가 필요하며 키넥트의 센서와 카메라는 USB 인터페이스를 통해서 연결할 수 있다고 설명했다.
키넥트에는 여러 센서가 있다. 키넥트를 연결하면 별도의 컨트롤러는 필요없다. 키넥트의 센서에는 두 장치가 있다. 일단 카메라는 두 가지 종류가 있는데, IR카메라와 RGB카메라가 있다. IR카메라는 적외선을, RGB카메라는 색채를 각각 인식한다.
키넥트에는 마이크가 4대가 장착돼 있다. 소리를 입체적으로 들을 수 있으며, 소리의 원천과 소리가 발화하는 그 대상을 일치시킬 수 있다.
그리고 기울기를 조절하는 '틸트 모터(Tilt motor)' 있다. 거실의 구조에 따라 키넥트 카메라가 TV의 위에 있을 수도 있고, 아래에 있을 수도 있기 때문에 유저의 위치를 인식하기 위해 틸트 모터가 달려있다.
■ 키넥트 개발의 핵심요소 NUI
하드웨어의 설명을 마친 그는 키넥트 개발에 핵심요소인 NUI(Natural User Interface)에 대해 설명했다.
그는 NUI는 유저 전신의 골격을 트래킹 할 수 있는 환상적인 기능이라고 설명했다. 이미지와 입체감을 인식하믕로써 사용자를 판별할 수 있으며 음성도 인식한다. NUI의 센터를 통해 입력받은 유저의 정보는 이미지나 입체감, 오디오가 라이브러리로 이동된다.
이 라이브러리를 통해 게임에 필요한 각종 정보를 기반으로 게임이 실행된다.
NUI는 배경에 무엇이 있는지, 사용한 사람 누구인지, 바닥까지도 인식할 수 있다. 라이브러리에는 골격의 정보를 인식하고 저장하며, NUI의 라이브러리를 통해 여러 움직임을 포착할 수도 있다.
이 움직임은 기존에 입력된 사용자 정보에 맞춰 조율되고 라이브러리에 저장된다. 마지막 단계에서는 이 골격의 형태를 특정 아바타와 매치시켜 게임을 시작할 수 있다.
다음에 그가 설명한 것은 전신 골격 트래킹이다. 강의 중에도 몇 번이나 강조한 내용이였다.
먼저 입체감을 분석하여 골격의 형태를 포착하는 것으로 한번에 두 개의 전신 골격을 포착할 수 있다. 각 20개의 연결부위마다 신뢰도가 나타난다. 이 신뢰도는 카메라의 범위에 따라 나타나는 오차범위다.
그리고 카메라의 소음이 심하므로 API를 사용해서 소음을 제거한다.
유저만의 필터링시스템을 사용할 수 있다. 라이브러리를 사용해서 Xbox360의 아바타의 골격을 조절할 수 있다. 이미지와 입체감을 프로세싱하는 것을 자세히 보면 컬러 맵과 뎁스 맵, 세그먼테이션 맵의 세 가지가 필요하다. 이 요소들이 결합되면서 이미지 데이터가 생성된다.
세그먼테이션 맵을 통해 사용자와 배경을 분리해서 사용자를 인식하는데, 센서의 데이터는 초당 30프레임이다. 이 모든 맵을 동시에 적용하고 접수할 수 있도록 조율이 가능하다.
■ 키넥트, 게임 사용자의 3가지 정보를 토대로 인식
이후, 그는 사용자의 인식을 설명했다.
그는 사용자의 인식에 대해서 '키넥트의 장점은 사용자가 별다른 컨트롤러 없이 플레이가 가능하다는 것'라고 말했다. 키넥트는 게임하기에 앞서 사용자를 인식한다. 사용자 인식을 위해 센서를 통해 접수하는 필수 정보는 골격과 색채에 대한 정보다. 이 두가지는 얼굴을 인식하는데 필요하다. 그리고 음성을 인식한다.
사용자가 카메라 앞에 선다면 키넥트는 이 세 가지 데이터를 토대로 인식한다.
키넥트는 사용자 인식을 통해서 게임에 참여하는 유저를 인식할 수 있는데, 특히 여러 사람이 참여하는 게임에 유용하다.
다양한 사람이 참여할 때 총 8명의 사용자까지 기억할 수 있다. 예를 들면 손님이 집에 왔을 때 Xbox360의 프로파일이 따로 없더라도, 기존 유저의 프로파일을 연계하여 그 사람도 게임 참여가 가능하다.
적절한 프로파일을 개설할 수 있다. 게임을 주로 즐기는 사용자를 인식하는 과정을 통제함으로써 키넥트는 사용자가 중간에 바뀌거나 사용자들이 장소를 이동하더라도 통제하고 인식할 수 있다.
다음은 음성인식인데, 이것은 마이크로소프트의 스피치 엔진(Speech Engine)을 사용하고 있다.
키넥트와 연결하여 사용하는 엔진으로, 센서에서 떨어져 있더라도 음성을 인식할 수 있다. 이 기능 덕에 키넥트는 사용자를 음성만으로도 인식할 수 있다다. 이것이 가능한 이유는 MEC(Multichannel Echo Cancellation)를 통해 음성을 더 정확하게 인식할 수 있기 때문이다.
현재는 영어가 표준어로 되어 있지만 다양한 언어로 가능하도록 개발을 추진 중이다.
■ 콘트롤러가 필요없는 키넥트
키넥트의 핵심은 컨트롤러가 필요없다는 것이다. 컨트롤러는 굉장히 복잡하며 게임을 처음 접하는 사람에게 굉장히 두려운 존재가 될수도 있다.
키넥트 화면 앞에 서면 게임을 즐길 수 있으니 컨트롤러도 필요없다. 그는 키넥트 광고 동영상을 통해 사용자에게 친화적인 인터페이스 환경으로 골격시스템이 어떻게 활용되는지를 보여줬다.
동영상이 끝난 후, 그는 키넥트가 왜 진정한 NUI시스템인지에 대해 설명했다.
그는 "예전에는 모션 컨트롤에는 다른 방법을 사용했다. 하지만 키넥트는 다른 컨트롤러가 필요없다. 플레이어의 몸이 컨트롤러이며, 새로 배워야할 내용이 없다. 어떻게 플레이할 지는 몸이 이미 알고있다"고 말했다.
또 그는"키넥트를 사용해서 모든 사람이 게임을 즐기길 바란다. 컨트롤러를 사용하던 유저 뿐만 아니라, 게임을 새롭게 접하는 사람도 게임을 쉽게 다가가도록 한다는 게 우리의 생각이다"고 덧붙였다.
댄싱 게임을 예로 들으며, 그는 자신은 춤을 잘 추지 못하지만 키넥트를 통해서 스크린을 보면 그럴 듯 해 보인다며, 그러한 움직임이나 춤 실력을 향상 시킬 수 있다고 설명했다.
그는 컨트롤러를 처음 쥐어주며 '점프를 해보세요.'라고 말한다면 어느 버튼을 눌러야될지 모르겠지만, 키넥트를 이용하면 점프는 점프이며, 던지는 동작은 곧 던지는 것이라며 게임 방법을 따로 배울 필요없다고 말했다.
그리고 그는 '첨단 기술이란 어떤 것이든 마법과 다름이 없다'라는 아서 C. 클라크 (Arthur Charles Clarke)의 말을 인용하며, 지스타에 있는 키넥트를 직접 체험하면 자신의 말에 공감할 수 있을 것이라고 말했다.
■ 버튼이 필요 없는 키넥트 게임의 디자인
그는 <키넥트 어드벤쳐>의 동영상을 보여주면서 키넥트 개발 경험과 필요한 정보들을 알려줬다.
우선 그는 '어떻게 게임을 구성해야 할 것인가'에 대해 고민해야 하며 과거의 장르들을 그대로 끼어넣지 말아야 한다고 말했다.
기존에 컨트롤러로 즐길 수 있는 게임들이 너무 많다. 컨트롤러를 사용하여 완벽하게 즐길 수 있는 게임들도 있지만 이것을 그대로 키넥트에 적용할 수 없다. 그는 "우리는 게임 개발자로서 굉장히 창의적인 새로운 아이디어를 찾는 것이며 컨트롤러를 빼고서 어떤 것을 할 수 있을까를 찾아보는 것"이라고 말했다.
현재도 좋은 게임들이 많이 나와있는데, 이 다음에는 무엇이 있는가를 생각해봐야한다고 했다.
아이디어를 개발자들이 많이 수용하고 있으니 창의력을 발휘하는 좋은 기회가 될 것이라고 말했다. 그리고 그는 기존 게임을 조금 변형해 키넥트에 접목하는 것은 쉬운 방법일지도 모르나 그것은 권장하지 않는다고 말했다.
키넥트를 가지고 플레이하는 유저가 '컨트롤러가 있으면 더 좋을텐데'라고 말하는 순간 그 게임은 실패가 된다.
그는 기본으로 돌아갈 필요가서 기존 게임들을 분석하여 왜 인기를 얻었는가에 대한 근본적인 요인을 찾아내는 게 도움이 될 것이라고 주문했다. 키넥트를 통해 '어떤 경험을 만들고 싶은가?'라는 것을 먼저 고려하여 만들 수 있는지를 생각해봐야 한다.
그리고 디자인의 경우, 버튼 없어야 한다. 왜냐면 컨트롤러가 없기 때문이다.
이는 출발점이 되어야 한다. 이 때문에 디자인은 많은 고려 대상이다. 예를 들어, 일시 정지를 어떻게 할 것인가?', '스타트 버튼이 없는데 어떻게 시작할 것인가?' 등에 대한 것이다. 이러한 조건을 받아들이고 이것들이 없이도 몰입적인 경험을 어떻게 창조를 할 수 있는가에 대해 고민 해야 한다.
이를 해결하기 위해 골격 트래킹이나 센서를 충분히 사용해야 한다.
이러한 면에서 유저 인터페이스가 중요하다. 초기 단계에 굉장히 신중히 생각해야 한다. <키넥트 어드벤쳐>를 예를 든다면 점프를 이용해 시작하거나, 다른 게임은 박수를 쳐 시작한다다. 지금 나온 키넥트 게임들을 참고하여 새로운 게임을 만들 수 있을 것이라고 말했다.
■ 유저의 움직임을 고려해야 하는 키넥트의 카메라
그 다음은 카메라 영역이다.
플레이어를 기준으로 볼 때, 카메라의 위치 선정과 함께 플레이어가 TV를 봐야지 카메라를 봐서는 안된다는 것이다. 사람이 움직이도록 해야 하지만 카메라 영역 밖으로는 나가서는 안된다. 카메라 영역 밖으로 나가게되면 메세지를 띄워 다시 영역 안으로 들어오도록 해야한다.
게임을 하다보면 영역 밖으로 나가기 쉬우니 이를 빨리 알려줘야 한다. 그리고 게임을 플레이하는 공간도 역시 고려해야 한다. 플레이어가 최적의 공간에서 게임할 수 있도록 해야 한다. 예를 들어, 앞서 본 <키넥트 어드벤쳐>는 플레이를 하기 전 '두 명이 플레이를 할 경우 한 발 뒤로 물러나시오'라는 설명이 나온다.
그러한 모든 상황을 생각해서 플레이어가 공간 내에서 자유롭게 움직일 수 있도록 하는 것이 중요하다고 강조했다.
유저의 피로도 요소도 고려를 해야 한다. 즉 게임의 속도, 밸런스 등에 대해서 생각해야 한다.
그는 "4시간 동안 달리기를 할 수는 없지 않겠습니까, 물론 하고 싶지만"이라고 말하며 스포츠 게임을 예로 들면서 프로토 타입 제작에도 많은 고려가 필요하다고 말했다. 프로토 타입을 신속하게 만드는 것 못지 않게 플레이를 많이 해보는 것도 중요하다.
플레이 테스트도 마찬가지다.
키넥트가 유저들에게 새로운 것이므로 다양한 상황에서 다양한 사람들이 플레이 시 어떤 현상이 나타나는 지를 파악해야 한다. 테스트에 참가한 사람들의 의견들도 중요하며, 개발자들이 유저들에게 '이렇게 저렇게 하세요'라며 알려주면 정확한 결과가 나오지 않는다.
개발자들은 테스트에 참가한 플레이어들이 경험한 것을 솔직하게 말할 수 있도록 열린 마음으로 받아들여야 한다.
마지막으로 그는 키넥트를 잘 활용하는 방법을 설명했다.
여기에서 그는 골격 트래킹에 대해 다시 강조했다. 컬러 스트림 유저 식별 외에도 다른 곳에도 많이 사용되고 있기 때문이다. 그리고 음성 인식을 이용한 플레이어 식별은 컨트롤러가 없는 상황에서는 굉장히 중요하다고 말했다.
그는 질문이나 재미있는 아이디어가 있다면 찾아와 달라고 말하며 Q&A 시간을 가진 뒤 강연을 마쳤다.