Or the user could enter a fake - but close enough - address.
but once again, it's close enough. If the user is entering truly bogus info, it won't help them find gamers.
And odds are good, the city, state (which is nearly the same as the zip, from a functional standpoint) is good enough.
In nearly all design cases, the programmer is going to snap whatever data he has to a set of lat/long coords and then do the math to find nearby players.
Doing a match on city just isn't sufficient with more complex regions.
For instance, I live in Houston, but the address is really Spring. The city limits isn't that far from me. And "The Woodlands" is just north of me. However, "The Woodlands" doesn't really exist as a postal code, it's really Spring, or Ponderosa, or Conroe. In any event, looking for Spring, TX gamers by matching on the city name would fail to find very viable candidates for me.
Thus, converting the address data to lat/long internally lets you do a "who's within 15 miles of me" search.
The DB stores the user's address (or at least the major parts like city and state or zip or country, depending on region). The code converts that, maybe by another table that translates, or a web-service call to Google Maps even to a lat/long. Problem solved.
Don't over analyze location mapping. Just say you want it, and what you don't want exposed to other users (your privacy concerns). Let the developer figure out the internals.
Why I say this, is Morrus is effectively doing Requirements Gathering. Finding out what the tool should do. You don't determine HOW it does it, just make a list of the features. From there, that starts turning into a feature list and the developer has something to work from.