In my experience, the best thing to do is to get your name noticed first and rewards later. Promotion is far easier if you are giving your game a way for free. Once you have an established user base, then you can always offer them version 2 or more levels at a price. Publishers LOVE getting free games to publish or ones just based on royalties with no advances and everybody is a winner if you are willing to make that initial sacrifice. If your game does well, then so will your reputation and publishers love dealing with developers that are flexible and popular - it also makes it far easier to get your second or third title published with advances included.
The bottom line is this: No one knows who you are, so you need to establish yourself before a publisher will take that risk. Look at ID, they gave games away for free for years and everybody grew to love them - the rest is history.
You could also publish it yourself, but this option is a lot more time consuming and you have to do all the marketing yourself also.
I put out Virtual Insanity for free with a time limited trial and a purchase option through Share iT. To date I have had 55,000 downloads, features on gamespot, games domain, flipcode and many more - and although publicity has been great, the momentum died after a few weeks.
I have several other projects in developent and it is hard to devote time to the new projects and keep up to date with the PR marketing machine, so I'm afraid either way you look at it, you'll need to spend as much time as you can concentrating on PR as you do programming and design.
- Paul
AsylumHunter
still falling out of my binary tree most evenings (hicup!)