Starcraft: O Nascimento de um Clássico

    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.

    

Postar um comentário

0 Comentários