Criação de jogos no motor de origem. História da tecnologia - Mecanismo de origem

Entwickler: Valve Betriebssystem: Microsoft Windows … Deutsch Wikipedia

Entwickler Valve Betriebssystem Microsoft Windows, Apple Mac OS X ... Deutsch Wikipedia

Este é um motor de jogo criado pela sociedade Valve Software para os jogos de futebol Half Life 2 (HL²). Na base, o motor Source é uma fonte do motor Quake. Este é um motor completo que gera gráficos, sons e interações físicas. Ces ... ... Wikipedia en Francais

O logotipo da fonte e capturas de tela de Team Fortress 2 e Half Life 2: Episode Two ... Wikipedia

Source engine Source engine é um motor de jogo criado pela sociedade Valve Software para as melhores habilidades do jogo Half Life 2 (HL²). Na base, o motor Source é uma fonte do motor Quake. Este é um motor completo que gera grafismo, som e… … Wikipédia en Français

Source Engine Source logo e capturas de tela de Team Fortress 2 e Half Life 2: Episode Two ... Wikipedia

Esta é uma lista selecionada de Mods (modificações) do mecanismo Source. Esta lista é dividida em mods single player e multiplayer. Conteúdo 1 Mods para um jogador 2 Mods para vários jogadores 3 Veja também 4 … Wikipedia

Wikipédia do motor de origem

Motor ... Wikipédia

livros

  • Propulsão de Aeronaves, Saeed Farokhi. Nova edição do livro de sucesso atualizado para incluir novo material sobre UAVs, diretrizes de design em sistemas de componentes de motores de aeronaves e problemas adicionais no final do capítulo Aeronaves… Compre por 7717,99 RUB livro eletronico
  • Matemática Simbólica para Químicos. Um Guia para Usuários do Maxima, Fred Senese. Um guia essencial para usar o Maxima, um popular mecanismo de matemática simbólica de código aberto para resolver problemas, construir modelos, analisar dados e explorar conceitos fundamentais da Matemática Simbólica para…

logotipo da válvula

Desenvolvedor: Valve Corporation

Série de motores: motor de origem

Data do anúncio: 2004

Escrito na linguagem: C++

Licença: Software proprietário (Source Engine é propriedade da Valve)

Última versão: Mecanismo de origem 2

O mecanismo Source, emergindo da sombra de um gigante como a Valve, superou em muito as expectativas e abriu seu próprio caminho para a glória. Fonte desenvolvida pela Valve Software, uma engine baseada na Qake Engine pôs fim às velhas tecnologias e estimulou a comunidade a criar uma nova era de engines. A primeira declaração de Gabe Newel após adquirir o motor "Quando nos sentamos e vimos o motor, percebemos que para criar um ótimo jogo de tiro em primeira pessoa, você não precisa fazer um desenvolvimento inovador nesta área, o que já é feito por Carmack."

Felizmente, o motor não satisfez totalmente todas as necessidades da Valve, os desenvolvedores foram guiados pelo princípio - queremos algo, faremos com que apareça no jogo. Com base nisso, a Valve enxugou pesadamente o motor para que o jogo não se parecesse com o Quake, mas como os próprios desenvolvedores desejam.

Nas primeiras versões do motor, o suporte para iluminação dinâmica foi implementado, mas posteriormente, devido à potência insuficiente dos computadores da época, decidiu-se remover essa tecnologia. O motor gráfico foi fortemente redesenhado para que o Half-Life não se pareça com seu concorrente direto Quake. Half-Life tinha que não apenas parecer melhor que Quake, mas também ser tecnicamente melhor que Quake. Por causa desse problema, o lançamento do Half-Life foi adiado por quase um ano. Half-Life foi o primeiro jogo em que personagens NPC foram divididos em aliados e inimigos. Animação esquelética e expressões faciais também foram adicionadas ao motor - esta é uma inovação verdadeiramente brilhante, esta tecnologia agora é usada em todos os modelos físicos.


Ao dar um esqueleto aos modelos, os programadores podem criar animações de personagens muito mais fáceis e melhores, o que também possibilitou a criação de várias cenas em jogos de maneira mais rápida e bonita. A inovação também afetou as expressões faciais - se antes os personagens, via de regra, ventriloquizavam com a voz, agora seus rostos encontraram vida própria. Este motor foi posteriormente retrabalhado e refinado regularmente, tanto pela Valve quanto por terceiros. A própria Valve o atualizou usando o sistema Steam. A Gearbox lançou vários jogos nele, dos quais vale a pena mencionar Half-Life: Blue Shift e Half-Life: Opposing Force. As modificações da Gearbox adicionaram texturas de maior resolução, anti-aliasing e expressões faciais aprimoradas.


Para o lançamento do Counter Strike: Condition Zero, uma nova versão do motor foi desenvolvida em conjunto pela Valve, Gearbox e TurtleRock, que adicionou a capacidade de usar texturas altamente detalhadas. Texturas foram sobrepostas umas sobre as outras e criaram uma sensação de rugosidade do plano, como rachaduras, trincas, etc. Texturas alfa também foram adicionadas, essas texturas podem ser definidas para um grau de transparência, que é usado em várias cenas.

História do motor de origem

Um pouco da história do desenvolvimento: tudo começou em 1998, quando os desenvolvedores, concluindo o trabalho em seu primeiro jogo da série Half-Life, perceberam que durante o processo de desenvolvimento surgiram muitos desenvolvimentos e detalhes que eles gostariam de introduzir no motor, mas porque o jogo já estava quase pronto, não se atreviam a apresentar novas soluções. Nos odes subsequentes, os desenvolvedores usaram os termos para o nome do mecanismo diretamente como "GoldSource" e "Source". GoldSource desenvolvido a partir do código-fonte da versão de lançamento do mecanismo, enquanto Src permaneceu uma versão experimental e relacionada a uma versão futura do mecanismo.


Assim, o nome Source passou a ser usado para descrever o novo motor, e GoldSource passou a ser o nome da geração anterior de tecnologia. Vale a pena notar que o nome na tradução literal significa "fonte", mas a palavra fonte também é usada na frase código-fonte - código-fonte.


