It’s free & comes with frequent updates
Here’s the situation:
You’re an indie group that wants to create a registration system for your game. Instead of creating a website where users register from scratch you have the brilliant idea to use WordPress. Why WordPress?
- has huge support for 3rd party plugins and is very extensible
- already has mundane functionality built in
- checks for duplicate usernames & email address
- sends an activation email (and will notify admins of new users)
- accessible to anti-spam features / plugins
- emails password reset links
- creates all the necessary database entries, fields, etc and has the ability to access them (query strings, connection info, etc)
Seriously do you want to make games or spend your time doing all of the above and much more? We sure didn’t! One approach is to use the database that WordPress uses for our player’s usernames and passwords. WordPress has it’s share of cons including vulnerabilities which require you to stay vigilant, however you would have to do that anyways. This solution doesn’t have to be permanent, but at least it gets you back to doing what you love to do, game developing.
The next step is to create the game website using another WordPress installation so it keeps separate from the main site (indiegamesstudio.com). Then we could have the game client authenticate through the database directly however if you want to keep the database location hidden from your players, then you’ll want to create an registration server. You’ll also need to create a separate “player’s database” and not use the database your game’s webpage uses. You can override WordPress user creation functions so that it creates the username, password, etc in BOTH databases (a few notes from our wiki page). The game client will communicate with the registration server and the registration server will communicate with the “player’s database” (which can be located somewhere else). The registration server will act as a proxy and help keep the player’s database hidden from your players:
Client —> Registration Server — ??? –> Player Database
More to come!