a) When the game freezes your character for most of the time, before requiring a simple input to complete the game.
b) When the game naturally allows you save and restore functionality, slow down and frame advance, or whatever other TAS tools needed.
c) When the levels automatically modify based on past performance.
d) Where variables compound such that even with TASes everything is just luck.
a) is the trivial case, the base case, the boring case. I just mention it because it comes first.
b) makes sense. If you want a game that is indistinguishable from making a TAS of the game, the game needs the common TAS tools like save and restore.
c) Rather than the boring game described in a), by having 10 levels which are automatically generated or responsive to previous input, if you complete early levels too quickly, later levels will be longer, and if you complete them too slowly, later levels will be shorter, so that the average game comes out to the same length.
d) Maybe d) is like c). If random values assigned to variables can be chaotically dependent on previous choices made in the game... and I'm imagining a factorial explosion of ways to set the seed, then that would exhaust the computational ability of the TASer.
Then watching a play through of the game normally would look identical to someone making a TAS of the game. The random paths taken during an uninformed playthrough would look like informed paths with shortcuts. Picking up few power ups for points in the beginning will result in big power ups at the end. Picking up many power ups for points in the beginning will result in fewer power ups at the end.
The goal of the game is to really handicap the game or make it longer or more difficult based on how well the player has performed, such that the average end score and end time is always the same regardless of the skill level of the player.