Compare commits

...
3 Commits
Author SHA1 Message Date
cthangover 4176be59c6 Add mod documentation in seven languages 2026-10-29 09:26:21 +01:00
iisaev 41936cc2d2 gitignore file 2026-10-28 15:20:05 +03:00
cthangover f3e4b72982 Localization in es, zh, ja, ko, vi 2026-10-23 20:54:52 +02:00
22 changed files with 688 additions and 3 deletions

No files matched your search

+38
View File
@@ -0,0 +1,38 @@
# Godot 4.x
.godot/
.idea/
sdk/
bin/
obj/
#ai
.omo/
.opencode/
gen/
obj/
bin/
art_sources/
*.tres~
*.tscn~
# GDScript LSP
.godot/
# Export
*.exe
*.dmg
*.apk
*.aab
*.pck
*.zip
*.log
# OS
.DS_Store
Thumbs.db
# Editor
*.import
*.godot.uid
Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

+91
View File
@@ -0,0 +1,91 @@
# Town Pack — town, home and bar backgrounds with bar ambience
Town Pack is ready-made scenery for a story set in a small town. It supplies three painted backgrounds — a street corner at the town entrance, the vestibule of a house and an evening bar — and the bar's ambient sound loop. It contains no story, scenes or characters: a game decides where the pictures appear.
Two built-in games already share it. **Cthangover** uses the town entrance and the vestibule; the **My Novel** template uses all three backgrounds and the bar ambience. Because both games take the same files from this mod, a fix or an improved picture in Town Pack reaches both.
## What is inside
The town entrance, `town/town_entry`: a cobbled street corner with striped shop awnings.
![The town entrance background: a corner building with green and white awnings on a cobbled street.](assets/town_entry.jpg)
The home vestibule, `home/vestibule`: a hall with a staircase, an armchair and a painting.
![The vestibule background: a wooden staircase, an armchair, a bench and a framed painting in a warm-lit hall.](assets/vestibule.jpg)
The bar, `bar/bar`: tables with lanterns, a counter and shelves of bottles.
![The bar background: lantern-lit tables, a bar counter and shelves of bottles under a beamed ceiling.](assets/bar.jpg)
The bar ambience, `bar/bar_ambient`: an Ogg Vorbis loop of bar atmosphere for the Ambience sound channel.
All three pictures are 1920 × 1024. Each has a grey companion file with the same name and a `_depth` suffix:
![The depth companion of the town entrance: a greyscale version of the same layout.](assets/town_entry_depth.jpg)
You never see a depth picture directly. When a background is shown, the game also loads `<name>_depth` and passes it to the lighting system, which uses it for lights placed over the scene. A background without a depth companion still displays normally.
## Where you see it
- **Cthangover:** the `town_entry` scene (the town entrance) and the `home_vestibule` scene.
- **My Novel template:** `my_novel_town`, `my_novel_home` and `my_novel_bar`. The bar scene also plays `bar/bar_ambient`.
The same town entrance in the My Novel template, where it opens the game with a line of narration:
![My Novel's first scene: the town entrance background behind the line "Evening town. The street lamps are already lit and a cool draught runs along the cobbles."](assets/reuse-my-novel.jpg)
And in Cthangover, where a different story offers its own choices over the same picture:
![Cthangover's town entrance: the same background with the choices "Return home" and "Check the alley".](assets/reuse-cthangover.jpg)
Town Pack is part of both games' collections, so it is loaded with them. Installing it does not add these places to an unrelated game: a game has to use the backgrounds in its own scenes.
## Use the backgrounds in your game
1. Add `town_pack>=1` to your content mod's `depends` list.
2. Add `town_pack>=1` to your game's collection, as the My Novel template does in its **Assets** block.
3. Refer to the resources by their names below. Names are relative to `backgrounds/` and `sounds/` and have no file extension.
```jsonc
// mods/my_game/manifest.json — add to the existing list
"depends": ["town_pack>=1"]
```
A scene that shows the bar and plays its ambience, taken from the template's `my_novel_bar` scene:
```json
{
"name": "my_bar",
"defaultBackground": "bar/bar",
"defaultAmbient": "bar/bar_ambient"
}
```
A scenario can also change the picture during a dialogue:
```scenario
background town/town_entry
text "The street is empty at this hour."
```
The available names are:
```text
town/town_entry backgrounds/town/town_entry.png
home/vestibule backgrounds/home/vestibule.png
bar/bar backgrounds/bar/bar.png
bar/bar_ambient sounds/bar/bar_ambient.ogg
```
## Replace a picture for your game
To change a picture without editing Town Pack, ship a file with the same relative name, for example `backgrounds/bar/bar.png`, in your own mod and declare `town_pack>=1` in its `depends`. The mod that depends on the owner is loaded later and wins. If you replace a background, also ship a matching `_depth` file with the same name: otherwise Town Pack's original depth picture is still found, and lights follow the old picture's layout.
Without the dependency, two mods offering the same name have no defined order; the resource map tool reports that as an error.
## If something is missing
1. A black or missing background usually means a misspelt name. Names are case-sensitive and use `/`.
2. Check that Town Pack is included in the game you launched, not only installed.
3. No bar sound: check that the scene's `defaultAmbient` is `bar/bar_ambient` and that **Ambience** is enabled in **Settings → Sound**. Sound playback is provided by the Audio Engine mod.
+91
View File
@@ -0,0 +1,91 @@
# Town Pack — fondos de la ciudad, la casa y el bar con ambiente sonoro
Town Pack es escenografía lista para usar en una historia ambientada en una ciudad pequeña. Trae tres fondos ilustrados —una esquina en la entrada de la ciudad, el recibidor de una casa y un bar nocturno— y el sonido ambiente en bucle del bar. No incluye historia, escenas ni personajes: cada juego decide dónde mostrar las imágenes.
Dos juegos integrados ya lo comparten. **Cthangover** usa la entrada de la ciudad y el recibidor; la plantilla **My Novel**, los tres fondos y el ambiente del bar. Como ambos juegos toman los mismos archivos de este mod, cualquier arreglo o imagen mejorada en Town Pack llega a los dos.
## Qué contiene
La entrada de la ciudad, `town/town_entry`: una esquina adoquinada con toldos de colores en las tiendas.
![Fondo de la entrada de la ciudad: un edificio en una esquina con toldos verdes y blancos en una calle adoquinada.](assets/town_entry.jpg)
El recibidor de la casa, `home/vestibule`: un vestíbulo con escalera, un sillón y un cuadro.
![Fondo del recibidor: una escalera de madera, un sillón, un banco y un cuadro enmarcado en un vestíbulo de luz cálida.](assets/vestibule.jpg)
El bar, `bar/bar`: mesas con faroles, una barra y estanterías con botellas.
![Fondo del bar: mesas iluminadas por faroles, la barra y estanterías con botellas bajo un techo de vigas.](assets/bar.jpg)
El ambiente del bar, `bar/bar_ambient`: un bucle Ogg Vorbis con el ambiente del bar para el canal de sonido Ambience.
Las tres imágenes miden 1920 × 1024. Cada una tiene un archivo complementario en escala de grises con el mismo nombre y el sufijo `_depth`:
![La imagen de profundidad de la entrada de la ciudad: la misma composición en escala de grises.](assets/town_entry_depth.jpg)
Una imagen de profundidad no se ve directamente. Al mostrar un fondo, el juego también carga `<name>_depth` y se lo pasa al sistema de iluminación, que lo usa para las luces colocadas sobre la escena. Un fondo sin su imagen de profundidad se muestra igual con normalidad.
## Dónde lo verás
- **Cthangover:** la escena `town_entry` (la entrada de la ciudad) y la escena `home_vestibule`.
- **Plantilla My Novel:** `my_novel_town`, `my_novel_home` y `my_novel_bar`. La escena del bar también reproduce `bar/bar_ambient`.
La misma entrada de la ciudad en la plantilla My Novel, donde abre el juego con una línea de narración:
![Primera escena de My Novel: el fondo de la entrada de la ciudad tras la línea «La ciudad al anochecer. Las farolas ya están encendidas y una corriente fresca recorre los adoquines».](assets/reuse-my-novel.jpg)
Y en Cthangover, donde otra historia ofrece sus propias opciones sobre la misma imagen:
![La entrada de la ciudad en Cthangover: el mismo fondo con las opciones «Volver a casa» y «Revisar el callejón».](assets/reuse-cthangover.jpg)
Town Pack forma parte de las colecciones de ambos juegos y se carga con ellos. Instalarlo no añade estos lugares a un juego cualquiera: tiene que ser el juego quien use los fondos en sus propias escenas.
## Usa los fondos en tu juego
1. Añade `town_pack>=1` a la lista `depends` de tu mod de contenido.
2. Añade `town_pack>=1` a la colección de tu juego, como hace la plantilla My Novel en su bloque **Assets**.
3. Refiérete a los recursos por su nombre. Los nombres son relativos a `backgrounds/` y `sounds/` y no llevan extensión.
```jsonc
// mods/my_game/manifest.json — añádelo a la lista existente
"depends": ["town_pack>=1"]
```
Una escena que muestra el bar y reproduce su ambiente, tomada de la escena `my_novel_bar` de la plantilla:
```json
{
"name": "my_bar",
"defaultBackground": "bar/bar",
"defaultAmbient": "bar/bar_ambient"
}
```
Un escenario también puede cambiar la imagen durante un diálogo:
```scenario
background town/town_entry
text "A estas horas la calle está vacía."
```
Los nombres disponibles son:
```text
town/town_entry backgrounds/town/town_entry.png
home/vestibule backgrounds/home/vestibule.png
bar/bar backgrounds/bar/bar.png
bar/bar_ambient sounds/bar/bar_ambient.ogg
```
## Cambia una imagen para tu juego
Para cambiar una imagen sin tocar Town Pack, incluye en tu propio mod un archivo con el mismo nombre relativo, por ejemplo `backgrounds/bar/bar.png`, y declara `town_pack>=1` en su `depends`. El mod que depende del propietario se carga después y gana. Si sustituyes un fondo, incluye también su archivo `_depth` con el mismo nombre: si no, el juego seguirá encontrando la imagen de profundidad original de Town Pack y las luces seguirán la composición de la imagen antigua.
Sin la dependencia, dos mods que ofrezcan el mismo nombre no tienen un orden definido; la herramienta de mapa de recursos lo informa como error.
## Si falta algo
1. Un fondo negro o ausente suele indicar un nombre mal escrito. Los nombres distinguen mayúsculas de minúsculas y usan `/`.
2. Comprueba que Town Pack esté incluido en el juego que has lanzado, no solo instalado.
3. Sin sonido en el bar: comprueba que el `defaultAmbient` de la escena sea `bar/bar_ambient` y que el canal **Ambience** esté activado en **Settings → Sound**. La reproducción de sonido la ofrece el mod Audio Engine.
+91
View File
@@ -0,0 +1,91 @@
# Town Pack — 町・家・バーの背景とバーの環境音
Town Pack は、小さな町を舞台にした物語のための完成済み背景素材です。描かれた背景3枚——町の入口の街角、家の玄関、夜のバー——と、バーの環境音ループを収録しています。物語・シーン・キャラクターは含まないので、どこで画像を見せるかはゲームが決めます。
内蔵の2つのゲームがすでにこのセットを共用しています。**Cthangover** は町の入口と玄関を、**My Novel** テンプレートは3枚の背景とバーの環境音をすべて使います。どちらのゲームも同じファイルをこの mod から読み込むため、Town Pack 側の修正や画質向上は両方に届きます。
## 収録内容
町の入口 `town/town_entry`:縞模様の日除けがかかった店々が並ぶ、石畳の街角です。
![町の入口の背景:石畳の街角に立つ、緑と白の日除けがついた角建物。](assets/town_entry.jpg)
家の玄関 `home/vestibule`:階段、肘掛け椅子、額絵のあるホールです。
![玄関の背景:暖かな光のホールに、木の階段、肘掛け椅子、ベンチ、額装された絵。](assets/vestibule.jpg)
バー `bar/bar`:提灯の灯るテーブル、カウンター、瓶の棚です。
![バーの背景:梁の見える天井の下、提灯に照らされたテーブル、カウンター、瓶の棚。](assets/bar.jpg)
バーの環境音 `bar/bar_ambient`:Ambience サウンドチャネル用の、バーの雰囲気を収めた Ogg Vorbis ループです。
3枚の画像はいずれも 1920 × 1024 です。それぞれに、同じ名前に `_depth` という接尾辞を付けたグレーの対応ファイルがあります:
![町の入口の深度マップ:同じ構図のグレースケール版。](assets/town_entry_depth.jpg)
深度画像を直接目にすることはありません。背景を表示するとき、ゲームは `<name>_depth` も読み込み、ライティングシステムに渡します。システムはこれを使って、シーンの上に置かれた光を計算します。深度画像のない背景も、普通に表示されます。
## どこで見られるか
- **Cthangover:** `town_entry` シーン(町の入口)と `home_vestibule` シーン。
- **My Novel テンプレート:** `my_novel_town`、`my_novel_home`、`my_novel_bar`。バーのシーンでは `bar/bar_ambient` も鳴ります。
同じ町の入口が、My Novel テンプレートでは物語の一行とともにゲームの幕を開けます:
![My Novel の最初のシーン:町の入口の背景に「夕暮れの町。街灯はもうともり、石畳を涼しい風が吹き抜けていく」の一文。](assets/reuse-my-novel.jpg)
そして Cthangover では、同じ絵の上を別の物語が自分の選択肢で彩ります:
![Cthangover の町の入口:同じ背景に「家に帰る」と「路地を調べる」の選択肢。](assets/reuse-cthangover.jpg)
Town Pack は両方のゲームのコレクションに含まれ、一緒に読み込まれます。インストールしても、ほかのゲームにこれらの場所が追加されるわけではありません。背景を使うのは、ゲーム自身のシーンです。
## 自分のゲームで使う
1. 自分のコンテンツ mod の `depends` リストに `town_pack>=1` を追加します。
2. ゲームのコレクションに `town_pack>=1` を加えます。My Novel テンプレートの **Assets** ブロックがその例です。
3. リソースは下記の名前で参照します。名前は `backgrounds/` と `sounds/` からの相対で、拡張子は付きません。
```jsonc
// mods/my_game/manifest.json — 既存のリストに追加
"depends": ["town_pack>=1"]
```
テンプレートの `my_novel_bar` シーンから取った、バーを表示して環境音を鳴らすシーンです:
```json
{
"name": "my_bar",
"defaultBackground": "bar/bar",
"defaultAmbient": "bar/bar_ambient"
}
```
シナリオは会話の途中で絵を切り替えることもできます:
```scenario
background town/town_entry
text "こんな時間、通りはひっそりとしている。"
```
使える名前は次のとおりです:
```text
town/town_entry backgrounds/town/town_entry.png
home/vestibule backgrounds/home/vestibule.png
bar/bar backgrounds/bar/bar.png
bar/bar_ambient sounds/bar/bar_ambient.ogg
```
## 自分のゲーム向けに画像を差し替える
Town Pack を編集せずに画像を差し替えるには、自分の mod に同じ相対名のファイル(例:`backgrounds/bar/bar.png`)を置き、その `depends` に `town_pack>=1` と書きます。所有者に依存する mod は後から読み込まれ、そちらが優先されます。背景を差し替えるときは、同名の `_depth` ファイルも一緒に置いてください。そうしないと Town Pack の元の深度画像がそのまま見つかり、光が古い絵の構図に合わせて落ちてしまいます。
依存関係がなければ、同じ名前を置く2つの mod の優先順位は未定義です。この問題はリソースマップツールがエラーとして報告します。
## うまく表示されないとき
1. 背景が真っ黒、または表示されない場合は、名前の打ち間違いがまず疑わしいです。名前は大文字小文字を区別し、区切りは `/` です。
2. Town Pack がインストールされているだけでなく、起動したゲームに含まれているか確認してください。
3. バーの音が鳴らない:シーンの `defaultAmbient` が `bar/bar_ambient` になっているか、**Settings → Sound** で **Ambience** が有効か確認してください。音の再生は Audio Engine mod が担います。
+91
View File
@@ -0,0 +1,91 @@
# Town Pack — 마을·집·바 배경과 바 환경음
Town Pack은 작은 마을을 무대로 한 이야기를 위한 바로 쓸 수 있는 배경 모음입니다. 그려진 배경 세 장 — 마을 입구의 길모퉁이, 집 현관, 저녁의 바 — 과 바 환경음 루프를 담고 있습니다. 스토리나 장면, 캐릭터는 들어 있지 않으므로 그림을 어디에 보여줄지는 게임이 정합니다.
내장된 두 게임이 이미 이 팩을 함께 씁니다. **Cthangover**는 마을 입구와 현관을, **My Novel** 템플릿은 배경 세 장과 바 환경음을 모두 사용합니다. 두 게임이 이 모드의 같은 파일을 가져다 쓰기 때문에, Town Pack의 수정이나 개선된 그림은 양쪽 모두에 반영됩니다.
## 안에 무엇이 있나
마을 입구 `town/town_entry`: 줄무늬 차양을 단 가게들 사이 자갈길 모퉁이입니다.
![마을 입구 배경: 자갈길 모퉁이에 초록과 흰 차양을 단 모퉁이 건물.](assets/town_entry.jpg)
집 현관 `home/vestibule`: 계단과 안락의자, 그림이 있는 홀입니다.
![현관 배경: 따뜻한 조명의 홀에 나무 계단, 안락의자, 벤치, 액자 속 그림.](assets/vestibule.jpg)
바 `bar/bar`: 랜턴이 놓인 테이블, 카운터, 술병 선반입니다.
![바 배경: 랜턴 불빛 아래 테이블과 카운터, 들보 천장 아래 술병 선반.](assets/bar.jpg)
바 환경음 `bar/bar_ambient`: Ambience 사운드 채널용, 바 분위기를 담은 Ogg Vorbis 루프입니다.
세 그림은 모두 1920 × 1024입니다. 각 그림에는 같은 이름에 `_depth` 접미사를 붙인 회색조 파일이 짝으로 있습니다:
![마을 입구의 뎁스 이미지: 같은 구도의 회색조 버전.](assets/town_entry_depth.jpg)
뎁스 이미지는 직접 보이지 않습니다. 배경을 표시할 때 게임은 `<name>_depth`도 함께 읽어 조명 시스템에 넘기고, 시스템은 이를 바탕으로 장면 위에 놓인 빛을 계산합니다. 뎁스 짝이 없는 배경도 평소처럼 표시됩니다.
## 어디에서 보이나
- **Cthangover:** `town_entry` 장면(마을 입구)과 `home_vestibule` 장면.
- **My Novel 템플릿:** `my_novel_town`, `my_novel_home`, `my_novel_bar`. 바 장면에서는 `bar/bar_ambient`도 재생합니다.
같은 마을 입구가 My Novel 템플릿에서는 한 줄의 해설과 함께 게임을 엽니다:
![My Novel의 첫 장면: 마을 입구 배경 위에 "저녁의 마을. 가로등은 벌써 켜졌고, 시원한 바람이 자갈길을 따라 분다" 한 줄.](assets/reuse-my-novel.jpg)
그리고 Cthangover에서는 같은 그림 위를 다른 이야기가 자기 선택지로 덮습니다:
![Cthangover의 마을 입구: 같은 배경 위에 "집으로 돌아간다"와 "골목을 살펴본다" 선택지.](assets/reuse-cthangover.jpg)
Town Pack은 두 게임의 컬렉션에 모두 들어 있어 함께 로드됩니다. 설치만으로 다른 게임에 이 장소들이 생기지는 않습니다. 배경을 쓰는 것은 게임 자신의 장면입니다.
## 내 게임에서 배경 쓰기
1. 콘텐츠 모드의 `depends` 목록에 `town_pack>=1`을 추가합니다.
2. 게임의 컬렉션에 `town_pack>=1`을 추가합니다. My Novel 템플릿이 **Assets** 블록에서 하는 일이 그 예입니다.
3. 리소스는 아래 이름으로 참조합니다. 이름은 `backgrounds/`와 `sounds/` 기준 상대경로이며 확장자는 붙이지 않습니다.
```jsonc
// mods/my_game/manifest.json — 기존 목록에 추가
"depends": ["town_pack>=1"]
```
템플릿의 `my_novel_bar` 장면에서 가져온, 바를 보여주고 환경음을 트는 장면입니다:
```json
{
"name": "my_bar",
"defaultBackground": "bar/bar",
"defaultAmbient": "bar/bar_ambient"
}
```
시나리오는 대화 도중에 그림을 바꿀 수도 있습니다:
```scenario
background town/town_entry
text "이 시간에 길은 텅 비어 있었다."
```
사용할 수 있는 이름은 다음과 같습니다:
```text
town/town_entry backgrounds/town/town_entry.png
home/vestibule backgrounds/home/vestibule.png
bar/bar backgrounds/bar/bar.png
bar/bar_ambient sounds/bar/bar_ambient.ogg
```
## 내 게임용으로 그림 바꾸기
Town Pack을 고치지 않고 그림을 바꾸려면, 같은 상대경로 이름의 파일(예: `backgrounds/bar/bar.png`)을 자신의 모드에 넣고 그 모드의 `depends`에 `town_pack>=1`을 선언하세요. 소유자에게 의존하는 모드가 나중에 로드되어 이깁니다. 배경을 바꿀 때는 같은 이름의 `_depth` 파일도 함께 넣으세요. 그렇지 않으면 Town Pack의 원래 뎁스 이미지가 그대로 발견되어 빛이 옛 그림의 구도를 따라갑니다.
의존성이 없으면 같은 이름을 놓은 두 모드의 순서는 정의되지 않으며, 리소스 맵 도구가 이를 오류로 보고합니다.
## 뭔가 빠졌을 때
1. 배경이 검게 나오거나 사라졌다면 대개 이름을 잘못 쓴 것입니다. 이름은 대소문자를 구분하며 `/`를 씁니다.
2. Town Pack이 설치만 된 것이 아니라 실행한 게임에 포함되어 있는지 확인하세요.
3. 바 소리가 안 들리면: 장면의 `defaultAmbient`가 `bar/bar_ambient`인지, **Settings → Sound**에서 **Ambience**가 켜져 있는지 확인하세요. 소리 재생은 Audio Engine 모드가 맡습니다.
+91
View File
@@ -0,0 +1,91 @@
# Town Pack — фоны города, дома и бара со звуком бара
Town Pack — готовые декорации для истории в небольшом городке. Внутри три нарисованных фона — угловая улица у въезда в город, прихожая дома и вечерний бар — и зацикленный звук атмосферы бара. Сюжета, сцен и персонажей в моде нет: где показывать эти картинки, решает игра.
Две встроенные игры уже делят этот набор. **Cthangover** берёт въезд в город и прихожую, шаблон **My Novel** — все три фона и звук бара. Поскольку обе игры берут одни и те же файлы из этого мода, исправление или улучшенная картинка в Town Pack достаются им обеим.
## Что внутри
Въезд в город, `town/town_entry`: мощёный уличный угол с полосатыми навесами магазинов.
![Фон въезда в город: угловой дом с зелёными и белыми навесами на булыжной улице.](assets/town_entry.jpg)
Прихожая дома, `home/vestibule`: зал с лестницей, креслом и картиной.
![Фон прихожей: деревянная лестница, кресло, скамья и картина в раме в зале с тёплым светом.](assets/vestibule.jpg)
Бар, `bar/bar`: столики с фонарями, стойка и полки с бутылками.
![Фон бара: столики под фонарями, барная стойка и полки с бутылками под балочным потолком.](assets/bar.jpg)
Атмосфера бара, `bar/bar_ambient`: зацикленный Ogg Vorbis с гулом бара для звукового канала Ambience.
Все три картинки — размером 1920 × 1024. У каждой есть серый файл-спутник с тем же именем и суффиксом `_depth`:
![Файл глубины для въезда в город: чёрно-белая версия той же композиции.](assets/town_entry_depth.jpg)
Картинку глубины вы напрямую не видите. Показывая фон, игра подгружает `<name>_depth` и передаёт его системе освещения — та использует его для источников света, размещённых поверх сцены. Фон без файла глубины тоже показывается как обычно.
## Где вы это увидите
- **Cthangover:** сцена `town_entry` (въезд в город) и сцена `home_vestibule`.
- **Шаблон My Novel:** `my_novel_town`, `my_novel_home` и `my_novel_bar`. В сцене бара играет и `bar/bar_ambient`.
Тот же въезд в город в шаблоне My Novel: с него и строки рассказа начинается игра:
![Первая сцена My Novel: фон въезда в город за строкой «Вечерний город. Фонари уже горят, по мостовой тянет прохладой».](assets/reuse-my-novel.jpg)
А в Cthangover поверх той же картинки другой сюжет предлагает свои варианты:
![Въезд в город в Cthangover: тот же фон с вариантами «Вернуться к дому» и «Проверить переулок».](assets/reuse-cthangover.jpg)
Town Pack входит в коллекции обеих игр и загружается вместе с ними. Сама по себе установка не добавит эти места в чужую игру: фон должен использоваться в сценах самой игры.
## Используйте фоны в своей игре
1. Добавьте `town_pack>=1` в список `depends` своего контентного мода.
2. Включите `town_pack>=1` в коллекцию своей игры — так, как это делает шаблон My Novel в блоке **Assets**.
3. Обращайтесь к ресурсам по именам из списка ниже. Имена считаются относительно `backgrounds/` и `sounds/` и пишутся без расширения.
```jsonc
// mods/my_game/manifest.json — добавьте к существующему списку
"depends": ["town_pack>=1"]
```
Сцена, которая показывает бар и включает его атмосферу, — из шаблонной сцены `my_novel_bar`:
```json
{
"name": "my_bar",
"defaultBackground": "bar/bar",
"defaultAmbient": "bar/bar_ambient"
}
```
Сценарий может сменить картинку и посреди диалога:
```scenario
background town/town_entry
text "В такой час улица пустует."
```
Доступные имена:
```text
town/town_entry backgrounds/town/town_entry.png
home/vestibule backgrounds/home/vestibule.png
bar/bar backgrounds/bar/bar.png
bar/bar_ambient sounds/bar/bar_ambient.ogg
```
## Как заменить картинку для своей игры
Чтобы заменить картинку, не трогая Town Pack, положите в свой мод файл с тем же относительным именем — например, `backgrounds/bar/bar.png` — и объявите в его `depends` зависимость `town_pack>=1`. Зависимый мод загружается позже и побеждает. Заменяя фон, положите рядом и одноимённый файл `_depth`: иначе игра найдёт исходную картинку глубины из Town Pack, и свет ляжет по композиции старой картинки.
Без зависимости порядок двух модов с одним и тем же именем не определён; карта ресурсов сообщает об этом как об ошибке.
## Если чего-то не хватает
1. Чёрный или пропавший фон обычно означает опечатку в имени. Имена чувствительны к регистру, разделитель — `/`.
2. Проверьте, что Town Pack включён в запущенную игру, а не просто установлен.
3. Нет звука бара: проверьте, что `defaultAmbient` сцены — `bar/bar_ambient`, а канал **Ambience** включён в **Settings → Sound**. Звук воспроизводит мод Audio Engine.
+91
View File
@@ -0,0 +1,91 @@
# Town Pack — nền thị trấn, ngôi nhà và quán bar cùng âm thanh quán bar
Town Pack là bối cảnh dựng sẵn cho câu chuyện diễn ra ở một thị trấn nhỏ. Gói gồm ba tấm nền vẽ tay — góc phố ở lối vào thị trấn, tiền sảnh ngôi nhà và quán bar về đêm — cùng vòng lặp âm thanh không khí quán bar. Không có cốt truyện, cảnh quay hay nhân vật nào bên trong: hình nào xuất hiện ở đâu do game quyết định.
Hai game có sẵn đã dùng chung gói này. **Cthangover** lấy lối vào thị trấn và tiền sảnh; mẫu **My Novel** dùng cả ba tấm nền và âm thanh quán bar. Vì cả hai game lấy đúng những tệp này từ mod, một bản sửa hay một hình đẹp hơn trong Town Pack sẽ đến với cả hai.
## Bên trong có gì
Lối vào thị trấn, `town/town_entry`: góc phố lát đá với những mái hiên sọc của các cửa hàng.
![Nền lối vào thị trấn: tòa nhà góc phố với mái hiên xanh và trắng trên con đường lát đá.](assets/town_entry.jpg)
Tiền sảnh ngôi nhà, `home/vestibule`: sảnh có cầu thang, ghế bành và một bức tranh.
![Nền tiền sảnh: cầu thang gỗ, ghế bành, ghế dài và bức tranh đóng khung trong sảnh ánh sáng ấm.](assets/vestibule.jpg)
Quán bar, `bar/bar`: những bàn có đèn lồng, quầy bar và kệ đầy chai rượu.
![Nền quán bar: bàn dưới ánh đèn lồng, quầy bar và kệ chai rượu dưới trần nhà có dầm gỗ.](assets/bar.jpg)
Âm thanh quán bar, `bar/bar_ambient`: vòng lặp Ogg Vorbis với không khí quán bar cho kênh âm thanh Ambience.
Cả ba tấm ảnh đều cỡ 1920 × 1024. Mỗi tấm có một tệp đi kèm màu xám cùng tên với hậu tố `_depth`:
![Tệp độ sâu của lối vào thị trấn: phiên bản xám của cùng bố cục.](assets/town_entry_depth.jpg)
Bạn không bao giờ thấy tấm ảnh độ sâu trực tiếp. Khi hiển thị nền, game cũng tải `<name>_depth` và chuyển cho hệ thống ánh sáng, hệ thống này dùng nó cho những nguồn sáng đặt lên cảnh. Nền không có ảnh độ sâu vẫn hiển thị bình thường.
## Bạn sẽ thấy nó ở đâu
- **Cthangover:** cảnh `town_entry` (lối vào thị trấn) và cảnh `home_vestibule`.
- **Mẫu My Novel:** `my_novel_town`, `my_novel_home` và `my_novel_bar`. Cảnh quán bar cũng phát `bar/bar_ambient`.
Cùng lối vào thị trấn đó trong mẫu My Novel, nơi nó mở màn game bằng một dòng dẫn truyện:
![Cảnh đầu của My Novel: nền lối vào thị trấn phía sau dòng "Thị trấn lúc chiều tối. Đèn đường đã sáng và một làn gió mát lùa dọc những viên đá lát".](assets/reuse-my-novel.jpg)
Còn trong Cthangover, một câu chuyện khác lại đưa ra các lựa chọn riêng trên cùng bức tranh:
![Lối vào thị trấn trong Cthangover: cùng nền với các lựa chọn "Về nhà" và "Xem xét con hẻm".](assets/reuse-cthangover.jpg)
Town Pack nằm trong bộ sưu tập của cả hai game nên được nạp cùng chúng. Cài nó không tự thêm những địa điểm này vào một game khác: game phải tự dùng các nền trong cảnh của mình.
## Dùng các nền trong game của bạn
1. Thêm `town_pack>=1` vào danh sách `depends` của mod nội dung.
2. Thêm `town_pack>=1` vào bộ sưu tập của game, như mẫu My Novel làm trong khối **Assets**.
3. Tham chiếu tài nguyên theo tên dưới đây. Tên tính từ `backgrounds/` và `sounds/` và không có phần mở rộng.
```jsonc
// mods/my_game/manifest.json — thêm vào danh sách có sẵn
"depends": ["town_pack>=1"]
```
Một cảnh hiện quán bar và phát âm thanh nền, lấy từ cảnh `my_novel_bar` của mẫu:
```json
{
"name": "my_bar",
"defaultBackground": "bar/bar",
"defaultAmbient": "bar/bar_ambient"
}
```
Kịch bản cũng có thể đổi hình giữa chừng hội thoại:
```scenario
background town/town_entry
text "Giờ này phố vắng tanh."
```
Các tên có sẵn là:
```text
town/town_entry backgrounds/town/town_entry.png
home/vestibule backgrounds/home/vestibule.png
bar/bar backgrounds/bar/bar.png
bar/bar_ambient sounds/bar/bar_ambient.ogg
```
## Thay một bức tranh cho game của bạn
Để đổi hình mà không đụng đến Town Pack, hãy đặt vào mod của bạn một tệp trùng tên tương đối, ví dụ `backgrounds/bar/bar.png`, và khai báo `town_pack>=1` trong `depends` của mod đó. Mod phụ thuộc vào chủ sở hữu được nạp sau và thắng. Khi thay nền, hãy kèm luôn tệp `_depth` cùng tên: nếu không, game vẫn tìm thấy ảnh độ sâu gốc của Town Pack và ánh sáng sẽ bám theo bố cục của bức cũ.
Không có khai báo phụ thuộc, hai mod cùng cung cấp một tên sẽ không có thứ tự xác định; công cụ bản đồ tài nguyên báo đây là lỗi.
## Nếu có thứ còn thiếu
1. Nền đen hoặc không hiện thường là do gõ sai tên. Tên phân biệt chữ hoa chữ thường và dùng `/`.
2. Kiểm tra Town Pack đã được đưa vào game bạn vừa chạy, chứ không chỉ được cài.
3. Không có tiếng quán bar: xem `defaultAmbient` của cảnh đã là `bar/bar_ambient` chưa và kênh **Ambience** đã bật trong **Settings → Sound** chưa. Việc phát âm thanh do mod Audio Engine đảm nhận.
+91
View File
@@ -0,0 +1,91 @@
# Town Pack — 城镇、住宅与酒吧背景及酒吧环境音
Town Pack 是为小镇故事准备的现成布景:三张绘制好的背景图——城镇入口的街角、住宅门厅和夜晚的酒吧——外加酒吧的环境音循环。它不含剧情、场景或角色:图在哪里出现,由游戏自己决定。
两个内置游戏已经在共用它。**Cthangover** 使用城镇入口和门厅;**My Novel** 模板则把三张背景和酒吧环境音全用上了。由于两个游戏取用的是这个模组里的同一批文件,Town Pack 里的一处修正或一张更好的图,两边都能受益。
## 里面有什么
城镇入口 `town/town_entry`:铺着石板的街角,商店遮阳篷条纹相间。
![城镇入口背景:石板路街角的一栋转角建筑,带着绿色和白色的遮阳篷。](assets/town_entry.jpg)
住宅门厅 `home/vestibule`:带楼梯、扶手椅和挂画的门厅。
![门厅背景:暖光笼罩的门厅里有木质楼梯、扶手椅、长凳和一幅装框的画。](assets/vestibule.jpg)
酒吧 `bar/bar`:挂着灯笼的桌台、吧台和一排排酒瓶。
![酒吧背景:灯笼照亮的桌台、吧台,以及横梁天花板下的酒架。](assets/bar.jpg)
酒吧环境音 `bar/bar_ambient`:供 Ambience 声音通道使用的酒吧氛围 Ogg Vorbis 循环。
三张图都是 1920 × 1024。每张图都有一个同名、带 `_depth` 后缀的灰色伴生文件:
![城镇入口的深度图:同一构图的灰度版本。](assets/town_entry_depth.jpg)
深度图不会直接展示给你看。显示背景时,游戏会同时加载 `<name>_depth` 并交给光照系统,供放置在场景上的光源使用。没有深度图的背景也能正常显示。
## 在哪里能看到它
- **Cthangover:** `town_entry` 场景(城镇入口)和 `home_vestibule` 场景。
- **My Novel 模板:** `my_novel_town`、`my_novel_home` 和 `my_novel_bar`。酒吧场景还会播放 `bar/bar_ambient`。
同一段城镇入口,在 My Novel 模板里伴着一段叙述为游戏开场:
![My Novel 的第一个场景:城镇入口背景上显示一行「傍晚的小镇。路灯已经亮起,一阵凉风沿着石板路吹过」。](assets/reuse-my-novel.jpg)
而在 Cthangover 里,同一个画面上,另一个故事给出了自己的选项:
![Cthangover 的城镇入口:同一背景,选项为「回家」和「查看小巷」。](assets/reuse-cthangover.jpg)
Town Pack 属于两个游戏的合集,会随它们一起加载。仅安装它并不会把这些地点加进别的游戏:游戏必须在自己的场景里使用这些背景。
## 在你的游戏中使用这些背景
1. 把 `town_pack>=1` 加入内容模组的 `depends` 列表。
2. 把 `town_pack>=1` 加入游戏的合集,就像 My Novel 模板在 **Assets** 块中做的那样。
3. 按下文的名称引用资源。名称相对于 `backgrounds/` 和 `sounds/`,不带扩展名。
```jsonc
// mods/my_game/manifest.json — 添加到已有列表
"depends": ["town_pack>=1"]
```
下面这段取自模板的 `my_novel_bar` 场景,展示酒吧并播放环境音:
```json
{
"name": "my_bar",
"defaultBackground": "bar/bar",
"defaultAmbient": "bar/bar_ambient"
}
```
剧本也可以在对话中途切换画面:
```scenario
background town/town_entry
text "这个点,街上一个人影也没有。"
```
可用的名称如下:
```text
town/town_entry backgrounds/town/town_entry.png
home/vestibule backgrounds/home/vestibule.png
bar/bar backgrounds/bar/bar.png
bar/bar_ambient sounds/bar/bar_ambient.ogg
```
## 为你的游戏替换图片
想替换图片又不想改动 Town Pack,可以在自己的模组里放一个相对名称相同的文件(例如 `backgrounds/bar/bar.png`),并在 `depends` 里声明 `town_pack>=1`。依赖所有者的模组后加载、优先生效。替换背景时,还要附带一个同名的 `_depth` 文件:否则游戏仍会找到 Town Pack 原来的深度图,光照就会按旧图的构图分布。
没有依赖声明时,两个提供同名资源的模组加载顺序不确定;资源图谱工具会把这种情况报为错误。
## 如果有东西没显示
1. 背景变黑或缺失,多半是名称写错了。名称区分大小写,使用 `/`。
2. 确认 Town Pack 被包含在所启动的游戏里,而不只是安装了。
3. 酒吧没有声音:检查场景的 `defaultAmbient` 是否为 `bar/bar_ambient`,并确认 **Settings → Sound**(设置 → 声音)里 **Ambience** 已开启。声音播放由 Audio Engine 模组提供。
+1 -1
View File
@@ -1,2 +1,2 @@
mod_town_pack_name = Town Pack
mod_town_pack_desc = Reusable town content for any game: the town entrance, a home vestibule, a bar and the bar ambience.
mod_town_pack_desc = Ready-made scenery for a small-town story: the town entrance, a home vestibule and an evening bar as backgrounds, with the bar's ambience. No story inside.
+2
View File
@@ -0,0 +1,2 @@
mod_town_pack_name = Paquete de la ciudad
mod_town_pack_desc = Escenografía lista para usar en una historia de ciudad pequeña: como fondos, la entrada de la ciudad, el recibidor de una casa y un bar nocturno, junto con el ambiente sonoro del bar. Sin historia dentro.
+2
View File
@@ -0,0 +1,2 @@
mod_town_pack_name = 町パック
mod_town_pack_desc = 小さな町を舞台にした物語向けの完成済み背景素材:町の入口、家の玄関、夜のバーの背景3枚とバーの環境音。物語は含みません。
+2
View File
@@ -0,0 +1,2 @@
mod_town_pack_name = 마을 팩
mod_town_pack_desc = 작은 마을 이야기를 위한 바로 쓸 수 있는 배경 자료: 마을 입구, 집 현관, 저녁 바 배경 세 장과 바 환경음. 스토리는 들어 있지 않습니다.
+1 -1
View File
@@ -1,2 +1,2 @@
mod_town_pack_name = Городской пак
mod_town_pack_desc = Городской контент для любой игры: въезд в город, прихожая дома, бар и звук бара.
mod_town_pack_desc = Готовые декорации для истории в маленьком городке: фоны въезда в город, прихожей дома и вечернего бара плюс звуковая атмосфера бара. Сюжета внутри нет.
+2
View File
@@ -0,0 +1,2 @@
mod_town_pack_name = Gói thị trấn
mod_town_pack_desc = Bối cảnh dựng sẵn cho câu chuyện ở thị trấn nhỏ: ba tấm nền là lối vào thị trấn, tiền sảnh ngôi nhà và quán bar về đêm, kèm âm thanh không khí quán bar. Bên trong không có cốt truyện.
+2
View File
@@ -0,0 +1,2 @@
mod_town_pack_name = 城镇素材包
mod_town_pack_desc = 为小镇故事准备的现成布景:城镇入口、住宅门厅和夜晚酒吧三张背景图,外加酒吧环境音。不含剧情。
+1 -1
View File
@@ -3,7 +3,7 @@
"name": "Town Pack",
"version": "1.0.0",
"author": "ct",
"description": "Reusable town content for any game: the town entrance (with a depth map), a home vestibule, a bar and the bar ambience. Backgrounds: town/town_entry, home/vestibule, bar/bar; sound: bar/bar_ambient.",
"description": "Ready-made scenery for a small-town story: the town entrance, a home vestibule and an evening bar as backgrounds, with the bar's ambience. No story inside.",
"category": "visual, audio",
"depends": []
}