Explained by developer Andrew Brilliant