![[심층분석] 코믹산스를 세상에 데뷔시킨 전설의 채팅 앱, Microsoft Comic Chat이 30년 만에 오픈소스로 풀렸어요](/newsimg/9lFBhVNV38zOpsVo.jpg)
텍스트만 흐르던 채팅창을 만화책으로 바꾼 프로그램이 있었어요
1996년의 인터넷 채팅을 상상해 보세요. 프로필 사진도, 이모지도, 스티커도 없어요. 그냥 까만 화면에 흰 글자가 폭포처럼 흘러내리는 게 전부였거든요. 그런데 그 시절에 '채팅을 실시간으로 만화로 그려주면 어떨까?'라는 엉뚱한 상상을 실제 제품으로 만든 팀이 마이크로소프트에 있었어요. 그 결과물이 바로 Microsoft Comic Chat인데요, 이 전설적인 프로그램의 소스코드가 2026년 7월 16일, 약 30년 만에 GitHub에 공개됐어요.
Comic Chat이 뭐냐면, IRC 채팅을 자동으로 만화 패널로 바꿔주는 채팅 클라이언트예요. 내가 'I like that'이라고 치면 내 캐릭터가 자기 자신을 가리키고, 화난 말투로 쓰면 캐릭터가 팔짱을 끼고 인상을 쓰는 식이었죠. 참가자들은 각자 일러스트 캐릭터로 표현되고, 대화는 말풍선과 표정, 제스처가 담긴 만화 컷으로 펼쳐졌어요.
그리고 이 프로그램에는 재미있는 부록이 하나 있는데요. 바로 그 유명한 폰트, Comic Sans예요. 1994년 마이크로소프트의 타이포그래퍼 빈센트 코네어(Vincent Connare)가 디자인한 이 폰트가 처음으로 제대로 자리를 잡은 곳이 Comic Chat이었거든요. 손글씨 느낌의 캐주얼한 서체가 말풍선과 딱 어울렸으니까요. 디자이너들 사이에서 두고두고 놀림거리가 되기도 하는 그 폰트의 '고향'이 이번에 열린 셈이에요.
30년 전 코드가 하던 일: LLM 없이 감정을 읽어내기
이 프로젝트를 이끈 사람은 마이크로소프트 리서치 Virtual Worlds 그룹의 데이비드 'DJ' 컬랜더(David Kurlander)예요. 1995년에 개발을 시작해 1996년 인터넷 익스플로러 3와 함께 세상에 나왔고, Visual C++ 4.0과 MFC로 만들어졌어요.
여기서 용어 두 개만 짚고 갈게요. IRC(Internet Relay Chat)는 1988년에 만들어진 채팅 프로토콜인데, 쉽게 말해 카카오톡 오픈채팅의 증조할아버지 같은 존재예요. 서버에 접속해서 채널(방)에 들어가면 텍스트로 대화하는, 인터넷 채팅의 원형이죠. MFC(Microsoft Foundation Classes)는 윈도우 프로그램을 C++로 만들 때 쓰던 프레임워크예요. 지금으로 치면 일렉트론이나 플러터 같은 역할로, 창을 띄우고 버튼을 그리는 온갖 귀찮은 일을 대신해 주는 도구 상자라고 생각하면 돼요.
Comic Chat이 진짜 흥미로운 건, 단순히 'IRC에 그림을 입힌 스킨'이 아니었다는 점이에요. 이 프로그램은 텍스트 속의 대화 단서를 해석해서 적절한 포즈, 표정, 제스처, 그리고 만화 컷의 레이아웃까지 스스로 골랐어요. 메시지를 그냥 보여주는 게 아니라, 이 대화가 만화로서 어떻게 보여야 하는지를 실시간으로 연출했던 거죠.
비유하자면 이래요. 여러분이 웹툰 작가에게 채팅 로그를 넘겨주면, 작가는 '이 대사는 화난 것 같으니 찡그린 표정으로', '여기서 화제가 바뀌니 새 컷으로' 하고 연출 결정을 내리잖아요? Comic Chat은 그 연출 결정을 1996년의 PC에서 즉석으로 내렸어요. GPU도, 신경망도, 클라우드도 없이요. 순수하게 손으로 짠 규칙과 휴리스틱(경험에서 뽑아낸 어림짐작 규칙)만으로요.
이 접근법을 요즘 방식과 비교해 보면 더 재밌어요.
- 규칙 기반 (Comic Chat 방식): 'I like' 같은 패턴이 보이면 자기를 가리키는 포즈를 고르는 식이에요. 빠르고, 결과가 예측 가능하고, 저사양 PC에서 로컬로 돌아가요. 대신 규칙에 없는 표현은 못 알아들어요.
- LLM 기반 (요즘 방식): 문맥 전체를 이해해서 미묘한 뉘앙스까지 잡아내요. 대신 무겁고, 비용이 들고, 가끔 예상 밖의 판단을 해요.
- 이모지와 스티커: 텍스트에 감정을 입히는 가장 보편적인 방법이 됐죠.
- 미모지·비트모지: '나를 대신하는 캐릭터'라는 발상 그 자체예요.
- VTuber와 아바타 방송: 표정과 제스처를 실시간으로 캐릭터에 입힌다는 점에서 Comic Chat의 직계 후손이라 할 만해요.
- AI 이미지 생성 채팅: 대화 내용을 시각적으로 표현한다는 꿈의 최신 버전이고요.
소스코드가 공개됐으니, 이제 그 규칙들이 실제로 어떻게 짜여 있었는지 눈으로 확인할 수 있게 됐어요. '텍스트에서 감정 읽기'라는 문제를 30년 전 엔지니어들이 어떤 자료구조와 조건문으로 풀었는지 직접 보는 건, 논문이나 회고담을 읽는 것과는 또 다른 재미가 있거든요.
마이크로소프트의 오픈소스 행보, 그리고 Comic Chat의 후손들
사실 마이크로소프트가 옛날 소프트웨어를 오픈소스로 푸는 건 이번이 처음이 아니에요. MS-DOS, GW-BASIC, 윈도우 파일 관리자(WinFile), 3D Movie Maker까지 꾸준히 박물관의 유리장을 열어왔거든요. '오픈소스는 암'이라던 2000년대 초의 마이크로소프트를 기억하는 분들에겐 격세지감이죠. GitHub를 인수하고 VS Code와 TypeScript를 오픈소스로 키우면서 회사의 정체성 자체가 바뀌었고, 이번 공개도 그 연장선에 있어요.
그리고 Comic Chat의 아이디어는 죽지 않았어요. 오히려 지금 우리가 매일 쓰는 것들 안에 흩어져 살아있는데요.
한국 개발자에게: 우리도 이 역사에 지분이 있어요
한국 개발자 입장에서 이 뉴스가 남다르게 다가오는 이유가 있어요. 우리나라는 사실 아바타 채팅의 강국이었거든요. 1999년 세이클럽이 아바타 시스템으로 새로운 수익 모델을 증명했고, 버디버디, 싸이월드 미니미로 이어지는 계보가 있잖아요. Comic Chat이 '대화를 시각화한다'는 아이디어를 연구실에서 실험했다면, 한국 서비스들은 '아바타로 나를 표현한다'는 아이디어를 상업적으로 꽃피웠어요. 이번 공개를 계기로 그 시절 아이디어들을 다시 들여다보는 것도 의미가 있어요.
실무적으로는 이런 활용을 추천하고 싶어요.
1. 레거시 코드 읽기 훈련장으로 쓰세요. 실무에서 제일 어려운 일 중 하나가 남이 짠 오래된 코드를 읽는 거잖아요. 30년 전 MFC 코드베이스는 최고 난이도의 독해 교재예요. GitHub에서 클론 받아서 '이 프로그램의 진입점이 어디지?', '채팅 텍스트를 해석하는 로직은 어느 파일에 있지?' 하고 추적해 보세요. 이 훈련이 회사에서 10년 묵은 코드를 만났을 때 그대로 힘이 돼요.
2. 제약 속의 설계를 배우세요. 1996년 PC는 메모리가 8~16MB 수준이었어요. 그 안에서 실시간 텍스트 분석과 그래픽 렌더링을 동시에 해낸 설계를 보면, 자원이 넘치는 요즘 환경에서 무뎌지기 쉬운 최적화 감각을 되살릴 수 있어요.
3. 학습 로드맵을 제안하면 이런 순서가 좋아요. 먼저 C++ 기본 문법을 아는 상태에서 MFC의 메시지 맵 개념만 가볍게 훑고, 그다음 IRC 프로토콜 명세(RFC 1459)를 한번 읽어보세요. 텍스트 한 줄짜리 명령으로 이뤄진 단순한 프로토콜이라 네트워크 프로토콜 공부의 입문으로 최고거든요. 마지막으로 Comic Chat 소스에서 채팅 텍스트가 들어와 캐릭터 포즈가 결정되기까지의 경로를 따라가 보는 거예요. 주말 이틀 정도면 대략적인 구조는 파악할 수 있을 거예요.
마무리: 소프트웨어도 문화유산이 되는 시대
이번 공개가 주는 가장 큰 메시지는, '소프트웨어도 보존할 가치가 있는 문화유산'이라는 인식이 주류가 됐다는 거예요. 책이나 영화는 도서관과 아카이브가 지켜주지만, 소프트웨어는 회사 서버 어딘가에서 조용히 사라지는 경우가 대부분이었거든요. 빅테크가 스스로 옛 코드를 박물관에 기증하듯 공개하는 흐름은, 앞으로 더 많은 '전설의 소프트웨어'가 열릴 거라는 신호이기도 해요.
개인적으로는, 지금 AI로 아바타와 감정 표현을 연구하는 분들이 이 코드를 꼭 봤으면 해요. 문제 정의는 30년 전이나 지금이나 똑같거든요. '사람의 말에서 감정과 의도를 읽어내서, 시각적으로 표현한다.' 도구만 조건문에서 신경망으로 바뀌었을 뿐이에요.
여러분은 어떠세요? 세이클럽 아바타나 버디버디를 쓰던 추억이 있으신가요? 그리고 만약 지금 Comic Chat을 부활시킨다면, LLM과 이미지 생성 모델로 어떤 기능을 넣어보고 싶으세요? 댓글로 여러분의 추억과 아이디어를 들려주세요.
🔗 출처: Hacker News