28 anos depois, o código que nos deu o Comic Sans e os avatares 3D em tempo real 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 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 objectivo, segundo Scott Hanselman e Robert Standefer no 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."

Neste artigo vais aprender:

  • A história e contexto técnico do Comic Chat
  • Como funcionavam os avatares 3D e a geração automática de BD
  • O que o repositório contém e como compilar hoje
  • Lições técnicas que podemos tirar do projecto 30 anos depois

<mark>Microsoft Comic Chat</mark> 2.5

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


O projecto de investigação por detrás

O Comic Chat não foi um produto comercial qualquer. Começou como projecto 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 (detectado por palavras-chave) ou pela emoção seleccionada 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 instalava uma font chamada Comic Sans MS. Sim, essa mesma. A font foi incluída no projecto Core Fonts for the Web da Microsoft e mais tarde no Windows, tornando-se uma das fonts mais amadas/odiadas da história do design.


O repositório open-source

O repositório está em github.com/microsoft/comic-chat e contém:

  • Código fonte em C++ (escrito originalmente para Windows 95/NT)
  • Patches e adaptações para compilar em versões modernas do Visual Studio
  • Assets gráficos: sprites das personagens, cenários, backgrounds
  • Ferramentas de edição de personagens (Character Editor)
  • Documentação técnica e o paper original do SIGGRAPH '96

O código está disponível sob licença MIT, o que significa que podes usar, modificar e distribuir livremente. A Microsoft incluiu correcções para resolver dependências de bibliotecas obsoletas e problemas de compilação com toolchains modernos.


Como compilar hoje

Segundo o README do repositório:

  1. Clona o repositório: git clone https://github.com/microsoft/comic-chat
  2. Abre a solução no Visual Studio 2022+
  3. Instala os workloads de "Desktop development with C++"
  4. Compila (target: x86, porque o código tem dependências de 32 bits)
  5. Executa e liga-te a um servidor IRC

Aviso: O cliente não suporta IRCv3, nem SSL/TLS nativo. Para usar hoje, precisas de um servidor IRC sem SSL ou de um proxy como o stunnel. Mas para experimentar nostalgia pura, funciona.


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 directa 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 artefacto 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

Comentários (0)

Nenhum comentário ainda. Seja o primeiro!

Deixar comentário