У Killbots створення нового типу гри дуже просте, особливо якщо ви розпочнете це створення на основі існуючого файла набору правил. Набори правил зберігаються у окремих файлах стільниці (desktop), у яких параметри і метадані вказано у вигляді простих пар ключ-значення.
Приклад 4.2. Типовий тип гри Killbots
[KillbotsRuleset] Name=Killbots Name[gl]=Robots asasinos 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[uk]=<qt><p>Типовий тип гри Killbots.</p><p>Передбачено середнього розміру ґратку, безпечні телепортації, швидких ворогів та пересування куп брухту.</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
Зауважте, що всі текстові параметри слід вводити американською англійською. Як видно з наведеного прикладу, переклади до файла стільниці можна додавати повторенням назви ключа з кодом мови у квадратних дужках. Крім того у текст поля Description можна додавати форматування, для цього його значення слід розташувати між тегами <qt>.
У файлі набору правил повинні міститися всі перелічені нижче параметри.
NameНазва набору правил у тому вигляді, у якому її буде показано у інструменті для вибору набору правил та у діалоговому вікні найкращих результатів.
AuthorАвтор набору правил.
AuthorContactВідомості для зв’язку з автором. Зазвичай, це адреса електронної пошти.
DescriptionОпис правил. Тут має бути надано короткий огляд типу гри, але зовсім не обов’язково вказувати список всіх значень параметрів, оскільки ці дані можна бути побачити у діалоговому вікні «Подробиці».
RowsКількість рядків у ґратці гри.
ColumnsКількість стовпчиків у ґратці гри.
EnemiesAtGameStartКількість звичайних ворогів, яких буде додано у ґратку на початку першого раунду.
EnemiesAddedEachRoundКількість звичайних ворогів, яких буде додано до ґратки на початку кожного з раундів.
FastEnemiesAtGameStartКількість швидких ворогів, яких буде додано до ґратки на початку першого раунду.
FastEnemiesAddedEachRoundКількість швидких ворогів, яких буде додано до ґратки на початку кожного з раундів.
EnergyEnabledЯкщо встановлено у значення «
false», герой зможе отримувати або витрачати енергію.EnergyAtGameStartКількість одиниць енергії, яку буде надано героєві на початку першого раунду.
EnergyAddedEachRoundКількість одиниць енергії, яку додано героєві на початку кожного раунду.
MaxEnergyAtGameStartМаксимальна кількість одиниць енергії, яку герой здатен зберігати на початку першого раунду.
MaxEnergyAddedEachRoundЗміна у максимальній кількості одиниць енергії, які здатен зберігати герой, на початку кожного раунду.
SafeTeleportEnabledЯкщо буде встановлено у значення «
false», можливість безпечного телепортування буде вимкнено.CostOfSafeTeleportКількість одиниць енергії, потрібна для здійснення безпечного телепортування.
VaporizerEnabledЯкщо буде встановлено у значення «
false», можливість дії випарювання буде вимкнено.CostOfVaporizerКількість одиниць енергії, потрібна для здійснення випарювання.
PushableJunkheapsКількість куп брухту, які можна штовхати одночасно. Серед можливих значень:
None(жодної),One(одну) таMany(багато).SquaskKillsEnabledЯкщо має значення «true», герой може знищувати ворогів штовханням на них куп брухту.
JunkheapsAtGameStartКількість куп брухту, які буде розташовано на ігровому полі на початку першого раунду.
JunkheapsAddedEachRoundКількість додаткових куп брухту, які буде розташовано на ігровому полі на початку кожного раунду.
PointsPerEnemyKilledКількість очок, яка нараховуватиметься на знищення звичайного ворога.
PointsPerFastEnemyKilledКількість очок, яка нараховуватиметься за знищення швидкого ворога.
WaitKillPointBonusКількість бонусних очок, які нараховуватимуться за знищення ворога під час перечікування раунду.
WaitKillEnergyBonusКількість бонусних одиниць енергії, якою буде нагороджено героя за знищення ворога протягом перечікування раунду.
SquashKillPointBonusКількість бонусних очок, якими нагороджуватиметься герой за знищення ворога за допомогою купи брухту.
SquashKillEnergyBonusКількість бонусних одиниць енергії, якими нагороджуватиметься герой за знищення ворога штовханням купи брухту.
Для того, щоб програма Killbots виявила і використала новий тип гри, файл правил гри слід розташувати у відповідному каталозі. Щоб встановити тип гри лише для поточного користувача, скопіюйте цей файл до підкаталогу killbots/rulesets у локальному каталозі, що визначається командою qtpaths . Щоб типом гри могли користуватися всі, скопіюйте файл до підкаталогу --paths GenericDataLocation killbots/rulesets у загальносистемному каталозі, що визначається командою qtpaths (з виведених даних попередньої команди, ймовірно, --paths GenericDataLocation /usr/share або щось подібне). Зауважте, що для копіювання вам можуть знадобитися права доступу адміністратора.