Themes.wiki
author Wuzzy
Wed, 21 Jun 2023 13:08:24 +0000
changeset 2244 e8e1c0dd32e5
parent 2184 a9ad7ec65394
permissions -rw-r--r--
LuaLibraryAnimate: Add AnimFollowGear
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 ==
2083
1a16f75c6b5c Themes: add newline
Wuzzy
parents: 2077
diff changeset
     4
1020
a772bb8f7eb6 Themes: fix intro
Wuzzy
parents: 1018
diff changeset
     5
Themes in Hedgewars control the look of many elements that appear on screen (especially the map) and are the base on which random maps are built.
1015
07d6c9c91f68 Themes: Give a more over-the-top overview for n00bs
Wuzzy
parents: 1013
diff changeset
     6
07d6c9c91f68 Themes: Give a more over-the-top overview for n00bs
Wuzzy
parents: 1013
diff changeset
     7
== Understanding themes ==
1192
a762124ff511 Themes: fix typo
Wuzzy
parents: 1022
diff changeset
     8
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 player basics.
1015
07d6c9c91f68 Themes: Give a more over-the-top overview for n00bs
Wuzzy
parents: 1013
diff changeset
     9
07d6c9c91f68 Themes: Give a more over-the-top overview for n00bs
Wuzzy
parents: 1013
diff changeset
    10
=== Theme types ===
1017
a8aa044ce3a2 Themes: fix bold
Wuzzy
parents: 1016
diff changeset
    11
*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
    12
2077
514babfbad9e Remove outdated legacy hints as clutter
Wuzzy <almikes@aol.com>
parents: 1613
diff changeset
    13
*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. As of 1.0.0, there are no background themes in Hedgewars. Background themes *must* be hidden.
1015
07d6c9c91f68 Themes: Give a more over-the-top overview for n00bs
Wuzzy
parents: 1013
diff changeset
    14
07d6c9c91f68 Themes: Give a more over-the-top overview for n00bs
Wuzzy
parents: 1013
diff changeset
    15
=== Theme structure ===
07d6c9c91f68 Themes: Give a more over-the-top overview for n00bs
Wuzzy
parents: 1013
diff changeset
    16
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
    17
2184
nemo
parents: 2083
diff changeset
    18
The theme allows for further customization in Sudden Death. A good theme maker should definitely at least consider a custom SD style. But intentionally keeping the default SD style is still an option, of course.
1015
07d6c9c91f68 Themes: Give a more over-the-top overview for n00bs
Wuzzy
parents: 1013
diff changeset
    19
07d6c9c91f68 Themes: Give a more over-the-top overview for n00bs
Wuzzy
parents: 1013
diff changeset
    20
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
    21
07d6c9c91f68 Themes: Give a more over-the-top overview for n00bs
Wuzzy
parents: 1013
diff changeset
    22
=== Theme elements (overview) ===
07d6c9c91f68 Themes: Give a more over-the-top overview for n00bs
Wuzzy
parents: 1013
diff changeset
    23
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
    24
1015
07d6c9c91f68 Themes: Give a more over-the-top overview for n00bs
Wuzzy
parents: 1013
diff changeset
    25
==== Terrain ====
1018
e39f3f0cf7a6 Themes: fix bullet points
Wuzzy
parents: 1017
diff changeset
    26
e39f3f0cf7a6 Themes: fix bullet points
Wuzzy
parents: 1017
diff changeset
    27
 * 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
    28
 * Land border: The border of the land texture. Mandatory for full themes
e39f3f0cf7a6 Themes: fix bullet points
Wuzzy
parents: 1017
diff changeset
    29
 * Explosion border: A fixed-width border of a single color when the land exploded
e39f3f0cf7a6 Themes: fix bullet points
Wuzzy
parents: 1017
diff changeset
    30
 * 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
    31
 * Land girder: Look, shape and thickness of “land bridges”
e39f3f0cf7a6 Themes: fix bullet points
Wuzzy
parents: 1017
diff changeset
    32
 * 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
    33
07d6c9c91f68 Themes: Give a more over-the-top overview for n00bs
Wuzzy
parents: 1013
diff changeset
    34
==== Eye candy ====
1018
e39f3f0cf7a6 Themes: fix bullet points
Wuzzy
parents: 1017
diff changeset
    35