O primeiro jogo no motor Source foi o shooter multiplayer Counter-Strike: Source, lançado em outubro de 2004, tornou-se uma espécie de demonstração do motor, por isso o nome da tecnologia está inscrito em seu nome, sendo uma versão recriada do clássico jogo de tiro Counter-Strike com os gráficos mais recentes da época.


Um pouco mais tarde, a sequência de Half-Life, Half-Life 2, foi lançada, um shooter de ficção científica baseado em histórias que ganhou muitos prêmios e foi apontado como tendo gráficos que estão entre os mais progressivos de seu tempo. Half-Life 2 faz uso intenso de um mecanismo de física baseado em Havok licenciado pela Valve. Numerosos quebra-cabeças baseados em brincar com as leis físicas são construídos usando o Havok Engine. No futuro, o tema dos quebra-cabeças com as leis da física foi desenvolvido de forma interessante em outro projeto da Valve - Portal, lançado em 2007, a ideia principal do jogo é se mover usando teletransportes. Além do modelo de física avançado, o Half-Life 2 apresentava algumas das tecnologias de animação facial mais avançadas de sua época. O motor gráfico usando DirectX versão 9 também foi altamente otimizado e pode rodar em placas de vídeo mais antigas, diminuindo sua qualidade gráfica e mudando para versões anteriores do DirectX até a versão 6.


Futuramente, o Source, cuja estrutura é descrita pelos desenvolvedores como extremamente flexível e modular, passou a ser utilizado na maioria dos jogos da empresa, passando por melhorias e aperfeiçoamentos constantes. Muitos efeitos modernos foram adicionados, assim como vários recursos do mecanismo foram expandidos, incluindo, por exemplo, trabalhar com grandes locais, novas plataformas foram adicionadas à lista de suportadas. Inicialmente, o Source estava disponível no Windows, posteriormente foram adicionados Xbox, Xbox 360, PlayStation 3, desde 2010 - Mac. Desde 2012, o suporte para Linux foi adicionado, o primeiro jogo portado pela Valve foi Team Fortress 2.

Especificações

Source é um mecanismo de jogo, portanto, consiste em vários componentes, incluindo: mecanismo de física, mecanismo gráfico, mecanismo de áudio, etc.


Uma das características do motor é seu sistema de animação de personagens, em particular, animação facial, que contém muitas ferramentas para criar expressões faciais expressivas e sincronização precisa da fala dos atores com a animação; o mecanismo também possui inteligência artificial de jogo avançada que pode controlar efetivamente os oponentes ou aliados do jogador; foi um dos primeiros a usar efeitos de sombreamento complexos; em jogos no motor, o sombreador de água foi usado ativamente, refletindo o mundo ao seu redor.


O mecanismo de física é baseado no Havok. Ele permite que você calcule muitos objetos físicos, como corpos rígidos, corpos elásticos, cordas, superfícies, etc. É possível criar veículos realistas, desde carros até hovercraft e helicópteros. Para calcular o comportamento do veículo na estrada ou no ar, muitos parâmetros são usados, por exemplo, a aderência das rodas com a estrada, a massa do carro. Para dar movimento realista ao corpo, é usada a física de boneca de pano; animação pré-criada pode ser misturada com física em tempo real.


Com o desenvolvimento do Source, foram adicionados: renderização HDR, iluminação dinâmica e sombreamento com capacidade de auto-sombrear objetos, sombras suaves de (há a possibilidade de usar mapas de luz tradicionais), renderização multi-core para processadores multi-core , um sistema de partículas avançado.


Ferramentas do SDK

Source SDK é um conjunto de utilitários para criar modificações no motor Source, disponível gratuitamente através do Steam para os jogadores. O conjunto inclui: um editor de mapas - Valve Hammer Editor, um utilitário para criar animação facial de modelos - Faceposer, um visualizador de modelos em formato .MDL - Model Viewer.


Além dos três utilitários principais, o conjunto inclui um utilitário para descompactar os arquivos básicos ao criar um novo mod, bem como arquivos de código-fonte para as bibliotecas de alguns jogos da Valve, que permitem criar manualmente jogos com características modificadas sem descompilar o motor. No entanto, a compilação de novos arquivos requer conhecimento da linguagem C++ e do compilador.


A seguir estão as várias versões internas do mecanismo Source, com uma lista de jogos que usaram uma versão específica do mecanismo:

Versões anteriores (2003) - uma versão inicial do mecanismo foi usada na versão beta do Half-Life 2 vazada na Web em 2003, o jogo era visualmente semelhante ao Half-Life no GoldSource e não continha muitas tecnologias. Em outra versão da engine, já próxima da que estreou com Half-Life 2, foi criado o jogo Vampire: The Masquerade - Bloodlines.


VTMB

Source Engine 2004 (Source Engine 6) - a primeira versão de lançamento do mecanismo, usada pela primeira vez no Half-Life 2. Suporta nativamente dimensionamento, capacidade de atualização, renderização de shader, animação facial e iluminação dinâmica. Até 2005 usado em: Half-Life 2, Counter-Strike: Source, Half-Life 2: Deathmatch, Half-Life: Source. Atualizado para Source Engine 7.


Source Engine 2005 (Source Engine 7) - versão atualizada. Comparado ao seu antecessor, ele suporta renderização de alto alcance dinâmico, para demonstrar novas tecnologias de iluminação, os desenvolvedores lançaram Half-Life 2: Lost Coast, em essência, este jogo é um nível que não chegou à versão final do Half-Life 2. O motor é considerado obsoleto, é usado em: Half-Life 2: Lost Coast; usado em: Half-Life 2: Deathmatch, Counter-Strike: Source, Half-Life Deathmatch: Source, Day of Defeat: Source até 2006; até 2010 em Half-Life 2; até 2014 - em Half-Life: Source.


