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
⬆ 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:
- Clona o repositório: git clone https://github.com/microsoft/comic-chat
- Abre a solução no Visual Studio 2022+
- Instala os workloads de "Desktop development with C++"
- Compila (target: x86, porque o código tem dependências de 32 bits)
- 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?
Comentários (0)
Nenhum comentário ainda. Seja o primeiro!
Deixar comentário