Dev

Microsoft Comic Chat: O IRC que falava em banda desenhada (e agora é open source)

30 anos depois, o código do chat que ajudou a lançar o Comic Sans e que transformava conversas IRC em banda desenhada está aberto ao mundo. Em 1996, a Microsoft lançava o Internet Explorer 3.0. Vinha com Outlook Express, NetMeeting, e uma pequena aplicação que parecia saída de um

30 anos depois, o código do chat que ajudou a lançar o Comic Sans e que transformava conversas IRC em banda desenhada está aberto ao mundo.

Em 1996, a Microsoft lançava o Internet Explorer 3.0. Com ele chegou uma pequena aplicação que parecia saída de uma dimensão paralela: o Microsoft Comic Chat. Em vez de linhas de texto monótonas, o Comic Chat transformava conversas IRC em bandas desenhadas geradas em tempo real, com personagens que expressavam emoções e balões de fala dinâmicos.

A 16 de julho de 2026, a Microsoft libertou o código fonte do Comic Chat no GitHub sob licença MIT, juntamente com patches para compilar em sistemas modernos. O objetivo, segundo o blog de Open Source da Microsoft: "preservar uma peça importante da história do software e dar à comunidade a oportunidade de explorar, aprender e construir sobre ela."

Microsoft Comic Chat 2.5

⬆ Microsoft Comic Chat versão 2.5. As personagens foram criadas pelo artista Jim Woodring.


O projeto de investigação por detrás

O Comic Chat não foi um produto comercial qualquer. Começou como projeto de investigação no Microsoft Research, liderado por David Kurlander no Virtual Worlds Group. A equipa apresentou um paper no SIGGRAPH '96 — a conferência top de computação gráfica — onde descreviam os algoritmos de construção automática de ilustrações.

A ideia era ambiciosa: criar um sistema que imitasse as técnicas de ilustração de um artista de banda desenhada — o lendário Jim Woodring, que desenhou todas as personagens e cenários originais. O sistema escolhia automaticamente:

  • A posição e gestos das personagens
  • Expressões faciais (controláveis pelo utilizador com uma "emotion wheel")
  • Layout e construção de balões de fala
  • Enquadramento tipo BD, com vinhetas dinâmicas

Como funcionava a tecnologia

O Comic Chat implementava avatares 2D (não 3D, ao contrário do que alguns lembram — o V-Chat é que era 3D) com expressões pré-renderizadas. Cada personagem tinha um conjunto de poses e expressões em sprites. O cliente escolhia a combinação certa com base no tom da conversa (detetado por palavras-chave) ou pela emoção selecionada no "emotion wheel".

Funcionava sobre IRC standard (RFC 1459), mas estendia o protocolo com códigos especiais no início de cada mensagem para comunicar a expressão da personagem aos outros clientes Comic Chat. Utilizadores com IRC clients normais viam esses códigos como lixo — um prenúncio do que hoje chamamos vendor lock-in via protocolo proprietário.

Curiosidade: O Comic Chat ajudou a lançar o Comic Sans. Sim, essa mesma. Segundo a Microsoft, a font foi desenhada em 1994 pelo tipógrafo Vincent Connare e encontrou no Comic Chat a sua primeira grande casa; mais tarde foi incluída no projeto Core Fonts for the Web e no Windows, tornando-se uma das fonts mais amadas e odiadas da história do design.


O repositório open-source

O repositório está em github.com/microsoft/comic-chat, sob licença MIT, e contém:

  • Snapshots do código fonte de toda a história do projeto: uma pré-versão de agosto de 1996, a versão 1.0, a 2.1 beta (fevereiro de 1998) e a 2.5 beta 1 (junho de 1998), escritos em C++ com MFC para Windows
  • Duas pastas *-modern (v1.0-pre e v2.5-beta-1) com «tentativas de modernização» feitas com ajuda de IA: compilam com o Visual Studio atual, têm ecrã adaptado a monitores de alta resolução e ligam a servidores IRC modernos (a v1.0-pre-modern com TLS nativo opcional)
  • Uma pasta artifacts/ com o SDK, ferramentas auxiliares, o JChat (cliente Java) e documentação
  • Builds modernas não oficiais da v1.0 e da v2.5b1, para quem só quer experimentar

A Microsoft descreve as versões modernizadas como exemplos, não como relançamentos polidos.


Como compilar hoje

Segundo o README do repositório, todas as versões visam Win32 (x86) e usam Visual C++ 4.x com MFC e NMAKE. Para a versão modernizada:

  1. Clona o repositório: git clone https://github.com/microsoft/comic-chat
  2. Abre uma linha de comandos com o ambiente do Visual Studio 2022 para x86 (vcvars32.bat)
  3. Entra em v1.0-pre-modern e corre nmake /f chat.mak CFG="chat - Win32 Debug"
  4. Executa e liga-te a um servidor IRC (o README remete para uma lista de servidores que funcionam com o Comic Chat)

Aviso: as versões originais não suportam TLS nem IRCv3. Só a modernização da v1.0-pre acrescenta TLS nativo opcional, por isso, com as outras, precisas de um servidor sem SSL ou de um proxy como o stunnel. Para experimentar nostalgia pura, também podes descarregar as builds modernas não oficiais.


Lições 30 anos depois

Olhar para o código do Comic Chat hoje é fascinante por várias razões:

  • C++ pré-STL — o código usa patterns e estruturas de dados que hoje fazemos com std::vector e std::string, mas que na altura eram implementados à mão.
  • Graphical IRC — uma ideia que renasceu em plataformas como Discord, mas que na altura estava décadas à frente do seu tempo.
  • UI research em produto — é raro vermos código de investigação académica a chegar a um produto comercial. O Comic Chat foi um caso raro de transferência direta de research para shipping.
  • Retrocompatibilidade — a decisão de usar IRC standard em vez de criar um protocolo novo foi o que permitiu ao Comic Chat funcionar com a rede existente. Uma lição sobre integração vs. invenção.

Conclusão

O Microsoft Comic Chat é um artefato de uma era em que a Microsoft se atrevia a experimentar. Não era perfeito, não era prático, mas era criativo. Trinta anos depois, o código aberto permite-nos estudar, aprender e talvez ressuscitar algumas daquelas ideias — com protocolos modernos, cifras e fonts melhores que Comic Sans.

Se és fã de história do software, IRC, ou simplesmente curioso sobre como se fazia UI nos anos 90, o repositório merece uma visita. Quem sabe não sai daí um Comic Chat para a era do Matrix?

Recursos adicionais

Partilhar

Comentários 0

Ainda sem comentários — sê o primeiro.