A downloadable asset pack

Get this asset pack and 2 more for $50.00 USD
View bundle
Buy Now
On Sale!
10% Off
$20.00 $18.00 USD or more

This plugin provides systems for setting up a time-date calendar scaled to your game time and components that hook into the game time to provide functions like day-night cycle lighting, and ageing objects into stage scenes as time progresses.

Tutorials & Updates Playlist

This plugin is in active development. 0.4 solidified a lot of the core mechanics of the time system and exchanging of signals through SignalBus resources you can save to your project and reference in other scripts in order to the the time data, world age, and current time of day.

Here's a preview of the main systems and components in this package


There are currently 3 major systems that handle the processing of data and emission of signals through the TimeSignalBus and AgeingSignalBus resources.

  1. Game Time System - Tracks the time and date as real world time progresses by converting it to game time changes and then emitting signals on the TimeSignalBus. You can define a custom GameCalendar with years, and months data to have completely different years from the real world.
  2. Day Night Cycle System - Uses the HoursTime from the current DateTime in order to determine what time of day it is. After calculating a new TimeOfDay, it is emitted on the TimeSignalBus through time_of_day_entered signals. This is useful for game events or lighting that wants to rely on the TimeOfDay as a triggering event like switching the lighting color with TimeOfDayDirectionLight2D nodes.
  3. World Age System  - After a set amount of game time passing, the world age will increase and emit ageing signals on the AgeingSignalBus. This can be used by components like AgeingComponent and AgedSceneReplacement to age other objects in the game and replace them with new scenes (switch out a young character to an adult one with different game mechanics for instance)

Useful Components that React to Game Time

  • AddAfterGameSecondsComponent - Calls add(amount) on another node after game seconds elapsed. Handy for replenishing depleted resources in the game as time progresses.
  • TimeOfDayDirectionalLight2D - Light that reacts in color and intensity as the time of day transitions from one to the next one.
  • AgedSceneReplacement - When an AgeingComponent reaches a certain  age, replace a target scene with another scene passing the total age from the first scene to the new scene. This could be used for evolving monsters or farm crops to their later state as the game time progresses.

The plugin README.md has details about setting up each system with relevant signal bus resource objects and components to receive the data from for game play mechanics.

Assets Used in Screenshots & Videos (Not Included in Plugin)

Purchase

Get this asset pack and 2 more for $50.00 USD
View bundle
Buy Now
On Sale!
10% Off
$20.00 $18.00 USD or more

In order to download this asset pack you must purchase it at or above the minimum price of $18 USD. You will get access to the following files:

world_time-0.4.1.zip 30 kB

Development log

Leave a comment

Log in with itch.io to leave a comment.