Well.. To be honest, I'm somewhat relieved to read that this is intentional..
Honestly, capturing and releasing a DirectX device is something I learned in my first week of DirectX .NET programming.
If Square Enix can't do something so basic as capturing and releasing a DirectX device which takes a whole 2 lines of code, my confidence in the whole game would have completely ruined..
I realize now that this is completely intentional.. No doubt about it.. Windows is taking the DirectX device away from the game and the game is an incorrectly programmed DirectX application according to all Microsoft DirectX documentation. It continues to use the DirectX device anyway without context and it just crashes. Though it would have been *nice* if SE had properly caught the exception and ended the game gracefully (logged user out) instead of using the exception to terminate the game client side..
It appears that Alt+Tab crashing in this manner leaves your character still connected to the server and idle. You have to log in again (which will give an error) and then properly log out for your character to leave the world.
Meh anyway you slice it, any DirectX programmer would tell you that's some ridiculously sloppy programming..
But again, if people say it's intentional as part of their anti-cheat/hack then that makes a lot more sense. Certainly isn't going to stop the more sophisticated cheats/hacks that use screen grabbers and packet sniffing to get a handle on game context... But it will eliminate opportunity hacks where the temptation to do it is high and the effort to get it done is low. So SE is basically making it so if you write a hack, you need to put a bit more thought into it rather than just designing it out on a napkin during dinner.
DirectX is and always has been designed by Microsoft to be as flexible as possible which makes it very hackable.. And it's not a bug, it's a "feature" of DirectX.
I can think of some other reasons to end the game while alt+tabbing out.. Such as preventing users from wasting server resources when they aren't actually playing.
Edited, Sep 26th 2010 8:58pm by Sidicas