Themes.wiki
author Wuzzy
Sat, 06 May 2017 00:27:14 +0100
changeset 1018 e39f3f0cf7a6
parent 1017 a8aa044ce3a2
child 1020 a772bb8f7eb6
permissions -rw-r--r--
Themes: fix bullet points
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1012
91c681a0a3fc Themes: add summary
Wuzzy
parents: 1011
diff changeset
     1
#summary How to create your own themes
91c681a0a3fc Themes: add summary
Wuzzy
parents: 1011
diff changeset
     2
1009
a55aa7695e0d Add Themes.wiki
Wuzzy <almikes@aol.com>
parents:
diff changeset
     3
== Introduction ==
1015
07d6c9c91f68 Themes: Give a more over-the-top overview for n00bs
Wuzzy
parents: 1013
diff changeset
     4
Themes in Hedgewars control the look of all elements that appear on screen but weapons and hedgehogs, and are the base on which random maps are built.
07d6c9c91f68 Themes: Give a more over-the-top overview for n00bs
Wuzzy
parents: 1013
diff changeset
     5
07d6c9c91f68 Themes: Give a more over-the-top overview for n00bs
Wuzzy
parents: 1013
diff changeset
     6
== Understanding themes ==
07d6c9c91f68 Themes: Give a more over-the-top overview for n00bs
Wuzzy
parents: 1013
diff changeset
     7
