A name is pivotal to a story. A name should be interesting, unique, and it should capture a sense of the place or person to whom it is ascribed (imagine if Darth Vadar had been called Cyril. Spoils the effect completely).
Because I know it's a difficult task, and should be approached carefully, I usually do very little naming in any of my early drafts. Instead, I use place-holders, memorable words that I can easily find and easily replace at a later date. With my current work-in-progress, I went even further, and used the same name - Barney - for every new thing or person. The village of Barney, Master Barney, the River Barney etc. (I really hope none of these slip through). Most times I'm not quite so extreme, and I'll attempt to come up with different place-holder names for each character or location, usually something like "Bill" or "Ted". It takes slightly more thought, but makes it much easier when I get to the end and do a global search-replace with proper names.
That's where the fun begins. When it comes to picking non place-holder names, these are some different methods I've found useful:
1) Pure invention.
Sometimes I'll come up with a name by just rattling sounds and letters around in my head and seeing how they form. Many of my favourite names started life this way, like Ping-Ling, Tajni and General Magoda. It can also help to work through the alphabet, using each letter as a starting point for a new word.
Be aware, though, that this approach has a potential sting in the tail. On a few occasions I've come up with an absolutely wonderful name, only to find out later it's come from another book, or a film or some such place. At some point I've read or heard it and, having sunk into my subconscious, its raised its head when I've tried to dream up of a new word.
That's not necessarily a bad thing in itself, but originality is a pretty good thing to strive for. One way to reduce the chances of this happening is to Google any name you come up with, just in case.
2) Language Dictionaries.
Because my current series is set in an Asian themed world, I've made a lot of use of Japanese, Chinese, Korean and Thai language dictionaries to help me pick names. Most times I'll change the word slightly, so that its origin isn't immediately clear, but sometimes I'll use it as is, if I particularly love how it sounds. You could do the same with German, French or just about any other language dictionary you can think of. They're a huge resource for words and names you wouldn't otherwise hear in everyday usage.
This is something I've recently discovered, and I think it's become one of my most useful methods for coming up with place-names. With the advent of Google Maps, it's easy to take a virtual cruise over any landscape you want, checking out landscape names and picking and choosing what you like. Again, as with language dictionaries, you can change as you wish1.
4) Online Name Generators.
I can't say I'm completely sold on these, but I have used them to generate a fairly major character name in one of my works-in-progress. The idea is you can enter a series of constraints (male, female, locale, genre etc.) and the computer will spit out a fantasy name. You can check out one of them here. They're actually strangely addictive...
5) Other Odd Places.
I picked the name of one of my lead characters, Koto, from the working-name of a microprocessor I was helping to design at the time. It's amazing how many sources of great names there are if you keep your eye out for them!
So there you go, a summary of my current methods for finding names. I'm sure I'll stumble across others as I go along. As always, feel free to share some of the methods you've used. I'd love to add to my list!
1As a (hopefully) interesting aside, I recently flipped to a map at the beginning of Sean Williams' The Sky Warden and the Sun, and was surprised to see a number of strangely familiar names. It took me a moment to realise they were all based on town-names north of Adelaide - "Boliva" instead of "Bolivar", "Three Wells" instead of "Two wells", "Long Sleep Plains" instead of "Wild Horse Plains", "Lower Light" instead of .. well, "Lower Light". Then I remembered -- Sean Williams grew up in Whyalla, a town north of Adelaide. He would have seen each of these names on road-signs as he drove into the city along Highway 1. The only reason I know this is that I grew up in Woomera, also north of Adelaide, and I used to see the same signs too.
I felt strangely privileged at this discovery, like I've been let into a great secret!