Source Engine 2006 (Source Engine 7: Base Source Engine 2) com kit de desenvolvimento: Source SDK Base 2006 é a terceira versão da engine na qual vários jogos foram lançados. Ele também impulsionou vários jogos multiplayer da Valve até 2010. Ele foi atualizado para suportar animação facial atualizada, renderização multi-core e HDR atualizado. Um grande número de modificações foi lançado para esta versão do motor, além disso, os mods lançados para versões anteriores são compatíveis com esta versão, que não funcionam em versões posteriores, por isso ainda é usado pelos autores do mod. Usado em Half-Life Deathmatch: Source, SiN Episodes: Emergence, Dark Messiah of Might and Magic; usado em Day of Defeat: Fonte até 2009; até 2010 em Half-Life 2: Episode One, Half-Life 2: Deathmatch, Counter-Strike: Source, Garry's Mod.


Source Engine 2007 (Source Engine 14); com kit de desenvolvimento: Source SDK Base 2007 - a quarta versão do motor, fortemente modificado e atualizado, usado pela primeira vez nos jogos Valve da coleção The Orange Box. A renderização do sombreador foi atualizada, a iluminação dinâmica e o sombreamento foram significativamente aprimorados, um sistema de partículas suaves também foi introduzido e a física cinematográfica foi adicionada, um recurso que expande muito o uso do mecanismo de física. O mecanismo contém alterações significativas do Source Engine 7, portanto, as modificações do jogo lançadas para versões anteriores não são compatíveis com esta e versões posteriores. Usado em Black Mesa; até 2010 em Half-Life 2: Episode Two, Portal, Team Fortress 2, Day of Defeat: Source.


Source Engine 2008 (Source Engine 14: Base Source 3) - a próxima versão do motor com física cinematográfica aprimorada e alguns efeitos visuais (por exemplo, profundidade de campo); usado em Left 4 Dead.


Source Engine 2009 (Source Engine 15) - a sexta versão fortemente modificada do motor. Todas as funções foram atualizadas, o sistema de partículas, a animação facial, o dimensionamento e a possibilidade de atualizações foram significativamente aprimorados. Lançado com Left 4 Dead 2, os jogos anteriores da Valve foram atualizados para esta versão. Usado por: Left 4 Dead 2, Zeno Clash, Postal III, desde setembro de 2010, os jogos mudaram para esta série: Counter-Strike: Source, Half-Life 2, Half-Life 2: Deathmatch, Half-Life 2: Episode One, Half-Life 2: Episódio Dois, Portal, Team Fortress 2.


Source Engine 2010 (Source Engine 17) é a sétima versão do mecanismo. Usado em: Day of Defeat: Source, Bloody Good Time.


Source Engine 2011 - usado em Portal 2, Dota 2, Counter-Strike: Global Offensive, The Stanley Parable.


Source Engine Multiplayer (Source Engine 19) - uma variante do mecanismo adaptada para as necessidades de jogos multiplayer; até 2010 usado: Counter-Strike: Source, Team Fortress 2, Day of Defeat: Source, Half-Life 2: Deathmatch, Garry's Mod.


Source Engine Multiplayer (Source Engine 21) - até 2012 usado: Counter-Strike: Source, Team Fortress 2, Day of Defeat: Source, Half-Life 2: Deathmatch, Garry's Mod.


Source Engine Multiplayer (Source Engine 23) - trabalho aprimorado com o modo Big Picture no Steam; até 2013 usado em: Counter-Strike: Source, Team Fortress 2, Day of Defeat: Source, Half-Life 2: Deathmatch, Garry's Mod.


Source Engine 2013 (Source Engine 24); com o Source SDK Base 2013 é uma das versões mais recentes do mecanismo para o qual a Valve migrou a maioria de seus jogos. Entre as mudanças: para otimizar o uso do espaço em disco, decidiu-se abandonar o uso de arquivos volumosos .GCF (arquivos com recursos do jogo), em favor de um sistema de arquivos com o codinome SteamPipe. Os jogos no novo mecanismo agora são instalados no diretório Steam\SteamApps\Common e os arquivos do jogo são armazenados em arquivos .VPK. Um sistema conveniente para adicionar conteúdo personalizado (mods) foi criado para Counter-Strike: Source, Team Fortress 2 e Half-Life 2: Deathmatch: existe uma pasta personalizada, na qual é criada uma pasta com um nome arbitrário e clássico pastas de materiais de modificação já estão adicionadas a ele (materiais, modelos, etc.). Adicionado compatibilidade com Linux. Desde 2013 usado em: Half-Life 2, Half-Life 2: Deathmatch, Half-Life 2: Lost Coast, Half-Life 2: Episode One, Half-Life 2: Episode Two, Counter-Strike: Source, Day of Defeat : Source, Portal, Team Fortress 2, Dota 2, Garry's Mod, Tactical Intervention, Alien Swarm.


Fonte 2 Motor

A Valve anunciou oficialmente o Source 2 na GDC 2015 Game Developers Conference em San Francisco em 3 de março. De acordo com a Valve, o Source 2 estará “disponível gratuitamente para todos os desenvolvedores de conteúdo”. Uma declaração semelhante foi feita recentemente pela Epic Games, cujo mecanismo Unreal Engine 4 não requer mais uma assinatura mensal para usá-lo.


“Com o Source 2, queremos aumentar a produtividade das pessoas criativas”, disse o programador líder da Valve, Jay Stelly, em um comunicado à imprensa. - Com a crescente importância do conteúdo gerado pelo usuário, o Source 2 não é apenas para desenvolvedores profissionais. Permite que os próprios jogadores participem da criação e desenvolvimento de seus projetos favoritos.


O modelo de distribuição da Valve parece muito mais interessante em comparação com os concorrentes, o mecanismo é gratuito para todos, mas se você quiser fazer um jogo no Source 2, faça a gentileza de vendê-lo através da nossa plataforma Steam. Source 2 é uma ferramenta poderosa que pode satisfazer as necessidades de qualquer desenvolvedor, as especificações detalhadas do mecanismo ainda não foram anunciadas, bem como a data do anúncio, mas são mencionadas versões com suporte para a API Vulkan - um novo desenvolvimento da o Grupo Khronos que permitirá aos criadores de jogos obter o máximo do hardware de computador mais moderno. Nenhum projeto no Source 2 foi anunciado ainda, mas está circulando na rede um vídeo em que um jogo Dota 2 lançado com o Source 2 foi mostrado aos desenvolvedores em uma apresentação fechada. Agora todo usuário com uma conta Steam tem a oportunidade de rodar o Dota 2 no mecanismo Source 2.


