[추억의 기록] 콘웨이의 생명 게임에 대한 오래된 기억들꞉ 8비트 시대의 경이

《Scientfic American》 1970년 10월호마틴 가드너는 자신의 컬럼에서 game “life”를 최초로 공개했다.
존 콘웨이(John Horton Conway)의 아이디어를 정리한 이 글은 이후 수십 년 간 많은 개발자와 수학자들을 열광시켰다.

프로그래머라면 한 번쯤은 거쳐 가야 할 코딩의 성지와 같은 과제가 되었으며, 가장 단순한 논리에서 가장 복잡한 생명력이 탄생하는 과정을 목격하는 즐거움을 선사해 왔다.

image

1. 대한민국, ‘생명’을 만나다

이 게임이 지면을 통해 우리나라에 처음 소개되었던 건 아마도 《월간 마이크로 소프트웨어》 1985년 6월호였던 것 같다.
해당 글에서는 “Life라는 이름으로 잘 알려져있다”고 되어있지만, 당시의 환경을 생각하면 겸손의 표현이 아닌가 싶다.
혹은 이미 알 만한 ‘꾼’들 사이에서만 전설이었을 수도 있고.

image

기사는 애플 호환기종, SPC-1000, MSX 기종을 위한 BASIC 소스 코드를 함께 공개했다.
하지만 당시 하드웨어 스펙으로는 그 감동을 느끼기에 ‘속도’라는 벽이 너무나 높았다.

2. 0.5 MIPS의 한계와 기계어 굇수들의 등장

당시는 메인 프레임이 겨우 10~20 MIPS를 찍던 시절이었다.
0.5 MIPS Z-80에서 동작하는 BASIC 인터프리터 프로그램이란 그냥 인내의 과정일 뿐이었다.

하지만 개발자들은 늘 한계를 돌파하는 법을 찾아낸다.
《월간 마소》에서는 두 달 뒤에 SPC-1000에서 동작하는 기계어 활용 버전생명Ⅱ란 이름으로 공개한다.
이제부터 슬슬 굇수들의 시대가 열리기 시작한 것이다.

image 당시 STATIC SOFT라는 곳에서 공개한 최적화의 결과물

3. “다시는 중학생을 무시하지 마라”

이듬해인 1986년, 드디어 우리 MSX 용으로도 기계어 버전의 생명 게임이 공개되었다.
그런데, 이 엄청난 작품을 기고한 분이 중학생이다…

다시는 중학생을 무시하지 마라.
 

image 강남중의 압박

4. 낭만의 시대가 남긴 것

지금은 컴퓨팅 파워의 비약적인 향상으로 이렇게 하드웨어 성능을 한계까지 몰아붙일 필요가 없다.

아니, 애초에 직접 구현할 필요도 없다.
Play John Conway’s Game of Life만 가봐도 훨씬 더 넓은 화면의 버전을 쓸 수 있다.

하지만 효율과 성능이 모든 것을 압도하는 지금, 가끔은 그 낭만의 시대가 그립다.
부족한 클록 수와 좁은 메모리 안에서 어떻게든 ‘생명력’을 구현하기 위해 밤을 지새우던 그 시절의 순수한 열정이…


덧1. MSX용 생명Ⅱ를 만드신 중딩 차재춘 님은 지금 포항공대에서 수학과 교수로 재직 중이심.
최석준 기자의 블로그에서 상세한 인터뷰를 볼 수 있음.

image

  • 이런 굇수수학을 좋아하지 않았다는 말씀은 언제나 흘려들어야 함
  • 이런 굇수공부는 썩 잘하지 못했다1는 말씀 역시 우리에겐 아무 의미 없음
    • 참고로, 아인슈타인도 수학 못했다는 얘기가 종종 들리는데, 정확히 같은 층위의 얘기임

덧2. 칼럼을 통해 이를 세상에 알리셨던 마틴 가드너 님은 한평생 수학의 유희적 가치와 경이로움을 전파하며 수많은 공학도에게 지적 영감을 선사하셨고, 2010년 5월 22일95세를 일기로 타계하셨음.

덧3. 존 콘웨이 님은 2020년 4월 11일코로나19로 인해 사망하셨음.
수학계의 거목마저도 피해가기 힘든 갑작스러운 대재앙이었음.

  1. 인터뷰에 실제로 나오는 얘기임