Table of Contents
Interested individuals can customize Killbots in two major ways: themes and rulesets.
Like most other KDE games, a Killbots theme consists of three files.
The desktop file follows standard INI syntax. The key-value pairs store information about the theme and point to the other files included in the theme. The following example is taken from the default theme.
Example 4.1. An Example Theme Desktop File
[KGameTheme] Name=Example Theme Description=An example theme used to demonstrate theme creation. This one features pirates. Author=Mr. Artist AuthorEmail=mrartist@example.com Type=SVG FileName=example.svg Preview=example.png
The first four parameters contain metadata about the theme and are straight forward enough. For Killbots themes, the Type
parameter should always be set to SVG. The final two parameters contain the file names of the two other theme files. While it's not strictly necessary, it is highly recommended that, for consistency's sake, all three files share the same base file name.
The preview file is simply a PNG file containing a preview of the theme. The preview image should be 240 by 140 pixels and match layout of the default theme's preview as closely as possible, as this makes it easier to compare themes in the theme selector.
The SVG file is a scalable vector graphics image that contains the actual graphical elements used to make up the theme. The file may be either in uncompressed .svg
or compressed .svgz
format. Each game element is identified by a unique id in the SVG file. When creating a new theme, it is generally easiest to start with an existing theme and replace the elements one by one until the theme is complete. The SVG file must contain the following elements.
background
The image displayed behind the grid in the main game area.
status
The box used to display the current round, score, enemy count and energy.
textcolor
This element should be a rectangle of a single color. Its color is used to for the text in the status boxes.
cell
An individual grid cell.
hero
The character controlled by the player.
enemy
The basic enemy.
fastenemy
The faster enemy.
junkheap
The remains of a collision between enemies.
cursor0
A cursor indicating movement to the right.
cursor1
A cursor indicating diagonal movement up and to the right.
cursor2
A cursor indicating movement up.
cursor3
A cursor indicating diagonal movement up and to the left.
cursor4
A cursor indicating movement to the left.
cursor5
A cursor indicating diagonal movement down and to the left.
cursor6
A cursor indicating movement down.
cursor7
A cursor indicating movement down and to the right.
cursor8
A cursor indicating staying in place.
In order for Killbots to detect and use a new theme, the files must be moved to an appropriate directory. To install the theme for only the current user, copy the desktop, preview and SVG files to killbots/themes
in the local folder in qtpaths
. To make the theme available system wide, move the files to --paths GenericDataLocation
killbots/themes
in the system folder (from the previous command, possibly /usr/share
or similar). Note that this will likely require administrative privileges.