Retina Desgastada
Idéias, opiniões e murmúrios sobre os jogos eletrônicos
Comunidade do SteamTwitterCanal no YouTubeRSS

5 de setembro de 2020

25 Anos de DirectX e Sua Revolução no Mundo dos Jogos de PC

(publicado originalmente no Código Fonte)

directx

Em 1994, empresas japonesas dominavam completamente o mercado de jogos eletrônicos. Sega e Nintendo disputavam a hegemonia e a Sony estava prestes a chegar com o primeiro PlayStation para incendiar a concorrência.

Apesar de jogos para computadores existirem havia mais de uma década, ninguém considerava a plataforma como competitiva. E ninguém, absolutamente ninguém, imaginava o sistema operacional Windows como uma alavanca para mudar esse cenário. Foi nesse contexto que a Microsoft autorizou uma iniciativa conhecida como "Projeto Manhattan", um dos piores nomes possíveis, mas que surtiu efeito.

Historicamente, o "Projeto Manhattan" original era o nome do projeto secreto do governo norte-americano para criar as primeiras bombas nucleares. Seria justamente o Japão, durante a II Guerra Mundial, que sentiria o resultado em seu território.

Quase cinquenta anos depois, ali estava um engenheiro da Microsoft com um plano que deveria sacudir as empresas japonesas. O infame título original virou DirectX, mas o logotipo com o símbolo de radioatividade permaneceria por anos.

Ligação Direta

Quem desenvolvia jogos para PC em 1994 ignorava solenemente o ambiente Windows. MS-DOS era mais simples, talvez até ultrapassado, mas não oferecia problemas. A única vantagem que a Microsoft oferecia era uma interface gráfica conhecida como WinG, notória por suas falhas.

Em novembro daquele ano, Alex St. John, engenheiro e desenvolvedor da Microsoft, estava tentando convencer criadores de jogos a migrarem suas próximas produções do MS-DOS para o vindouro Windows 95. Nenhum dos entrevistados estava disposto a dar esse salto no escuro e estavam muito satisfeitos com o jeito antigo.

alex-st-john

Entretanto, o futuro estava vindo ligeiro e a Microsoft estava disposta a investir pesado no seu próximo sistema operacional. O salto gráfico entre o Windows 3.11 e o Windows 95 era revolucionário. Um horizonte multimídia parecia se estabelecer logo adiante e jogos poderiam ser um dos atrativos que trariam mais usuários para o sistema operacional. Ainda assim, tudo que se tinha para oferecer era o catastrófico WinG. Uma mudança era necessária.

St. John recrutou dois amigos da Microsoft, os engenheiros de software Craig Eisler e Eric Engstrom, para apresentarem uma proposta para fabricantes de GPU e para a própria empresa. Sua ideia era promissora: um conjunto de APIs que interligariam o Windows 95 com funcionalidades específicas que aproveitassem ao máximo o potencial de hardware das emergentes placas gráficas, de áudio e controles. O objetivo era fornecer uma ligação direta entre o jogo e os recursos audiovisuais e de input desejados, sem o sistema operacional interferindo.

Ele mesmo explicou em entrevista:

Muitas das funcionalidades [se baseavam] no desligamento do sistema gráfico do Windows para que os jogos pudessem se comunicar com o hardware de vídeo, impedindo que o Windows paginasse a memória para o disco rígido para que os jogos pudessem ser executados em uma taxa de quadros constante, ignorando a fila de mensagens do Windows e assim obter entrada do mouse em tempo real para que você possa realmente controlar um jogo de tiro em primeira pessoa como Doom.

Alex St. John seria o autor do nome Projeto Manhattan. Felizmente, a alcunha acabou sendo abandonada ao longo do caminho. Craig Eisler conta que "tivemos a ideia de chamá-lo de DirectX porque alguns repórteres zombaram de como tínhamos DirectDraw, DirectSound e DirectPlay – Direct ‘X’, eles escreveram. Pegamos a ideia e saímos correndo, então cada conjunto de funcionalidade tornou-se DirectAlgumaCoisa (Direct3D, DirectInput, DirectSound3D… todos vieram em seguida)".

directx-3

A desenvolvedora narra também que, assim como muitas outras tecnologias, essa foi criada em tempo recorde, na pressão da entrega. A ideia foi aprovada em novembro de 1994, em dezembro começou a ser programada e precisava estar pronta para ser apresentada durante a Computer Game Developers Conference (CGDC), em Abril de 1995.

Terminamos o beta literalmente com minutos de sobra – lembro-me de descer a rodovia 405 a quase 200 km/h no Mazda RX7 de Eric depois de ficar acordada a noite toda, correndo para pegar a entrega da FedEx da manhã de sábado para que os CDs pudessem ser fabricados e enviados para nós no CGDC na terça. Os CDs literalmente chegaram algumas horas antes de subirmos ao palco.

Esse seria o Game SDK (Software Development Kit) que mudaria a face dos jogos no Windows para sempre. Era o primeiro DirectX.

Doomgates

Porém, não adiantava muito ter uma solução boa para jogos no Windows se ninguém estivesse disposto a utilizá-la. A desconfiança ainda era forte entre os desenvolvedores e a Microsoft precisou improvisar.

doom

O time do DirectX se aproximou da id Software e fez uma proposta irrecusável: eles adaptariam Doom e Doom II do MS-DOS para o Windows 95, sem nenhum custo para a criadora do jogo. A id Software manteria os direitos de comercialização, sem qualquer percentual, nada. Para todos os fins, a Microsoft estaria trabalhando de graça no projeto.  John Carmack, então diretor da desenvolvedora, aceitou os termos do acordo e cedeu o código-fonte do jogo.

