A criação de novos tipos de jogos é incrivelmente simples para o Killbots, especialmente quando se começa a partir de um conjunto de regras existente. Estes conjuntos são guardados como um único arquivo 'desktop', onde os parâmetros e metadados são guardados como pares chave-valor simples.
Exemplo 4.2. O Tipo de Jogo Padrão do Killbots
[KillbotsRuleset] Name=Killbots Name[pt]=Robots assassinos Author=Parker Coates AuthorContact=parker.coates@kdemail.net Description=<qt><p>The default Killbots game type.</p><p>Includes a medium size grid, safe teleports, fast enemies and pushable junkheaps.</p></qt> Description[pt_BR]=<qt><p>O tipo de jogo padrão do Killbots.</p><p>Inclui uma grade média, tele-transportes seguros, inimigos rápidos e lixo que se pode empurrar.</p></qt> Rows=16 Columns=16 EnemiesAtGameStart=8.0 EnemiesAddedEachRound=4.0 FastEnemiesAtGameStart=-2.0 FastEnemiesAddedEachRound=2.0 EnergyEnabled=true EnergyAtGameStart=0 EnergyAddedEachRound=0 MaxEnergyAtGameStart=12.0 MaxEnergyAddedEachRound=0.0 SafeTeleportEnabled=true CostOfSafeTeleport=1 VaporizerEnabled=false CostOfVaporizer=0 PushableJunkheaps=Many SquaskKillsEnabled=true JunkheapsAtGameStart=0.0 JunkheapsAddedEachRound=0.0 PointsPerEnemyKilled=5 PointsPerFastEnemyKilled=10 WaitKillPointBonus=0 WaitKillEnergyBonus=1 SquashKillPointBonus=0 SquashKillEnergyBonus=1
Lembre-se que todos os parâmetros de texto deverão ser inseridos em Inglês. Como foi visto no exemplo acima, é possível adicionar novas traduções, repetindo para isso a chave e adicionando o código da língua entre colchetes. Repare também que você pode indicar texto formatado no campo Description, envolvendo o valor entre marcas <qt>.
Um arquivo de conjunto de regras deverá conter todos os seguintes parâmetros.
NomeO nome do conjunto de regras, como irá aparecer no seletor de regras e na janela de recordes.
AutorO criador do conjunto de regras.
AuthorContactA informação de contato do criador. Normalmente é um endereço de e-mail.
DescriçãoUma descrição do conjunto de regras. Isto deverá dar uma ideia geral decente sobre o tipo de jogo, se bem que você não precisa apresentar o valor de cada parâmetro, uma vez que essa informação poderá ser vista na janela de Detalhes.
LinhasO número de linhas na grade do jogo.
ColunasO número de colunas na grade do jogo.
EnemiesAtGameStartO número de inimigos normais adicionados à grade, no início da primeira rodada.
EnemiesAddedEachRoundO número de inimigos normais adicionados à grade, no início de cada rodada.
FastEnemiesAtGameStartO número de inimigos rápidos adicionados à grade, no início da primeira rodada.
FastEnemiesAddedEachRoundO número de inimigos rápidos adicionados à grade, no início de cada rodada.
EnergyEnabledSe for igual a “
false”, o herói poderá ganhar ou gastar energia.EnergyAtGameStartA quantidade de energia atribuída ao herói no início da primeira rodada.
EnergyAddedEachRoundA quantidade de energia atribuída ao herói no início de cada rodada.
MaxEnergyAtGameStartA capacidade máxima de energia do herói no início da primeira rodada.
MaxEnergyAddedEachRoundA capacidade máxima de energia do herói no início de cada rodada.
SafeTeleportEnabledSe for igual a “
false”, a ação de tele-transporte seguro será desativada.CostOfSafeTeleportA quantidade de energia consumida num tele-transporte seguro.
VaporizerEnabledSe for igual a “
false”, a ação do vaporizador estará desativada.CostOfVaporizerA quantidade de energia consumida na utilização do vaporizador.
PushableJunkheapsO número de montes de lixo que se podem mover com um único empurrão. Os valores possíveis são “
None”, “One” e “Many”.SquaskKillsEnabledSe for verdadeiro, o herói pode esmagar os inimigos se empurrar os montes de lixo para cima deles.
JunkheapsAtGameStartO número de montes de lixo colocados na grade, no início da primeira rodada.
JunkheapsAddedEachRoundO número de montes de lixo adicionais colocados na grade, no início de cada rodada.
PointsPerEnemyKilledO número de pontos ganhos por destruir um inimigo normal.
PointsPerFastEnemyKilledO número de pontos ganhos por destruir um inimigo rápido.
WaitKillPointBonusO número de pontos de bônus ganhos por destruir um inimigo enquanto se espera na rodada.
WaitKillEnergyBonusO número de unidades de energia ganhos por destruir um inimigo enquanto se espera na rodada.
SquashKillPointBonusO número de pontos de bônus ganhos por esmagar um inimigo com um monte de lixo.
SquashKillEnergyBonusO número de unidades de energia de bônus ganhas por esmagar um inimigo com um monte de lixo.
Para que o Killbots detecte e use um novo tipo de jogo, o arquivo deverá ser movido para uma pasta apropriada. Para instalar o conjunto de regras apenas no usuário atual, copie o arquivo para killbots/rulesets na pasta local em qtpaths . Para disponibilizar o conjunto de regras para todo o sistema, mova o arquivo para --paths LocalizaçãoDeDadosGenéricakillbots/rulesets na pasta do sistema (do comando anterior, possivelmente /usr/share ou semelhante). Neste caso será necessário ter privilégios de administração.