e39f3f0cf7a6 Themes: fix bullet points
Wuzzy
parents: 1017
diff changeset
    36
 * Sprays: Sprays are added on top of the land textures randomly
e39f3f0cf7a6 Themes: fix bullet points
Wuzzy
parents: 1017
diff changeset
    37
 * Background: Consists of background color and two image layers with parrallax scrolling
e39f3f0cf7a6 Themes: fix bullet points
Wuzzy
parents: 1017
diff changeset
    38
 * 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
    39
 * Clouds: Clouds move horizontally with the wind. There can
e39f3f0cf7a6 Themes: fix bullet points
Wuzzy
parents: 1017
diff changeset
    40
 * 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
    41
 * 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
    42
07d6c9c91f68 Themes: Give a more over-the-top overview for n00bs
Wuzzy
parents: 1013
diff changeset
    43
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
    44
07d6c9c91f68 Themes: Give a more over-the-top overview for n00bs
Wuzzy
parents: 1013
diff changeset
    45
== Getting started ==
07d6c9c91f68 Themes: Give a more over-the-top overview for n00bs
Wuzzy
parents: 1013
diff changeset
    46
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
    47
a55aa7695e0d Add Themes.wiki
Wuzzy <almikes@aol.com>
parents:
diff changeset
    48
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
    49
1015
07d6c9c91f68 Themes: Give a more over-the-top overview for n00bs
Wuzzy
parents: 1013
diff changeset
    50
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
    51
07d6c9c91f68 Themes: Give a more over-the-top overview for n00bs
Wuzzy
parents: 1013
diff changeset
    52
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
    53
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
    54
a55aa7695e0d Add Themes.wiki
Wuzzy <almikes@aol.com>
parents:
diff changeset
    55
These were the basics. Read the following pages to continue:
a55aa7695e0d Add Themes.wiki
Wuzzy <almikes@aol.com>
parents:
diff changeset
    56
1011
399ca0374984 Rename Theme page to ThemeCfg to avoid confusion
Wuzzy <almikes@aol.com>
parents: 1009
diff changeset
    57
 * [ThemeCfg theme.cfg]
1009
a55aa7695e0d Add Themes.wiki
Wuzzy <almikes@aol.com>
parents:
diff changeset
    58
 * [ThemeFiles Theme files]
a55aa7695e0d Add Themes.wiki
Wuzzy <almikes@aol.com>
parents:
diff changeset
    59
1612
be420e9815f5 Themes: Add KoBeWi's theme editor
Wuzzy
parents: 1319
diff changeset
    60
== Theme editor (unofficial) ==
1613
71d4cbd47fc7 Themes: fix typos
Wuzzy
parents: 1612
diff changeset
    61
!KoBeWi created an unofficial theme editor to make the creation of themes a little bit easier:
1612
be420e9815f5 Themes: Add KoBeWi's theme editor
Wuzzy
parents: 1319
diff changeset
    62
1613
71d4cbd47fc7 Themes: fix typos
Wuzzy
parents: 1612
diff changeset
    63
[https://hedgewars.org/node/6995 Hedgewars Theme Editor]
1612
be420e9815f5 Themes: Add KoBeWi's theme editor
Wuzzy
parents: 1319
diff changeset
    64
1009
a55aa7695e0d Add Themes.wiki
Wuzzy <almikes@aol.com>
parents:
diff changeset
    65
== Sharing themes ==
a55aa7695e0d Add Themes.wiki
Wuzzy <almikes@aol.com>
parents:
diff changeset
    66
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
    67
a55aa7695e0d Add Themes.wiki
Wuzzy <almikes@aol.com>
parents:
diff changeset
    68
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
    69
a55aa7695e0d Add Themes.wiki
Wuzzy <almikes@aol.com>
parents:
diff changeset
    70
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
    71
a55aa7695e0d Add Themes.wiki
Wuzzy <almikes@aol.com>
parents:
diff changeset
    72
== Inclusion in Hedgewars ==
1017
a8aa044ce3a2 Themes: fix bold
Wuzzy
parents: 1016
diff changeset
    73
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
    74
a55aa7695e0d Add Themes.wiki
Wuzzy <almikes@aol.com>
parents:
diff changeset
    75
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
    76
1022
6e36a5ca0eb0 Themes: fix theme names
Wuzzy
parents: 1021
diff changeset
    77
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`.