A Valve fez um grande esforço para ser diferente de todos, como resultado, eles conseguiram uma tecnologia única que estava à frente de seu tempo. Apesar do período bastante longo de existência do mecanismo Source, os jogos não parecem muito ruins e não atrapalharam os desenvolvedores na implementação de suas ideias. Tudo graças às atualizações constantes não só dos jogos, mas também do próprio motor, como evidenciado por muitas versões Build do Source. Os jogos criados no Source não são apenas as séries lendárias de que todos os jogadores mortos de Half Life, Portal e Left 4 já ouviram falar, mas também jogos que se transformaram em Counter Strike: Ofensiva global, disciplinas de esportes eletrônicos Dota 2. No momento, a Valve é a organizadores do campeonato com a maior premiação ($ 13.000.000) e ainda está crescendo. Agora, com o anúncio do Source 2, a dúvida é se será um avanço e uma nova era para os jogos ou outra tecnologia, que existe bastante no momento. No mínimo, a monetização do motor é muito impressionante, e o console Steam Machines, controlador, Steam Link, Steam Lighthouse (um dispositivo para um capacete de realidade virtual) fala da intenção da Valve de penetrar em todas as áreas relacionadas a jogos de computador. Bem, podemos apenas esperar até podermos aproveitar os resultados do trabalho da Valve e experimentar totalmente o próximo gene da indústria de entretenimento por computador.

Criando seu próprio RPG no mecanismo Source

Se você quer aprender a desenvolver jogos, modificar jogos existentes é um ótimo lugar para começar a aprender design e prototipagem sem ter que reinventar a roda. Neste artigo, usaremos o Source Engine da Valve (que é o mecanismo no qual Portal, Left 4 Dead, Half-Life e Team Fortress 2 são baseados) para criar missões do tipo RPG em Half-Life 2: Episode 2 .

Observe que este artigo pressupõe que você tenha um conhecimento básico do Source SDK Hammer Editor e do Face Poser, portanto, este não é um projeto para iniciantes, mas sim para programadores intermediários.

Se você não possui essas habilidades, pode aprender sobre desenvolvimento de jogos em nosso site: por exemplo, criação de jogos ou .

Para dominar este material, você deve saber como criar e compilar mapas, colocar entidades e configurar gatilhos antes de repetir as etapas descritas aqui. Se você deseja adicionar seus próprios diálogos, também precisa saber como criar e salvar cenas no Face Poser. Tudo bem se você nunca trabalhou com o Source SDK antes - a Internet está cheia de artigos descrevendo como usá-lo. Comece com o Valve Developer Wiki, que tem muitos artigos úteis sobre o assunto, então confira design3 (a propósito, sou um dos contribuidores) para vídeos passo a passo do Source Engine. Os requisitos mínimos do sistema para usar as ferramentas descritas acima são os mesmos para rodar o Half Life 2: Episode 2: Processador de 1,7 GHz, 512 MB de RAM, DirectX 8.1 e Windows XP ou superior. Você também vai precisar de um microfone.

Treinamento

Antes de começar, verifique se você tem tudo o que precisa. Primeiro, você precisa de uma cópia instalada do Half-Life 2: Episode 2. Usaremos este jogo porque é o mais novo jogo single player do mecanismo Source que pode ser modificado. Se você não tiver o segundo episódio, baixe-o, então um simples Half-Life 2 também deve funcionar.

Se você quiser adicionar seu próprio diálogo a este RPG, precisará de um aplicativo de processamento de áudio. Nós o usaremos - é gratuito, de código aberto e ótimo para nossos propósitos.

Figura 1 - nosso nível no Hammer Editor

No momento, nosso nível é apenas um protótipo bruto que não é totalmente texturizado ou detalhado. É melhor começar com isso e lidar com os detalhes no final. Então, vamos começar a fazer nosso RPG já. Não se esqueça de economizar na hora! Alguns recursos do Hammer não são totalmente suportados no Episódio 2 e podem causar falhas no editor.

Criando uma estrutura de missão

Neste artigo vamos nos concentrar na obtenção e conclusão de tarefas, construir um sistema de desenvolvimento de personagens com pontos de experiência é um tópico para um artigo separado. Em nosso nível, haverá três personagens não-jogadores (NPCs), cada um nos dará duas tarefas. Também podemos usá-los para fornecer informações ao jogador, para atacá-lo ou apenas para adicionar um pouco de vida ao nível.

Para manter os níveis organizados, vamos usar a seguinte convenção de nomenclatura:

Figura 2 - a convenção de nomenclatura que usaremos

Isso facilitará muito a localização de nossas entidades, especialmente ao trabalhar em atribuições. Por exemplo, prefixar entidades que afetam apenas um determinado nível com o prefixo Nível as colocará automaticamente no mesmo lugar na lista e não serão confundidas com as entidades de nenhum trabalho.

Antes de começarmos a fazer missões, precisamos dividi-las em componentes menores, a saber:

  • Iniciar gatilho: inicia o trabalho;
  • sprite: mostra onde a quest pode ser iniciada;
  • doador: NPC que dá esta tarefa;
  • início da cena: caixa de diálogo descrevendo a tarefa;
  • início do som: um som que notifica o jogador que uma missão foi recebida;
  • Texto Iniciar: texto descrevendo a tarefa;
  • retransmitir conteúdo: uma camada que inicia os processos necessários para a missão (por exemplo, um gerador de NPC);
  • : <основное содержимое квеста - после выполнения оно должно запустить Relay Complete>;
  • relé completo: camada que ajusta o nível para a próxima tarefa;
  • Fim do texto: texto que descreve como concluir a tarefa;
  • sprite: reaparece para indicar com qual NPC falar;
  • Fim do gatilho: gatilho que inicia o fim da tarefa;
  • final da cena: diálogo final;
  • final de som: som que marca o fim da tarefa;
  • : <если есть следующее задание, оно активируется здесь>.

