[본 게시글을 2020. 3. 8. 22:34에 작성된 글을 아카이브화를 목적으로 하여 작성되었음을 분명히 밝힙니다]
2020 - 04 -09 수정
더 호환성이 높은 virtual controller가 발견되어 사용법이 발견되었습니다.
최신 게시글을 확인 부탁드립니다.
<차후 링크 제공 예정>
2020년 고전게임 및 콘솔게임 팀플레이 패러다임이 다시한번 바뀌고 있는데 그 주역으로는 파섹(parsec)이 주인공 되시겠다. parsec이란 무엇인가하면 간단하게 이야기하자면 "팀플레이 게임을 목적으로 한 원격조종 프로그램"되시겠다.
우리는 지금까지 넷플이라는 개념을 떠올리면, 컴퓨터 두대가 동일한 미들웨어, 소위 에뮬레이터를 이용하여 서로 연결하여 게임을 하는 개념이 일반적이다. 그러나 parsec의 개념은 미들웨어의 다단계를 없애고, 호스트의 컴퓨터에 인터넷을 통하여 클라이언트가 자기의 키보드를 호스트의 pc에 박아버리는 방식이 되시겠다.
즉, 상대의 pc에 직접 접속하여 키보드 두개로 같은 pc로 팀플하는 방식인 것이다.
미들웨어를 없앴으나, 이는 매우 획기적인방식으로 에뮬레이터의 성능을 타는 것없이 게임에 직접적으로 플레이하는 방식에, 실시간으로 게임하는 방식이기때문에 매우 안정성있는 플레이를 자랑한다. 실제로 파섹을 통해 메탈슬러그 등의 콘솔게임을 팀플 컨텐츠 스트리밍을 진행하는 스트리머도 있는등 다양한 크리에이터들의 컨텐츠 양성이 되고 있다.
그러나 이러한 파섹도 고전게임 스트리머들에겐 치명적인 오류가 존재했으니, 바로 마메(MAME)라는 가장 중요한 위치에 자리잡은 에뮬레이터가 파섹의 키보드 입력을 받지 않는 프로그램이라는 것이다.
실제로 수많은 외국의 파섹유저들 또한 왜 받지 않는 것인가에 대해 수많은 고민을 내렸고 결국 토론을 통해 클라이언트는 패드로 플레이하는 수밖에 없다는 결론을 내렸다. 그러나 재난에 피할 구멍이 하나 없으랴, 필자는 여러가지 시도 끝에 클라이언트도 마메를 키보드로 플레이하는 방법을 알아냈으니 만약 필요한 사람이 있다면 한번 시도해보기 바란다.
우선 준비물은 하나만 챙기면 된다.
vjoy, 가상 조이스틱 입력 프로그램으로, 키보드의 입력을 dinput형식의 스틱입력으로 변환해주는 프로그램이다.
다운받으면서 한번 생각해보기 바란다.
왜 이런현상이 발생했는가?
필자의 결론은 게임패드의 입력방식에 따라 바뀐 결과라고 생각하는 것이다.
우선 필자의 결론을 설명하려면 우선 dinput과 xinput의 차이를 먼저 알아야한다.
dinput은 다이렉트 인풋으로 키보드 마우스등의 입력장치의 입력을 받아들이는 기존의 입력방식의 API로 범용적으로 사용하는 API라면,
xinput은 xbox360패드 이후에 나온 입력 API로서, 게임패드 전용으로 받아들이는 입력api로 차세대의 입력체계 시스템이라고 보면 무방하다.
그러나 마메는 xbox360이 나오기 이전부터 계속해서 사용하던 에뮬레이터다. 즉, xinput보다는 dinput을 위주로 돌아가는 프로그램인것이다.
즉 결론은 파섹은 키보드 입력 및 패드 입력을 기본적으로 xinput으로 입력을 받아들이고 있기때문에 xinput을 지원하지 않는 프로그램은 지원이 안된다는 것이 된다.
실제로 xbox360이 출시되고 xinput을 지원하는 콘솔게임 같은경우, 문제없이 지원될 뿐만 아니라, 스팀게임의 경우 자체 컨트롤러 설정을 통해 xinput으로 입력을 변환해주는 기능이 있어 편리하게 가능하다. 그리고 이러한 게임들의 특징은 파섹으로 무난하게 팀플이 가능하다는 것이다.
오직 xinput의 기능이 제대로 지원하지 않는 마메가 xinput형식으로 취급받는 파섹의 클라이언트 키보드 입력을 받아들이지 못해 클라이언트의 키보드가 반응이 없다. 이것이 필자의 결론이다.

즉, xinput의 취급을 받고 있는 키보드 입력을 dinput으로 입력을 바꿔주는 vjoy를 사용하여 dinput으로 인식하게 하면 마메에서 입력을 받을 수 있다는 것이 된다.
xinput api를 통해 키보드나 패드, 마우스의 입력을 통제할 수 있는 소스코드의 예시를 어디선가 확인을 했었다. 방식이 어디선가 비슷했었는데 바로 파섹에서 키보드나 마우스, 패드를 통제할 수 있는 기능과 거의 일맥상통한 것이다.
이러한 근거를 통해 필자는 xinput에 단서가 있다고 판단을 했고 dinput으로 바꿔줄 수 있는 최신게임들의 api는 문제가 없다는 것에 단서를 잡아, xinput의 보정이 없는 구버전의 프로그램들에게 문제가 있다고 생각해 위와 같은 결론을 내리게 되었다.
사용방법.
1. 호스트 pc에만 vjoysetup.exe를 설치한다.
2. vjoy.exe를 실행한다.
3. 클라이언트가 사용할 키들을 설정한다.

4. enabled 체크박스를 활성화시킨다.

5. 마메에서 키세팅을 시도해본다.(이때, 클라이언트가 직접 세팅해야한다. 호스트가 입력하면 동시입력처리를 받기 때문에 클라이언트에서 입력하는 키보드 입력이 무시당할 수 있다)
6. 테스트를 시도한 뒤 결과를 확인한다.
2020 - 04 -09 수정
더 호환성이 높은 virtual controller가 발견되어 사용법이 발견되었습니다.
최신 게시글을 확인 부탁드립니다.
댓글 없음:
댓글 쓰기