June 26th 2020 by SDGNelson
18.104.22.168 update with sky and framework for admin commands.
Support for chat commands has been added alongside several time-related utilities. Note that permissions and roles have not been added yet, so anyone can execute them temporarily.
I decided to loosely follow POSIX / GNU argument parsing so that it can be standardized between commands. Each command can define named parameters parsed from "-key=value" or "-key value", and other arguments are treated as operands. The commands should try to be smart about the operands, e.g. "/time 12:00" wants to change the time to noon, but named parameters ought to be useful for cases like "I want to ban a player with this steamid, not a player with a numeric name."
One useful feature with most of the time commands is you can include a +/- offset operand like "/sunrise +1:00" to preview one hour after sunrise.
The atmosphere manages an ecliptic to world (level) space quaternion for converting orbits into in-game transforms, which is a relatively simple end result, but it took me a few days to wrap my head around the space stuff I needed to learn and arrive at that solution.
To clarify the sequencer comments from the video: a level sequence might control the fog colors, fog density, sky color, etc. similarly to Unturned. There could also be a sequence for the time of year. Ultimately the atmosphere actor would have to be responsible for blending them to handle special situations like underground caves or overrides.
It's coming time for a new Unturned curated map release, so I will be busy with that for the next couple weeks. Afterwards I should probably do at least basic permissions management now that there are commands (necessary for severs to be maintainable as gameplay is fleshed out), and from there continuing core gameplay features.