Se você não entende nada disso, não se preocupe - por enquanto estamos apenas fazendo uma lista de tudo o que você precisa. Esta é uma lista para apenas um trabalho, então precisaremos criar muitas entidades. Para não entupir o cérebro com coisas desnecessárias, usaremos o VisGroups para separar as tarefas e ocultar o que não é necessário agora. VisGroups permite que você designe grupos de pincéis e entidades e os oculte ou mostre rapidamente. Se um grupo estiver oculto em tempo de compilação, tudo contido nesse grupo será ignorado e não aparecerá no jogo. Isso é muito conveniente, porque você pode visualizar seletivamente grupos individuais de objetos, focando neles, e nada mais irá interferir em você.

Criar um modelo de trabalho

Estaremos usando templates (instancing) - uma ótima ferramenta do Hammer Editor. Isso permitirá que nosso mapa principal seja referenciado por outros. Criaremos uma instância da tarefa, que posteriormente usaremos como modelo. Depois de terminar, podemos apenas extraí-lo e editar um pouco as configurações das cópias para que cada tarefa seja única. Desta forma, não temos que fazer o mesmo trabalho tedioso repetidamente. Infelizmente, o Episódio 2 não oferece suporte total a essa tecnologia, então teremos que converter instâncias em níveis antes de compilar (falaremos disso mais tarde).

Para personalizar nosso modelo de trabalho, precisamos de um novo arquivo de mapa. No Hammer, selecione File, depois New, salve o mapa como "quest_instance" na pasta "instances" no mesmo lugar do seu mapa principal.

É melhor colocar as entidades o mais próximo possível das coordenadas (0,0,0). Também vale a pena colocá-los acima do plano XY para não perdê-los durante a transferência. Para um posicionamento adequado, você pode usar a ferramenta de seleção. Nosso modelo adicionará automaticamente o prefixo que escolhermos a todas as entidades dentro dele. Gatilhos e configuração de alguns valores serão descritos posteriormente, então não se preocupe se achar que perdemos alguma coisa.

Vamos precisar de todas as entidades mencionadas na lista acima. Vamos começar adicionando NPCs. Selecione a Entity Tool, localize npc_citizen na lista suspensa e coloque-o na origem. Esse cara vai nos dar uma tarefa. Pressione Alt+Enter para abrir suas configurações e nomeie-o como "doador". Defina o Prevenir pegar armas? para sim. Aplique as configurações clicando em Aplicar e vá para o painel Sinalizadores. Defina o sinalizador Não comandável, caso contrário, nosso empregador seguirá o jogador pelo mapa em todos os lugares. Configure mais Não deixe cair as armas e Ignore o empurrão do jogador (para que ele não dê passagem ao jogador).

Agora precisamos de um gatilho que monitore se o jogador se aproximou... Vamos chamá-lo de Grisha, porque "esse cara" ou "doador de missões" não soa muito bem. Então, para saber se o jogador se aproximou de Grisha, crie um pincel com as seguintes dimensões: 64 unidades de altura, 32 unidades de largura, 4 unidades de comprimento - e coloque o objeto bem na frente de Grisha. Dê a este objeto uma textura nodraw para que ele não seja renderizado. Para alterar a textura, selecione o objeto, mude para Toggle texture, pressione o botão Browse, use o filtro nodraw, clique duas vezes para selecioná-lo e aplique as configurações (botão Aplicar). Em seguida, atribua um gatilho a essa entidade pressionando Ctrl+T e selecionando func_button na lista. Nomeie-o "trigger_start" e altere a velocidade para zero. Salve suas alterações novamente.

Agora vamos adicionar um sprite que irá notificar o jogador que este NPC tem uma tarefa. Coloque a entidade env_sprite no topo da cabeça de Grisha e abra a janela Object Propeties pressionando Alt+Enter. Nomeie-o Sprite. Agora precisamos alterar o modo de renderização para que o sprite seja exibido corretamente no jogo. Na mesma janela, localize a opção Render Mode e selecione World Space Glow no menu suspenso. Você pode alterar a textura deste sprite usando este menu, se desejar. Certifique-se de que a guia Iniciar em esteja marcada na guia Sinalizadores.

Vamos dialogar. Encontre logic_choreographed_scene na lista de entidades e coloque-o atrás de Grisha. Vamos precisar de pelo menos dois deles por missão - um para o diálogo de abertura, um para o diálogo final - então copie e cole o segundo em cima do primeiro. Nomeie-os como "scene_start" e "scene_end" respectivamente. Consideraremos adicionar o diálogo real um pouco mais tarde.

Além de tudo isso, também precisamos de notificações sonoras de que o jogador recebeu a tarefa e a concluiu. Crie duas entidades ambient_generic, coloque-as ao lado do NPC e nomeie-as como "sound_start" e "sound_end". Se você não tiver seus próprios sons adequados, use plats\elevbell1.wav (você precisa inserir no campo Sound Name). Na aba sinalizadores, todas as três opções devem ser marcadas.

Depois disso, precisamos adicionar um texto que descreva a tarefa. Crie duas entidades game_text e nomeie-as como "text_start" e "text_end". Defina ambos para um tempo de espera alto o suficiente (cerca de 99999) para que o texto não desapareça até que o destruamos nós mesmos. Queremos que o texto fique na lateral da tela e não atrapalhe o jogador, então defina as margens X e Y de ambas as entidades para 0,1.

Vamos precisar de várias camadas para organizar os gatilhos. Um relé é uma entidade que, ao ser acionada, lança outras entidades. Uma camada geralmente inicia ações que devem ser executadas ao mesmo tempo e no mesmo local para serem mais convenientes de gerenciar. Crie duas entidades logic_relay e coloque-as ao lado de Grisha. Nomeie-os como "relay_content" e "relay_complete". Essas duas camadas executarão todas as entidades no trabalho. Pense você mesmo nas especificidades de uma tarefa específica - você precisa definir uma meta para o jogador como "coletar tantos itens e tais" ou "chegar a tal e tal lugar". Você pode usar entidades como math_counter ou entidades de área como trigger_once para testar essas condições. Quando essas entidades determinarem que a tarefa foi aprovada, elas precisarão executar "relay_complete", que por sua vez executará o que for necessário para marcar o final da tarefa.

