55 lines
3.7 KiB
Markdown
55 lines
3.7 KiB
Markdown
# Time Engine — 게임 내 시계, 낮과 밤, 조명
|
|
|
|
Time Engine은 게임 내 시계를 돌리고 장면이 그것을 따르게 합니다. 같은 장소도 아침, 정오, 저녁, 밤에 각각 다르게 보입니다. 또한 램프와 창문으로 장면을 밝히고, 해가 진 뒤에는 휴대용 랜턴을 내줍니다. 엔진 모드이므로 Cthangover나 타일 맵 RPG 같은 게임에 들어 있으며, 그 작업은 별도의 화면이 아니라 모든 장면에서 드러납니다.
|
|
|
|
## 시계
|
|
|
|
시간은 화면 왼쪽 위에 표시됩니다. 현실의 1초가 게임 속 1분이므로, 게임 속 한 시간은 현실의 1분으로 지나갑니다. 일부 행동은 게임 시간을 곧바로 소모합니다. 예컨대 요리나 제작은 레시피에 걸리는 시간만큼 시계를 앞으로 돌립니다.
|
|
|
|
달력은 단순화되어 있습니다. 한 달 30일, 일 년 열두 달입니다.
|
|
|
|
## 낮과 밤
|
|
|
|
장면 배경은 **아침**, **낮**, **저녁**, **밤** 네 가지 상태로 그려지며, 그림이 그 사이를 부드럽게 넘어갑니다:
|
|
|
|
```text
|
|
00 ─ 밤 ─ 04 ⇢ 06 ─ 아침 ─ 09 ⇢ 11 ─── 낮 ─── 17 ⇢ 19 ─ 저녁 ─ 21 ⇢ 22 ── 밤 ── 24
|
|
(⇢ = 한 상태에서 다음 상태로 넘어가는 2시간 크로스페이드)
|
|
```
|
|
|
|

|
|
|
|
## 조명
|
|
|
|
밤의 장면은 제 조명을 제외하면 어둡습니다. 창문, 촛불, 램프는 장면 제작자가 놓은 자리에서 빛나며, 각 조명은 저마다의 색과 반경, 세기를 갖습니다.
|
|
|
|

|
|
|
|
**휴대용 랜턴.** 22:00부터 06:00까지 화면 위쪽에 랜턴이 나타납니다. 장면 위로 끌어다 놓으면 보고 싶은 곳을 밝힐 수 있습니다.
|
|
|
|

|
|
|
|
## 제작자를 위해
|
|
|
|
**장면에 조명 놓기** — 장면 시나리오에서 `light_set`으로 조명 목록을 넘깁니다. 위치는 화면 비율(0~1)이라 어떤 창 크기에도 맞습니다. 장면당 조명은 최대 10개, 그리고 휴대용 랜턴:
|
|
|
|
```scenario
|
|
light_set [{"x":0.673,"y":0.461,"radius":500,"influence":1,"color":"#ffff00"},{"x":0.135,"y":0.315,"radius":500,"influence":1,"color":"#ffff00"}]
|
|
```
|
|
|
|
- `x`, `y` — 너비와 높이에 대한 위치 비율;
|
|
- `radius` — 빛이 닿는 거리(픽셀);
|
|
- `influence` — 0에서 1까지의 세기;
|
|
- `color` — 16진수 색.
|
|
|
|
빈 `light_set`은 장면의 조명을 치웁니다. Editor Tools의 조명 편집기는 마우스로 배치하고 이 줄을 대신 써 줍니다. `lighting.clear_map` 시나리오 액션은 깊이 조명을 쓰지 않는 장면으로 넘어갈 때 그 조명을 끕니다.
|
|
|
|
**밤을 아는 배경.** 배경이 올바르게 밝혀지려면 그림 이름에 `_depth`를 붙인 깊이 맵이 곁에 있어야 합니다(예: `bar.png`와 `bar_depth.png`). 배경에는 `_albedo` 짝이 붙을 수도 있습니다. 이런 맵이 없으면 장면의 조명이 비출 모양이 없습니다.
|
|
|
|
**다른 모드**도 같은 시계를 읽습니다. RPG 타일 맵은 배경과 같은 하루를 따르고, 시간의 변화는 게임 내 1분마다 모든 모드에 알려집니다.
|
|
|
|
## 문제가 생겼을 때
|
|
|
|
1. **밤인데 장면이 계속 밝다.** 배경에 깊이 맵이 없거나, 장면이 시간대 색조를 쓰지 않는 것입니다.
|
|
2. **밤에 랜턴이 없다.** 22:00부터 06:00까지만, 그리고 인터페이스에 들어 있는 게임에서만 나타납니다.
|