In one of my "thinking outside the box" studies, I tried to code some interaction within Maya's viewport. And what better word to match with "interaction" than "game"?
All python-based, the player movements are captured via hotkeys that set python variables.
An external python loop reads those variables and updates the viewport accordingly. I did a simple python infinite loop to do that, running outside Maya so it doesn't lock the program's main loop, but you can also spawn python threads to do the job.
As you can see in the Ship game example, you can even playback the timeline for nCloth and nParticle goodness. :- ) The spheres can take 5 hits from the ship's shots before it gets deleted by the particle collision script. Since the script is always updating Maya, I even programmed a little acceleration/deceleration on the ship's movement to make it smoother, and it tilts back a little bit when firing.
About the second example, imagine that the cubes are war tanks! They need to fully rotate the threadmills before moving - that was the most fun and difficult part to code! They turn to the closest angle to align themselves and only then start moving.
To practice a little my object orientation skills, I created a Tank Class that could be controlled either by an artificial intelligence (I know, dumb random movement is not AI... but I like using pretty words!) or by the player itself, as the Michael Jackson mode shows - you can say this is my tribute to him. ;- )
So... Maya as a game engine? Nah, I did these just for fun and won't be polishing details or making stages...
For those who actually have spare time to waste, just drop me a comment or email and I'll send the needed files/code to you.