Vamos adicionar mais um gatilho na frente de Grisha. Será quase idêntico ao gatilho inicial, então apenas copie "trigger_start" e renomeie-o para "trigger_end". Certifique-se de que o sinalizador Starts Locked esteja ativado. Certifique-se de que essas entidades não se sobreponham e que o gatilho inicial esteja na frente do hitbox do NPC (caso contrário, o jogo ficará confuso se você selecionar o gatilho ou o "botão") usando as visualizações superior e lateral. Para localizar o hitbox, selecione Grisha - um quadro amarelo aparecerá ao redor dele.

Agora vamos configurar os acionadores conforme mostrado na Figura 5. Você não precisa se preocupar com os acionadores entre colchetes ainda, nós os adicionaremos mais tarde. Selecione as entidades listadas, abra suas Propriedades do Objeto, vá na aba Outputs e configure tudo conforme a tabela abaixo. Certifique-se de salvar todas as alterações (botão Aplicar)!

Figura 5 - configurando gatilhos.
Cabeçalhos: Entidade Selecionada \ Ativar por… \ Entidade Ativada \ O que Ativar em uma Entidade

Colocamos modelos

Nosso modelo está pronto, agora podemos colocar esses modelos no mapa e personalizá-los com mais detalhes. Coloque "func_instance" onde quiser, abra suas Object Properties e em VMF Filename encontre seu arquivo "quest_instance". Por favor, note que a pesquisa é um pouco complicada, então você pode precisar inserir o caminho para o arquivo manualmente. Agora você pode copiar este modelo pelo mapa: crie quantas tarefas quiser.

Selecione a primeira tarefa e deixe-a importar todas as entidades necessárias (pressione Instancing, Collapse, Selection). O Hammer dará a todas as entidades um prefixo, "AutoInstance-" por padrão. Tudo importado será selecionado, só teremos que adicioná-los a um grupo através de VisGroups. Abra Object Properties e selecione a guia VisGroups lá. Você verá algo assim:

"Esgoto" e "Nível principal" são grupos que criei antes, então tudo bem se você não os tiver. Clique em "Editar grupos" e você verá o seguinte:

Aqui você pode criar novos grupos que você usará mais tarde. Clique em "Novo grupo" e você verá o novo item na lista. Renomeie-o para "Quest_n", onde n é o número da missão. Assim que terminar, clique em "Fechar", você verá seu grupo na lista principal. Marque as caixas de seleção para adicionar entidades ao grupo, clique em "Aplicar" e depois em "Fechar" novamente. Agora você pode ocultar ou visualizar grupos usando o painel de controle VisGroup, conforme mostrado abaixo. Faça isso com cada uma de suas atribuições.

Adicionando seus próprios arquivos de som

Nosso RPG seria extremamente chato sem o diálogo narrativo, então vamos gravá-lo através do Audacity. Primeiro você precisa ter um microfone. Por causa de como o Face Poser funciona, você deve escrever uma frase de cada vez. Com o Audacity, é fácil - configure seu microfone, pressione o botão vermelho, diga algo, pare a gravação e salve o arquivo como um arquivo .wav. Se você tiver algum problema, pode usar com segurança a ajuda integrada, é muito bem feito. Quando terminar, crie uma pasta "RPG" e coloque todos os arquivos nela. Mova esta pasta para C:/Program Files/Steam/steamapps/half-life episode two/ep2/sounds/ . Salvar todos os arquivos em uma pasta um nível acima de "sons" é essencial - caso contrário, o mecanismo simplesmente não os verá.

Ir em frente. Crie um arquivo "sound_script" para que o mecanismo possa vincular nossos sons no editor ao jogo. Inicie o GCFScape, vá para Arquivo->Abrir, navegue até a pasta "steamapps" e abra o arquivo "episode two content.gcf". Depois que o GCFScape carregá-lo, você precisará encontrar o arquivo "game_sounds_manifest.txt", localizado em "/steamapps/ep2/scripts". Clique com o botão direito nele e selecione "Extrair" e coloque este manifesto em "/steamapps/half-life 2 episódio dois/ep2/scripts". Terminamos o GCFScape, você pode fechá-lo.

Agora vá para a pasta de scripts e abra o "game_sounds_manifest.txt" que acabamos de extrair. Este arquivo contém todos os scripts de som que o jogo usará, e precisamos adicionar nossas entradas lá também. Abaixo da última linha de código, entre os últimos colchetes, escreva exatamente o seguinte:

O arquivo de manifesto já pode ser fechado. Vamos criar o arquivo "rpg_sounds.txt" ao qual nos referimos e escrever o seguinte nele:

A primeira linha é o nome do som que será exibido no Face Poser: "rpg_sounds" é o prefixo e a segunda parte é o próprio nome. Você pode alterá-los como quiser. As próximas quatro linhas dizem ao mecanismo o que fazer com esses sons, apenas aceite-os como garantidos. A última linha é . wav que será carregado e o caminho relativo da pasta "/steamapps/half-life 2 episode two/ep2/sound/". Tudo o que você precisa fazer é colocar todos os seus arquivos de som nesta pasta e certificar-se de que seus nomes e extensões correspondam aos especificados no arquivo de script.

Se você estiver no Windows Vista ou no Windows 7, teremos que ajudar um pouco o Face Poser. Como dito acima, você precisará do patch Phoneme Extractor para isso. Vale a pena mencionar aqui que o Source SDK se atualiza toda vez que você o inicia, portanto, você precisa corrigi-lo sempre que abrir o Source SDK. Sim, é tedioso, mas é a maneira mais fácil, acredite em mim.

Com o Face Poser aberto, vamos começar a criar uma nova cena. No menu Coreografia, clique em Novo. Eu recomendo que você salve imediatamente. Escolha você mesmo o nome e a pasta de salvamento é "/steamapps/half-life episode two/ep2/Scenes/RPG_MOD/". Será muito mais fácil encontrá-lo mais tarde se você der algum tipo de prefixo, por exemplo "RPG_". Agora o Face Poser pedirá que você nomeie o personagem principal (ator). Nomeie-o "!_targetN", onde N é um número de 1 a 8, porque teremos até oito NPCs em cada cena. Hammer usará o NPC que você especificar. Nós só temos Grisha até agora, então vamos chamar o ator de "!_target1". Clique com o botão direito no nome do personagem que apareceu no menu "Choreography" e vá para a caixa New->Channel->Create Channel. Nomeie este canal como "Áudio". Agora crie outro canal e nomeie-o "Anim" (para animação).

