Rahul Vohra’s 7 principles of game design
[The conditions for flow include: 1) knowing what to do next; 2) knowing how to do it; 3) being distraction-free; 4) receiving clear and immediate feedback; 5) feeling a balance between challenge and skill.]
Improve.