Skip to content

Commit

Permalink
[Docs] update (#2255)
Browse files Browse the repository at this point in the history
* Update docs/style/summary.md

not it points on different style guides

* Create ultica style summary.md

* docs/installation

fixed links style
removed spaces from line ends

* Rearranged main SUMMARY page

* Ulitca style guide moved into separate section

* How-to section fixed a bit

* added SUMMARY.md files for MSX and HollowMoon

* Links style fix for style/summary.md

* Added tools section

It need to proofread as English is not my first language.

* style and grammar for windows_wrappers

* change symlinks to file copies
  • Loading branch information
vetall812 committed Dec 26, 2023
1 parent 627c170 commit da189d4
Show file tree
Hide file tree
Showing 30 changed files with 256 additions and 71 deletions.
33 changes: 18 additions & 15 deletions doc/SUMMARY.md
Original file line number Diff line number Diff line change
@@ -1,17 +1,20 @@
# Summary

- [Installation & Building](installation.md)
- [Windows guide](installation_windows.md)
- [Nix](installation_nix.md)
- [Style guidelines](style/summary.md)
- [General](style/general.md)
- [Items](style/items.md)
- [Overlay](style/overlay.md)
- [Creatures](style/creatures.md)
- [Terrain & Furniture](style/terrain-furniture.md)
- [How to]()
- [Tileset structure](how-to/structure.md)
- [Autotiles](how-to/autotiles.md)
- [Tools]()
- [Slice autotiles]()
- [Generate preview]()
- [Installation & Building](./installation.md)
- [Windows guide](./installation_windows.md)
- [Nix](./installation_nix.md)
- [Style guidelines](./style/summary.md)
- [UltimateCataclysm (UltiCa)](./style/UltimateCataclysm/summary.md)
- [MShockXotto+](./style/MShockXotto+/summary.md)
- [HollowMoon](./style/HollowMoon/summary.md)

- [How to](./how-to/summary.md)
- [Tileset structure](./how-to/structure.md)
- [Autotiles/Multitiles](./how-to/autotiles.md)
- [Multitiles detailed info](https://github.com/CleverRaven/Cataclysm-DDA/blob/master/doc/TILESET.md#multitile) (new browser window with man CDDA doc)
- [Windows and symlinks](./how-to/Cloning_symlinks_on_windows.md)
- [Tools](./tools/summary.md)
- [Common tools](./tools/common_tools.md)
- [Windows wrappers](./tools/windows_wrappers.md)

You may find additional info in the [main CDDA documentation](https://github.com/CleverRaven/Cataclysm-DDA/blob/db3054e61b77fd16ef15961714bff97c4b5aac0c/doc/TILESET.md#composepy)
3 changes: 1 addition & 2 deletions doc/how-to/structure.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
# Tileset structure

*// TODO: rewrite*
//TODO: rewrite document from scratch

- Put files into the best appropriate folder (terrain, furniture, mutations, items, etc).
- Give files a name based on the JSON ID they suit, eg `t_floor`.
- If multiple files apply to that ID, make a subfolder eg `terrain/t_floor/` for all the views.
- For the moment, there isn't a clear naming convention after that. Working on it.

7 changes: 7 additions & 0 deletions doc/how-to/summary.md
Original file line number Diff line number Diff line change
@@ -1 +1,8 @@
# How to

Some guides that might help

- [Multitiles summary](./autotiles.md)
- [Multitiles detailed](https://github.com/CleverRaven/Cataclysm-DDA/blob/master/doc/TILESET.md#multitile) (will open new browser window with main CDDA documentation)
- [Tileset structure](./structure.md)
- [Windows and Symlinks](./Cloning_symlinks_on_windows.md)
4 changes: 2 additions & 2 deletions doc/installation.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ The most up to date build of the tileset (per commit). Might be broken.

To create your own tileset, test new sprites, or contribute to the project, please follow the instructions for your operating system:

- For Linux, macOS, or other Unix-like systems, see [this guide](installation_nix.md).
- For Windows, see [this guide](installation_windows.md).
- For Linux, macOS, or other Unix-like systems, see [this guide](./installation_nix.md).
- For Windows, see [this guide](./installation_windows.md).

These guides will help you set up the required tools and steps to build the tileset from the source files.
27 changes: 14 additions & 13 deletions doc/installation_windows.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,8 @@ Guide for Windows users, without touching the Command Line.
> It is a good practice to create new branch at the start. Name it "playground" for example.
> Your repo is your own private space. You can do whatever you want in it without affecting the original project. However, if you want to contribute to the project, you need to follow some guidelines. One of them is to keep your master branch clean and empty, and do your work in a separate branch. This will make it easier for you to sync your changes with the upstream repo and create pull requests.
Now you have source files on your drive and some tools as well.
These tools will help you managing multitile objects, setting up the environment and composing tilesets.
Now you have source files on your drive and some tools as well.
These tools will help you managing multitile objects, setting up the environment and composing tilesets.

## The Game

Expand All @@ -37,22 +37,22 @@ To enable symlinks, go to the `tools` folder in your local repository and double

## Python and Windows

If you dont have Python istalled yet you need to disable app execution alias.
If you dont have Python istalled yet you need to disable app execution alias.
<details>
<summary>Go to -> "start" and type "Manage App Execution Aliases". Go to it and turn off "Python"</summary>

![img](https://i.stack.imgur.com/7C78e.png)

</details>

Make sure you are not using the Python version from the Microsoft Store. This version is incompatible with the tileset composing tools. You can uninstall this version safely from your system. The tools from the repo will install Python 3.12 for you, which you can use for any purpose.

Open the `tools` folder in your local repository and double-click `updtset.cmd`
Select any common tileset (like MShockXotto+) for the first runs until it finally compose.
At the first run script will try to install Python using `winget`. In case of successful install it would stop and ask you to relaunch it again.
At the first run script will try to install Python using `winget`. In case of successful install it would stop and ask you to relaunch it again.

> [!WARNING]
> If script failed to install Python you should do it manually from [python.org](https://www.python.org/downloads/windows/).
> If script failed to install Python you should do it manually from [python.org](https://www.python.org/downloads/windows/).
> During installation, check "Add Python to PATH".
## Python and components
Expand All @@ -65,10 +65,10 @@ The script will first check if Python is installed on your system. It will print
If the script successfully adds libvips, it will stop and ask the user to run it again.

> [!WARNING]
> If script failed to install libvips you should do it manually.
> Download the latest libvips distribution from [libvips.github.io](https://libvips.github.io/libvips/install.html)
> get vips-dev-w64-web-#.#.#.zip NOT vips-dev-w64-all-#.#.#.zip
> extract files somewhere and drag and drop this folder on `set_vips_path.cmd`
> If script failed to install libvips you should do it manually.
> Download the latest libvips distribution from [libvips.github.io](https://libvips.github.io/libvips/install.html)
> get vips-dev-w64-web-#.#.#.zip NOT vips-dev-w64-all-#.#.#.zip
> extract files somewhere and drag and drop this folder on `set_vips_path.cmd`
## Final

Expand All @@ -79,12 +79,13 @@ If something goes wrong, read the script's output carefully!
> You may ask for help at tileset Discord server.
> [!TIP]
> To set a tileset to compose permanently, double-click `set_tileset.cmd` and select the desired tileset.
> If not set permanently, the update script will allow for interactive selection of a tileset.
> Note: This sets the environmental variable `CDDA_TILESET`. Delete it if you want to select tileset again.
> To set a tileset to compose permanently, double-click `set_tileset.cmd` and select the desired tileset.
> If not set permanently, the update script will allow for interactive selection of a tileset.
> Note: This sets the environmental variable `CDDA_TILESET`. Delete it if you want to select tileset again.
> [!TIP]
> When scripts ask you to restart your computer it may be necessary on some systems. But you can try and skip reboots.
[^1]: Some tasks can be done much faster and easier with command line actually. So you can try to run ```winget install Github.GitHubDesktop```

[^2]: That tool will guide you how to [enable symlinks](https://blogs.windows.com/windowsdeveloper/2016/12/02/symlinks-windows-10/) in your system and turn them on for your local repository.
8 changes: 8 additions & 0 deletions doc/style/HollowMoon/SUMMARY.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# HollowMoon style guide

There are some guides:
- [Summary guide](./readme.md)
- Detailed guides
- [Terrain](./terrain.md)
- [Walls](./walls.md)
- [Overlays](./overlay.md)
9 changes: 9 additions & 0 deletions doc/style/MShockXotto+/SUMMARY.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# MShockXotto+ style guide

You can read it from the beginning or jump to the topic:

[Start](./readme.md)
- [Monsters](./readme.md#monsters)
- [Items](./readme.md#items)
- [Furniture](./readme.md#furnitures)
- [Terrain](./readme.md#terrain)
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,12 @@

Consider 32x64 a default template for human-sized creatures:

![male](image/skin-male.png)
![female](image/skin-female.png)
![male](./image/skin-male.png)
![female](./image/skin-female.png)

# Monster sprites should have ~8px offset from the ground

*// TODO: image*
// TODO: add monster image with measured offset

To give them a 3d look.

Expand All @@ -19,6 +19,6 @@ And remember that tiles are mirrored when creatures move.

# Monsters should drop shadows when possible

*// TODO: image*
// TODO: add monster with a shadow image

Put shadows in a `bg` field in json, use `shadow_<width>x<height>_<size>` template. You can find shadow files in the root of any size directory (e.g. `pngs_normal_32x32`).
12 changes: 6 additions & 6 deletions doc/style/general.md → doc/style/UltimateCataclysm/general.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,24 +4,24 @@ A bunch of rules that can be applied for every type of sprite.

## Use a limited set of colors as in pseudo-16 bit format

![colors](image/colors.png)
![colors](./image/colors.png)

This is rule is one of the main rules not only for this tileset, but pixel art in general.
Each "colour block" should use 3-6 colors for shades. For example a blue shirt might have one light blue highlight, two medium blue main colours, one dark blue shade, and one very dark blue-green shade.
This is rule is one of the main rules not only for this tileset, but pixel art in general.
Each "colour block" should use 3-6 colors for shades. For example a blue shirt might have one light blue highlight, two medium blue main colours, one dark blue shade, and one very dark blue-green shade.
See [colors tutorials section](https://lospec.com/pixel-art-tutorials/tags/colors) on lospec if you're having troubles with palette.

## Try to draw with realistic proportions

![proportions](image/proportions.png)
![proportions](./image/proportions.png)

Small items/creatures should be small. But if feel that they are **too small**, it is ok to make them bigger for sakes of ability to be recognized. Be careful about sizes.

## Use hard edges on foreground objects

![hard-edges](image/hard-edges.png)
![hard-edges](./image/hard-edges.png)

.. such as items and monsters. This is important because it makes things much more recognizable when zoomed out.

## The default light source is assumed to come from above and to the left.

![sunlight](image/sunlight.png)
![sunlight](./image/sunlight.png)
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
Binary file added doc/style/UltimateCataclysm/image/skin-female.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added doc/style/UltimateCataclysm/image/skin-male.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
File renamed without changes
12 changes: 6 additions & 6 deletions doc/style/items.md → doc/style/UltimateCataclysm/items.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,31 +2,31 @@

## Maximum item size is 32x32; small items should fit within 16x16

![item-proportions](image/item-proportions.png)
![item-proportions](./image/item-proportions.png)

This is continuation of the general rule.

## Item tiles should be as close to scale as they can be while still recognizable

![item-group](image/item-group.png)
![item-group](./image/item-group.png)

When in doubt, err on the side of larger, but avoid filling an entire 32x32 tile with a single nail or it would look like a nail as large as a survivor.
Even for single items, putting multiple items into the icon could give it more recognizability without making it look comically huge.

## Containers should be drawn empty

![containers](image/containers.png)
![containers](./image/containers.png)

Like jars or bottles. The game will use the same tile no matter the actual content of the item.

## 100% black underline without shadow

*// TODO: image*
// TODO: add item shadow image

No shadow will make sure that players don't confuse several big items with furniture. Black underline helps to identify an item in the game world.

## Consider placement on tables

![items-on-tables](image/items-on-tables.png)
![items-on-tables](./image/items-on-tables.png)

Table surfaces usually occupy top 19 pixels of a 32x32 sprite, try fitting your items there when possible.
Table surfaces usually occupy top 19 pixels of a 32x32 sprite, try fitting your items there when possible.
9 changes: 9 additions & 0 deletions doc/style/UltimateCataclysm/overlay.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Overlay

Rules about hair, mutations, worn clothes, wielded items and survivour's skin.

# 32x64 tile base
Use these as reference (base male and base female sprites):

![male](./image/skin-male.png)
![female](./image/skin-female.png)
8 changes: 8 additions & 0 deletions doc/style/UltimateCataclysm/summary.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# UltimateCataclysm (Ultica) style guide

Rules and guidelines are divided between groups:
- [General](general.md)
- [Items](items.md) (things on the floor)
- [Overlay](overlay.md) (wielded/worn/mutations)
- [Creatures](creatures.md)
- [Terrain](terrain.md)
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,16 @@

## Walls and floors are 32x32, other things may vary

*// TODO: image*
// TODO: add terrain example image

Again, you should size things accordingly to its size in the world.

## Keep color value level in medium range

*// TODO: image*
// TODO: add image with color levels explaination

It's important to keep value level of the background objects (terrain, furniture) about 60-80, because it would define foreground entities (e.g. monsters) better.

# Keep table surfaces consistent

When drawing something similar to a table keep in mind that currently table surfaces usually occupy top 19 pixels and items may be optimized to look like placed in that area.
When drawing something similar to a table keep in mind that currently table surfaces usually occupy top 19 pixels and items may be optimized to look like placed in that area.
1 change: 0 additions & 1 deletion doc/style/image/skin-female.png

This file was deleted.

1 change: 0 additions & 1 deletion doc/style/image/skin-male.png

This file was deleted.

9 changes: 0 additions & 9 deletions doc/style/overlay.md

This file was deleted.

16 changes: 7 additions & 9 deletions doc/style/summary.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,10 @@
# Style guidelines

We have rules for sprites these days.
Not because it's important to keep the tileset consistent, but also to make things recognizable on the screen in the game.
Without strict rules, UltiCa will quickly turn itself into a pixels mash up.
Rules and guidelines are divided between groups:
- [General](general.md)
- [Items](items.md) (things on the floor)
- [Overlay](overlay.md) (wielded/worn/mutations)
- [Creatures](creatures.md)
- [Terrain](terrain.md)
We have rules for sprites these days.
Not because it's important to keep the tileset consistent, but also to make things recognizable on the screen in the game.
Without strict rules, any tileset will quickly turn itself into a pixels mash up.

Different tilesets have different guides:
- [UltimateCataclysm (Ultica)](./UltimateCataclysm/summary.md)
- [MShockXotto+](./MShockXotto+/summary.md)
- [HollowMoon](./HollowMoon/summary.md)
6 changes: 6 additions & 0 deletions doc/tools/SUMMARY.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# Tileset tools manuals

There are some basic tools that compatible with both Windows and *nix systems. For those who are not accustomed to the command line, we provide specific wrappers. For more information, please refer to the ‘Windows wrappers’ section of our documentation.

- [Common tools](./common_tools.md)
- [Windows wrappers](./windows_wrappers.md)
36 changes: 36 additions & 0 deletions doc/tools/common_tools.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# Common tools (scrips)

These are the tools that works the same way on every operating system.

They supposed to run in shell environment and if you afraid doing so please refer [Windows wrappers](./windows_wrappers.md) documentation.

## add_outline.py

// TODO: Add some info about add_outline.py

## compose.py

Please refer [main CDDA documentation](https://github.com/CleverRaven/Cataclysm-DDA/blob/master/doc/TILESET.md#composepy) about this tool.

## generate_preview.py

// TODO: Add some info about generate_preview.py

// TODO: Add link to how-to/preview section

## recolor_season_variants.py

// TODO: Add some info about recolor_season_variants.py

## Slicers
### slice_multitile.py

// TODO: Add some info about slice_multitile.py

### slice_variants.py

// TODO: Add some info about slice_variants.py

### unslice_multitile.py

// TODO: Add some info about unslice_multitile.py
Loading

0 comments on commit da189d4

Please sign in to comment.