Agora precisamos classificar nossas gravações de áudio. Na lista de guias na parte inferior da tela Face Poser, toque duas vezes em "Editor de fonemas". Na janela que se abre, clique em "Carregar" e selecione o arquivo .wav que deseja adicionar. Em seguida, clique em "Reextrair" e o Face Poser solicitará que você escreva o conteúdo do arquivo de áudio como texto. Digite-o. Agora, se você pressionar o botão play, será mostrado o rosto do personagem, cujos lábios se moverão. Você pode salvar tudo e fechar esta janela. Essas etapas devem ser repetidas para cada arquivo de som.

Se você deseja adicionar gestos, expressões faciais ou outras animações, deve fazê-lo agora. Não abordarei como fazer isso neste artigo, você pode ler sobre isso em outro lugar. A seguir, salve sua cena (Choreography->Save). Agora resta aplicar esta cena ao nosso NPC.

Adicionando áudio de terceiros a NPCs

Agora precisamos configurar o diálogo. Precisamos adicionar as cenas que criamos ao "scene_start" e "scene_end" que criamos anteriormente. Para fazer isso, pressione Alt+Enter para abrir as Propriedades do objeto, encontre a opção "Arquivo de cena" lá. Atribua a cena recém-criada a ela e salve as alterações. Faça o mesmo para "scene_end".

Ativação do evento

Em geral, você mesmo já pode criar gatilhos que farão qualquer coisa, mas darei um exemplo de qual tarefa pode ser realizada e como implementá-la.

O jogador precisa matar cinco inimigos. Cada vez que um inimigo morre, math_counter aumenta em um. Quando o contador atinge cinco, math_counter chama logic_relay . Por sua vez, logic_relay interrompe a geração de mob, ativa NPCs e "relay_complete".

Configurando o salvamento automático

Ninguém gosta quando um acidente aleatório mata o resultado de muitas horas de jogo. Portanto, você deve adicionar uma entidade logic_autosave e chamá-la toda vez que a tarefa for concluída (você já sabe como fazer isso).

Fim do jogo

O jogo vai ter que acabar em algum momento, e não vai ser legal se ele simplesmente travar no menu principal, então vale a pena criar títulos. Para fazer isso, basta colocar as seguintes entidades em algum lugar do mapa:

Conclusão

Eu disse tudo o que eu queria. Agora você pode criar qualquer tipo de tarefa, saber como trabalhar com gatilhos e, em geral, pode começar a escrever seus próprios mods simples para jogos. Boa sorte!

Source é o mecanismo de jogo mais popular: no momento em que você está lendo este artigo, os jogos escritos nele podem ser jogados por mais de um milhão de pessoas:

E isso não é surpreendente: o mecanismo foi desenvolvido pela Valve, dona da maior loja de jogos - Steam, e seus jogos estão consistentemente no topo do top de jogos.

Mas, claro, o caminho para o topo da fama foi longo: a história do desenvolvimento do motor Source começou em 1998, quando os desenvolvedores da Valve, concluindo o trabalho no Half-Life 1, perceberam que tinham muitos desenvolvimentos que Eu gostaria de usar em algum lugar. E foi então que surgiu a divisão em dois motores: GoldSrc, no qual funcionava a versão atual do jogo, e Source, que pertencia à futura versão do jogo e possuía tecnologias novas, ainda inacabadas. E assim, na E3, quando a Valve exibiu a versão beta do Half-Life 2, foi dito que o jogo estava rodando no motor Source. Esse nome pegou e, no futuro, GoldSrc desapareceu completamente.

Source Engine 2004 (Source Engine 6)

A primeira versão pública do motor foi lançada em 2004, junto com o muito amado jogo de tiro Counter Strike, que foi nomeado Source em homenagem ao motor. Houve muitas mudanças em relação à versão original: texturas mais nítidas (512 × 512 pixels contra 128 × 128 no original) e modelos 3D detalhados. Os recursos do mecanismo relacionados a reflexões especulares são amplamente utilizados - para armas equipadas com uma mira óptica, você pode ver o ambiente (mas não os modelos de outros jogadores) atrás do jogador na lente da mira quando não está ampliada.

Os efeitos sonoros agora correspondem às condições acústicas, o suporte para alto-falantes 5.1 e 7.1 foi introduzido. Novos recursos do motor ajudaram a deixar os mapas mais detalhados: havia garrafas e embalagens espalhadas pelo chão. O motor de física, baseado em Havok, melhorou a física do voo de granadas, explosões, bem como os efeitos de sua destruição para um maior realismo.

Um pouco mais tarde, no mesmo ano, foi lançado o Half-Life 2, que acrescentou aos recursos acima: renderização de shader (Half-Life 2 foi um dos primeiros jogos que usavam shader water) e animação facial (com suporte para sincronização precisa de fala dos atores com animação), e com a ajuda do Havok, obteve-se um efeito de “boneca de pano”:




Esta versão do motor foi usada até 2005 e atualmente está obsoleta - todos os jogos escritos no SE 6 foram transferidos para motores mais novos.

Source Engine 2005 (Source Engine 7)

Uma versão atualizada do motor, lançada em 2005. A principal adição é o suporte para High Dynamic Range Rendering, para demonstrar que os desenvolvedores lançaram Half-Life 2: Lost Coast: em essência, este jogo é um nível que não chegou à versão final do Half-Life 2. Renderização HDR em Lost Coast inclui vários componentes:

  • O HDR Skybox é o resultado da sobreposição de múltiplas exposições do céu para obter um efeito de mudança de exposição em tempo real. Mais de 16 Skyboxes HDR diferentes foram criados para Half-Life 2: Lost Coast.
  • Efeito de refração HDR - A luz HDR passa por materiais refrativos e assume as propriedades desses materiais (por exemplo, quando um feixe de luz passa pelos vitrais coloridos no mosteiro em Half-Life 2: Lost Coast, os reflexos coloridos são jogado no chão).
  • Mapas de luz HDR - mapas de luz gerados usando o efeito de radiosidade (a luz não é apenas refletida de objetos e atinge o olho do observador, mas também atinge outros objetos, refletindo deles). Você pode ver, por exemplo, dentro do mosteiro em Half-Life 2: Lost Coast, pelas manchas de sol nas paredes opostas às janelas.
