Files

4.0 KiB

Time Engine — ゲーム内時計と昼夜、ライティング

Time Engine はゲーム内の時計を動かし、シーンをそれに追従させます。同じ場所でも朝、正午、夕方、夜で見え方が変わります。さらにランプや窓でシーンを照らし、日が暮れると携帯ランプを差し出します。エンジン MOD なので、Cthangover やタイルマップの RPG などのゲームに含まれ、その働きは専用の画面ではなく、あらゆるシーンの中に現れます。

時計

時刻は画面の左上に表示されます。現実の 1 秒がゲーム内の 1 分なので、ゲーム内の 1 時間は現実の 1 分で過ぎます。一部のアクションはすぐにゲーム内時間を消費します。たとえば料理や制作は、レシピの時間ぶん時計を進めます。

暦は簡略化されています。1 か月 30 日、1 年 12 か月です。

昼と夜

シーンの背景は 朝、昼、夕方、夜 の四つの状態で描かれ、絵はその間を滑らかにつなぎます:

00 ─ 夜 ─ 04 ⇢ 06 ─ 朝 ─ 09 ⇢ 11 ─── 昼 ─── 17 ⇢ 19 ─ 夕方 ─ 21 ⇢ 22 ── 夜 ── 24
                  (⇢ = ある状態から次の状態への 2 時間のクロスフェード)

同じシーン、Cthangover の邸宅の外にある製粉所を 07:00、13:00、18:00、23:30 に:温かい朝、明るい正午、夕方のフェード、そして窓の灯る夜。

ライティング

夜のシーンは、その明かりを除いて暗くなります。窓、ろうそく、ランプはシーン作者が置いた場所で光り、一つ一つの光に色・半径・強さがあります。

23:33 の邸宅の外:光るのは窓だけ。画面上部のランタンアイコンが携帯ランプです。

携帯ランプ。 22:00 から 06:00 の間、画面の上にランタンが現れます。シーンへドラッグすると、見たい場所を照らせます。

Cthangover の台所。ろうそくとランプに照らされています。

作者向け

シーンに光を置くには、シナリオから light_set で光のリストを渡します。位置は画面の割合(0 から 1)なので、どんなウィンドウサイズにも収まります。シーンごとに光は最大 10 個と、携帯ランプ:

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 の相棒が付くこともあります。これらのマップがないと、シーンの光は照らすべき形を持ちません。

他の MOD も同じ時計を読みます。RPG のタイルマップは背景と同じ一日を共有し、時刻の変化はゲーム内 1 分ごとに全 MOD へ伝わります。

うまく動かないとき

  1. 夜なのにシーンが明るいまま。 背景に深度マップがないか、シーンが時刻の色調を使っていません。
  2. 夜にランタンがない。 22:00 から 06:00 のだけで、しかもインターフェースがそれを含むゲームでしか現れません。