
Tabla de contenidos
KsirK es totalmente personalizable. Para los que tengan habilidad con los gráficos, crear un nuevo tema es tan fácil como copiar uno ya existente, editar o cambiar los gráficos y actualizar los datos en un archivo de configuración .desktop
, lo que se hace utilizando Editor de temas de KsirK. el último paso es editar el archivo describiendo qué instalar.
Todos los ejemplos (texto e imágenes) están tomados del tema predeterminado de KsirK.
Data/
: Datos usados por el programa para manejar las imágenes del tema.CMakeLists.txt/
: Describe qué instalar.onu.desktop
: Archivo principal para la descripción del tema. Vea su descripción más adelante.
Images/
: Imágenes del tema (mapas, iconos, etc.)CMakeLists.txt/
: Describe qué instalar.pool.svg
: El mapa y todas las imágenes utilizadas en el tema.map-mask.png
: La imagen que permite al programa encontrar sobre qué país está el ratón durante el juego (ver abajo).*.png
: Las demás imágenes de aquí son de botones.
CMakeLists.txt/
: Describe qué instalar.Sounds/
: Archivos de sonido para el tema.
Esta carpeta contiene solo un archivo, world.desktop
. Este archivo es una descripción del contenido del tema. Se usa para describir la organización del mundo y cómo representarla. No tiene que rellenarlo manualmente, ya que de eso se encarga Editor de temas de KsirK. Pero, por dar una información completa, describiremos su estructura.
Un grupo onu
contiene un número de entradas de países, un número de entradas de nacionalidades y un número de entradas de continentes. Entonces varios grupos contienen la descripción de las diferentes imágenes, la descripción de los diferentes países, continentes, nacionalidades y objetivos.
Las siguientes secciones describen el contenido de cada grupo.
Tabla 2.1. Las entradas del grupo onu
Nombre de la entrada | Significado |
---|---|
width | Anchura del mapa del tema. |
height | Altura del mapa del tema. |
skinpath | Ruta del tema relativa a la ruta de los datos de la aplicación (por ejemplo, skins/default ). |
nb-countries | Número de países (42 en el tema predeterminado). Debería haber el mismo número de grupos de países abajo. |
nb-nationalities | Número de nacionalidades (6 en el tema predeterminado). Debería ser el mismo número de grupos de nacionalidad de abajo. |
nb-continents | Número de continentes (6 en el tema predeterminado). Debería haber el mismo número de grupos de continentes abajo. |
pool | Ruta y nombre del archivo de almacén relativa a la ruta del tema (por ejemplo, Images/pool.svg ). |
map-mask | Ruta y nombre del archivo de máscara del tema relativo a la ruta del tema (por ejemplo, Images/map-mask.png ). |
format-version | Versión del archivo de formato del tema (2.0). |
name | Nombre con el que se muestra el tema. |
desc | Descripción detallada del tema. |
fighters-flag-y-diff | Diferencia de altura entre las imágenes de las banderas y los cañones. |
width-between-flag-and-fighter | Número de píxeles entre el píxel de más a la izquierda de la bandera y el píxel más a la izquierda del cañón (cuando no está disparando ni explotando). |
Cada tipo de imagen (bandera, infantería, caballería, cañón, cañón disparando y cañón explotando) se define mediante un grupo. Solo algunas imágenes tienen entrada de anchura. Esta entrada se usa para establecer posiciones relativas durante las animaciones; los cañones, disparando o explotando, no deberían «moverse» alrededor de la bandera del país durante la batalla.
Tabla 2.2. Entradas del grupo de descripción de imágenes
Nombre de la entrada | Significado |
---|---|
width | Anchura de referencia de los marcos de la imagen de la bandera. |
height | Altura de referencia de los marcos de la imagen de la bandera. |
frames | Número de fotogramas de la imagen. |
versions | Número de versiones de las imágenes de la bandera. |
Para cada país listado en el grupo onu
, la entrada de países tiene su propio grupo cuya etiqueta es el nombre del país. La tabla de abajo lista las entradas de estos grupos.
Tabla 2.3. Entradas de países
Nombre de la entrada | Significado |
---|---|
id | El entero que sirve como identificación única del país. Debe empezar en cero (0). |
name | Nombre mostrado del país. |
<sprite>-point | Cada tipo de imagen (bandera, infantería, etc.) del país se muestra en una determinada posición definida por esta entrada, consistente en dos enteros separados por una coma. |
neighbours | Lista de las id de los vecinos del país actual. |
Para cada nacionalidad listada en el grupo onu
, la entrada de nacionalidades tiene su propio grupo, cuya etiqueta es el nombre de la nacionalidad. La tabla de abajo lista las entradas de estos grupos.
Tabla 2.4. Entradas de nacionalidades
Nombre de la entrada | Significado |
---|---|
name | Nombre de la nacionalidad (por ejemplo, Japón ). |
leader | Nombre que se le propondrá al jugador que elija su nacionalidad. |
flag | Nombre de la imagen de la bandera del país en el archivo SVG de onu . |
Para cada continente listado en el grupo onu
, la entrada de continentes tiene su propio grupo, cuyo nombre es el nombre del continente. La tabla de abajo lista las entradas de estos grupos.
Tabla 2.5. Entradas de continentes
Nombre de la entrada | Significado |
---|---|
name | Nombre del continente (por ejemplo, África ). |
id | El entero que sirve de identificación única para el continente. |
bonus | Número de ejércitos obtenidos al final de un turno para el jugador que posea todos los países del continente. |
continent-countries | Lista de las id de los países dentro del continente actual. |
Para cada objetivo listado en el grupo onu
, la entrada de objetivos tiene su propio grupo, cuya etiqueta es el nombre del objetivo. La tabla de abajo lista las entradas de estos grupos.
Tabla 2.6. Entradas de objetivos
Nombre de la entrada | Significado |
---|---|
type | Tipo de objetivo. Puede ser continentes, países o un jugador. |
nbArmiesByCountry | Establece el número mínimo de ejércitos que el jugador tendrá que poner en cada país. |
nbCountries | Establece el número de países que debe poseer el jugador. |
nbCountriesFallback | Para un tipo de juego de objetivos por jugador, si un jugador mata a otro, aquel establece el número de países que el jugador tendrá que conquistar. |
desc | Una descripción completa del objetivo con marcadores de posición apropiados (falta más documentación aquí). |
continents | Lista de ids de continentes que el jugador tendrá que conquistar. |
Esta carpeta contiene los botones específicos de KsirK y el archivo de almacén SVG que contiene el mapa y todas las imágenes.
Este archivo SVG contiene el mapa y todas las imágenes del juego. Cada elemento es nombrado de tal forma que el juego puede seleccionar y renderizar cada uno por separado.
En el tema por defecto, las imágenes son banderas, infantería, caballería y cañones. La infantería representa un ejército, cinco para la caballería y diez para los cañones. Los cañones también se utilizan para representar a ejércitos en lucha. Por eso es por lo que hay tres clases de imágenes para los cañones: normal estático o moviéndose, disparando y explotando.
Cada imagen es la concatenación de varias vistas del objeto y, para cada vista, sus marcos. Las vistas se organizan verticalmente y los marcos horizontalmente. Dónde cortar la imagen en marcos individuales se obtiene dividiendo la altura de la imagen por el número de vistas y la anchura por el número de marcos. Estos datos se encuentran en el archivo onu.desktop
.