Como o SE 6, a versão 7 também está desatualizada no momento - em 2014, o último jogo nele, CS: Source, foi transferido para o Source Engine 24.

Source Engine 2006 (Source Engine 7: Base Source Engine 2)

A primeira versão do mecanismo a ter um kit de desenvolvedor disponível para todos - Source SDK Base 2006, que permitiu que muitas pessoas criassem suas próprias modificações nos jogos da Valve. O motor foi melhorado um pouco - suporta animação facial atualizada, renderização multi-core e HDR atualizado.

Como as modificações criadas no SDK de 2006 não são compatíveis com as versões mais recentes do mecanismo, os autores de alguns mods ainda usam esta versão do mecanismo e podem ser consideradas atualizadas com um trecho.

Source Engine 2007 (Source Engine 14)

Lançamento global, usado pela primeira vez na coleção de jogos da Valve - The Orange Box (inclui: Half-Life 2, Half-Life 2: Episode One, Half-Life 2: Episode Two, Portal e Team Fortress 2). Nesta versão, a renderização do sombreador foi atualizada, a iluminação dinâmica e o sombreamento foram significativamente melhorados, um sistema de partículas suaves apareceu (o que melhorou muito a qualidade de efeitos como chuva e fogo), a física cinematográfica foi adicionada, bem como a nova animação facial (sua aceleração de hardware foi suportada em placas gráficas) e suporte aprimorado para processadores multi-core.

SE 14 foi a primeira versão do motor a suportar consoles - The Orange Box foi lançado não apenas para PC, mas também para PlayStation 3 e Xbox 360.

Exatamente como no SE 7, as modificações feitas no SDK para a 14ª versão não funcionaram nas mais novas, então esta versão do motor ainda é usada.

Source Engine 2008 (Source Engine 14: Base Source 3)

Versão da engine criada para o jogo Left 4 Dead:

Melhorou a física cinematográfica adicionando:

  • Destruição dinâmica da geometria do jogo - antes disso, as linhas de destruição tinham que ser especificadas pelo criador do mapa.
  • Objetos deformáveis ​​- Até agora, os modelos físicos não podiam ser alterados de outra forma que não fosse baseada em animação pré-renderizada.
Alguns efeitos também foram adicionados, como desfoque de movimento e profundidade de campo.

Source Engine 2009 (Source Engine 15)

A versão lançada com Left 4 Dead 2 foi posteriormente atualizada para esta versão por todos os jogos da Valve da época. Nesta versão, todas as funções foram atualizadas, o sistema de partículas, a animação facial, o dimensionamento e a capacidade de atualização foram significativamente aprimorados.

Source Engine 2010 (Source Engine 17)

A primeira versão do mecanismo portada para macOS. Inicialmente, o pacote do jogo The Orange Box foi portado para o sistema operacional da Apple e, posteriormente, todos os novos jogos da Valve começaram a ser lançados para Mac e Windows.

Source Engine Multiplayer (Source Engine 19, 21 e 23)

Versões do mecanismo adaptadas para jogos multiplayer, como Dota 2 e CS: GO. Também em 2012, apareceu o suporte para Linux: Team Fortress 2 foi portado para ele e, posteriormente, outros jogos da Valve.

Source Engine 2013 (Source Engine 24)

A versão atual do mecanismo para o qual a Valve migrou a maioria de seus jogos. Entre as mudanças: para otimizar o uso do espaço em disco, decidiu-se abandonar o uso de arquivos .GCF volumosos (arquivos com recursos do jogo) em favor de um sistema de arquivos com o codinome SteamPipe. Os jogos no novo mecanismo agora são instalados no diretório Steam\SteamApps\Common e os arquivos do jogo são armazenados em arquivos .VPK. Um sistema conveniente para adicionar conteúdo personalizado (mods) foi criado para Counter-Strike: Source, Team Fortress 2 e Half-Life 2: Deathmatch: existe uma pasta personalizada, na qual é criada uma pasta com um nome arbitrário e clássico pastas de materiais de modificação já estão adicionadas a ele (materiais, modelos, etc.).

A compatibilidade com Linux também foi aprimorada e, em maio de 2014, a Nvidia portou Portal e Half-life 2 para Android para seu console Nvidia Shield (no entanto, os artesãos conseguiram rodar esses jogos em outros dispositivos Android, mas o desempenho foi ruim ).

Fonte 2

Uma versão fundamentalmente nova do mecanismo, lançada em 2015 pela Valve junto com o lançamento do jogo atualizado Dota 2 - Reborn. Infelizmente, não houve apresentação técnica, sabe-se apenas que o mecanismo ainda funciona na API OpenGL (talvez a API Vulkan seja adicionada no futuro) e também sabe usar quantos núcleos de processador tiver. A Valve também prometeu que o mecanismo funcionaria melhor em computadores mais antigos (consumo de RAM reduzido), mas o Dota 2 Reborn acabou sendo mais pesado que o Dota 2 no Source Engine 24. Outra adição importante foi o suporte a VR e o primeiro jogo de demonstração The Lab para HTC Vive:

O futuro do motor

A Valve não fala sobre o desenvolvimento do motor, e isso não é novidade para os jogadores (eles ainda estão esperando rumores sobre Half-Life 3 e Portal 3, certo?) Até agora, a segunda versão do motor é bastante crua e precisa ser melhorado e, obviamente, a Valve conserta os bugs , e apenas Gabe Newell sabe sobre futuros jogos e versões do motor.

CATEGORIAS

ARTIGOS POPULARES

2022 "gcchili.ru" - Sobre os dentes. Implantação. Pedra do dente. Garganta