GoldSrc: diferenças entre revisões

Origem: Wikipédia, a enciclopédia livre.
Conteúdo apagado Conteúdo adicionado
Linha 47: Linha 47:
*Ambos usam o formato Quake C (".qc/.QC") para a compilação de modelos, embora no GoldSrc seja muito mais simplificado.
*Ambos usam o formato Quake C (".qc/.QC") para a compilação de modelos, embora no GoldSrc seja muito mais simplificado.


=== Acréscimos<ref name="The History of GoldSrc" /><ref>{{citar web |ultimo= |primeiro= |url=http://www.the303.org/tutorials/gold_mdl.htm |titulo=GoldSrc Model Export Tutorial |data=2016 |acessodata=03-01-2021 |website=The303 |publicado= |arquivourl=http://web.archive.org/web/20201112012806/http://www.the303.org/tutorials/gold_mdl.htm |arquivodata=2021-01-03 |urlmorta=no}}</ref> ===
=== Acréscimos<ref name="The History of GoldSrc" /> ===
*NPCs inimigos podem agrupar-se ou agir diferentemente quando estão em bando. Por exemplo, se bem agrupados, os houndeyes causam danos exponenciais ao jogador em Half-Life.
*NPCs inimigos podem agrupar-se ou agir diferentemente quando estão em bando. Por exemplo, se bem agrupados, os houndeyes causam danos exponenciais ao jogador em Half-Life.
*Os modelos do GoldSrc possuem esqueletos de animação ([[Animação esquelética|rigging]]), recurso totalmente ausente no Quake, cujos modelos são [[Morph target animation|animados por vértices]].
*Os modelos do GoldSrc possuem esqueletos de animação ([[Animação esquelética|rigging]]), recurso totalmente ausente no Quake, cujos modelos são [[Morph target animation|animados por vértices]].

Revisão das 09h07min de 3 de janeiro de 2021

GoldSrc
Desenvolvedor Valve Corporation
id Software (código fonte original)
Plataforma PC (Windows e Linux)
OS X
PlayStation 2
Xbox
Dreamcast
Lançamento 8 de novembro de 1998 (25 anos)
Idioma(s) Inglês
Escrito em C (motor de jogo)
C++ (jogos e ferramentas)
x86 Assembly (renderização por software)
Sistema operativo Windows, Linux, Mac OS X
Gênero(s) Motor de jogo
Licença Proprietária
Página oficial https://github.com/ValveSoftware/halflife

GoldSrc (ou GoldSource) é o motor de jogo desenvolvido pela Valve, entre 1996 e 1998, a partir do código-fonte do primeiro jogo da série Quake (desenvolvido pela id Software). O primeiro jogo a suportar foi Half-Life. Consequentemente, fora utilizado na criação de futuros títulos da Valve, como Day of Defeat, Team Fortress e Counter-Strike.

Foi substituído pelo Source Engine com a chegada de Counter-Strike: Source e Half-Life 2 em 2004. Contudo, isso não impediu o seu licenciamento para desenvolvedores terceiros (third-party), seu suporte às atualizações periódicas e a sua popularização e utilização (devido à sua relativa simplicidade) por jogadores para criar modificações e jogos independentes (ou indies) como Cry of Fear e Sven Co-op. Nexon Corporation, por exemplo, licenciou o GoldSrc para desenvolver Counter-Strike Online.

História e Desenvolvimento

A sua origem coincide com a fundação da companhia Valve. No ano de 1996, logo após a Valve ser fundada como uma companhia LLC (Limited Liability Company, que literalmente significa "Sociedade de Responsabilidade Limitada") em Kirkland, Washington e terem pessoalmente[1] licenciado o código-fonte de Quake da id Software, criadora de clássicos como Wolfenstein e Doom, eles deram início ao desenvolvimento simultâneo de dois títulos exclusivos: Quiver e Prospero. Infelizmente, embora não tenham visto a luz do dia, os seus conceitos e as suas ideias foram reaproveitadas em Half-Life e possivelmente em Ricochet.[2]

Parcelas do código fonte original de Quake foram modificadas e substituídas eventualmente. Durante o período da produção de Half-Life (em meados de 1997), 25% foi o que tinha restado do código original[3]. De acordo com o desenvolvedor Chris Bokitch, o sistema de inteligência artificial (IA ou "AI", de "artificial intelligence") do GoldSrc foi escrito a partir do zero.[4] O motor também incorpora códigos de outros jogos da série Quake, incluindo Quake World e Quake II, porém, são minimamente significantes em comparação ao uso do código fonte do Quake original.

Em 1997, a Valve contratou Ben Morris e adquiriu Worldcraft, uma ferramenta de criação de mapas personalizados para Quake.[5] Mais tarde, a ferramenta Worldcraft foi rebatizada de Valve Hammer Editor (mais conhecido pela abreviatura "VHE" ou simplesmente referido por "Hammer"), tornando-se a ferramenta oficial de criação de mapas para jogos do GoldSrc.

Antes da criação do seu sucessor, Source, não possuía nenhum nome ou sequer uma alcunha oficial, sendo referido diversas vezes apenas pelo título genérico "Half-Life Engine" por ser, basicamente, o próprio motor de jogo de Half-Life. Em 1 de setembro de 2005, Eric Johnson, ao responder à pergunta do utilizador "RJO" em sua página de discussão, explica a origem do nome "GoldSrc":

Em 2013, a Valve lança Half-Life e Counter-Strike 1.6 para OS X e Linux. Como resultado, o resto de seus títulos clássicos se encontram atualmente disponíveis para as duas plataformas por meio da plataforma oficial Steam.

Tecnicidades

Paridades com Quake Engine[7]

  • O formato BSP usado no GoldSrc é similar ao do Quake. Inclusive, a extensão é a mesma: ".bsp/.BSP". De longe, as diferenças mais notáveis estão em como ambos lidam diferentemente com a iluminação e carregamento de texturas[8]. Ademais, o BSP de GoldSrc e Quake funcionam de uma forma tão similar que chegam até a ser compatíveis em diversas ocasiões, pelo menos unilateral e parcialmente. As primeiras versões do Valve Hammer Editor, por exemplo, podiam ser utilizadas para editar mapas de Quake e Quake II. Com pequenas alterações, as versões que originalmente não oferecem suporte ao Quake podem ser finalmente utilizadas para criar mapas para Quake[9].
  • Os mapas não compilados do GoldSrc usam o formato MAP (igualmente com a extensão ".map/.MAP"), que também é usado pelos mapas não compilados do Quake[10].
  • Tanto GoldSrc como Quake usam o formato WAD (extensão ".wad/.WAD") para guardar e carregar texturas. A única diferença está no fato de que, no GoldSrc, cada textura tem a sua própria paleta de cores, ao invés de compartilhar de uma única paleta de cores. Outras características do GoldSrc incluem a capacidade de carregar múltiplos WAD (enquanto o Quake usa apenas o gfx.wad e o cabeçalho de arquivo) e ter suporte ao WAD3[11] (uma versão atualizada do WAD2 usado pelo Quake). O WAD2 (e consequentemente o WAD3), por sua vez, são baseados no formato WAD utilizado em Doom. Além disso, o kit de desenvolvimento de Half-Life (Half-Life SDK) inclui uma ferramenta de criar arquivos WAD chamada Qlumpy, que pode ser utilizada também para criar arquivos WAD para Quake.
  • Ambos GoldSrc e Quake usam arquivos PAK (".pak/.PAK") para armazenar dados, como níveis e modelos. Embora, no caso do GoldSrc, não seja obrigatório ou necessário o uso de um arquivo PAK, podendo os modelos e níveis ser armazenados normalmente em pastas como "/models" e "/maps".
  • GoldSrc e Quake apenas compartilham do formato MDL (".mdl/.MDL") para os seus modelos, sendo na prática mutualmente incompatíveis em todos os aspectos.
  • Ambos usam o formato Quake C (".qc/.QC") para a compilação de modelos, embora no GoldSrc seja muito mais simplificado.

Acréscimos[2][12]

  • NPCs inimigos podem agrupar-se ou agir diferentemente quando estão em bando. Por exemplo, se bem agrupados, os houndeyes causam danos exponenciais ao jogador em Half-Life.
  • Os modelos do GoldSrc possuem esqueletos de animação (rigging), recurso totalmente ausente no Quake, cujos modelos são animados por vértices.
  • O GoldSrc é capaz de reproduzir uma maior quantidade de polígonos em relação ao Quake. Um único modelo no GoldSrc (isto é, se não for subdividido em 32 submodelos) pode ter até 2048 vértices (ou 4080 triângulos), 2048 normais, 128 ossos (rigging), 8 controladores de ossos, 4 anexos de ossos e 512 quadros-chave ("keyframes") por cada uma das 256 sequências (animações reproduzidas a cada ação do jogador). Contudo, graças a uma possível falha de design ou à arquitetura já obsoleta do GoldSrc, dependendo do computador ou da otimização gráfica implementada, quanto mais polígonos tiver o modelo, maior o número de gargalos (slowdowns).
  • Suporte ao mecanismo de scripts de sequência, sendo possível a criação de elementos não lineares e cutscenes (cenas), que podem ser tanto ativas (cutscenes in-game) ou passivas (cenas interativas).
  • Suporte à texturização com níveis de transparência, útil para modelos de vidro e cristal dentro do jogo.

Suporte de títulos

Série Half-Life

Ver artigo principal: Half-Life (série)

Half-Life (lançado em 19 de novembro de 1998) foi o jogo responsável por marcar o início da trajetória da Valve e por apresentar o GoldSrc. Tornou-se um sucesso de vendas e de crítica, recebendo notas altíssimas e ganhando mais de cinquenta premiações de Jogo do Ano graças a sua história e narrativa sublimes, jogabilidade a frente de seu tempo e gráficos considerados avançados para a sua época. Devido ao seu estrondoso sucesso, acabou por receber duas expansões exclusivas desenvolvidas pela Gearbox Software e publicadas pela finada Sierra Studios, sendo mais tarde distribuídas pela própria Valve por meio da sua plataforma de distribuição digital oficial, Steam: Half-Life: Opposing Force (lançado em 19 de novembro de 1999 nos Estados Unidos e 29 de novembro do mesmo ano na Europa) e Half-Life: Blue Shift (lançado em 12 de junho de 2001).

Deathmatch Classic, focado exclusivamente no modo competitivo online, foi lançado em 7 de junho de 2001.

Half-Life: Decay, um spin-off não canônico (possivelmente, já que a Valve nunca definiu a canonicidade da franquia) com foco no multiplayer, foi lançado em 14 de novembro de 2001 somente para o PlayStation 2, após a estreia de Half-Life para o mesmo em 11 de novembro. No entanto, uma versão não oficial do jogo foi lançada por desenvolvedores independentes em 2008 para PC (Windows). Half-Life: Decay é o marco final da série no GoldSrc.

Outros títulos da Valve

A Valve desenvolveu vários títulos usando o GoldSrc entre o final da década de 1990 e o início da década de 2000. Títulos como Counter-Strike e Team Fortress Classic eram, na verdade, modificações (ou mods) feitas por fãs. Team Fortress Classic, por exemplo, lançado pela Valve em 7 de abril de 1999, tem como os seus desenvolvedores os próprios responsáveis do popular mod para o Quake chamado Team Fortress, que depois participaram no desenvolvimento de Team Fortress 2.

Counter-Strike, após várias versões, recebeu uma sequência: Counter-Strike: Condition Zero, lançado em 2004, e no mesmo ano, foi lançado o seu sucessor, Counter-Strike: Source, dessa vez utilizando o Source. Counter-Strike Neo foi lançado pela Namco para máquinas de fliperama (arcade) em 2003. Mais dois jogos da série que vieram depois do Source ainda usam o GoldSrc, mas não foram desenvolvidos pela Valve. São eles: Counter-Strike Online e Counter-Strike Nexon: Zombies (lançados, respectivamente, em 2008 e 2014).

Ricochet, jogo com elementos de plataforma, foi lançado em 1 de novembro de 2000.

Day of Defeat, jogo ambientado em batalhas militares da Segunda Guerra Mundial, foi lançado em 1 de maio de 2003. Embora não tenha recebido sequência, foi lançada a versão atualizada, feita no Source: Day of Defeat: Source, com gráficos e efeitos mais realistas, mais mapas e modos de jogo.

Títulos e modificações de terceiros

GoldSrc também foi usado para o desenvolvimento de títulos e mods por outras companhias de jogos e fãs com pouca ou nenhuma participação da Valve. Rewolf Software usou o GoldSrc para desenvolver Gunman Chronicles (lançado em 2000). A versão para PC de James Bond 007: Nightfire (lançado em 2002) foi desenvolvida pela Gearbox Software usando uma versão modificada do GoldSrc. Cry of Fear e Sven Co-op, originalmente mods feitos exclusivamente por fãs, estão disponíveis gratuitamente na Steam como lançamentos únicos e/ou independentes (standalones), sem necessitarem do uso da instalação do jogo base.

Legado

Source Engine

Ver artigos principais: Source Engine e Source 2

O Source Engine foi desenvolvido paralelamente, tendo-se originado da primeira separação do código-fonte de Half-Life em dois (lê-se bifurcação ou ramificação).

O seu desenvolvimento tem sido marcado pela mistura de tecnologias proprietárias middleware com códigos originalmente desenvolvidos pelo próprio estúdio (in-house). Por exemplo, o Source Engine usa as tecnologias do Bink Video, MP3 e Havok para, respectivamente, reprodução de vídeo, de áudio e simulação de interações físicas.

Posteriormente, veio a ser substituído pelo Source 2 em 2015, com o lançamento de uma atualização do Dota 2.

Xash3D

Xash3D é uma versão não-oficial lançada em 2011 pela Xash XT Group, uma equipe de programadores russos independentes. Foi construído por meio da engenharia reversa do próprio GoldSrc. Segundo os seus desenvolvedores, tem por finalidade superar as capacidades e aumentar as funcionalidades do GoldSrc, que já se encontram atualmente obsoletas e desatualizadas[13]. Graças ao Xash3D, um port do Half-Life foi feito para os sistemas Android e Pandora em 26 de abril de 2015[14]. Em 2016, um programador chamado Alibek Omarov criou um port do Counter-Strike 1.6 para Android.

O seu uso não é incentivado pela Valve, visto que não obedece os termos de uso da engine original[15] e supostamente usa parcelas de código-fonte de origem ilegal[16].

Ver também

Referências

  1. Romero, John (2015). «Has John Romero ever met or worked with Gabe Newell? If so, are there any details about him or John meeting with him he wants to share with us?». Quora. Consultado em 3 de janeiro de 2021 
  2. a b «The History of GoldSrc». Sourcemodding. Consultado em 3 de janeiro de 2021. Cópia arquivada em 24 de novembro de 2020 
  3. Newell, Gabe (1999). «Half Life: Interview With Gabe Newell». GameSpot UK. Consultado em 2 de janeiro de 2021. Arquivado do original em 23 de julho de 2001 
  4. Bokitch, Chris (1 de agosto de 2002). «Half-Life's Code Basis». Valve Software. Consultado em 2 de janeiro de 2021. Arquivado do original em 1 de março de 2007 
  5. «Valve Press Release». Valve. Consultado em 2 de janeiro de 2021. Cópia arquivada em 22 de fevereiro de 1999 
  6. Johnson, Erik (1 de setembro de 2005). «Talk:Erik Johnson». Valve Developer Community. Consultado em 2 de janeiro de 2021. Cópia arquivada em 20 de março de 2007 
  7. «Combine Overwiki - GoldSrc». Combine Overwiki. 3 de maio de 2020. Consultado em 3 de janeiro de 2021. Cópia arquivada em 3 de janeiro de 2021 
  8. «Half Life .Bsp Format». GameDev.net. 3 de outubro de 2007. Consultado em 3 de janeiro de 2021 
  9. «QuakeAdapter for Worldcraft 3.3». QuakeOne. 28 de julho de 2009. Consultado em 3 de janeiro de 2021. Arquivado do original em 18 de junho de 2016 
  10. «Quake Specs v3.4 - Section 1: MAP Information». Gamers.org. 1999. Consultado em 3 de janeiro de 2021. Cópia arquivada em 1 de janeiro de 2020 
  11. «Gimp-developer Quake / Half-Life texture wad support». berkeley.edu. 20 de janeiro de 2009. Consultado em 3 de janeiro de 2021. Arquivado do original em 5 de janeiro de 2010 
  12. «GoldSrc Model Export Tutorial». The303. 2016. Consultado em 3 de janeiro de 2021. Cópia arquivada em 3 de janeiro de 2021 
  13. «Xash3D Engine - Mod DB». 19 de junho de 2011. Consultado em 2 de janeiro de 2021 
  14. «Release - Xash3D - Half Life». 26 de abril de 2015. Consultado em 2 de janeiro de 2021. Cópia arquivada em 1 de setembro de 2017 
  15. «Valve may open-source GoldSrc, their first game engine». 16 de abril de 2019. Consultado em 2 de janeiro de 2021. Cópia arquivada em 2 de janeiro de 2021