Asynchronous Scheduler

The Asynchronous 'Scheduler' is an desktop based offline App designed to help manage roleplaying (or non-combat) 'Tasks' performed by player or non-player characters in table-top roleplaying games. Unlike typical round-based combat which is often intended to occur roughly at the same time—with each 'Actor' performing one or more actions within their alotted turn—the Schedler is intended to manage 'Tasks' that take disproportional amounts of time. With many 'Actors' potentially performing disparate 'Tasks' that put their end-time at increasingly difficult to keep track times, the App will manage that for you.

Overview

The primary view of the 'Scheduler' contains a digital readout of the current time, as well as an analog clock displaying the current time and the forecasted End Time for the 'Actors' based on their colors. Below the Clock, and interfaces that will be covered below, is a chronologically sorted timetable based on projected End Times. The tables also includes information on whether the 'Task' can be 'Interrupted', 'Recovered' after Interruption, and whether it is 'Exclusive' to the 'Actor' or not. Lastly, if the End Time of the 'Task' carries over past midnight, it will indicate that it finishes in the 'Next Day.'

Overview screen of the Asynchronous Scheduler

Clock Advance

The main operation of the 'Clock' and 'Scheduler' is the 'Advance Clock' function. When pressing the associated button, the 'Master Clock' representing the current "real" in-game time will advance to the earliest 'Task' in the 'Scheduler.' The earliest 'Actor' and any of those that share the same End Time, will transition to the 'Ready' stage, indicated by the white background. This unlocks the ability to assign them a new 'Task,' be it preconfigured or custom. Currently, the 'Actor Type' is only serves to indicate the user whether the 'Actor' is a player, NPC, event, or any other custom label.

The Actor has completed their Task and is ready for a new one.

Update Actor

When one or more 'Actors' becomes Ready a new menu will open up above the 'Scheduler' Table, allowing the user to select the 'Actor' and the designated 'Task'. Pre-defined 'Tasks' contain a number of components such as: duration, whether they can be Interrupted, and if Interrupted whether it is Recoverable and if it is, whether it is Exclusive to the original 'Actor.'

Once an 'Actor' and a 'Task' are selected, the user can proceed to Update the 'Actor.' At that point they will be sorted into the 'Scheduler' based on the (current) time that they began the 'Task' and its inherent duration. If no other 'Actors' are Ready at this moment, the Update menu dissapears.

The Actor is ready for a new Task.