Muitas
vezes, em meio à nossa jogatina, quando nos deparamos com alguma inusitada
funcionalidade de um game, nos perguntamos: “O que o cara que fez isso estava
pensando?”. É uma pergunta natural, que advém da nossa necessidade de conhecer
aquilo que gostamos. Pois bem, Patrick Wyatt, um experiente programador da
Blizzard, que participou da confecção de vários clássicos, como Rock’n’Roll
Racing, The Lost Vikings, Warcraft e Diablo, tomou algum de seu tempo para
responder os questionamentos acerca do nascimento de um dos maiores clássicos
do gênero RTS (Real-Time-Strategy), e do seu currículo, Starcraft.
Patrick dividiu seu artigo em três partes
(atualmente somente 2 foram finalizadas), descrevendo as etapas pelas quais os
envolvidos no projeto passaram: as dificuldades, as estratégias utilizadas para
a resolução destes, as lições aprendidas, os prazos, e todas as outras coisas
que fizeram com que os programadores se envolvessem e fizessem de Starcraft o
que ele é hoje considerado: uma obra-prima.
Durante toda a extensão do projeto, os
envolvidos trabalharam com prazos apertados e problemas de pessoal. Isso se
deve ao fato de que Starcraft estava sendo desenvolvido na mesma época de
Diablo (outro game da Blizzard), e o estúdio responsável por Diablo estava precisando
urgentemente de pessoal para o desenvolvimento de algumas funcionalidades do
jogo antes do lançamento. Assim, a Blizzard relocou grande parte dos programadores
do projeto para ajudar no desenvolvimento de Diablo, inclusive Patrick. Quando
Patrick retornou, e algum tempo havia se passado, vários novos e inexperientes
programadores foram alocados para o projeto, no lugar da equipe antiga. Além
disso, a arquitetura do jogo estava ultrapassada para a época, e o código
estava extremamente bagunçado. Junto disso, já que o desenvolvimento estava
sendo retomado, decidiram mudar a linguagem utilizada (Era C e mudaram para
C++) e o compilador (Passaram a usar o Visual Studio).
![]() |
A versão de Starcraft anterior ao lançamento de Diablo se tornou ultrapassada depois do lançamento de Diablo, e o jogo teve de passar por uma gigantesca mudança. http://www.codeofhonor.com/blog/tough-times-on-the-road-to-starcraft |
Como
se não bastasse só isso, a equipe inexperiente em C++ e empolgada para testar
as novas funcionalidades da linguagem, usaram e abusaram do sistema de herança
de classes, criando uma hierarquia complexa e composta de vários headers.
Felizmente, a nova equipe se mostrou envolvida no projeto quando o prazo
apertou e eles perceberam seus erros. Todos passaram a trabalhar cargas
horárias extensas e inclusive noturnas. Um dos envolvidos chegou até mesmo à
marca das 48 horas seguidas! Patrick diz que, embora isso possa parecer incrível,
códigos de games devem ser redigidos com cuidado e criatividade, já que
qualquer minúsculo erro pode ocasionar em terríveis bugs para a sua aplicação, e eles não tinham tempo para revisão.
Essa
pressa na codificação resultou em vários bugs e funcionalidades quebradas.
Alguns bugs foram consertados antes
do lançamento e outros não. Um desses era o “doubly-linked
list” que causava constantes crashes
no game. Ele acontecia porque as unidades do jogo pertenciam a várias listas, de
acordo com suas características, e quando alguma unidade era criada ou destruída,
várias dessas listas deveriam ser acessadas simultaneamente para a exclusão de
dados, de forma que algumas vezes a utilização de memória se elevava
rapidamente e o jogo fechava.
Após o lançamento do jogo, mesmo com alguns bugs e com o lançamento posterior de vários patchs, Starcraft foi aclamado como uma obra-prima, e recebeu até mesmo o título de "Greatest Game of All Time" (Melhor Jogo de Todos os Tempos) pela GameSpot. Lançaram-se várias expansões, e passou a ser comumente jogado inclusive no cenário profissional. Ele redefiniu os padrões de um RTS, com uma jogabilidade única, cheia de ação e emoção, que não deixa você ficar entediado por um segundo sequer. Mesmo hoje é um dos jogos com o maior índice de jogadores online, e tais características únicas foram carregadas para seus sucessores (Starcraft II:Wings of Liberty e Starcraft II:Heart of Swarm) que também são carros-chefe da Blizzard. Se você gosta de jogos de estratégia, vale a pena jogar esse jogo, se não por entretenimento, pelo menos para ver como eram as raízes das versões atuais.
![]() |
Em Starcraft você pode comandar grandes legiões de terranos, zergs ou protoss, em batalhas intergaláticas. http://custompc.ca/news-n-jokes/starcraft-on-win7/ |
O artigo de Patrick Wyatt, que foi postado em seu blog Code of Honor, pode ser encontrado aqui na íntegra.
0 Comentários