Curiosamente, quem assumiu o comando do projeto foi um certo Gabe Newell, que já tinha 13 anos de carreira na Microsoft naquele momento. No ano seguinte, o engenheiro de software sairia da empresa para fundar a Valve.

Doom 95 foi um estrondoso sucesso. Em parte porque o Doom original já era um fenômeno de vendas. Naquele ano de 1995 havia mais cópias do FPS rodando em PCs do que o próprio sistema operacional da Microsoft. Porém, Doom 95 era uma evolução da versão de DOS, com suporte a resolução de 640×480, 24 canais de áudio e uma configuração de multiplayer muito prática. Tudo isso, graças ao poder do DirectX.

A euforia com Doom 95 foi tamanha dentro da Microsoft que o próprio Bill Gates protagonizou um vídeo promocional secreto do jogo. Reza a lenda que ele foi exibido apenas durante uma festa privada para desenvolvedores na véspera de uma conferência da companhia. Com a crescente associação de jogos de tiro com violência urbana, a empresa teria optado por não tornar o vídeo público e ele se tornou uma raridade.

Uma Máquina de APIs

O sucesso do DirectX se refletiu na velocidade do seu desenvolvimento. Se o primeiro foi desenvolvido em quatro meses, o ritmo não caiu depois. DirectX 2 foi lançado em junho de 1996 e o DirectX 3 veio em setembro de 1996. O DirectX 4 viria em dezembro daquele mesmo ano, mas os planos mudaram. Após um atraso nas especificações de funcionalidades da fabricante Cirrus Logic, o time resolveu aproveitar a pausa para pular direto para o DirectX 5, que já estava prometido para 1997.

O DirectX 5 trazia ainda mais melhorias, como suporte a múltiplos monitores e controles com feedback de força. Mais do que isso, ele trazia também a consolidação das APIs no ecossistema da Microsoft, sendo incorporado no Windows 98.

Porém, daí pra frente, com a consolidação, veio a estabilidade. A revolução já havia sido feita, o time original se desfez, outros desenvolvedores assumiram e o DirectX foi recebendo novidades para acompanhar a evolução das placas gráficas e pouco além disso. Um ano se passaria até a chegada do DirectX 6, em agosto de 1998. Com patches intermediários, ele seria substituído pelo DirectX 7 somente em 1999. O DirectX 8 chegaria em 2000.

Em 2000, nenhum dos três membros originais do Projeto Manhattan estava mais na Microsoft. No ano seguinte, o DirectX 8 (mais especificamente o 8.1) seria a base para outra revolução na empresa: o lançamento do console Xbox. Era a primeira tentativa da gigante da tecnologia de entrar no competitivo mercado dos consoles com um hardware próprio. Era o conceito inicial de "Manhattan", materializado em forma física e carregando o "X" que o DirectX tinha incorporado para si.

directx-9

O DirectX 9.0 viria em 2002 e permaneceria como a versão "final" até 2006, com o lançamento do último build do DirectX 9.0c.

A ruptura de padrões só voltaria a acontecer com o DirectX 10, inicialmente exclusivo do Windows Vista. A Microsoft modificou muito da arquitetura do seu sistema operacional, mas havia uma retrocompatibilidade parcial com o Windows XP, quando os drivers revertiam seu suporte para o DirectX 9.0c.

Junto com o lançamento do Games for Windows Live (GFWL) e o Microsoft XNA, era uma investida pesada da Microsoft de recuperar o público de jogos no PC e alavancar seu novo sistema operacional. Na prática, o Windows Vista acabou saindo com três versões do DirectX embutidas e o GFWL naufragou dois anos depois, sob pesadas críticas.

Apesar das novas possibilidades oferecidas para desenvolvedores de jogos, demorou para a transição acontecer para o novo DirectX. E, em 2008, o DirectX 11 seria revelado, mas traria poucas inovações. Mais uma vez, a versão permaneceria a mesma por anos a fio, ganhando pequenas atualizações e servindo de base para o núcleo do Xbox One.

Depois de seu maior hiato, um novo DirectX seria anunciado em 2014 e lançado um ano depois, com a promessa de ganho de performance. O DirectX 12 seria um dos atrativos do Windows 10. Bryan Langley, gerente de projeto do setor de gráficos da Microsoft, garantiu: "se você é um jogador e fizer uma atualização para o Windows 10 (…) você vai sentir a diferença. Vai fazer com que aquele jogo que não dava pra jogar fique jogável, de medíocre para fantástico, de fantástico para simplesmente fora desse mundo".

Essa é a versão em que estamos no momento, um quarto de século depois. A Microsoft tem agora no forno o chamado DirectX 12 Ultimate, revelado pela primeira vez em março desse ano. Não se deve esperar uma nova revolução, mas funcionalidades inéditas estão à caminho, como DirectX Raytracing 1.1 e Variable Rate Shading. Essa versão do conjunto de APIs será o motor por trás do vindouro Xbox Series X, a quarta geração do console da empresa.

DirectX não se tornou o destruidor de empresas japonesas como seu idealizador imaginava. Ao invés de destruir, ele ajudou a construir, tornando a plataforma Windows uma solução viável e bastante competitiva no mercado dos jogos eletrônicos até os dias de hoje.

Ouvindo: Preussak - Eisiger Sturm
Seu apoio é muito importante! Ajude esse blog a crescer! Patreon

Nenhum comentário:

Retina Desgastada

Blog criado e mantido por C. Aquino | Seja um patrono!

The Walking Dead