나는 운동이 싫다. 운동이 싫고 먹을 것도 좋아하는 바람에 체중의 상태가 말이 아니다. 우리집에는 의자에 앉아서 밟을 수 있는 실내 자전거가 있지만, 그게 내 운동 습관에 도움을 주진 않는다. 실내 자전거를 밟을 정도로 운동에 흥미가 있었다면 아마 진짜 자전거를 타거나 헬스장에서 머신을 탔을 것이다.
역설적이게도 내 운동 습관의 가장 큰 적은 내게 주어진 자유도이다. 나는 운동 할 수도 있고 안 할 수도 있는데다가, 운동을 시작하더라도 내가 원할 때 멈출 수 있다. 한 때 러닝을 시도했던 적이 있었는데, 뛰는 행위에서 오는 힘듦이 너무 싫어서 계속 뜀박질을 멈추게 됐다. 사람들은 러닝을 하면 머릿속이 텅 비는 느낌이 들어 좋다고 하는데, 나는 뛰는 동안 힘듦을 느끼면서 그 힘듦에 집중하는 상념들이 계속 '멈춰! 멈추면 힘듦이 끝날거야! 멈추자!' 하고 미친듯이 속삭인다.
운동을 하는 동안 재미있는 영상을 보는 것도 큰 효과가 없었다. 내가 오락적 영상 매체를 별로 좋아하지 않는게 제일 큰 한계였다. 나는 드라마도 애니도 잘 안 보기 때문이다. (대신 나는 기술 유튜버들의 영상을 많이 본다. 이렇게 보니 참 별나다.) 그럼 대체 뭘 당근으로 써야 운동하는 동안 나를 홀릴 수 있는걸까!?
오랜 고민 끝에 내가 스스로 내놓은 답은 '게임'이다. 나는 싱글 플레이어 비디오 게임을 정말 좋아한다. 그럼, 재미있는 게임을 하기 위해서 내가 운동을 해야한다면 운동을 열심히 하지 않을까? 이 프로젝트는 이 아이디어에서 출발해서 시작했다.

앞서 언급했듯 우리집에는 실내 자전거가 있다. 한 친구가 자기는 메이플 일퀘를 하면서 라이브 스트리밍을 시청하는 동시에 발로는 실내 자전거를 밟는다는 미쳐버린 열정에 감탄해 '나도 해보자'하고 당근에서 하나 구했던 물건이다. 그러나 실내 자전거는 그 크기를 막론하고 페달을 밟을 때 책상 상판에 무릎이 부딪힌다. 쾅쾅. 아프다. 컴퓨터를 하면서 자전거를 밟으려면 실내 자전거를 의자로부터 멀리 밀어서 무릎이 높이 올라오지 않게 해야한다. 그리고 우리집 책상 구조는 그럴 여건이 안 된다. 이런 핑계로 실내 자전거는 집 구석에서 먼지를 맞고 있던 것이다.
그러므로 이 실내 자전거를 쓰려면 책상으로부터 벗어나야한다. 키보드와 마우스를 쓰는 게임은 할 수 없게 되지만 게임패드만으로 할 수 있는 게임이라면 충분히 즐길 수 있다. 계획은 이렇다: 게임패드 입력을 가로채서 특정 버튼이나 스틱이 실내 자전거 속도가 일정 이상 될 때만 작동하도록 한다. 그럼 나는 게임을 원활하게 하기 위해서, 혹은 게임에서 이기기 위해서 실내 자전거를 열심히 밟아야한다.

이 실내 자전거는 내부적으로 속도 측정 기능을 갖고있다. 하지만 왼쪽 페달이 아래로 갈 때 마다 스위치가 단락되어 그 주기를 재는 것으로, 운동 목표인 120rpm을 고려할 때 500밀리초라는 지연시간은 게임에 쓰기엔 부적절했다. 그래서 페달을 기어비로 가속하여 자석이 달린 휠을 빠르게 회전시켜 홀센서 간격을 읽는 것으로 설계했다.
간단한 아두이노 프로그램을 작성하고 HidHide(https://github.com/nefarius/hidhide)로 물리적 게임패드를 파이썬 스크립트에서만 볼 수 있게 가린 뒤, 파이썬 스크립트 안에서 vgamepad(https://github.com/yannbouteiller/vgamepad)로 새 가상 패드를 만들어 게임이 인식하도록 했다. 이 때, 페달의 속도에 따라 특정 입력이 제한되도록 했다. 내가 페달을 얼마나 더 혹은 덜 밟아야하는지 피드백이 필요하기 때문에 간단한 웹 인터페이스를 노출하여 핸드폰으로 보기로 했다.

왼쪽 조이스틱을 연동했고 스카이림을 플레이 해봤다. 잘 된다! 영상 중앙 쯤 핸드폰에 페달을 밟는 속도가 표출되는 것을 확인할 수 있다. 신기하게도 실제로 게임에 집중하고 운동은 게임을 위해 한다는 느낌이 들었다. 땀이 줄줄 나는데도 계속 자전거를 밟을 수 있었다. 근데 하나 문제가 있었다.
진짜 개시끄럽다...
3D프린팅으로 뽑은 기어와 축이 12:1로 가속되어 내는 소리는 귀를 멀게 하기에 충분했다. 영상을 보면 알 수 있듯 너무 시끄러워서 노이즈 캔슬링 헤드폰을 쓰고 게임해야했다. 안 그러면 게임의 소리가 하나도 들리지 않았다. 이걸 개선하지 않으면 안되겠다...
'메이킹로그' 카테고리의 다른 글
| 렌지 후드 랩소디 (1): 일이 점점점점 커진다 (0) | 2026.09.11 |
|---|---|
| 기록을 위한 메이킹 (4): 이게 맞나? (0) | 2026.09.10 |
| 기록을 위한 메이킹 (3): 미국 경찰 VIBE (0) | 2026.09.08 |
| 케이블 와인더 (1): 그저 그런 케이블 와인더들 (0) | 2026.09.07 |
| 감자튀김... 근데 이제 안전벨트 커버인 (1) | 2026.09.06 |