First of all, you should understand themes from the player perspective. Read the [https://hedgewars.org/node/6768 Theme] page on the Hedgewars Wiki to learn the playeer basics.
07d6c9c91f68 Themes: Give a more over-the-top overview for n00bs
Wuzzy
parents: 1013
diff changeset
     8
07d6c9c91f68 Themes: Give a more over-the-top overview for n00bs
Wuzzy
parents: 1013
diff changeset
     9
=== Theme types ===
1017
a8aa044ce3a2 Themes: fix bold
Wuzzy
parents: 1016
diff changeset
    10
*Full themes* are themes which can be used together with random maps. Those usually appear in the multiplayer screen for selection as well. Most themes are full themes and when talking about themes without qualification, full themes are meant.
1015
07d6c9c91f68 Themes: Give a more over-the-top overview for n00bs
Wuzzy
parents: 1013
diff changeset
    11
1017
a8aa044ce3a2 Themes: fix bold
Wuzzy
parents: 1016
diff changeset
    12
*Background themes* are minimal themes without this capability. They lack land textures, thus they can only be used as a background (hence the name). Background themes work only together with image maps or forts. Examples for background themes in Hedgewars are Planes and Blox, the default themes of the image maps of the same name.
1015
07d6c9c91f68 Themes: Give a more over-the-top overview for n00bs
Wuzzy
parents: 1013
diff changeset
    13
07d6c9c91f68 Themes: Give a more over-the-top overview for n00bs
Wuzzy
parents: 1013
diff changeset
    14
=== Theme structure ===
07d6c9c91f68 Themes: Give a more over-the-top overview for n00bs
Wuzzy
parents: 1013
diff changeset
    15
Technically, a theme consists of a configuration file and many media files (PNG images). Themes can define many images, or just a very few. You can set flakes, clouds, water color, the background, land texture and much, much more. Many files and settings are optional and have (more or less) sane defaults.
07d6c9c91f68 Themes: Give a more over-the-top overview for n00bs
Wuzzy
parents: 1013
diff changeset
    16
07d6c9c91f68 Themes: Give a more over-the-top overview for n00bs
Wuzzy
parents: 1013
diff changeset
    17
The theme allows for further customization in Sudden Death. A good theme maker should definitely at least consider a custom SD style. But intentinoally keeping the default SD style is still an option, of course.
07d6c9c91f68 Themes: Give a more over-the-top overview for n00bs
Wuzzy
parents: 1013
diff changeset
    18
07d6c9c91f68 Themes: Give a more over-the-top overview for n00bs
Wuzzy
parents: 1013
diff changeset
    19
The background music file is _not_ part of the theme, as all music is stored in `%USERDIR%/Data/Music`. The theme just accessed it via `theme.cfg`.
07d6c9c91f68 Themes: Give a more over-the-top overview for n00bs
Wuzzy
parents: 1013
diff changeset
    20
07d6c9c91f68 Themes: Give a more over-the-top overview for n00bs
Wuzzy
parents: 1013
diff changeset
    21
=== Theme elements (overview) ===
07d6c9c91f68 Themes: Give a more over-the-top overview for n00bs
Wuzzy
parents: 1013
diff changeset
    22
To give you a feeling of how themes are structured, here's a basic list of elements of which themes are made of. In [ThemeFiles] everything is explained in great detail.
1009
a55aa7695e0d Add Themes.wiki
Wuzzy <almikes@aol.com>
parents:
diff changeset
    23
1015
07d6c9c91f68 Themes: Give a more over-the-top overview for n00bs
Wuzzy
parents: 1013
diff changeset
    24
==== Terrain ====
1018
e39f3f0cf7a6 Themes: fix bullet points
Wuzzy
parents: 1017
diff changeset
    25
e39f3f0cf7a6 Themes: fix bullet points
Wuzzy
parents: 1017
diff changeset
    26
 * Land textures: Basic tiled image of terrain, in front and background layer. Mandatory for full themes
e39f3f0cf7a6 Themes: fix bullet points
Wuzzy
parents: 1017
diff changeset
    27
 * Land border: The border of the land texture. Mandatory for full themes
e39f3f0cf7a6 Themes: fix bullet points
Wuzzy
parents: 1017
diff changeset
    28
 * Explosion border: A fixed-width border of a single color when the land exploded
e39f3f0cf7a6 Themes: fix bullet points
Wuzzy
parents: 1017
diff changeset
    29
 * Objects: Theme objects are things like obelisks, statues and things which extend ouf of the basic landscape
e39f3f0cf7a6 Themes: fix bullet points
Wuzzy
parents: 1017
diff changeset
    30
 * Land girder: Look, shape and thickness of “land bridges”
e39f3f0cf7a6 Themes: fix bullet points
Wuzzy
parents: 1017
diff changeset
    31
 * Construction overwrite: The shape and look of girder placed from the Construction utility can be overwritten as well
1015
07d6c9c91f68 Themes: Give a more over-the-top overview for n00bs
Wuzzy
parents: 1013
diff changeset
    32
07d6c9c91f68 Themes: Give a more over-the-top overview for n00bs
Wuzzy
parents: 1013
diff changeset
    33
==== Eye candy ====
1018
e39f3f0cf7a6 Themes: fix bullet points
Wuzzy
parents: 1017
diff changeset
    34
e39f3f0cf7a6 Themes: fix bullet points
Wuzzy
parents: 1017
diff changeset
    35
 * Sprays: Sprays are added on top of the land textures randomly
e39f3f0cf7a6 Themes: fix bullet points
Wuzzy
parents: 1017
diff changeset
    36
 * Background: Consists of background color and two image layers with parrallax scrolling
e39f3f0cf7a6 Themes: fix bullet points
Wuzzy
parents: 1017
diff changeset
    37
 * Flakes: Flakes are decorational fall from the clouds and follow the wind. Flakes can be animated.
e39f3f0cf7a6 Themes: fix bullet points
Wuzzy
parents: 1017
diff changeset
    38
 * Clouds: Clouds move horizontally with the wind. There can
e39f3f0cf7a6 Themes: fix bullet points
Wuzzy
parents: 1017
diff changeset
    39
 * Water: You may customize the water style and related images (if you wish). Water can be animated (unused in default themes)
e39f3f0cf7a6 Themes: fix bullet points
Wuzzy
parents: 1017
diff changeset
    40
 * Particles: Land chunLs, mudball, collision dust, water drops, etc.
1015
07d6c9c91f68 Themes: Give a more over-the-top overview for n00bs
Wuzzy
parents: 1013
diff changeset
    41
07d6c9c91f68 Themes: Give a more over-the-top overview for n00bs
Wuzzy
parents: 1013
diff changeset
    42
Remember many theme elements have a Sudden Death variant as well!
07d6c9c91f68 Themes: Give a more over-the-top overview for n00bs
Wuzzy
parents: 1013
diff changeset
    43
07d6c9c91f68 Themes: Give a more over-the-top overview for n00bs
Wuzzy
parents: 1013
diff changeset
    44
== Getting started ==
07d6c9c91f68 Themes: Give a more over-the-top overview for n00bs
Wuzzy
parents: 1013
diff changeset
    45
All themes are located at `%USERDIR%/Data/Themes`, being each of the folders inside is a theme. `%USERDIR%` is the user directory, see [https://hedgewars.org/node/6761 User directory] on the Hedgewars Wiki. On Windows, you use backslashes, of course. ;-)
1009
a55aa7695e0d Add Themes.wiki
Wuzzy <almikes@aol.com>
parents:
diff changeset
    46
a55aa7695e0d Add Themes.wiki
Wuzzy <almikes@aol.com>
parents:
diff changeset
    47
In order to create a new theme, you need to create a new folder there first and add the name of that folder to `theme.cfg`. This file defines not only the parameters of the theme, but also what objects are present and their behavior.
a55aa7695e0d Add Themes.wiki
Wuzzy <almikes@aol.com>
parents:
diff changeset
    48
1015
07d6c9c91f68 Themes: Give a more over-the-top overview for n00bs
Wuzzy
parents: 1013
diff changeset
    49
Then you'll need to create a bunch of data files (mostly PNG images) for the landscape, land objects, background, etc. Note the music is *not* considered to be part of the theme.
07d6c9c91f68 Themes: Give a more over-the-top overview for n00bs
Wuzzy
parents: 1013
diff changeset
    50
07d6c9c91f68 Themes: Give a more over-the-top overview for n00bs
Wuzzy
parents: 1013
diff changeset
    51
Full themes need at least: `theme.cfg`, an icon file (`icon.png` or `icon@2x.png`), `LandTex.png` and `Border.png`.
07d6c9c91f68 Themes: Give a more over-the-top overview for n00bs
Wuzzy
parents: 1013
diff changeset
    52
A background theme theorecitally does not need any files besides `theme.cfg` (but it doesn't have much to look at, then :D).
1009
a55aa7695e0d Add Themes.wiki
Wuzzy <almikes@aol.com>
parents:
diff changeset
    53
a55aa7695e0d Add Themes.wiki
Wuzzy <almikes@aol.com>
parents:
diff changeset
    54
These were the basics. Read the following pages to continue:
a55aa7695e0d Add Themes.wiki
Wuzzy <almikes@aol.com>
parents:
diff changeset
    55
1011
399ca0374984 Rename Theme page to ThemeCfg to avoid confusion
Wuzzy <almikes@aol.com>
parents: 1009
diff changeset
    56
 * [ThemeCfg theme.cfg]
1009
a55aa7695e0d Add Themes.wiki
Wuzzy <almikes@aol.com>
parents:
diff changeset
    57
 * [ThemeFiles Theme files]
a55aa7695e0d Add Themes.wiki
Wuzzy <almikes@aol.com>
parents:
diff changeset
    58
a55aa7695e0d Add Themes.wiki
Wuzzy <almikes@aol.com>
parents:
diff changeset
    59
== Sharing themes ==
a55aa7695e0d Add Themes.wiki
Wuzzy <almikes@aol.com>
parents:
diff changeset
    60
You can only play with a theme against other players online if all participating players have the theme installed under the same name. You can find some themes in DLC, players will likely have those installed. If not, either try a default theme or politely point the other players to DLC.
a55aa7695e0d Add Themes.wiki
Wuzzy <almikes@aol.com>
parents:
diff changeset
    61
a55aa7695e0d Add Themes.wiki
Wuzzy <almikes@aol.com>
parents:
diff changeset
    62
If any player does not have the theme installed, the game will fail to start and an error message is displayed.
a55aa7695e0d Add Themes.wiki
Wuzzy <almikes@aol.com>
parents:
diff changeset
    63
a55aa7695e0d Add Themes.wiki
Wuzzy <almikes@aol.com>
parents:
diff changeset
    64
You are encouraged to share your themes in the “[https://hedgewars.org/forum/19 Content Creations]” subforum, where submissions are considered for official inclusion into Hedgewars.
a55aa7695e0d Add Themes.wiki
Wuzzy <almikes@aol.com>
parents:
diff changeset
    65
a55aa7695e0d Add Themes.wiki
Wuzzy <almikes@aol.com>
parents:
diff changeset
    66
== Inclusion in Hedgewars ==
1017
a8aa044ce3a2 Themes: fix bold
Wuzzy
parents: 1016
diff changeset
    67
If you want a theme to be included with Hedgewars, it *must* follow [http://www.hedgewars.org/node/704 Hedgewars graphics rules, style constraints and guidelines], so if you're unfamiliar with those, please read that first.
1009
a55aa7695e0d Add Themes.wiki
Wuzzy <almikes@aol.com>
parents:
diff changeset
    68
a55aa7695e0d Add Themes.wiki
Wuzzy <almikes@aol.com>
parents:
diff changeset
    69
Note that there is no guarantee we'll include any theme, no matter how good.
a55aa7695e0d Add Themes.wiki
Wuzzy <almikes@aol.com>
parents:
diff changeset
    70
a55aa7695e0d Add Themes.wiki
Wuzzy <almikes@aol.com>
parents:
diff changeset
    71
Note that themes we consider to be inappropriate for the general Hedgewars “feel”, we might still reject it, even if it perfectly follows all style guidelines. We prefer a kinda “family-friendly” setting, although this term is *very* loosely defined. Two examples for such rejected themes are Military_v1 and Belly_v1.