Ejemplo de una imagen: cañon.png
Para imágenes de ejércitos, hay tres vistas diferentes, de arriba abajo:
mirando a la derecha
mirando a la izquierda y
encarando
Para las banderas, solo hay una vista. Todos los fondos de imagen deberían hacerse transparentes.

Ejemplo de imagen de una bandera: italia.png
Tabla 2.7. Elementos del almacén
Nombre del elemento | Imagen de muestra | Significado |
---|---|---|
map | ![]() | Mapa del mundo del tema. Los países pueden tener formas arbitrarias, pero deberían agruparse en continentes reconocibles a simple vista, por la localización o por el color. |
italia | ![]() | Bandera de la nación italiana. Hay una entrada así para cada nación. |
infantry | ![]() | Icono que representa un ejército. |
cavalry | ![]() | Icono que representa cinco ejércitos. |
cannon | ![]() | Icono que representa diez ejércitos. |
disparando | ![]() | Icono que representa ejércitos durante un combate. |
explotando | ![]() | Icono que representa ejércitos perdiendo un combate. |
alaska | ![]() | Forma del país de Alaska. Esto se utiliza para resaltar el país. Hay una forma así para cada país. El color no se usa. Por lo tanto, el color es libre. |
dadosrojos | ![]() | Dados rojos utilizados para mostrar los resultados de las batallas. |
dadosazules | ![]() | Dados azules utilizados para mostrar los resultados de las batallas. |
marca1 | ![]() | Esta marca se añade a imágenes de lucha para mostrar el número de ejércitos que representan, aquí 1. También hay unos elementos de marca2 y marca3 . |
Este es n archivo png que también representa el mapa del mundo del tema, pero con un código de colores que permite identificar de manera única a cada país. Los países deben tener al menos las mismas formas que los correspondientes países sobre el archivo mapa.png
, de forma que los usuarios puedan hacer click en cualquier parte de un país visible y seleccionen el bueno. Los países que son islas pequeñas como Indonesia en el mapa predeterminado pueden ser más grandes que el equivalente en el archivo mapa.png
para facilitar la selección del país.

El componente azul (en el modelo RGB) del color de un país identifica al país: el índice 0 es el país 0 en el archivo onu.xml
, el índice 1 es el país 1, etc. El blanco (0xFFFFFF en RGB) identifica la ausencia del país (tierra de nadie).
Los nombres de archivo están incluidos en el código, así que no deberían modificarse. La tabla de abajo muestra todos los botones que deben incluirse.
Tabla 2.8. Botones de la GUI
Imagen | Nombre de archivo | Significado |
---|---|---|
![]() | newNetGame.png | Intenta unirse a un juego de red. |
![]() | recycling.png | Después de que todos los jugadores han situado sus ejércitos, es posible modificar la distribución (lo que se llama «reciclaje»). Este botón pide hacer esa redistribución. |
![]() | recyclingFinished.png | Elige no redistribuir. Las ventanas de todos los clientes deben tener este botón pulsado para terminar la distribución. |
![]() | nextPlayer.png | Termina el turno del jugador actual y cambia al siguiente, o pasa al siguiente turno si el jugador actual era el último. |
![]() | attackOne.png | Elige empezar un ataque con un ejército. |
![]() | attackTwo.png | Elige empezar un ataque con dos ejércitos. |
![]() | attackThree.png | Elige empezar un ataque con tres ejércitos. |
![]() | defendOne.png | Elige defender un país atacado con un ejército. |
![]() | defendTwo.png | Elige defender un país atacado con dos ejércitos. |
![]() | moveArmies.png | Elige empezar el movimiento de tropas entre dos países (última acción del turno). |