What's an effective and somewhat easy to build system to allow customer to submit bug reports after deployment?-Collection of common programming errors

+1 for fogbugz, if you are looking to buy a bug tracker anyway. (You don’t have one? You should!)

An in-game component IMO is useful only if you automatically gather additional information – such as file version, installation paths, crash reports, log files etc. It is a lot of work, has to deal with the “no internet connection” scenario, and rolling out an update will not reach everyone even if you have the infrastructure for an automatic update.

A web site with a simple way to submit feedback – email link or contact form – is the easiest to set up, cheapest and quickest to update. Make sure your spam filters are up to date! Linking the web site e.g. from the start menu will get users started.

The next step could be a forum specifically for bug reports and similar feedback. I know some companies with hundreds and thousands of feedback-active users, doing this very successfully for a long time.

A freely accessible forum might also become a building ground for a community. Building a community and running a forum is a lot of work, and not easy.

A public bug tracker might look more profesisonal, but may be over the top. If you are planning a large-scale beta test (> ca. 100 users), and updates/new versions over years, then maybe it adds value.

I find bugzilla not very end user friendly (at least not out of the box, I am sure you can customize it if you want to bother). Also, as mentioned, Fogbugz allows public submissions and has a built-in spam filter for these. However, AFAIK it does not allow the submitter to track the state of his bug (I don’t know for sure, we are using FB, but not the public submissions).

So as plan of action I’d recommend:

Start with a link to a web site and a simple feedback form or e-mail.

When you start to get many duplicates, you can post there a simple list of bugs you are working on. if this isn’t enough anymore, set up a forum or a public bug tracker interface – whatever is less work for you in the long run.

When you find that bugs are hard to reproduce and you always have to gather more information from the client, first see if generic tools (like msinfo32) are enough. If not, roll your own reporting component.