When I read the title, I expected it to use folder actions (https://developer.apple.com/library/archive/documentation/La...) to obtain user input.
That, IMHO, would be slightly more “implemented in MacOS Finder”
It might be too slow but you could, for example, have the user drag a window around as the game controller, and have the main game loop create a file in a directory to trigger a folder action that runs the main game loop again.
Also, can’t you avoid the AppleScript startup problem with a stay-open AppleScript that you send events?