Створення власного типу гри

Файл .desktop набору правил

У 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 або щось подібне). Зауважте, що для копіювання вам можуть знадобитися права доступу адміністратора.