# Source (motor de jogo)

Source é o motor gráfico criado e desenvolvido pela Valve Corporation, na qual apresenta recursos inovadores e que estão ainda sendo implantados a todos os jogos recentes da empresa. O sucessor, Source 2, foi anunciado oficialmente em Março de 2015. O primeiro jogo a usá-lo foi Dota 2, sendo portado de seu motor original em Setembro de 2015.
A engine Source estreou com o lançamento do título Counter-Strike: Source em Junho de 2004, seguido por Half-Life 2, o qual estava em desenvolvimento desde 1999.
Alguns jogos com essa tecnologia são o Half-Life 2, incluindo Half-Life 2: Lost Coast, Half-Life 2: Episode One e Half-Life 2: Episode Two. Este também inclui a implementação dos recursos do motor gráfico nos clássicos jogos da Valve, como Half-Life, sendo assim, intitulados Half-Life: Source, Counter-Strike: Source e Day of Defeat: Source.

## História

Source se origina distantemente do motor GoldSrc, sendo este uma versão fortemente modificada do motor Quake de John Carmack. Carmack comentou em seu blog em 2004 que "ainda havia algumas partes do código inicial de Quake em Half-Life 2". O funcionário da Valve Erik Johnson explicou a nomenclatura do motor em Valve Developer Community:
   Quando nós estavamos bem próximos de lançar Half-Life (menos de uma semana, mais ou menos), nós descobrimos que já havia alguns projetos que precisariam ser trabalhados, mas nós não poderíamos correr o risco de checar o código da versão de lançamento do jogo. Nessa hora nós fizemos uma bifurcação no código em VSS para se tornarem ambos
   /$Goldsrc e /$Src. Nos próximos anos, nós usamos esses termos internamente como "Goldsource" and "Source". Pelo menos inicialmente, o ramo de código referido a codebase que foi lançada, e Src referiam à próxima tecnologia arriscada que nós estávamos trabalhando. Quando fomos mostrar Half-Life 2 pela primeira vez no E3, ela foi parte de nossa comunicação interna para se referir ao motor "Source" vs. o motor "Goldsource", e o nome pegou.

### Source 2006

O ramo Source 2006 foi o termo usado pelos jogos da Valve usando tecnologia que culminou com o lançamento de Half-Life 2: Episode One. HDR rendering e correção de cor foram implementadas primeiro em 2005 usando Day of Defeat: Source, que requereu que os shaders do motor fosse reescritos.

### Source 2

Em Maio de 2011, um dos maiores projetos da Valve foi o desenvolvimento de novas ferramentas de criação de conteúdo para Source. Elas iriam substituir as atuais e desatualizadas ferramentas, permitindo que conteúdo pudesse ser criado mais rapidamente e mais eficientemente. Newell descreveu a criação de conteúdo com o conjunto de ferramentas atual como "bem doloroso" e "lerdo".
Em 3 de Maio de 2015, coincidindo com a Game Developers Conference, Valve anunciou o motor Source 2, que irá ser gratuito para desenvolvedores. Valve também anunciou que o motor receberá um rendering path para a API Vulkan. Adicionalmente, Valve confirmou que usaria seu novo, interno, motor de física chamado Rubikon. Em 17 de Junho de 2015, Valve lançou uma atualização beta para Dota 2, chamada "Reborn" (em português, "Renascimento"), tornando-se o primeiro jogo a usar o motor Source 2. O cliente original foi descontinuado em setembro de 2015, tornando a versão em Source 2 oficial.

## Ferramentas e recursos
### Source SDK

Source SDK é um kit de desenvolvimento de software para o motor Source, que contém várias das ferramentas usadas pela Valve para desenvolver recursos para seus jogos. Ele vem com vários programas de linha de código projetados para funções especiais com a pipeline de recursos, assim como vários programas baseados em GUI projetados para cuidar de funções mais complexas.

## Tecnologias

Como a Engine Source é um motor de jogo bem avançado, este inclui aprimoramentos muito avançados no gráfico e com renderização altamente realística e considerável.
Algumas dessas tecnologias são:
* Sombra para modelos 3D (incluindo móveis).
* Líquidos com efeitos de reflexo.
* Inteligência artificial inovadora (AI).
* Renderização em Direct3D nas plataformas Windows e Xbox 360.
* Renderização OpenGL nas plataformas Mac OS X e PlayStation 3.
* High dynamic range rendering (HDR).
* Compensação de latência.
* Suporte escalável para processadores.
* Sistema de animação facial.
* Efeitos fluidos de água.
* Ferimentos superficiais em 3D.
* Código fonte disponível para pessoas que desejam criar uma modificação.
* Compilador de mapa distribuído pela rede.

## Críticas

Uma das mais conhecidas ferramentas de desenvolvimento de software da Valve, Source SDK, fora também criticada por muitos por ser desatualizada e difícil de usar.
A Valve recentemente anunciou que irá desenvolver para o Source novos kits de desenvolvimento de software, permitindo que seu uso seja mais eficiente e mais rápido, para criação de mods e animações, por exemplo.
Half-Life: Source não possui, exceto alguns efeitos básicos e realistas da engine Source. Por isso, o jogo fora criticado por muitos, pois a Valve poderia melhorar ainda mais o título Half-Life com esta tecnologia.

## Jogos

Alguns jogos contendo esse motor gráfico são:
* Vampire: The Masquerade - Bloodlines, 2004
* Half-Life 2, 2004
* Half-Life 2: Episode One, 2006
* Half-Life 2: Episode Two, 2007
* Half-Life 2: Lost Coast, 2005
* Half-Life: Source, 2004
* Counter-Strike: Source, 2004
* Day of Defeat: Source, 2005
* Portal, 2007
* Portal 2, 2011
* Team Fortress 2, 2007
* Counter-Strike: Global Offensive, 2012
* Left 4 Dead, 2008
* Left 4 Dead 2, 2009
* Garry's Mod, 2006
* Alien Swarm, 2010
* Postal III, 2011
* The Stanley Parable, 2011
* Dota 2, 2013
* Titanfall, 2014
* Apex Legends, 2019
* Counter-Strike 2, 2023