I would try to get away with the most minimal thing possible. Ideally I would do the same thing flash games have always done and create a cookie for the user.
If they need to login from a different place, I would put a simple 1 line form and button for emailing a link that would allow them to do that.
If it was necessary, I would give them the option to backup their account to an email address. This would just set the hash to something new so that the old cookie info no longer works, and they only have to click the reactivation email.
If this is an account where virtual goods are purchased (like Steam) and so there is actual value to the account, I would do email + phone backup. Phone backups aren't good enough on their own because people switch phone numbers. Emails aren't good enough on their own because people reuse login data all the time. This is the only case where I wouldn't store login data using cookies.
Forcing registrations and logins on the user really doesn't make sense 99% of the time.