0과 1의 세계

마주

by 김이난달

0과 1의 세계에서

코드로 무엇인가 보이는 것을 만들어본 사람은 보이는 것이 전부가 아니란 것을 안다. 다시 말해 내 눈에 보이는 현실 너머에는 가상의 세상이 있다.「한 시간 만에 게임 만들기」라는 책이 있다. C++ 기초 지식으로 비교적 간단한 클래식 게임을 만들 수 있다. 초보자에게는 생각보다 게임 만드는 일이 쉽지 않다는 것을 느끼게 해주는 책이다. 결과물은 몇 가지 행동도 없고 정말 예전 도트 게임 같지만, 실제로 작업하는 데는 1시간 이상이 걸릴 수도 있다. 오타 1개, 대소문자 1개, 띄어쓰기 1개, 빼먹은 정의 1개 등 사소해 보이는 실수지만 막상 결과물은 사소하지 않을 때가 있다. 또한 어디에서 어떻게 오류가 났는지 파악할 수 없을 때도 있다. 이런 개발 과정을 겪으면 우리가 쓰는 소프트웨어에서 어이없는 버그가 왜 나오는지, 그리고 간단해 보이는 수정도 왜 오래 걸릴 수 있는지 이해 가능하다.

때때로 QA를 하다 보면 보이는 화면 너머 코드가 있는 게 느껴질 때가 있다. 이런 식으로 해서 버그가 나왔겠구나 어떤 방향으로 수정되면 되겠구나 하는 식이다.


인간의 흔적

코드는 단순히 어떤 동작에 대한 정의, 예외 처리 등 건조한 사실들의 나열이 아니다. 거기엔 작성자의 의도와 감정, 불완전성까지 담고 있다. 모든 코드엔 이슈가 있고 작성자의 주석만 봐도 어떤 사람인지 알 수 있다. 0과 1로만 이루어진 세계라도 인간의 흔적은 남는다.

0을 버그로 1을 정상으로 본다면 QA에게도 0과 1의 세상은 있다. 버그와 정상. 이렇게 두 가지로 구분할 수 있다. 그러나 기획 의도에 맞게 개발된 현상이라도 꼭 정상이라 볼 수 없을 때가 있다. 제대로 동작한다고 하지만 막상 이용자가 불편하거나 제대로 이해할 수 없다면 그건 정상으로 보기 어렵다. 현실 세상처럼 모호한 케이스는 게임 세상에도 있는 것이다. 정상과 비정상, 맞고 틀림, 효율과 비효율. 세상을 이분법으로만 보면 무엇이든 빠르게 판단할 수 있다. 하지만 그 속에서 인간의 따스함은 느낄 수 없다. 테스트는 이진법으로 결과가 나올 수 있지만 결국 판단은 사람이 해야 한다.


경계에 서서

0과 1이 무조건 나쁜 것은 아니다. 복잡한 것을 단순하게 보여주고 이해시켜 줄 때도 있다. 다만 그 경계 어딘가는 마음 한편에 볼 수 있도록 남겨둬야 한다. 0과 1 사이 0.5 정도에는 인간의 마음이 위치한다. 경계의 모호함은 하나의 여유를 준다. 논리로 꽉 찬 화면 너머의 세상이지만 그 앞을 바라보는 우리에게는 쉼 쉴 한 구석은 주는 게 어떨까.

금, 토, 일 연재
이전 08화페르소나