At one point, I was working on an alarm app that had some game mechanics built into it (points for waking up on time, waking up on time for 5 days in a row, waking up before 6am etc.) and had various types of puzzles to turn off the alarm. I gave up on it because I decided it was more of a sleeping habit issue than an inability to wake up. You can't consistently sleep at 2 in the night and expect to wake up by 6 in the morning ..