I think that even though as game developers, to a certain extent we're all somewhat familiar with the state of flow, we almost always neglect to consider it when we're making games. It's incredibly important, though. It's like the cocaine of video games -- its what makes you play for 12 hours straight while your girlfriend threatens to leave and your friends start to wonder if you're still alive.
Two games that really get this right are Tetris and Bejeweled. Seriously, watch people play those games. They look like zombies.
I think there's some interesting things these games do very well. First, they're simple. You're never at a loss for what you should do next. Second, they use time pressures to force you to stay focussed on them. Third they're constantly escalating the gameplay, forcing you to invest more and more, although in a see-saw manner (ie, rising action, then a short reprieve, and then more rising action, etc.)
Its actually funny, in a lot of ways its very similar to putting someone into a hypnotic trance, which if you've ever seen someone in a video game trance maybe thats not too surprising. Thats a totally different topic though :-).
I'm not going to pretend that I'm an expert on how to put people into a video game trance. In a lot of ways though, I don't think you have to focus on that so much. Maybe instead, it's better to focus on not doing things that will break their flow. The main killer of flow is interruption. Here's some ways games utterly kill flow today:
- Loading...
- Saving (have a quick save and quick load key!)
- Forcing players to switch between screens all the time (for instance, looting screens, or inventory screens.
- Complicated morality decisions. This one is touchy, because I think at the moment everyone is thinking that giving the player choices is a good thing. And sometimes it is. But there is a tradeoff, and that is that it can also kill immersion, especially in indecisive people (like me). A lot of times you come to an important decision point and you just start to think "agh", maybe I'll just figure this out tomorrow". Keep in mind that the more important the decision, the more likely you are to knock the player out of flow. On the other hand, by forcing the player to invest more in the game you might increase their immersion (and thus their flow state). I think the important thing here is to slowly escalate compliance -- give the player small decisions first, and build up to larger decisions as the player becomes more invested in the interaction (and thusly, is more likely to care about the decisions). If your first question to me is, "are you going to join the foos or the bars?" I'm probably going to think, crap, I don't know. Who are the foos and bars? And why would the game designer ask this so early? And oops, suddenly I'm thinking about the game in the abstract, and I'm no longer as immersed.
- Killing the player. Seriously, this totally kills flow. Sometimes unavoidable, but consider alternatives.
- Punishing the player too harshly, thus makng him feel he needs to redo part of the game.
Besides puzzle games, I think Prince Of Persia and God Of War both manage to maintain flow extremely well. Prince of Persia was exceptionally clever about this, with the sands of time making it so that dying is rarely ever a big deal (just rewind a bit!)