Overall this should help new developers start planning for their own game and avoid the pitall to use a pre-made engine which at the end will prevent them to do what they want.
You are free to add your own hints to this thread too
An home page
Many (way too many) web games simply offer a "welcome page" which contains little to nothing beside a register and a login. I would personally offer all the online help there as well as screenshots, feature list and community links.
A register and login page
- Registration must be quick and painless. Forget those "email verifications" which actually end up in the spam folder in the best case. But yet don't be stupid, add some sort of captcha to ensure you avoid bots.
- Remember to redirect the newly creating account into the game itself and avoid an useless login after registration step.
- Don't forget to have a password recovery system!
- Encrypt the passwords on the database!
- It would be smarter to avoid sending the password in plain text! So use some JS to do a SHA1 or MD5 of it and send it over like that. Same for the cookie, do not store the password as plain text in the cookie and instead use a MD5(MD5(pass)+IP) (or similar) such that even if the cookie is stolen it will not be usable
If you plan one day to support multiple languages (which would allow to have a bigger market) you should implement it right from the start.
Make sure you use some sort of template system which would allow you to change the theme or look of your game without re-coding all. For PHP smarty would be an option for example.
- Ideally a lot of the game logic / balance / story should be setup via admin menus. Why? Because it allows admins to add more flesh to your game without requiring a coder to modify the code.
- View users, or even log-in as that user from the admin menu
- Cross player interaction logs
- Player gains / loose per day (allows to spot cheaters)
- Stats about your game
If you have a chat, then you should have moderators... and way to ban people from the chat or mute or whatever.
Ideally forums should be integrated within the game but yet accessible from outside. Which mean, you can't create an account inside the forums without being a player, and being a player makes you automatically a forum account. Personally I would host the forums on a different machine, so in case you have some maintenance to do on the game server people can see it from the forums.
If you pay all, you will soon have to shut down your game. So somehow you must make sure that the game pays itself at least. To do so, an easy way, is to make some items available only against payment. For the payment paypal is an easy solution (but there is others), however in any case you MUST make the payment system automatic, which means as soon as paid the items will be credited to the user, otherwise people will fear a scam.
Don't plan to release your game a few days after starting. However don't even plan to code for months without at least some people checking it from time to time. Having people starting to play it before the true release has multiple advantages, for example getting free ideas for your game and pushing you to really release it.
I would say a couple of month before starting to invite people, and then count 1-2 years before being really ready to say it is up and running.