Guia extenso e detalhado para adicionar novas unidades em The Hand of Merlin, escrito por seu designer de jogos Mat.
Introdução
Neste guia, falaremos sobre como adicionar mais unidades ao nosso jogo. Isso pode ser tanto novos personagens quanto novos inimigos.
O que é uma Unidade?
Em The Hand of Merlin, uma Unidade é uma entidade dinâmica capaz de realizar ações. Possui atributos, incluindo Saúde e Armadura, e sempre faz parte de um Warband, um “lado” – Jogador ou Inimigo.
Cada unidade é descrita com dois arquivos: um Unit Params e um Unit Class.
Parâmetros da unidade
Um arquivo Params (de parâmetros), com extensão .ep, é onde guardamos a maior parte das informações visuais e de identificação de uma unidade.
Você pode criar um com o menu Criar (CTRL+N). Vá para o grupo Genérico e procure o tipo de parâmetros da unidade (Merlin).
Em seguida, salve o arquivo em Conteúdo/Merlin/Heróis pasta para unidades reproduzíveis e Conteúdo/Merlin/Inimigos para aqueles que não são. Usar a pasta Heroes permite que uma unidade apareça na tela de seleção de elenco no Lobby.
Agora, vamos dar uma boa olhada em um arquivo Unit Params e explicar como cada entrada funciona.
Primeiro, temos a identificação da unidade.
- identificação é usado em encontros para se referir a uma unidade específica, observe também os Traços no meio do documento, onde você pode colocar “traços de personalidade” para esse herói ser consultado nos encontros.
- Names são usados para representar a unidade onde quer que ela esteja. Nomes curtos geralmente estão em retratos, e o nome completo no livro e dicas de ferramentas maiores. No caso de Breunor, seu nome completo é “Sir Breunor”
- Finalmente você conseguiu a Biografia, mostrada no Livro, que conta uma pequena história sobre o personagem.
Observe que, por serem entradas de texto, elas precisam ter um identificador e um texto real, para facilitar as traduções.
Então chegamos a #1, Comportamento Skirmish da Unidade.
- Classe de Unidade determina os atributos de uma unidade, habilidades iniciais e passivas. É um aspecto importante, e falaremos sobre isso mais adiante neste documento. Observe que cada parâmetro de unidade tem uma classe única em nosso projeto, mas isso não é obrigatório.
- Tamanho da unidade determina se a unidade será uma unidade 1×1 (regular) ou 2×2 (grande).
- Espécie de Unidade, usado em uma infinidade de efeitos, como Holy Desecration. Nós salvamos “alienígenas” para as abominações monstruosas que você luta, mas todos os seus heróis e bandidos são “humanos”.
Na categoria #2, você encontrará Retratos. Temos uma tonelada deles, então fique à vontade para verificar os já feitos para descobrir os tamanhos e estilos certos.
- Retratos de escaramuça são usados em batalha, mostrados nas barras de retrato à esquerda e à direita. Você pode colocar vários na categoria “vivo” se quiser que sejam randomizados por unidade (nós fazemos isso com bandidos!). E o “morto” (que normalmente fazemos apenas uma caveira só aparecerá se você o definir na caixa de seleção acima. Caso contrário, o retrato simplesmente desaparecerá quando a unidade morrer.
- Retratos do mapa são usados no livro, na página do warband e nas opções de encontro.
- Visualização de Pontuação é salvo para o banner que acontece quando você termina uma luta, como mostrar a unidade que você perdeu quando a luta é vencida.
- Destaques e Silhueta são vistos na tela de seleção de Herói, se um personagem estiver pairando ou ainda bloqueado.
Depois disso, você tem várias entradas sobre a unidade visuals. A entrada .mdl trata do modelo real e das informações de animação, mas o restante configura como a unidade se comporta no mapa. Tome especial cuidado ao usar Atirar alvo e Origin, pois isso governa como a unidade interage com projéteis – onde outras unidades tentam atirar e de onde seus projéteis se originam.
Observe que Mapa de cotação e armas estão obsoletos.
Finalmente, chegamos #3 – Comportamento de desbloqueio.
O primeiro são os requisitos para desbloquear um herói – nada aqui significa que o personagem já está desbloqueado. Veja como Rana, por exemplo, é configurada:
Esta é uma entrada complexa onde você pode determinar que tipo de evento no jogo precisa acontecer para um personagem ser desbloqueado. Observe o óbvio Descrição entrada, mas a mágica acontece quando você determina o tipo de evento. Cada tipo de evento descreve como funciona e, em seguida, as 4 entradas finais determinam como o evento é verificado. Para o exemplo acima, estamos ouvindo >=5 instâncias do evento “Spend Currency”, mas redefinimos o rastreador no final de cada execução/sessão.
Para qualificar o evento, usamos os Inspetores. Para o desbloqueio de Rana, configuramos dois: Um descreve que a moeda que estamos procurando é O que, e o outro descreve que só podemos verificar eventos que acontecem em uma zona específica, Albion. Veja como fizemos:
Depois de definir um Valor a inspecionar, você verá escrito nele as informações de quais outras entradas precisamos preencher, conforme observado na imagem acima. Isso leva um pouco de tentativa e erro para acertar, mas todas as informações necessárias são colocadas nas descrições (Obrigado, MarkoP!)
Agora, Desbloqueios do lado B (Chamado “Desbloqueios de Proeza” no jogo) funcionam de maneira semelhante.
Mas além de como você realmente desbloqueia (a propósito, nós usamos o mesmo desbloqueio para todos os personagens: basta completar uma corrida sem morrer. Verifique qualquer um de nossos heróis na pasta Heroes para saber como configuramos), você pode colocar uma Nome para esta versão alternativa, adicione alguns atributos de bônus, e até mesmo colocar um modelo/textura alternativo.
Classe de Unidade
Agora vamos trabalhar no Aula. Você pode usar o menu Criar, mas sugiro que você apenas clique na entrada apropriada no arquivo Params e selecione “Novo”. Então, lembre-se de salvar o novo arquivo – usamos o Conteúdo/Merlin/UnitClasses pasta para isso.
Agora, o arquivo Unit Class é um pouco mais simples, mas abriga muitas configurações importantes. Dê uma olhada no Breunor:
Primeiro, você tem um Nome da classe. Isso é apenas para mostrar. Se você quiser especificar se esta classe deve ser considerada uma Guerreiro, guarda-florestal or Místico para fins de habilidade e IA, use o Função da Unidade entrada, atribuindo Tanque, nuclear e Suporte respectivamente.
Então, você tem que decidir quais habilidades a unidade é capaz de realizar. UMA Capacidade de movimento, provavelmente Run.rsc e, em seguida, o Habilidades Iniciais. Para personagens jogadores, recomendamos apenas 2 habilidades, um ataque base (Slash, Singe e Shoot são nossos exemplos) e um extra, como Bash para nosso exemplo Breunor.
Se, no entanto, você estiver trabalhando em uma unidade inimiga, enlouqueça. Recomendamos até 5 habilidades para manter a IA razoável.
Então, você tem o seu Atributos básicos, onde você pode definir suas estatísticas de unidade. Bastante auto-explicativo se você conhece o jogo, mas observe: “Defesa” refere-se à evasão, “Reação Takes” não é usado no design atual e “Passive Power” é um atributo oculto que você pode usar para escalar as coisas nos bastidores , mas o jogador não tem conhecimento disso.
Agora, observe os Atributos de Bônus por Rank e Aprimoramentos Aleatórios no Spawn. É assim que as unidades ficam mais fortes ou têm uma pequena variedade em suas estatísticas.
Atributos de bônus por classificação é usado apenas para personagens de jogadores. É um aumento fixo adicionado sempre que as unidades sobem de nível. No momento, isso foi definido como 0, mas você pode alterar isso e até adicionar números fracionários, se desejar. Unidades inimigas, incapazes de classificar, não são afetadas pelas entradas aqui.
Bônus de classificação (não visível na captura de tela) cria cartas na classificação que permitem ao jogador escolher qual atributo aumentar. Atualmente está definido como 2HP ou 1 Armor com uma escolha de cartão aleatório adicionado entre Power, Evasion, Range, Accuracy, Movement a cada 4 níveis. Unidades inimigas também não ganham isso.
Em The Hand of Merlin, escalamos o poder inimigo por índice de zona, em um arquivo anexado ao Upgrades aleatórios na entrada de Spawn. Para fazer isso, usamos uma estrutura semelhante aos Upgrades de Ferreiro, onde cada zona representa um novo nível.
Como exemplo, aqui está MinorAbominationUpgrades, usado em Mandrágora, Wyvern e Redcap. Você pode encontrar todos os outros no Merlin/Inimigos/FerreiroAprimoramentos pasta.
Existem 3 “estilos”, para gerar alguma variedade. Cada estilo tem 4 atualizações *para cada zona – Albion, Marca Hispanica, Al-andalus, Jerusalém). Cada entrada tem alguns modificadores de atributo. A entrada expandida acima significa que 1 em cada 3 Abominações Menores geradas em Jerusalém terá +10 Max Armor, +12 Max Health e +6 Power adicionados às suas estatísticas básicas.
Muito fácil de ajustar, espero!
Finalmente, se sua unidade for uma unidade inimiga, atribua um Cérebro parâmetro Falamos mais sobre eles em seu próprio guia – Inteligência Artificial.
Adicionando inimigos a um nível
Tudo bem, última parte. Vamos adicionar um personagem a um nível como inimigo, para que possamos vê-lo aparecer. Embora a criação de mapas seja abordada em outro guia, aqui está um resumo rápido de como adicionar um inimigo a um. recomendo verificar Conteúdo\Merlin\Examples\Gameplay\GameplayTest como linha de base.
- Criar/localizar o Objeto de Script. É representado no mundo como um cubo laranja, mas você pode pressionar a tecla N e procurá-lo.
- Duplique qualquer uma das Variáveis de Unidade. Dentro do script já existem alguns CHOMUnitParams. Basta duplicar um e trabalhar no duplo.
- Procurar um novo arquivo Unit Params
- Faça um pouco de script dentro do arquivo .lua após a configuração inicial, digite o comando
homSpawnUnit(worldInfo, XXXXXX, wbEnemyWarband, worldInfo:GetEnemySpawnPoint(“”, 0))
Onde XXXXXX é o nome dos parâmetros, como warlockParams ou test1Params.
Simples assim, sempre que essa batalha começar, a unidade será gerada em um ponto de desova. Certifique-se de que não há outros definidos para o mesmo ponto de desova, como visto no guia Criando novos níveis.
Personagens de teste
Algumas dicas para testar seus personagens:
- Ao iniciar um nível a partir do editor em vez de passar pelo menu Lobby/Principal, o jogo atribui a você os personagens no Conteúdo\Merlin\Databases\TestingRoster.rsc documento, para que você possa alterar esses caracteres para aqueles em que está trabalhando.
- Para testar os inimigos, você pode usar o console para digitar hom_dbg_bDisableAI = 1, permitindo que você controle o bando de guerra inimigo
Novas unidades tornarão sua experiência ainda mais variada. Divirta-se!
Isso é tudo o que estamos compartilhando hoje para isso A Mão de Merlin guia. Este guia foi originalmente criado e escrito por Médias. Caso não consigamos atualizar este guia, você pode encontrar a atualização mais recente seguindo este link.