If you schedule a workflow to run at a specific date/time then the only way to stop that from running on that date/time is by cancelling it.

So, for example, if you’re using a dynamic date (from a database entry) to set the scheduled date of a workflow and then, after you’ve scheduled that workflow, you make a change to the database entry’s date, that won’t have any effect on the workflow you’ve already scheduled - that workflow will still run at the date/time it was originally scheduled to run.

So if you need to change the date a workflow is scheduled for, you first need to cancel the existing workflow, then schedule another one for the new date. To cancel a workflow you’ll need to store the workflow ID somewhere in your database so that you can reference that when using a ‘cancel scheduled workflow’ action. So, for example, you might add a field on your ‘game’ datatype to store the workflow id for the game’s current workflow. When you schedule the original workflow just get the ID for the workflow and store it on the field.

If/when you change/update the game/date, you can delete the currently scheduled workflow, and schedule a new one for the new date.